Plan { version: None, extension_uris: [ SimpleExtensionUri { extension_uri_anchor: 2, uri: "/functions_boolean.yaml", }, SimpleExtensionUri { extension_uri_anchor: 1, uri: "/functions_comparison.yaml", }, ], extensions: [ SimpleExtensionDeclaration { mapping_type: Some( ExtensionFunction( ExtensionFunction { extension_uri_reference: 1, function_anchor: 0, name: "is_not_null:any", }, ), ), }, SimpleExtensionDeclaration { mapping_type: Some( ExtensionFunction( ExtensionFunction { extension_uri_reference: 1, function_anchor: 1, name: "equal:any_any", }, ), ), }, SimpleExtensionDeclaration { mapping_type: Some( ExtensionFunction( ExtensionFunction { extension_uri_reference: 2, function_anchor: 2, name: "and:bool", }, ), ), }, ], relations: [ PlanRel { rel_type: Some( Root( RelRoot { input: Some( Rel { rel_type: Some( Project( ProjectRel { common: Some( RelCommon { hint: None, advanced_extension: None, emit_kind: Some( Emit( Emit { output_mapping: [ 6, 7, 8, 9, 10, 11, ], }, ), ), }, ), input: Some( Rel { rel_type: Some( Join( JoinRel { common: Some( RelCommon { hint: None, advanced_extension: None, emit_kind: Some( Direct( Direct, ), ), }, ), left: Some( Rel { rel_type: Some( Project( ProjectRel { common: Some( RelCommon { hint: None, advanced_extension: None, emit_kind: Some( Emit( Emit { output_mapping: [ 4, 5, 6, 7, ], }, ), ), }, ), input: Some( Rel { rel_type: Some( Join( JoinRel { common: Some( RelCommon { hint: None, advanced_extension: None, emit_kind: Some( Direct( Direct, ), ), }, ), left: Some( Rel { rel_type: Some( Project( ProjectRel { common: Some( RelCommon { hint: None, advanced_extension: None, emit_kind: Some( Emit( Emit { output_mapping: [ 4, 5, ], }, ), ), }, ), input: Some( Rel { rel_type: Some( Join( JoinRel { common: Some( RelCommon { hint: None, advanced_extension: None, emit_kind: Some( Direct( Direct, ), ), }, ), left: Some( Rel { rel_type: Some( Read( ReadRel { common: Some( RelCommon { hint: None, advanced_extension: None, emit_kind: Some( Direct( Direct, ), ), }, ), base_schema: Some( NamedStruct { names: [ "target_unit", "location_material_id", ], r#struct: Some( Struct { types: [ Type { kind: Some( String( String { type_variation_reference: 0, nullability: Nullable, }, ), ), }, Type { kind: Some( String( String { type_variation_reference: 0, nullability: Nullable, }, ), ), }, ], type_variation_reference: 0, nullability: Required, }, ), }, ), filter: None, best_effort_filter: None, projection: None, advanced_extension: None, read_type: Some( NamedTable( NamedTable { names: [ "87ae3173-f278-4951-9954-227aafbd97e6", ], advanced_extension: None, }, ), ), }, ), ), }, ), right: Some( Rel { rel_type: Some( Project( ProjectRel { common: Some( RelCommon { hint: None, advanced_extension: None, emit_kind: Some( Emit( Emit { output_mapping: [ 2, 3, ], }, ), ), }, ), input: Some( Rel { rel_type: Some( Filter( FilterRel { common: Some( RelCommon { hint: None, advanced_extension: None, emit_kind: Some( Direct( Direct, ), ), }, ), input: Some( Rel { rel_type: Some( Read( ReadRel { common: Some( RelCommon { hint: None, advanced_extension: None, emit_kind: Some( Direct( Direct, ), ), }, ), base_schema: Some( NamedStruct { names: [ "target_unit", "location_material_id", ], r#struct: Some( Struct { types: [ Type { kind: Some( String( String { type_variation_reference: 0, nullability: Nullable, }, ), ), }, Type { kind: Some( String( String { type_variation_reference: 0, nullability: Nullable, }, ), ), }, ], type_variation_reference: 0, nullability: Required, }, ), }, ), filter: None, best_effort_filter: None, projection: None, advanced_extension: None, read_type: Some( NamedTable( NamedTable { names: [ "87ae3173-f278-4951-9954-227aafbd97e6", ], advanced_extension: None, }, ), ), }, ), ), }, ), condition: Some( Expression { rex_type: Some( ScalarFunction( ScalarFunction { function_reference: 0, arguments: [ FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 1, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, ), ), }, ], options: [], output_type: Some( Type { kind: Some( Bool( Boolean { type_variation_reference: 0, nullability: Required, }, ), ), }, ), args: [], }, ), ), }, ), advanced_extension: None, }, ), ), }, ), expressions: [ Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 1, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 0, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, ], advanced_extension: None, }, ), ), }, ), expression: Some( Expression { rex_type: Some( ScalarFunction( ScalarFunction { function_reference: 1, arguments: [ FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 1, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, ), ), }, FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 2, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, ), ), }, ], options: [], output_type: Some( Type { kind: Some( Bool( Boolean { type_variation_reference: 0, nullability: Nullable, }, ), ), }, ), args: [], }, ), ), }, ), post_join_filter: None, r#type: Left, advanced_extension: None, }, ), ), }, ), expressions: [ Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 0, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 3, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, ], advanced_extension: None, }, ), ), }, ), right: Some( Rel { rel_type: Some( Filter( FilterRel { common: Some( RelCommon { hint: None, advanced_extension: None, emit_kind: Some( Direct( Direct, ), ), }, ), input: Some( Rel { rel_type: Some( Read( ReadRel { common: Some( RelCommon { hint: None, advanced_extension: None, emit_kind: Some( Direct( Direct, ), ), }, ), base_schema: Some( NamedStruct { names: [ "target_unit_of_measure", "origin_unit_of_measure", ], r#struct: Some( Struct { types: [ Type { kind: Some( String( String { type_variation_reference: 0, nullability: Nullable, }, ), ), }, Type { kind: Some( String( String { type_variation_reference: 0, nullability: Nullable, }, ), ), }, ], type_variation_reference: 0, nullability: Required, }, ), }, ), filter: None, best_effort_filter: None, projection: None, advanced_extension: None, read_type: Some( NamedTable( NamedTable { names: [ "3c7f8810-6021-449d-b0e3-fa3577a64cae", ], advanced_extension: None, }, ), ), }, ), ), }, ), condition: Some( Expression { rex_type: Some( ScalarFunction( ScalarFunction { function_reference: 2, arguments: [ FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( ScalarFunction( ScalarFunction { function_reference: 0, arguments: [ FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 1, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, ), ), }, ], options: [], output_type: Some( Type { kind: Some( Bool( Boolean { type_variation_reference: 0, nullability: Required, }, ), ), }, ), args: [], }, ), ), }, ), ), }, FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( ScalarFunction( ScalarFunction { function_reference: 0, arguments: [ FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 0, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, ), ), }, ], options: [], output_type: Some( Type { kind: Some( Bool( Boolean { type_variation_reference: 0, nullability: Required, }, ), ), }, ), args: [], }, ), ), }, ), ), }, ], options: [], output_type: Some( Type { kind: Some( Bool( Boolean { type_variation_reference: 0, nullability: Required, }, ), ), }, ), args: [], }, ), ), }, ), advanced_extension: None, }, ), ), }, ), expression: Some( Expression { rex_type: Some( ScalarFunction( ScalarFunction { function_reference: 2, arguments: [ FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( ScalarFunction( ScalarFunction { function_reference: 1, arguments: [ FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 0, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, ), ), }, FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 3, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, ), ), }, ], options: [], output_type: Some( Type { kind: Some( Bool( Boolean { type_variation_reference: 0, nullability: Nullable, }, ), ), }, ), args: [], }, ), ), }, ), ), }, FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( ScalarFunction( ScalarFunction { function_reference: 1, arguments: [ FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 1, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, ), ), }, FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 2, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, ), ), }, ], options: [], output_type: Some( Type { kind: Some( Bool( Boolean { type_variation_reference: 0, nullability: Nullable, }, ), ), }, ), args: [], }, ), ), }, ), ), }, ], options: [], output_type: Some( Type { kind: Some( Bool( Boolean { type_variation_reference: 0, nullability: Nullable, }, ), ), }, ), args: [], }, ), ), }, ), post_join_filter: None, r#type: Left, advanced_extension: None, }, ), ), }, ), expressions: [ Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 1, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 3, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 0, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 2, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, ], advanced_extension: None, }, ), ), }, ), right: Some( Rel { rel_type: Some( Project( ProjectRel { common: Some( RelCommon { hint: None, advanced_extension: None, emit_kind: Some( Emit( Emit { output_mapping: [ 2, 3, ], }, ), ), }, ), input: Some( Rel { rel_type: Some( Filter( FilterRel { common: Some( RelCommon { hint: None, advanced_extension: None, emit_kind: Some( Direct( Direct, ), ), }, ), input: Some( Rel { rel_type: Some( Read( ReadRel { common: Some( RelCommon { hint: None, advanced_extension: None, emit_kind: Some( Direct( Direct, ), ), }, ), base_schema: Some( NamedStruct { names: [ "target_unit_of_measure", "origin_unit_of_measure", ], r#struct: Some( Struct { types: [ Type { kind: Some( String( String { type_variation_reference: 0, nullability: Nullable, }, ), ), }, Type { kind: Some( String( String { type_variation_reference: 0, nullability: Nullable, }, ), ), }, ], type_variation_reference: 0, nullability: Required, }, ), }, ), filter: None, best_effort_filter: None, projection: None, advanced_extension: None, read_type: Some( NamedTable( NamedTable { names: [ "3c7f8810-6021-449d-b0e3-fa3577a64cae", ], advanced_extension: None, }, ), ), }, ), ), }, ), condition: Some( Expression { rex_type: Some( ScalarFunction( ScalarFunction { function_reference: 2, arguments: [ FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( ScalarFunction( ScalarFunction { function_reference: 0, arguments: [ FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 1, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, ), ), }, ], options: [], output_type: Some( Type { kind: Some( Bool( Boolean { type_variation_reference: 0, nullability: Required, }, ), ), }, ), args: [], }, ), ), }, ), ), }, FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( ScalarFunction( ScalarFunction { function_reference: 0, arguments: [ FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 0, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, ), ), }, ], options: [], output_type: Some( Type { kind: Some( Bool( Boolean { type_variation_reference: 0, nullability: Required, }, ), ), }, ), args: [], }, ), ), }, ), ), }, ], options: [], output_type: Some( Type { kind: Some( Bool( Boolean { type_variation_reference: 0, nullability: Required, }, ), ), }, ), args: [], }, ), ), }, ), advanced_extension: None, }, ), ), }, ), expressions: [ Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 1, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 0, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, ], advanced_extension: None, }, ), ), }, ), expression: Some( Expression { rex_type: Some( ScalarFunction( ScalarFunction { function_reference: 2, arguments: [ FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( ScalarFunction( ScalarFunction { function_reference: 1, arguments: [ FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 2, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, ), ), }, FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 4, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, ), ), }, ], options: [], output_type: Some( Type { kind: Some( Bool( Boolean { type_variation_reference: 0, nullability: Nullable, }, ), ), }, ), args: [], }, ), ), }, ), ), }, FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( ScalarFunction( ScalarFunction { function_reference: 1, arguments: [ FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 0, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, ), ), }, FunctionArgument { arg_type: Some( Value( Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 5, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, ), ), }, ], options: [], output_type: Some( Type { kind: Some( Bool( Boolean { type_variation_reference: 0, nullability: Nullable, }, ), ), }, ), args: [], }, ), ), }, ), ), }, ], options: [], output_type: Some( Type { kind: Some( Bool( Boolean { type_variation_reference: 0, nullability: Nullable, }, ), ), }, ), args: [], }, ), ), }, ), post_join_filter: None, r#type: Left, advanced_extension: None, }, ), ), }, ), expressions: [ Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 2, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 0, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 1, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 3, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 4, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, Expression { rex_type: Some( Selection( FieldReference { reference_type: Some( DirectReference( ReferenceSegment { reference_type: Some( StructField( StructField { field: 5, child: None, }, ), ), }, ), ), root_type: Some( RootReference( RootReference, ), ), }, ), ), }, ], advanced_extension: None, }, ), ), }, ), names: [ "origin_unit", "target_unit", "material_conversions_origin_unit_of_measure", "material_conversions_target_unit_of_measure", "origin_unit_of_measure", "target_unit_of_measure", ], }, ), ), }, ], advanced_extensions: None, expected_type_urls: [], parameter_bindings: [], }