SQLAlchemy 2.0.47__cp313-cp313t-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. sqlalchemy/__init__.py +283 -0
  2. sqlalchemy/connectors/__init__.py +18 -0
  3. sqlalchemy/connectors/aioodbc.py +184 -0
  4. sqlalchemy/connectors/asyncio.py +429 -0
  5. sqlalchemy/connectors/pyodbc.py +250 -0
  6. sqlalchemy/cyextension/__init__.py +6 -0
  7. sqlalchemy/cyextension/collections.cp313t-win_amd64.pyd +0 -0
  8. sqlalchemy/cyextension/collections.pyx +409 -0
  9. sqlalchemy/cyextension/immutabledict.cp313t-win_amd64.pyd +0 -0
  10. sqlalchemy/cyextension/immutabledict.pxd +8 -0
  11. sqlalchemy/cyextension/immutabledict.pyx +133 -0
  12. sqlalchemy/cyextension/processors.cp313t-win_amd64.pyd +0 -0
  13. sqlalchemy/cyextension/processors.pyx +68 -0
  14. sqlalchemy/cyextension/resultproxy.cp313t-win_amd64.pyd +0 -0
  15. sqlalchemy/cyextension/resultproxy.pyx +102 -0
  16. sqlalchemy/cyextension/util.cp313t-win_amd64.pyd +0 -0
  17. sqlalchemy/cyextension/util.pyx +90 -0
  18. sqlalchemy/dialects/__init__.py +62 -0
  19. sqlalchemy/dialects/_typing.py +30 -0
  20. sqlalchemy/dialects/mssql/__init__.py +88 -0
  21. sqlalchemy/dialects/mssql/aioodbc.py +63 -0
  22. sqlalchemy/dialects/mssql/base.py +4093 -0
  23. sqlalchemy/dialects/mssql/information_schema.py +285 -0
  24. sqlalchemy/dialects/mssql/json.py +129 -0
  25. sqlalchemy/dialects/mssql/provision.py +185 -0
  26. sqlalchemy/dialects/mssql/pymssql.py +126 -0
  27. sqlalchemy/dialects/mssql/pyodbc.py +760 -0
  28. sqlalchemy/dialects/mysql/__init__.py +104 -0
  29. sqlalchemy/dialects/mysql/aiomysql.py +250 -0
  30. sqlalchemy/dialects/mysql/asyncmy.py +231 -0
  31. sqlalchemy/dialects/mysql/base.py +3949 -0
  32. sqlalchemy/dialects/mysql/cymysql.py +106 -0
  33. sqlalchemy/dialects/mysql/dml.py +225 -0
  34. sqlalchemy/dialects/mysql/enumerated.py +282 -0
  35. sqlalchemy/dialects/mysql/expression.py +146 -0
  36. sqlalchemy/dialects/mysql/json.py +91 -0
  37. sqlalchemy/dialects/mysql/mariadb.py +72 -0
  38. sqlalchemy/dialects/mysql/mariadbconnector.py +322 -0
  39. sqlalchemy/dialects/mysql/mysqlconnector.py +302 -0
  40. sqlalchemy/dialects/mysql/mysqldb.py +314 -0
  41. sqlalchemy/dialects/mysql/provision.py +153 -0
  42. sqlalchemy/dialects/mysql/pymysql.py +158 -0
  43. sqlalchemy/dialects/mysql/pyodbc.py +157 -0
  44. sqlalchemy/dialects/mysql/reflection.py +727 -0
  45. sqlalchemy/dialects/mysql/reserved_words.py +570 -0
  46. sqlalchemy/dialects/mysql/types.py +835 -0
  47. sqlalchemy/dialects/oracle/__init__.py +81 -0
  48. sqlalchemy/dialects/oracle/base.py +3802 -0
  49. sqlalchemy/dialects/oracle/cx_oracle.py +1555 -0
  50. sqlalchemy/dialects/oracle/dictionary.py +507 -0
  51. sqlalchemy/dialects/oracle/oracledb.py +941 -0
  52. sqlalchemy/dialects/oracle/provision.py +297 -0
  53. sqlalchemy/dialects/oracle/types.py +316 -0
  54. sqlalchemy/dialects/oracle/vector.py +365 -0
  55. sqlalchemy/dialects/postgresql/__init__.py +167 -0
  56. sqlalchemy/dialects/postgresql/_psycopg_common.py +189 -0
  57. sqlalchemy/dialects/postgresql/array.py +519 -0
  58. sqlalchemy/dialects/postgresql/asyncpg.py +1284 -0
  59. sqlalchemy/dialects/postgresql/base.py +5378 -0
  60. sqlalchemy/dialects/postgresql/dml.py +339 -0
  61. sqlalchemy/dialects/postgresql/ext.py +540 -0
  62. sqlalchemy/dialects/postgresql/hstore.py +406 -0
  63. sqlalchemy/dialects/postgresql/json.py +404 -0
  64. sqlalchemy/dialects/postgresql/named_types.py +524 -0
  65. sqlalchemy/dialects/postgresql/operators.py +129 -0
  66. sqlalchemy/dialects/postgresql/pg8000.py +669 -0
  67. sqlalchemy/dialects/postgresql/pg_catalog.py +326 -0
  68. sqlalchemy/dialects/postgresql/provision.py +183 -0
  69. sqlalchemy/dialects/postgresql/psycopg.py +862 -0
  70. sqlalchemy/dialects/postgresql/psycopg2.py +892 -0
  71. sqlalchemy/dialects/postgresql/psycopg2cffi.py +61 -0
  72. sqlalchemy/dialects/postgresql/ranges.py +1031 -0
  73. sqlalchemy/dialects/postgresql/types.py +313 -0
  74. sqlalchemy/dialects/sqlite/__init__.py +57 -0
  75. sqlalchemy/dialects/sqlite/aiosqlite.py +482 -0
  76. sqlalchemy/dialects/sqlite/base.py +3056 -0
  77. sqlalchemy/dialects/sqlite/dml.py +263 -0
  78. sqlalchemy/dialects/sqlite/json.py +92 -0
  79. sqlalchemy/dialects/sqlite/provision.py +229 -0
  80. sqlalchemy/dialects/sqlite/pysqlcipher.py +157 -0
  81. sqlalchemy/dialects/sqlite/pysqlite.py +756 -0
  82. sqlalchemy/dialects/type_migration_guidelines.txt +145 -0
  83. sqlalchemy/engine/__init__.py +62 -0
  84. sqlalchemy/engine/_py_processors.py +136 -0
  85. sqlalchemy/engine/_py_row.py +128 -0
  86. sqlalchemy/engine/_py_util.py +74 -0
  87. sqlalchemy/engine/base.py +3390 -0
  88. sqlalchemy/engine/characteristics.py +155 -0
  89. sqlalchemy/engine/create.py +893 -0
  90. sqlalchemy/engine/cursor.py +2298 -0
  91. sqlalchemy/engine/default.py +2394 -0
  92. sqlalchemy/engine/events.py +965 -0
  93. sqlalchemy/engine/interfaces.py +3471 -0
  94. sqlalchemy/engine/mock.py +134 -0
  95. sqlalchemy/engine/processors.py +61 -0
  96. sqlalchemy/engine/reflection.py +2102 -0
  97. sqlalchemy/engine/result.py +2399 -0
  98. sqlalchemy/engine/row.py +400 -0
  99. sqlalchemy/engine/strategies.py +16 -0
  100. sqlalchemy/engine/url.py +924 -0
  101. sqlalchemy/engine/util.py +167 -0
  102. sqlalchemy/event/__init__.py +26 -0
  103. sqlalchemy/event/api.py +220 -0
  104. sqlalchemy/event/attr.py +676 -0
  105. sqlalchemy/event/base.py +472 -0
  106. sqlalchemy/event/legacy.py +258 -0
  107. sqlalchemy/event/registry.py +390 -0
  108. sqlalchemy/events.py +17 -0
  109. sqlalchemy/exc.py +832 -0
  110. sqlalchemy/ext/__init__.py +11 -0
  111. sqlalchemy/ext/associationproxy.py +2027 -0
  112. sqlalchemy/ext/asyncio/__init__.py +25 -0
  113. sqlalchemy/ext/asyncio/base.py +281 -0
  114. sqlalchemy/ext/asyncio/engine.py +1471 -0
  115. sqlalchemy/ext/asyncio/exc.py +21 -0
  116. sqlalchemy/ext/asyncio/result.py +965 -0
  117. sqlalchemy/ext/asyncio/scoping.py +1599 -0
  118. sqlalchemy/ext/asyncio/session.py +1947 -0
  119. sqlalchemy/ext/automap.py +1701 -0
  120. sqlalchemy/ext/baked.py +570 -0
  121. sqlalchemy/ext/compiler.py +600 -0
  122. sqlalchemy/ext/declarative/__init__.py +65 -0
  123. sqlalchemy/ext/declarative/extensions.py +564 -0
  124. sqlalchemy/ext/horizontal_shard.py +478 -0
  125. sqlalchemy/ext/hybrid.py +1535 -0
  126. sqlalchemy/ext/indexable.py +364 -0
  127. sqlalchemy/ext/instrumentation.py +450 -0
  128. sqlalchemy/ext/mutable.py +1085 -0
  129. sqlalchemy/ext/mypy/__init__.py +6 -0
  130. sqlalchemy/ext/mypy/apply.py +324 -0
  131. sqlalchemy/ext/mypy/decl_class.py +515 -0
  132. sqlalchemy/ext/mypy/infer.py +590 -0
  133. sqlalchemy/ext/mypy/names.py +335 -0
  134. sqlalchemy/ext/mypy/plugin.py +303 -0
  135. sqlalchemy/ext/mypy/util.py +357 -0
  136. sqlalchemy/ext/orderinglist.py +439 -0
  137. sqlalchemy/ext/serializer.py +185 -0
  138. sqlalchemy/future/__init__.py +16 -0
  139. sqlalchemy/future/engine.py +15 -0
  140. sqlalchemy/inspection.py +174 -0
  141. sqlalchemy/log.py +288 -0
  142. sqlalchemy/orm/__init__.py +171 -0
  143. sqlalchemy/orm/_orm_constructors.py +2661 -0
  144. sqlalchemy/orm/_typing.py +179 -0
  145. sqlalchemy/orm/attributes.py +2845 -0
  146. sqlalchemy/orm/base.py +971 -0
  147. sqlalchemy/orm/bulk_persistence.py +2135 -0
  148. sqlalchemy/orm/clsregistry.py +571 -0
  149. sqlalchemy/orm/collections.py +1627 -0
  150. sqlalchemy/orm/context.py +3334 -0
  151. sqlalchemy/orm/decl_api.py +2004 -0
  152. sqlalchemy/orm/decl_base.py +2192 -0
  153. sqlalchemy/orm/dependency.py +1302 -0
  154. sqlalchemy/orm/descriptor_props.py +1092 -0
  155. sqlalchemy/orm/dynamic.py +300 -0
  156. sqlalchemy/orm/evaluator.py +379 -0
  157. sqlalchemy/orm/events.py +3252 -0
  158. sqlalchemy/orm/exc.py +237 -0
  159. sqlalchemy/orm/identity.py +302 -0
  160. sqlalchemy/orm/instrumentation.py +754 -0
  161. sqlalchemy/orm/interfaces.py +1496 -0
  162. sqlalchemy/orm/loading.py +1686 -0
  163. sqlalchemy/orm/mapped_collection.py +557 -0
  164. sqlalchemy/orm/mapper.py +4444 -0
  165. sqlalchemy/orm/path_registry.py +809 -0
  166. sqlalchemy/orm/persistence.py +1788 -0
  167. sqlalchemy/orm/properties.py +935 -0
  168. sqlalchemy/orm/query.py +3459 -0
  169. sqlalchemy/orm/relationships.py +3508 -0
  170. sqlalchemy/orm/scoping.py +2148 -0
  171. sqlalchemy/orm/session.py +5280 -0
  172. sqlalchemy/orm/state.py +1168 -0
  173. sqlalchemy/orm/state_changes.py +196 -0
  174. sqlalchemy/orm/strategies.py +3470 -0
  175. sqlalchemy/orm/strategy_options.py +2568 -0
  176. sqlalchemy/orm/sync.py +164 -0
  177. sqlalchemy/orm/unitofwork.py +796 -0
  178. sqlalchemy/orm/util.py +2403 -0
  179. sqlalchemy/orm/writeonly.py +674 -0
  180. sqlalchemy/pool/__init__.py +44 -0
  181. sqlalchemy/pool/base.py +1524 -0
  182. sqlalchemy/pool/events.py +375 -0
  183. sqlalchemy/pool/impl.py +588 -0
  184. sqlalchemy/py.typed +0 -0
  185. sqlalchemy/schema.py +69 -0
  186. sqlalchemy/sql/__init__.py +145 -0
  187. sqlalchemy/sql/_dml_constructors.py +132 -0
  188. sqlalchemy/sql/_elements_constructors.py +1872 -0
  189. sqlalchemy/sql/_orm_types.py +20 -0
  190. sqlalchemy/sql/_py_util.py +75 -0
  191. sqlalchemy/sql/_selectable_constructors.py +763 -0
  192. sqlalchemy/sql/_typing.py +482 -0
  193. sqlalchemy/sql/annotation.py +587 -0
  194. sqlalchemy/sql/base.py +2293 -0
  195. sqlalchemy/sql/cache_key.py +1057 -0
  196. sqlalchemy/sql/coercions.py +1404 -0
  197. sqlalchemy/sql/compiler.py +8081 -0
  198. sqlalchemy/sql/crud.py +1752 -0
  199. sqlalchemy/sql/ddl.py +1444 -0
  200. sqlalchemy/sql/default_comparator.py +551 -0
  201. sqlalchemy/sql/dml.py +1850 -0
  202. sqlalchemy/sql/elements.py +5589 -0
  203. sqlalchemy/sql/events.py +458 -0
  204. sqlalchemy/sql/expression.py +159 -0
  205. sqlalchemy/sql/functions.py +2158 -0
  206. sqlalchemy/sql/lambdas.py +1442 -0
  207. sqlalchemy/sql/naming.py +209 -0
  208. sqlalchemy/sql/operators.py +2623 -0
  209. sqlalchemy/sql/roles.py +323 -0
  210. sqlalchemy/sql/schema.py +6222 -0
  211. sqlalchemy/sql/selectable.py +7265 -0
  212. sqlalchemy/sql/sqltypes.py +3930 -0
  213. sqlalchemy/sql/traversals.py +1024 -0
  214. sqlalchemy/sql/type_api.py +2368 -0
  215. sqlalchemy/sql/util.py +1485 -0
  216. sqlalchemy/sql/visitors.py +1164 -0
  217. sqlalchemy/testing/__init__.py +96 -0
  218. sqlalchemy/testing/assertions.py +994 -0
  219. sqlalchemy/testing/assertsql.py +520 -0
  220. sqlalchemy/testing/asyncio.py +135 -0
  221. sqlalchemy/testing/config.py +434 -0
  222. sqlalchemy/testing/engines.py +483 -0
  223. sqlalchemy/testing/entities.py +117 -0
  224. sqlalchemy/testing/exclusions.py +476 -0
  225. sqlalchemy/testing/fixtures/__init__.py +28 -0
  226. sqlalchemy/testing/fixtures/base.py +384 -0
  227. sqlalchemy/testing/fixtures/mypy.py +332 -0
  228. sqlalchemy/testing/fixtures/orm.py +227 -0
  229. sqlalchemy/testing/fixtures/sql.py +482 -0
  230. sqlalchemy/testing/pickleable.py +155 -0
  231. sqlalchemy/testing/plugin/__init__.py +6 -0
  232. sqlalchemy/testing/plugin/bootstrap.py +51 -0
  233. sqlalchemy/testing/plugin/plugin_base.py +828 -0
  234. sqlalchemy/testing/plugin/pytestplugin.py +892 -0
  235. sqlalchemy/testing/profiling.py +329 -0
  236. sqlalchemy/testing/provision.py +603 -0
  237. sqlalchemy/testing/requirements.py +1945 -0
  238. sqlalchemy/testing/schema.py +198 -0
  239. sqlalchemy/testing/suite/__init__.py +19 -0
  240. sqlalchemy/testing/suite/test_cte.py +237 -0
  241. sqlalchemy/testing/suite/test_ddl.py +389 -0
  242. sqlalchemy/testing/suite/test_deprecations.py +153 -0
  243. sqlalchemy/testing/suite/test_dialect.py +776 -0
  244. sqlalchemy/testing/suite/test_insert.py +630 -0
  245. sqlalchemy/testing/suite/test_reflection.py +3557 -0
  246. sqlalchemy/testing/suite/test_results.py +504 -0
  247. sqlalchemy/testing/suite/test_rowcount.py +258 -0
  248. sqlalchemy/testing/suite/test_select.py +2010 -0
  249. sqlalchemy/testing/suite/test_sequence.py +317 -0
  250. sqlalchemy/testing/suite/test_types.py +2147 -0
  251. sqlalchemy/testing/suite/test_unicode_ddl.py +189 -0
  252. sqlalchemy/testing/suite/test_update_delete.py +139 -0
  253. sqlalchemy/testing/util.py +535 -0
  254. sqlalchemy/testing/warnings.py +52 -0
  255. sqlalchemy/types.py +74 -0
  256. sqlalchemy/util/__init__.py +162 -0
  257. sqlalchemy/util/_collections.py +712 -0
  258. sqlalchemy/util/_concurrency_py3k.py +288 -0
  259. sqlalchemy/util/_has_cy.py +40 -0
  260. sqlalchemy/util/_py_collections.py +541 -0
  261. sqlalchemy/util/compat.py +421 -0
  262. sqlalchemy/util/concurrency.py +110 -0
  263. sqlalchemy/util/deprecations.py +401 -0
  264. sqlalchemy/util/langhelpers.py +2203 -0
  265. sqlalchemy/util/preloaded.py +150 -0
  266. sqlalchemy/util/queue.py +322 -0
  267. sqlalchemy/util/tool_support.py +201 -0
  268. sqlalchemy/util/topological.py +120 -0
  269. sqlalchemy/util/typing.py +734 -0
  270. sqlalchemy-2.0.47.dist-info/METADATA +243 -0
  271. sqlalchemy-2.0.47.dist-info/RECORD +274 -0
  272. sqlalchemy-2.0.47.dist-info/WHEEL +5 -0
  273. sqlalchemy-2.0.47.dist-info/licenses/LICENSE +19 -0
  274. sqlalchemy-2.0.47.dist-info/top_level.txt +1 -0
