@@ -90,20 +90,6 @@ pub enum CollectionInfo<'env> {
90
90
} ,
91
91
}
92
92
93
- #[ derive( Debug ) ]
94
- /// Metadata information about a composite type. This includes both tables (and views) and
95
- /// dedicated composite types.
96
- pub enum CompositeTypeInfo < ' env > {
97
- Table {
98
- name : models:: CollectionName ,
99
- info : & ' env metadata:: TableInfo ,
100
- } ,
101
- CompositeType {
102
- name : models:: TypeName ,
103
- info : & ' env metadata:: CompositeType ,
104
- } ,
105
- }
106
-
107
93
#[ derive( Debug ) ]
108
94
/// Metadata information about any object that can have fields
109
95
pub enum FieldsInfo < ' env > {
@@ -115,22 +101,6 @@ pub enum FieldsInfo<'env> {
115
101
name : & ' env models:: CollectionName ,
116
102
info : & ' env metadata:: NativeQueryInfo ,
117
103
} ,
118
- CompositeType {
119
- name : models:: TypeName ,
120
- info : & ' env metadata:: CompositeType ,
121
- } ,
122
- }
123
-
124
- impl < ' a > From < & ' a CompositeTypeInfo < ' a > > for FieldsInfo < ' a > {
125
- fn from ( value : & ' a CompositeTypeInfo < ' a > ) -> Self {
126
- match value {
127
- CompositeTypeInfo :: Table { name, info } => FieldsInfo :: Table { name, info } ,
128
- CompositeTypeInfo :: CompositeType { name, info } => FieldsInfo :: CompositeType {
129
- name : name. clone ( ) ,
130
- info,
131
- } ,
132
- }
133
- }
134
104
}
135
105
136
106
impl < ' a > From < & ' a CollectionInfo < ' a > > for FieldsInfo < ' a > {
@@ -233,41 +203,6 @@ impl<'request> Env<'request> {
233
203
info. ok_or ( Error :: CollectionNotFound ( type_name. as_str ( ) . into ( ) ) )
234
204
}
235
205
236
- /// Lookup a metadata object which can be described by a Composite Type. This can be any of
237
- /// Tables and Composite Types themselves.
238
- ///
239
- /// This does not include Native Queries, since the fields of a Native Query is an ad-hoc
240
- /// construct of the NDC, and not a named type that Postgres knows about.
241
- ///
242
- /// Therefore, being a `CompositeTypeInfo` is a stronger property than being a `FieldsInfo`.
243
- ///
244
- /// This is used in the elaboration of nested fields that are not fully specified, and in the
245
- /// translation of input values and variables of composite type.
246
- pub fn lookup_composite_type (
247
- & self ,
248
- type_name : & ' request models:: TypeName ,
249
- ) -> Result < CompositeTypeInfo < ' request > , Error > {
250
- let info =
251
- self . metadata
252
- . tables
253
- . 0
254
- . get ( type_name. as_str ( ) )
255
- . map ( |t| CompositeTypeInfo :: Table {
256
- name : type_name. as_str ( ) . into ( ) ,
257
- info : t,
258
- } ) ;
259
- // .or_else(|| {
260
- // self.metadata.composite_types.0.get(type_name).map(|t| {
261
- // CompositeTypeInfo::CompositeType {
262
- // name: t.type_name.as_str().into(),
263
- // info: t,
264
- // }
265
- // })
266
- // });
267
-
268
- info. ok_or ( Error :: CollectionNotFound ( type_name. as_str ( ) . into ( ) ) )
269
- }
270
-
271
206
/// Lookup a collection's information in the metadata.
272
207
pub fn lookup_collection (
273
208
& self ,
@@ -411,16 +346,6 @@ impl FieldsInfo<'_> {
411
346
. ok_or_else ( || {
412
347
Error :: ColumnNotFoundInCollection ( column_name. clone ( ) , name. as_str ( ) . into ( ) )
413
348
} ) ,
414
- FieldsInfo :: CompositeType { name, info } => info
415
- . fields
416
- . get ( column_name)
417
- . map ( |field_info| ColumnInfo {
418
- name : sql:: ast:: ColumnName ( field_info. field_name . clone ( ) ) ,
419
- r#type : field_info. r#type . clone ( ) ,
420
- } )
421
- . ok_or_else ( || {
422
- Error :: ColumnNotFoundInCollection ( column_name. clone ( ) , name. as_str ( ) . into ( ) )
423
- } ) ,
424
349
}
425
350
}
426
351
}
@@ -432,39 +357,6 @@ impl CollectionInfo<'_> {
432
357
}
433
358
}
434
359
435
- impl CompositeTypeInfo < ' _ > {
436
- pub fn type_name ( & self ) -> & str {
437
- match self {
438
- CompositeTypeInfo :: Table { name, .. } => name. as_str ( ) ,
439
- CompositeTypeInfo :: CompositeType { name, .. } => name. as_str ( ) ,
440
- }
441
- }
442
-
443
- pub fn schema_name ( & self ) -> Option < & String > {
444
- match self {
445
- CompositeTypeInfo :: Table { info, .. } => Some ( & info. schema_name ) ,
446
- CompositeTypeInfo :: CompositeType { info, .. } => info. schema_name . as_ref ( ) ,
447
- }
448
- }
449
-
450
- /// Fetch all the field names (external, internal) of a composite type.
451
- pub fn fields ( & self ) -> Vec < ( String , & String ) > {
452
- match self {
453
- CompositeTypeInfo :: CompositeType { name : _, info } => info
454
- . fields
455
- . iter ( )
456
- . map ( |( name, field) | ( name. clone ( ) . into ( ) , & field. field_name ) )
457
- . collect :: < Vec < _ > > ( ) ,
458
-
459
- CompositeTypeInfo :: Table { name : _, info } => info
460
- . columns
461
- . iter ( )
462
- . map ( |( name, column) | ( name. clone ( ) . into ( ) , & column. name ) )
463
- . collect :: < Vec < _ > > ( ) ,
464
- }
465
- }
466
- }
467
-
468
360
impl Default for State {
469
361
fn default ( ) -> State {
470
362
State {
0 commit comments