Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/sqlalchemy/dialects/oracle/dictionary.py: 97%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

32 statements  

1# dialects/oracle/dictionary.py 

2# Copyright (C) 2005-2025 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 

9from .types import DATE 

10from .types import LONG 

11from .types import NUMBER 

12from .types import RAW 

13from .types import VARCHAR2 

14from ... import Column 

15from ... import MetaData 

16from ... import Table 

17from ... import table 

18from ...sql.sqltypes import CHAR 

19 

20# constants 

21DB_LINK_PLACEHOLDER = "__$sa_dblink$__" 

22# tables 

23dual = table("dual") 

24dictionary_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 

29all_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 

120all_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 

150all_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 

169all_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 

184all_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 

228all_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 

239all_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 

288all_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 

298all_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 

308all_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 

316all_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 

331all_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 

397all_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 

408all_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 

435all_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] 

453all_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 

467all_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 

478all_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")