@@ -85,34 +85,17 @@ fn convert_scalar_types(
85
85
type_name : scalar_type. type_name ,
86
86
schema_name : ( scalar_type. schema_name ) ,
87
87
description : scalar_type. description ,
88
- aggregate_functions : scalar_type
89
- . aggregate_functions
90
- . into_iter ( )
91
- . map ( |( k, v) | ( k, convert_aggregate_function ( v) ) )
92
- . collect ( ) ,
93
- comparison_operators : scalar_type
94
- . comparison_operators
95
- . into_iter ( )
96
- . map ( |( k, v) | ( k, convert_comparison_operator ( v) ) )
97
- . collect ( ) ,
98
- type_representation : scalar_type
99
- . type_representation
100
- . map ( convert_type_representation) ,
88
+ aggregate_functions : scalar_type. aggregate_functions ,
89
+ comparison_operators : scalar_type. comparison_operators ,
90
+ type_representation : scalar_type. type_representation . clone ( ) ,
91
+ full_type_representation : scalar_type. type_representation ,
101
92
} ,
102
93
)
103
94
} )
104
95
. collect ( ) ,
105
96
)
106
97
}
107
98
108
- fn convert_aggregate_function (
109
- aggregate_function : metadata:: AggregateFunction ,
110
- ) -> query_engine_metadata:: metadata:: AggregateFunction {
111
- query_engine_metadata:: metadata:: AggregateFunction {
112
- return_type : aggregate_function. return_type ,
113
- }
114
- }
115
-
116
99
fn convert_native_operations (
117
100
native_operations : metadata:: NativeOperations ,
118
101
) -> query_engine_metadata:: metadata:: NativeOperations {
@@ -171,10 +154,16 @@ fn convert_nullable(nullable: &metadata::Nullable) -> query_engine_metadata::met
171
154
172
155
fn convert_type ( r#type : metadata:: Type ) -> query_engine_metadata:: metadata:: Type {
173
156
match r#type {
174
- metadata:: Type :: ScalarType ( t) => query_engine_metadata:: metadata:: Type :: ScalarType ( t) ,
175
157
metadata:: Type :: ArrayType ( t) => {
176
158
query_engine_metadata:: metadata:: Type :: ArrayType ( Box :: new ( convert_type ( * t) ) )
177
- }
159
+ } ,
160
+ metadata:: Type :: RangeType ( t) => {
161
+ query_engine_metadata:: metadata:: Type :: RangeType ( t)
162
+ } ,
163
+ metadata:: Type :: StructType ( t) => {
164
+ query_engine_metadata:: metadata:: Type :: StructType ( t)
165
+ } ,
166
+ metadata:: Type :: ScalarType ( t) => query_engine_metadata:: metadata:: Type :: ScalarType ( t) ,
178
167
}
179
168
}
180
169
@@ -258,126 +247,6 @@ fn convert_native_query_part(
258
247
}
259
248
}
260
249
261
- fn convert_type_representation (
262
- type_representation : metadata:: TypeRepresentation ,
263
- ) -> query_engine_metadata:: metadata:: TypeRepresentation {
264
- match type_representation {
265
- metadata:: TypeRepresentation :: Boolean => {
266
- query_engine_metadata:: metadata:: TypeRepresentation :: Boolean
267
- }
268
- metadata:: TypeRepresentation :: Bytes => {
269
- query_engine_metadata:: metadata:: TypeRepresentation :: Bytes
270
- }
271
- metadata:: TypeRepresentation :: String => {
272
- query_engine_metadata:: metadata:: TypeRepresentation :: String
273
- }
274
- metadata:: TypeRepresentation :: Int64 => {
275
- query_engine_metadata:: metadata:: TypeRepresentation :: Int64
276
- }
277
- metadata:: TypeRepresentation :: Float64 => {
278
- query_engine_metadata:: metadata:: TypeRepresentation :: Float64
279
- }
280
- metadata:: TypeRepresentation :: Numeric => {
281
- query_engine_metadata:: metadata:: TypeRepresentation :: Numeric
282
- }
283
- metadata:: TypeRepresentation :: BigNumeric => {
284
- query_engine_metadata:: metadata:: TypeRepresentation :: BigNumeric
285
- }
286
- metadata:: TypeRepresentation :: Timestamp => {
287
- query_engine_metadata:: metadata:: TypeRepresentation :: Timestamp
288
- }
289
- metadata:: TypeRepresentation :: Time => {
290
- query_engine_metadata:: metadata:: TypeRepresentation :: Time
291
- }
292
- metadata:: TypeRepresentation :: Date => {
293
- query_engine_metadata:: metadata:: TypeRepresentation :: Date
294
- }
295
- metadata:: TypeRepresentation :: Datetime => {
296
- query_engine_metadata:: metadata:: TypeRepresentation :: Datetime
297
- }
298
- metadata:: TypeRepresentation :: Array ( inner) => {
299
- query_engine_metadata:: metadata:: TypeRepresentation :: Array ( Box :: new (
300
- convert_type_representation ( * inner) ,
301
- ) )
302
- }
303
- metadata:: TypeRepresentation :: Geography => {
304
- query_engine_metadata:: metadata:: TypeRepresentation :: Geography
305
- }
306
- metadata:: TypeRepresentation :: Struct ( fields) => {
307
- query_engine_metadata:: metadata:: TypeRepresentation :: Struct (
308
- fields
309
- . into_iter ( )
310
- . map ( |( k, v) | ( k, Box :: new ( convert_type_representation ( * v) ) ) )
311
- . collect ( ) ,
312
- )
313
- }
314
- metadata:: TypeRepresentation :: Json => {
315
- query_engine_metadata:: metadata:: TypeRepresentation :: Json
316
- }
317
- metadata:: TypeRepresentation :: Enum ( v) => {
318
- query_engine_metadata:: metadata:: TypeRepresentation :: Enum ( v)
319
- }
320
- }
321
- }
322
-
323
- fn convert_comparison_operator (
324
- comparison_operator : metadata:: ComparisonOperator ,
325
- ) -> query_engine_metadata:: metadata:: ComparisonOperator {
326
- query_engine_metadata:: metadata:: ComparisonOperator {
327
- operator_name : comparison_operator. operator_name ,
328
- operator_kind : convert_operator_kind ( & comparison_operator. operator_kind ) ,
329
- argument_type : comparison_operator. argument_type ,
330
- is_infix : comparison_operator. is_infix ,
331
- }
332
- }
333
-
334
- fn convert_operator_kind (
335
- operator_kind : & metadata:: OperatorKind ,
336
- ) -> query_engine_metadata:: metadata:: OperatorKind {
337
- match operator_kind {
338
- metadata:: OperatorKind :: Equal => query_engine_metadata:: metadata:: OperatorKind :: Equal ,
339
- metadata:: OperatorKind :: In => query_engine_metadata:: metadata:: OperatorKind :: In ,
340
- metadata:: OperatorKind :: Custom => query_engine_metadata:: metadata:: OperatorKind :: Custom ,
341
- }
342
- }
343
-
344
- // fn convert_composite_types(
345
- // composite_types: metadata::CompositeTypes,
346
- // ) -> query_engine_metadata::metadata::CompositeTypes {
347
- // query_engine_metadata::metadata::CompositeTypes(
348
- // composite_types
349
- // .0
350
- // .into_iter()
351
- // .map(|(k, composite_type)| (k, convert_composite_type(composite_type)))
352
- // .collect(),
353
- // )
354
- // }
355
-
356
- // fn convert_composite_type(
357
- // composite_type: metadata::CompositeType,
358
- // ) -> query_engine_metadata::metadata::CompositeType {
359
- // query_engine_metadata::metadata::CompositeType {
360
- // type_name: composite_type.type_name,
361
- // schema_name: (composite_type.schema_name),
362
- // fields: composite_type
363
- // .fields
364
- // .into_iter()
365
- // .map(|(k, field)| (k, convert_composite_type_field_info(field)))
366
- // .collect(),
367
- // description: composite_type.description,
368
- // }
369
- // }
370
-
371
- // fn convert_composite_type_field_info(
372
- // field: metadata::FieldInfo,
373
- // ) -> query_engine_metadata::metadata::FieldInfo {
374
- // query_engine_metadata::metadata::FieldInfo {
375
- // field_name: field.field_name,
376
- // r#type: convert_type(field.r#type),
377
- // description: field.description,
378
- // }
379
- // }
380
-
381
250
pub fn convert_tables ( tables : metadata:: TablesInfo ) -> query_engine_metadata:: metadata:: TablesInfo {
382
251
query_engine_metadata:: metadata:: TablesInfo (
383
252
tables
0 commit comments