@@ -0,0 +1,507 @@
1
+ # dialects/oracle/dictionary.py
2
+ # Copyright (C) 2005-2026 the SQLAlchemy authors and contributors
3
+ # <see AUTHORS file>
4
+ #
5
+ # This module is part of SQLAlchemy and is released under
6
+ # the MIT License: https://www.opensource.org/licenses/mit-license.php
7
+ # mypy: ignore-errors
8
+
9
+ from .types import DATE
10
+ from .types import LONG
11
+ from .types import NUMBER
12
+ from .types import RAW
13
+ from .types import VARCHAR2
14
+ from ... import Column
15
+ from ... import MetaData
16
+ from ... import Table
17
+ from ... import table
18
+ from ...sql.sqltypes import CHAR
19
+
20
+ # constants
21
+ DB_LINK_PLACEHOLDER = "__$sa_dblink$__"
22
+ # tables
23
+ dual = table("dual")
24
+ dictionary_meta = MetaData()
25
+
26
+ # NOTE: all the dictionary_meta are aliases because oracle does not like
27
+ # using the full table@dblink for every column in query, and complains with
28
+ # ORA-00960: ambiguous column naming in select list
29
+ all_tables = Table(
30
+ "all_tables" + DB_LINK_PLACEHOLDER,
31
+ dictionary_meta,
32
+ Column("owner", VARCHAR2(128), nullable=False),
33
+ Column("table_name", VARCHAR2(128), nullable=False),
34
+ Column("tablespace_name", VARCHAR2(30)),
35
+ Column("cluster_name", VARCHAR2(128)),
36
+ Column("iot_name", VARCHAR2(128)),
37
+ Column("status", VARCHAR2(8)),
38
+ Column("pct_free", NUMBER),
39
+ Column("pct_used", NUMBER),
40
+ Column("ini_trans", NUMBER),
41
+ Column("max_trans", NUMBER),
42
+ Column("initial_extent", NUMBER),
43
+ Column("next_extent", NUMBER),
44
+ Column("min_extents", NUMBER),
45
+ Column("max_extents", NUMBER),
46
+ Column("pct_increase", NUMBER),
47
+ Column("freelists", NUMBER),
48
+ Column("freelist_groups", NUMBER),
49
+ Column("logging", VARCHAR2(3)),
50
+ Column("backed_up", VARCHAR2(1)),
51
+ Column("num_rows", NUMBER),
52
+ Column("blocks", NUMBER),
53
+ Column("empty_blocks", NUMBER),
54
+ Column("avg_space", NUMBER),
55
+ Column("chain_cnt", NUMBER),
56
+ Column("avg_row_len", NUMBER),
57
+ Column("avg_space_freelist_blocks", NUMBER),
58
+ Column("num_freelist_blocks", NUMBER),
59
+ Column("degree", VARCHAR2(10)),
60
+ Column("instances", VARCHAR2(10)),
61
+ Column("cache", VARCHAR2(5)),
62
+ Column("table_lock", VARCHAR2(8)),
63
+ Column("sample_size", NUMBER),
64
+ Column("last_analyzed", DATE),
65
+ Column("partitioned", VARCHAR2(3)),
66
+ Column("iot_type", VARCHAR2(12)),
67
+ Column("temporary", VARCHAR2(1)),
68
+ Column("secondary", VARCHAR2(1)),
69
+ Column("nested", VARCHAR2(3)),
70
+ Column("buffer_pool", VARCHAR2(7)),
71
+ Column("flash_cache", VARCHAR2(7)),
72
+ Column("cell_flash_cache", VARCHAR2(7)),
73
+ Column("row_movement", VARCHAR2(8)),
74
+ Column("global_stats", VARCHAR2(3)),
75
+ Column("user_stats", VARCHAR2(3)),
76
+ Column("duration", VARCHAR2(15)),
77
+ Column("skip_corrupt", VARCHAR2(8)),
78
+ Column("monitoring", VARCHAR2(3)),
79
+ Column("cluster_owner", VARCHAR2(128)),
80
+ Column("dependencies", VARCHAR2(8)),
81
+ Column("compression", VARCHAR2(8)),
82
+ Column("compress_for", VARCHAR2(30)),
83
+ Column("dropped", VARCHAR2(3)),
84
+ Column("read_only", VARCHAR2(3)),
85
+ Column("segment_created", VARCHAR2(3)),
86
+ Column("result_cache", VARCHAR2(7)),
87
+ Column("clustering", VARCHAR2(3)),
88
+ Column("activity_tracking", VARCHAR2(23)),
89
+ Column("dml_timestamp", VARCHAR2(25)),
90
+ Column("has_identity", VARCHAR2(3)),
91
+ Column("container_data", VARCHAR2(3)),
92
+ Column("inmemory", VARCHAR2(8)),
93
+ Column("inmemory_priority", VARCHAR2(8)),
94
+ Column("inmemory_distribute", VARCHAR2(15)),
95
+ Column("inmemory_compression", VARCHAR2(17)),
96
+ Column("inmemory_duplicate", VARCHAR2(13)),
97
+ Column("default_collation", VARCHAR2(100)),
98
+ Column("duplicated", VARCHAR2(1)),
99
+ Column("sharded", VARCHAR2(1)),
100
+ Column("externally_sharded", VARCHAR2(1)),
101
+ Column("externally_duplicated", VARCHAR2(1)),
102
+ Column("external", VARCHAR2(3)),
103
+ Column("hybrid", VARCHAR2(3)),
104
+ Column("cellmemory", VARCHAR2(24)),
105
+ Column("containers_default", VARCHAR2(3)),
106
+ Column("container_map", VARCHAR2(3)),
107
+ Column("extended_data_link", VARCHAR2(3)),
108
+ Column("extended_data_link_map", VARCHAR2(3)),
109
+ Column("inmemory_service", VARCHAR2(12)),
110
+ Column("inmemory_service_name", VARCHAR2(1000)),
111
+ Column("container_map_object", VARCHAR2(3)),
112
+ Column("memoptimize_read", VARCHAR2(8)),
113
+ Column("memoptimize_write", VARCHAR2(8)),
114
+ Column("has_sensitive_column", VARCHAR2(3)),
115
+ Column("admit_null", VARCHAR2(3)),
116
+ Column("data_link_dml_enabled", VARCHAR2(3)),
117
+ Column("logical_replication", VARCHAR2(8)),
118
+ ).alias("a_tables")
119
+
120
+ all_views = Table(
121
+ "all_views" + DB_LINK_PLACEHOLDER,
122
+ dictionary_meta,
123
+ Column("owner", VARCHAR2(128), nullable=False),
124
+ Column("view_name", VARCHAR2(128), nullable=False),
125
+ Column("text_length", NUMBER),
126
+ Column("text", LONG),
127
+ Column("text_vc", VARCHAR2(4000)),
128
+ Column("type_text_length", NUMBER),
129
+ Column("type_text", VARCHAR2(4000)),
130
+ Column("oid_text_length", NUMBER),
131
+ Column("oid_text", VARCHAR2(4000)),
132
+ Column("view_type_owner", VARCHAR2(128)),
133
+ Column("view_type", VARCHAR2(128)),
134
+ Column("superview_name", VARCHAR2(128)),
135
+ Column("editioning_view", VARCHAR2(1)),
136
+ Column("read_only", VARCHAR2(1)),
137
+ Column("container_data", VARCHAR2(1)),
138
+ Column("bequeath", VARCHAR2(12)),
139
+ Column("origin_con_id", VARCHAR2(256)),
140
+ Column("default_collation", VARCHAR2(100)),
141
+ Column("containers_default", VARCHAR2(3)),
142
+ Column("container_map", VARCHAR2(3)),
143
+ Column("extended_data_link", VARCHAR2(3)),
144
+ Column("extended_data_link_map", VARCHAR2(3)),
145
+ Column("has_sensitive_column", VARCHAR2(3)),
146
+ Column("admit_null", VARCHAR2(3)),
147
+ Column("pdb_local_only", VARCHAR2(3)),
148
+ ).alias("a_views")
149
+
150
+ all_sequences = Table(
151
+ "all_sequences" + DB_LINK_PLACEHOLDER,
152
+ dictionary_meta,
153
+ Column("sequence_owner", VARCHAR2(128), nullable=False),
154
+ Column("sequence_name", VARCHAR2(128), nullable=False),
155
+ Column("min_value", NUMBER),
156
+ Column("max_value", NUMBER),
157
+ Column("increment_by", NUMBER, nullable=False),
158
+ Column("cycle_flag", VARCHAR2(1)),
159
+ Column("order_flag", VARCHAR2(1)),
160
+ Column("cache_size", NUMBER, nullable=False),
161
+ Column("last_number", NUMBER, nullable=False),
162
+ Column("scale_flag", VARCHAR2(1)),
163
+ Column("extend_flag", VARCHAR2(1)),
164
+ Column("sharded_flag", VARCHAR2(1)),
165
+ Column("session_flag", VARCHAR2(1)),
166
+ Column("keep_value", VARCHAR2(1)),
167
+ ).alias("a_sequences")
168
+
169
+ all_users = Table(
170
+ "all_users" + DB_LINK_PLACEHOLDER,
171
+ dictionary_meta,
172
+ Column("username", VARCHAR2(128), nullable=False),
173
+ Column("user_id", NUMBER, nullable=False),
174
+ Column("created", DATE, nullable=False),
175
+ Column("common", VARCHAR2(3)),
176
+ Column("oracle_maintained", VARCHAR2(1)),
177
+ Column("inherited", VARCHAR2(3)),
178
+ Column("default_collation", VARCHAR2(100)),
179
+ Column("implicit", VARCHAR2(3)),
180
+ Column("all_shard", VARCHAR2(3)),
181
+ Column("external_shard", VARCHAR2(3)),
182
+ ).alias("a_users")
183
+
184
+ all_mviews = Table(
185
+ "all_mviews" + DB_LINK_PLACEHOLDER,
186
+ dictionary_meta,
187
+ Column("owner", VARCHAR2(128), nullable=False),
188
+ Column("mview_name", VARCHAR2(128), nullable=False),
189
+ Column("container_name", VARCHAR2(128), nullable=False),
190
+ Column("query", LONG),
191
+ Column("query_len", NUMBER(38)),
192
+ Column("updatable", VARCHAR2(1)),
193
+ Column("update_log", VARCHAR2(128)),
194
+ Column("master_rollback_seg", VARCHAR2(128)),
195
+ Column("master_link", VARCHAR2(128)),
196
+ Column("rewrite_enabled", VARCHAR2(1)),
197
+ Column("rewrite_capability", VARCHAR2(9)),
198
+ Column("refresh_mode", VARCHAR2(6)),
199
+ Column("refresh_method", VARCHAR2(8)),
200
+ Column("build_mode", VARCHAR2(9)),
201
+ Column("fast_refreshable", VARCHAR2(18)),
202
+ Column("last_refresh_type", VARCHAR2(8)),
203
+ Column("last_refresh_date", DATE),
204
+ Column("last_refresh_end_time", DATE),
205
+ Column("staleness", VARCHAR2(19)),
206
+ Column("after_fast_refresh", VARCHAR2(19)),
207
+ Column("unknown_prebuilt", VARCHAR2(1)),
208
+ Column("unknown_plsql_func", VARCHAR2(1)),
209
+ Column("unknown_external_table", VARCHAR2(1)),
210
+ Column("unknown_consider_fresh", VARCHAR2(1)),
211
+ Column("unknown_import", VARCHAR2(1)),
212
+ Column("unknown_trusted_fd", VARCHAR2(1)),
213
+ Column("compile_state", VARCHAR2(19)),
214
+ Column("use_no_index", VARCHAR2(1)),
215
+ Column("stale_since", DATE),
216
+ Column("num_pct_tables", NUMBER),
217
+ Column("num_fresh_pct_regions", NUMBER),
218
+ Column("num_stale_pct_regions", NUMBER),
219
+ Column("segment_created", VARCHAR2(3)),
220
+ Column("evaluation_edition", VARCHAR2(128)),
221
+ Column("unusable_before", VARCHAR2(128)),
222
+ Column("unusable_beginning", VARCHAR2(128)),
223
+ Column("default_collation", VARCHAR2(100)),
224
+ Column("on_query_computation", VARCHAR2(1)),
225
+ Column("auto", VARCHAR2(3)),
226
+ ).alias("a_mviews")
227
+
228
+ all_tab_identity_cols = Table(
229
+ "all_tab_identity_cols" + DB_LINK_PLACEHOLDER,
230
+ dictionary_meta,
231
+ Column("owner", VARCHAR2(128), nullable=False),
232
+ Column("table_name", VARCHAR2(128), nullable=False),
233
+ Column("column_name", VARCHAR2(128), nullable=False),
234
+ Column("generation_type", VARCHAR2(10)),
235
+ Column("sequence_name", VARCHAR2(128), nullable=False),
236
+ Column("identity_options", VARCHAR2(298)),
237
+ ).alias("a_tab_identity_cols")
238
+
239
+ all_tab_cols = Table(
240
+ "all_tab_cols" + DB_LINK_PLACEHOLDER,
241
+ dictionary_meta,
242
+ Column("owner", VARCHAR2(128), nullable=False),
243
+ Column("table_name", VARCHAR2(128), nullable=False),
244
+ Column("column_name", VARCHAR2(128), nullable=False),
245
+ Column("data_type", VARCHAR2(128)),
246
+ Column("data_type_mod", VARCHAR2(3)),
247
+ Column("data_type_owner", VARCHAR2(128)),
248
+ Column("data_length", NUMBER, nullable=False),
249
+ Column("data_precision", NUMBER),
250
+ Column("data_scale", NUMBER),
251
+ Column("nullable", VARCHAR2(1)),
252
+ Column("column_id", NUMBER),
253
+ Column("default_length", NUMBER),
254
+ Column("data_default", LONG),
255
+ Column("num_distinct", NUMBER),
256
+ Column("low_value", RAW(1000)),
257
+ Column("high_value", RAW(1000)),
258
+ Column("density", NUMBER),
259
+ Column("num_nulls", NUMBER),
260
+ Column("num_buckets", NUMBER),
261
+ Column("last_analyzed", DATE),
262
+ Column("sample_size", NUMBER),
263
+ Column("character_set_name", VARCHAR2(44)),
264
+ Column("char_col_decl_length", NUMBER),
265
+ Column("global_stats", VARCHAR2(3)),
266
+ Column("user_stats", VARCHAR2(3)),
267
+ Column("avg_col_len", NUMBER),
268
+ Column("char_length", NUMBER),
269
+ Column("char_used", VARCHAR2(1)),
270
+ Column("v80_fmt_image", VARCHAR2(3)),
271
+ Column("data_upgraded", VARCHAR2(3)),
272
+ Column("hidden_column", VARCHAR2(3)),
273
+ Column("virtual_column", VARCHAR2(3)),
274
+ Column("segment_column_id", NUMBER),
275
+ Column("internal_column_id", NUMBER, nullable=False),
276
+ Column("histogram", VARCHAR2(15)),
277
+ Column("qualified_col_name", VARCHAR2(4000)),
278
+ Column("user_generated", VARCHAR2(3)),
279
+ Column("default_on_null", VARCHAR2(3)),
280
+ Column("identity_column", VARCHAR2(3)),
281
+ Column("evaluation_edition", VARCHAR2(128)),
282
+ Column("unusable_before", VARCHAR2(128)),
283
+ Column("unusable_beginning", VARCHAR2(128)),
284
+ Column("collation", VARCHAR2(100)),
285
+ Column("collated_column_id", NUMBER),
286
+ ).alias("a_tab_cols")
287
+
288
+ all_tab_comments = Table(
289
+ "all_tab_comments" + DB_LINK_PLACEHOLDER,
290
+ dictionary_meta,
291
+ Column("owner", VARCHAR2(128), nullable=False),
292
+ Column("table_name", VARCHAR2(128), nullable=False),
293
+ Column("table_type", VARCHAR2(11)),
294
+ Column("comments", VARCHAR2(4000)),
295
+ Column("origin_con_id", NUMBER),
296
+ ).alias("a_tab_comments")
297
+
298
+ all_col_comments = Table(
299
+ "all_col_comments" + DB_LINK_PLACEHOLDER,
300
+ dictionary_meta,
301
+ Column("owner", VARCHAR2(128), nullable=False),
302
+ Column("table_name", VARCHAR2(128), nullable=False),
303
+ Column("column_name", VARCHAR2(128), nullable=False),
304
+ Column("comments", VARCHAR2(4000)),
305
+ Column("origin_con_id", NUMBER),
306
+ ).alias("a_col_comments")
307
+
308
+ all_mview_comments = Table(
309
+ "all_mview_comments" + DB_LINK_PLACEHOLDER,
310
+ dictionary_meta,
311
+ Column("owner", VARCHAR2(128), nullable=False),
312
+ Column("mview_name", VARCHAR2(128), nullable=False),
313
+ Column("comments", VARCHAR2(4000)),
314
+ ).alias("a_mview_comments")
315
+
316
+ all_ind_columns = Table(
317
+ "all_ind_columns" + DB_LINK_PLACEHOLDER,
318
+ dictionary_meta,
319
+ Column("index_owner", VARCHAR2(128), nullable=False),
320
+ Column("index_name", VARCHAR2(128), nullable=False),
321
+ Column("table_owner", VARCHAR2(128), nullable=False),
322
+ Column("table_name", VARCHAR2(128), nullable=False),
323
+ Column("column_name", VARCHAR2(4000)),
324
+ Column("column_position", NUMBER, nullable=False),
325
+ Column("column_length", NUMBER, nullable=False),
326
+ Column("char_length", NUMBER),
327
+ Column("descend", VARCHAR2(4)),
328
+ Column("collated_column_id", NUMBER),
329
+ ).alias("a_ind_columns")
330
+
331
+ all_indexes = Table(
332
+ "all_indexes" + DB_LINK_PLACEHOLDER,
333
+ dictionary_meta,
334
+ Column("owner", VARCHAR2(128), nullable=False),
335
+ Column("index_name", VARCHAR2(128), nullable=False),
336
+ Column("index_type", VARCHAR2(27)),
337
+ Column("table_owner", VARCHAR2(128), nullable=False),
338
+ Column("table_name", VARCHAR2(128), nullable=False),
339
+ Column("table_type", CHAR(11)),
340
+ Column("uniqueness", VARCHAR2(9)),
341
+ Column("compression", VARCHAR2(13)),
342
+ Column("prefix_length", NUMBER),
343
+ Column("tablespace_name", VARCHAR2(30)),
344
+ Column("ini_trans", NUMBER),
345
+ Column("max_trans", NUMBER),
346
+ Column("initial_extent", NUMBER),
347
+ Column("next_extent", NUMBER),
348
+ Column("min_extents", NUMBER),
349
+ Column("max_extents", NUMBER),
350
+ Column("pct_increase", NUMBER),
351
+ Column("pct_threshold", NUMBER),
352
+ Column("include_column", NUMBER),
353
+ Column("freelists", NUMBER),
354
+ Column("freelist_groups", NUMBER),
355
+ Column("pct_free", NUMBER),
356
+ Column("logging", VARCHAR2(3)),
357
+ Column("blevel", NUMBER),
358
+ Column("leaf_blocks", NUMBER),
359
+ Column("distinct_keys", NUMBER),
360
+ Column("avg_leaf_blocks_per_key", NUMBER),
361
+ Column("avg_data_blocks_per_key", NUMBER),
362
+ Column("clustering_factor", NUMBER),
363
+ Column("status", VARCHAR2(8)),
364
+ Column("num_rows", NUMBER),
365
+ Column("sample_size", NUMBER),
366
+ Column("last_analyzed", DATE),
367
+ Column("degree", VARCHAR2(40)),
368
+ Column("instances", VARCHAR2(40)),
369
+ Column("partitioned", VARCHAR2(3)),
370
+ Column("temporary", VARCHAR2(1)),
371
+ Column("generated", VARCHAR2(1)),
372
+ Column("secondary", VARCHAR2(1)),
373
+ Column("buffer_pool", VARCHAR2(7)),
374
+ Column("flash_cache", VARCHAR2(7)),
375
+ Column("cell_flash_cache", VARCHAR2(7)),
376
+ Column("user_stats", VARCHAR2(3)),
377
+ Column("duration", VARCHAR2(15)),
378
+ Column("pct_direct_access", NUMBER),
379
+ Column("ityp_owner", VARCHAR2(128)),
380
+ Column("ityp_name", VARCHAR2(128)),
381
+ Column("parameters", VARCHAR2(1000)),
382
+ Column("global_stats", VARCHAR2(3)),
383
+ Column("domidx_status", VARCHAR2(12)),
384
+ Column("domidx_opstatus", VARCHAR2(6)),
385
+ Column("funcidx_status", VARCHAR2(8)),
386
+ Column("join_index", VARCHAR2(3)),
387
+ Column("iot_redundant_pkey_elim", VARCHAR2(3)),
388
+ Column("dropped", VARCHAR2(3)),
389
+ Column("visibility", VARCHAR2(9)),
390
+ Column("domidx_management", VARCHAR2(14)),
391
+ Column("segment_created", VARCHAR2(3)),
392
+ Column("orphaned_entries", VARCHAR2(3)),
393
+ Column("indexing", VARCHAR2(7)),
394
+ Column("auto", VARCHAR2(3)),
395
+ ).alias("a_indexes")
396
+
397
+ all_ind_expressions = Table(
398
+ "all_ind_expressions" + DB_LINK_PLACEHOLDER,
399
+ dictionary_meta,
400
+ Column("index_owner", VARCHAR2(128), nullable=False),
401
+ Column("index_name", VARCHAR2(128), nullable=False),
402
+ Column("table_owner", VARCHAR2(128), nullable=False),
403
+ Column("table_name", VARCHAR2(128), nullable=False),
404
+ Column("column_expression", LONG),
405
+ Column("column_position", NUMBER, nullable=False),
406
+ ).alias("a_ind_expressions")
407
+
408
+ all_constraints = Table(
409
+ "all_constraints" + DB_LINK_PLACEHOLDER,
410
+ dictionary_meta,
411
+ Column("owner", VARCHAR2(128)),
412
+ Column("constraint_name", VARCHAR2(128)),
413
+ Column("constraint_type", VARCHAR2(1)),
414
+ Column("table_name", VARCHAR2(128)),
415
+ Column("search_condition", LONG),
416
+ Column("search_condition_vc", VARCHAR2(4000)),
417
+ Column("r_owner", VARCHAR2(128)),
418
+ Column("r_constraint_name", VARCHAR2(128)),
419
+ Column("delete_rule", VARCHAR2(9)),
420
+ Column("status", VARCHAR2(8)),
421
+ Column("deferrable", VARCHAR2(14)),
422
+ Column("deferred", VARCHAR2(9)),
423
+ Column("validated", VARCHAR2(13)),
424
+ Column("generated", VARCHAR2(14)),
425
+ Column("bad", VARCHAR2(3)),
426
+ Column("rely", VARCHAR2(4)),
427
+ Column("last_change", DATE),
428
+ Column("index_owner", VARCHAR2(128)),
429
+ Column("index_name", VARCHAR2(128)),
430
+ Column("invalid", VARCHAR2(7)),
431
+ Column("view_related", VARCHAR2(14)),
432
+ Column("origin_con_id", VARCHAR2(256)),
433
+ ).alias("a_constraints")
434
+
435
+ all_cons_columns = Table(
436
+ "all_cons_columns" + DB_LINK_PLACEHOLDER,
437
+ dictionary_meta,
438
+ Column("owner", VARCHAR2(128), nullable=False),
439
+ Column("constraint_name", VARCHAR2(128), nullable=False),
440
+ Column("table_name", VARCHAR2(128), nullable=False),
441
+ Column("column_name", VARCHAR2(4000)),
442
+ Column("position", NUMBER),
443
+ ).alias("a_cons_columns")
444
+
445
+ # TODO figure out if it's still relevant, since there is no mention from here
446
+ # https://docs.oracle.com/en/database/oracle/oracle-database/21/refrn/ALL_DB_LINKS.html
447
+ # original note:
448
+ # using user_db_links here since all_db_links appears
449
+ # to have more restricted permissions.
450
+ # https://docs.oracle.com/cd/B28359_01/server.111/b28310/ds_admin005.htm
451
+ # will need to hear from more users if we are doing
452
+ # the right thing here. See [ticket:2619]
453
+ all_db_links = Table(
454
+ "all_db_links" + DB_LINK_PLACEHOLDER,
455
+ dictionary_meta,
456
+ Column("owner", VARCHAR2(128), nullable=False),
457
+ Column("db_link", VARCHAR2(128), nullable=False),
458
+ Column("username", VARCHAR2(128)),
459
+ Column("host", VARCHAR2(2000)),
460
+ Column("created", DATE, nullable=False),
461
+ Column("hidden", VARCHAR2(3)),
462
+ Column("shard_internal", VARCHAR2(3)),
463
+ Column("valid", VARCHAR2(3)),
464
+ Column("intra_cdb", VARCHAR2(3)),
465
+ ).alias("a_db_links")
466
+
467
+ all_synonyms = Table(
468
+ "all_synonyms" + DB_LINK_PLACEHOLDER,
469
+ dictionary_meta,
470
+ Column("owner", VARCHAR2(128)),
471
+ Column("synonym_name", VARCHAR2(128)),
472
+ Column("table_owner", VARCHAR2(128)),
473
+ Column("table_name", VARCHAR2(128)),
474
+ Column("db_link", VARCHAR2(128)),
475
+ Column("origin_con_id", VARCHAR2(256)),
476
+ ).alias("a_synonyms")
477
+
478
+ all_objects = Table(
479
+ "all_objects" + DB_LINK_PLACEHOLDER,
480
+ dictionary_meta,
481
+ Column("owner", VARCHAR2(128), nullable=False),
482
+ Column("object_name", VARCHAR2(128), nullable=False),
483
+ Column("subobject_name", VARCHAR2(128)),
484
+ Column("object_id", NUMBER, nullable=False),
485
+ Column("data_object_id", NUMBER),
486
+ Column("object_type", VARCHAR2(23)),
487
+ Column("created", DATE, nullable=False),
488
+ Column("last_ddl_time", DATE, nullable=False),
489
+ Column("timestamp", VARCHAR2(19)),
490
+ Column("status", VARCHAR2(7)),
491
+ Column("temporary", VARCHAR2(1)),
492
+ Column("generated", VARCHAR2(1)),
493
+ Column("secondary", VARCHAR2(1)),
494
+ Column("namespace", NUMBER, nullable=False),
495
+ Column("edition_name", VARCHAR2(128)),
496
+ Column("sharing", VARCHAR2(13)),
497
+ Column("editionable", VARCHAR2(1)),
498
+ Column("oracle_maintained", VARCHAR2(1)),
499
+ Column("application", VARCHAR2(1)),
500
+ Column("default_collation", VARCHAR2(100)),
501
+ Column("duplicated", VARCHAR2(1)),
502
+ Column("sharded", VARCHAR2(1)),
503
+ Column("created_appid", NUMBER),
504
+ Column("created_vsnid", NUMBER),
505
+ Column("modified_appid", NUMBER),
506
+ Column("modified_vsnid", NUMBER),
507
+ ).alias("a_objects")