@@ -63,94 +63,86 @@ def adbc_view_type
6363 def tables
6464 type = adbc_table_type
6565 with_raw_connection do |conn |
66- conn . get_objects ( :tables ,
67- adbc_catalog ,
68- adbc_db_schema ,
69- nil ,
70- [ type ] ) do |table |
71- tables = [ ]
72- table . raw_records . each do |_catalog_name , db_schemas |
73- db_schemas . each do |db_schema |
74- db_schema_tables = db_schema [ "db_schema_tables" ]
75- next if db_schema_tables . nil?
76- db_schema_tables . each do |t |
77- # Some drivers may ignore table_types
78- next unless t [ "table_type" ] == type
79- tables << t [ "table_name" ]
80- end
66+ objects = conn . get_objects ( depth : :tables ,
67+ catalog : adbc_catalog ,
68+ db_schema : adbc_db_schema ,
69+ table_types : [ type ] )
70+ tables = [ ]
71+ objects . raw_records . each do |_catalog_name , db_schemas |
72+ db_schemas . each do |db_schema |
73+ db_schema_tables = db_schema [ "db_schema_tables" ]
74+ next if db_schema_tables . nil?
75+ db_schema_tables . each do |t |
76+ # Some drivers may ignore table_types
77+ next unless t [ "table_type" ] == type
78+ tables << t [ "table_name" ]
8179 end
8280 end
83- tables
8481 end
82+ tables
8583 end
8684 end
8785
8886 def views
8987 type = adbc_view_type
9088 with_raw_connection do |conn |
91- conn . get_objects ( :tables ,
92- adbc_catalog ,
93- adbc_db_schema ,
94- nil ,
95- [ type ] ) do |table |
96- views = [ ]
97- table . raw_records . each do |_catalog_name , db_schemas |
98- db_schemas . each do |db_schema |
99- db_schema_tables = db_schema [ "db_schema_tables" ]
100- next if db_schema_tables . nil?
101- db_schema_tables . each do |t |
102- # Some drivers may ignore table_types
103- next unless t [ "table_type" ] == type
104- views << t [ "table_name" ]
105- end
89+ objects = conn . get_objects ( depth : :tables ,
90+ catalog : adbc_catalog ,
91+ db_schema : adbc_db_schema ,
92+ table_types : [ type ] )
93+ views = [ ]
94+ objects . raw_records . each do |_catalog_name , db_schemas |
95+ db_schemas . each do |db_schema |
96+ db_schema_tables = db_schema [ "db_schema_tables" ]
97+ next if db_schema_tables . nil?
98+ db_schema_tables . each do |t |
99+ # Some drivers may ignore table_types
100+ next unless t [ "table_type" ] == type
101+ views << t [ "table_name" ]
106102 end
107103 end
108- views
109104 end
105+ views
110106 end
111107 end
112108
113109 def column_definitions ( table_name )
114110 with_raw_connection do |conn |
115- conn . get_objects ( :all ,
116- adbc_catalog ,
117- adbc_db_schema ,
118- table_name ) do |table |
119- table . raw_records . each do |_catalog_name , db_schemas |
120- db_schemas . each do |db_schema |
121- db_schema_tables = db_schema [ "db_schema_tables" ]
122- next if db_schema_tables . nil?
123- db_schema_tables . each do |t |
124- return t [ "table_columns" ]
125- end
111+ objects = conn . get_objects ( catalog : adbc_catalog ,
112+ db_schema : adbc_db_schema ,
113+ table_name : table_name )
114+ objects . raw_records . each do |_catalog_name , db_schemas |
115+ db_schemas . each do |db_schema |
116+ db_schema_tables = db_schema [ "db_schema_tables" ]
117+ next if db_schema_tables . nil?
118+ db_schema_tables . each do |table |
119+ return table [ "table_columns" ]
126120 end
127121 end
128- [ ] # raise?
129122 end
123+ [ ] # raise?
130124 end
131125 end
132126
133127 def primary_keys ( table_name )
134128 with_raw_connection do |conn |
135- conn . get_objects ( :all ,
136- adbc_catalog ,
137- adbc_db_schema ,
138- table_name ) do |table |
139- table . raw_records . each do |_catalog_name , db_schemas |
140- db_schemas . each do |db_schema |
141- db_schema_tables = db_schema [ "db_schema_tables" ]
142- next if db_schema_tables . nil?
143- db_schema_tables . each do |t |
144- constraint = t [ "table_constraints" ] . find do |constraint |
145- constraint [ "constraint_type" ] == "PRIMARY KEY"
146- end
147- return [ ] if constraint . nil?
148- return constraint [ "constraint_column_names" ] || [ ]
129+ objects = conn . get_objects ( catalog : adbc_catalog ,
130+ db_schema : adbc_db_schema ,
131+ table_name : table_name )
132+ objects . raw_records . each do |_catalog_name , db_schemas |
133+ db_schemas . each do |db_schema |
134+ db_schema_tables = db_schema [ "db_schema_tables" ]
135+ next if db_schema_tables . nil?
136+ db_schema_tables . each do |table |
137+ constraint = table [ "table_constraints" ] . find do |constraint |
138+ constraint [ "constraint_type" ] == "PRIMARY KEY"
149139 end
140+ return [ ] if constraint . nil?
141+ return constraint [ "constraint_column_names" ] || [ ]
150142 end
151143 end
152- [ ]
153144 end
145+ [ ]
154146 end
155147 end
156148
0 commit comments