@devrev/meerkat-core 0.0.97 → 0.0.98
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/ast-builder/ast-builder.js +91 -0
- package/src/ast-builder/ast-builder.js.map +1 -0
- package/src/ast-deserializer/ast-deserializer.js +17 -0
- package/src/ast-deserializer/ast-deserializer.js.map +1 -0
- package/src/ast-serializer/ast-serializer.js +8 -0
- package/src/ast-serializer/ast-serializer.js.map +1 -0
- package/src/ast-validator/dimension-validator.js +49 -0
- package/src/ast-validator/dimension-validator.js.map +1 -0
- package/src/ast-validator/index.js +12 -0
- package/src/ast-validator/index.js.map +1 -0
- package/src/ast-validator/measure-validator.js +155 -0
- package/src/ast-validator/measure-validator.js.map +1 -0
- package/{ast-validator → src/ast-validator}/tests/test-data.js +692 -890
- package/src/ast-validator/tests/test-data.js.map +1 -0
- package/src/ast-validator/types.js +3 -0
- package/src/ast-validator/types.js.map +1 -0
- package/src/ast-validator/utils.js +24 -0
- package/src/ast-validator/utils.js.map +1 -0
- package/src/context-params/context-params-ast.js +42 -0
- package/src/context-params/context-params-ast.js.map +1 -0
- package/src/cube-filter-transformer/and/and.js +14 -0
- package/src/cube-filter-transformer/and/and.js.map +1 -0
- package/src/cube-filter-transformer/base-condition-builder/base-condition-builder.js +145 -0
- package/src/cube-filter-transformer/base-condition-builder/base-condition-builder.js.map +1 -0
- package/src/cube-filter-transformer/contains/contains.js +62 -0
- package/src/cube-filter-transformer/contains/contains.js.map +1 -0
- package/src/cube-filter-transformer/equals/equals-array.js +71 -0
- package/src/cube-filter-transformer/equals/equals-array.js.map +1 -0
- package/src/cube-filter-transformer/equals/equals.js +36 -0
- package/src/cube-filter-transformer/equals/equals.js.map +1 -0
- package/src/cube-filter-transformer/factory.js +120 -0
- package/src/cube-filter-transformer/factory.js.map +1 -0
- package/src/cube-filter-transformer/gt/gt.js +28 -0
- package/src/cube-filter-transformer/gt/gt.js.map +1 -0
- package/src/cube-filter-transformer/gte/gte.js +28 -0
- package/src/cube-filter-transformer/gte/gte.js.map +1 -0
- package/src/cube-filter-transformer/in/in.js +69 -0
- package/src/cube-filter-transformer/in/in.js.map +1 -0
- package/src/cube-filter-transformer/in-date-range/in-date-range.js +21 -0
- package/src/cube-filter-transformer/in-date-range/in-date-range.js.map +1 -0
- package/src/cube-filter-transformer/lt/lt.js +28 -0
- package/src/cube-filter-transformer/lt/lt.js.map +1 -0
- package/src/cube-filter-transformer/lte/lte.js +28 -0
- package/src/cube-filter-transformer/lte/lte.js.map +1 -0
- package/src/cube-filter-transformer/not/not.js +14 -0
- package/src/cube-filter-transformer/not/not.js.map +1 -0
- package/src/cube-filter-transformer/not-In-date-range/not-In-date-range.js +21 -0
- package/src/cube-filter-transformer/not-In-date-range/not-In-date-range.js.map +1 -0
- package/src/cube-filter-transformer/not-contains/not-contains.js +62 -0
- package/src/cube-filter-transformer/not-contains/not-contains.js.map +1 -0
- package/src/cube-filter-transformer/not-equals/not-equals-array.js +21 -0
- package/src/cube-filter-transformer/not-equals/not-equals-array.js.map +1 -0
- package/src/cube-filter-transformer/not-equals/not-equals.js +36 -0
- package/src/cube-filter-transformer/not-equals/not-equals.js.map +1 -0
- package/src/cube-filter-transformer/not-in/not-in.js +76 -0
- package/src/cube-filter-transformer/not-in/not-in.js.map +1 -0
- package/src/cube-filter-transformer/not-set/not-set.js +23 -0
- package/src/cube-filter-transformer/not-set/not-set.js.map +1 -0
- package/src/cube-filter-transformer/or/or.js +14 -0
- package/src/cube-filter-transformer/or/or.js.map +1 -0
- package/src/cube-filter-transformer/set/set.js +23 -0
- package/src/cube-filter-transformer/set/set.js.map +1 -0
- package/src/cube-group-by-transformer/cube-group-by-transformer.js +19 -0
- package/src/cube-group-by-transformer/cube-group-by-transformer.js.map +1 -0
- package/src/cube-limit-offset-transformer/cube-limit-offset-transformer.js +42 -0
- package/src/cube-limit-offset-transformer/cube-limit-offset-transformer.js.map +1 -0
- package/src/cube-measure-transformer/cube-measure-transformer.js +124 -0
- package/src/cube-measure-transformer/cube-measure-transformer.js.map +1 -0
- package/src/cube-order-by-transformer/cube-order-by-transformer.js +34 -0
- package/src/cube-order-by-transformer/cube-order-by-transformer.js.map +1 -0
- package/src/cube-to-duckdb/cube-filter-to-duckdb.js +3 -0
- package/src/cube-to-duckdb/cube-filter-to-duckdb.js.map +1 -0
- package/src/filter-params/filter-params-ast.js +114 -0
- package/src/filter-params/filter-params-ast.js.map +1 -0
- package/src/get-filter-params-sql/get-filter-params-sql.js +25 -0
- package/src/get-filter-params-sql/get-filter-params-sql.js.map +1 -0
- package/src/get-final-base-sql/get-final-base-sql.js +28 -0
- package/src/get-final-base-sql/get-final-base-sql.js.map +1 -0
- package/{get-wrapped-base-query-with-projections → src/get-wrapped-base-query-with-projections}/get-aliased-columns-from-filters.js +39 -64
- package/src/get-wrapped-base-query-with-projections/get-aliased-columns-from-filters.js.map +1 -0
- package/src/get-wrapped-base-query-with-projections/get-projection-clause.js +83 -0
- package/src/get-wrapped-base-query-with-projections/get-projection-clause.js.map +1 -0
- package/src/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.js +32 -0
- package/src/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.js.map +1 -0
- package/src/get-wrapped-base-query-with-projections/sql-expression-modifiers.js +32 -0
- package/src/get-wrapped-base-query-with-projections/sql-expression-modifiers.js.map +1 -0
- package/src/index.js +37 -0
- package/src/index.js.map +1 -0
- package/src/joins/joins.js +162 -0
- package/src/joins/joins.js.map +1 -0
- package/src/member-formatters/constants.js +6 -0
- package/src/member-formatters/constants.js.map +1 -0
- package/src/member-formatters/index.js +10 -0
- package/src/member-formatters/index.js.map +1 -0
- package/src/member-formatters/member-key-to-safe-key.js +9 -0
- package/src/member-formatters/member-key-to-safe-key.js.map +1 -0
- package/src/member-formatters/split-into-data-source-and-fields.js +10 -0
- package/src/member-formatters/split-into-data-source-and-fields.js.map +1 -0
- package/src/resolution/resolution.js +112 -0
- package/src/resolution/resolution.js.map +1 -0
- package/src/resolution/types.js +5 -0
- package/src/resolution/types.js.map +1 -0
- package/src/types/cube-types/index.js +6 -0
- package/src/types/cube-types/index.js.map +1 -0
- package/src/types/cube-types/query.js +8 -0
- package/src/types/cube-types/query.js.map +1 -0
- package/src/types/cube-types/table.js +3 -0
- package/src/types/cube-types/table.js.map +1 -0
- package/src/types/duckdb-serialization-types/index.js +11 -0
- package/src/types/duckdb-serialization-types/index.js.map +1 -0
- package/{types → src/types}/duckdb-serialization-types/serialization/Constraint.js +6 -19
- package/src/types/duckdb-serialization-types/serialization/Constraint.js.map +1 -0
- package/{types → src/types}/duckdb-serialization-types/serialization/CreateInfo.js +10 -29
- package/src/types/duckdb-serialization-types/serialization/CreateInfo.js.map +1 -0
- package/{types → src/types}/duckdb-serialization-types/serialization/Expression.js +6 -19
- package/src/types/duckdb-serialization-types/serialization/Expression.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/LogicalOperator.js +28 -0
- package/src/types/duckdb-serialization-types/serialization/LogicalOperator.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/MacroFunction.js +10 -0
- package/src/types/duckdb-serialization-types/serialization/MacroFunction.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/Misc.js +3 -0
- package/src/types/duckdb-serialization-types/serialization/Misc.js.map +1 -0
- package/{types → src/types}/duckdb-serialization-types/serialization/Nodes.js +17 -45
- package/src/types/duckdb-serialization-types/serialization/Nodes.js.map +1 -0
- package/{types → src/types}/duckdb-serialization-types/serialization/ParseInfo.js +20 -54
- package/src/types/duckdb-serialization-types/serialization/ParseInfo.js.map +1 -0
- package/{types → src/types}/duckdb-serialization-types/serialization/ParsedExpression.js +6 -19
- package/src/types/duckdb-serialization-types/serialization/ParsedExpression.js.map +1 -0
- package/{types → src/types}/duckdb-serialization-types/serialization/QueryNode.js +8 -24
- package/src/types/duckdb-serialization-types/serialization/QueryNode.js.map +1 -0
- package/{types → src/types}/duckdb-serialization-types/serialization/ResultModifier.js +4 -9
- package/src/types/duckdb-serialization-types/serialization/ResultModifier.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/Statement.js +3 -0
- package/src/types/duckdb-serialization-types/serialization/Statement.js.map +1 -0
- package/{types → src/types}/duckdb-serialization-types/serialization/TableFilter.js +4 -9
- package/src/types/duckdb-serialization-types/serialization/TableFilter.js.map +1 -0
- package/{types → src/types}/duckdb-serialization-types/serialization/TableRef.js +8 -24
- package/src/types/duckdb-serialization-types/serialization/TableRef.js.map +1 -0
- package/{types → src/types}/duckdb-serialization-types/serialization/Types.js +4 -9
- package/src/types/duckdb-serialization-types/serialization/Types.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/example.js +109 -0
- package/src/types/duckdb-serialization-types/serialization/example.js.map +1 -0
- package/src/types/utils.js +69 -0
- package/src/types/utils.js.map +1 -0
- package/{utils → src/utils}/__fixtures__/joins.fixtures.js +228 -316
- package/src/utils/__fixtures__/joins.fixtures.js.map +1 -0
- package/src/utils/base-ast.js +49 -0
- package/src/utils/base-ast.js.map +1 -0
- package/src/utils/cube-filter-enrichment.js +53 -0
- package/src/utils/cube-filter-enrichment.js.map +1 -0
- package/{utils → src/utils}/cube-to-table-schema.js +25 -38
- package/src/utils/cube-to-table-schema.js.map +1 -0
- package/src/utils/cube-type-to-duckdb-type.js +12 -0
- package/src/utils/cube-type-to-duckdb-type.js.map +1 -0
- package/src/utils/find-in-table-schema.js +28 -0
- package/src/utils/find-in-table-schema.js.map +1 -0
- package/src/utils/get-column-names-from-ast.js +45 -0
- package/src/utils/get-column-names-from-ast.js.map +1 -0
- package/src/utils/get-possible-nodes.js +146 -0
- package/src/utils/get-possible-nodes.js.map +1 -0
- package/src/utils/get-type-info.js +34 -0
- package/src/utils/get-type-info.js.map +1 -0
- package/src/utils/is-array-member-type.js +8 -0
- package/src/utils/is-array-member-type.js.map +1 -0
- package/src/utils/key-from-measures-dimension.js +32 -0
- package/src/utils/key-from-measures-dimension.js.map +1 -0
- package/src/utils/meerkat-placeholder-replacer.js +10 -0
- package/src/utils/meerkat-placeholder-replacer.js.map +1 -0
- package/src/utils/modify-meerkat-filter.js +24 -0
- package/src/utils/modify-meerkat-filter.js.map +1 -0
- package/{utils → src/utils}/type-guards.js +10 -28
- package/src/utils/type-guards.js.map +1 -0
- package/ast-builder/ast-builder.js +0 -90
- package/ast-builder/ast-builder.js.map +0 -1
- package/ast-deserializer/ast-deserializer.js +0 -30
- package/ast-deserializer/ast-deserializer.js.map +0 -1
- package/ast-serializer/ast-serializer.js +0 -12
- package/ast-serializer/ast-serializer.js.map +0 -1
- package/ast-validator/dimension-validator.js +0 -54
- package/ast-validator/dimension-validator.js.map +0 -1
- package/ast-validator/index.js +0 -25
- package/ast-validator/index.js.map +0 -1
- package/ast-validator/measure-validator.js +0 -163
- package/ast-validator/measure-validator.js.map +0 -1
- package/ast-validator/tests/test-data.js.map +0 -1
- package/ast-validator/types.js +0 -3
- package/ast-validator/types.js.map +0 -1
- package/ast-validator/utils.js +0 -35
- package/ast-validator/utils.js.map +0 -1
- package/context-params/context-params-ast.js +0 -55
- package/context-params/context-params-ast.js.map +0 -1
- package/cube-filter-transformer/and/and.js +0 -18
- package/cube-filter-transformer/and/and.js.map +0 -1
- package/cube-filter-transformer/base-condition-builder/base-condition-builder.js +0 -160
- package/cube-filter-transformer/base-condition-builder/base-condition-builder.js.map +0 -1
- package/cube-filter-transformer/contains/contains.js +0 -71
- package/cube-filter-transformer/contains/contains.js.map +0 -1
- package/cube-filter-transformer/equals/equals-array.js +0 -77
- package/cube-filter-transformer/equals/equals-array.js.map +0 -1
- package/cube-filter-transformer/equals/equals.js +0 -37
- package/cube-filter-transformer/equals/equals.js.map +0 -1
- package/cube-filter-transformer/factory.js +0 -124
- package/cube-filter-transformer/factory.js.map +0 -1
- package/cube-filter-transformer/gt/gt.js +0 -30
- package/cube-filter-transformer/gt/gt.js.map +0 -1
- package/cube-filter-transformer/gte/gte.js +0 -30
- package/cube-filter-transformer/gte/gte.js.map +0 -1
- package/cube-filter-transformer/in/in.js +0 -78
- package/cube-filter-transformer/in/in.js.map +0 -1
- package/cube-filter-transformer/in-date-range/in-date-range.js +0 -24
- package/cube-filter-transformer/in-date-range/in-date-range.js.map +0 -1
- package/cube-filter-transformer/lt/lt.js +0 -30
- package/cube-filter-transformer/lt/lt.js.map +0 -1
- package/cube-filter-transformer/lte/lte.js +0 -30
- package/cube-filter-transformer/lte/lte.js.map +0 -1
- package/cube-filter-transformer/not/not.js +0 -18
- package/cube-filter-transformer/not/not.js.map +0 -1
- package/cube-filter-transformer/not-In-date-range/not-In-date-range.js +0 -24
- package/cube-filter-transformer/not-In-date-range/not-In-date-range.js.map +0 -1
- package/cube-filter-transformer/not-contains/not-contains.js +0 -71
- package/cube-filter-transformer/not-contains/not-contains.js.map +0 -1
- package/cube-filter-transformer/not-equals/not-equals-array.js +0 -26
- package/cube-filter-transformer/not-equals/not-equals-array.js.map +0 -1
- package/cube-filter-transformer/not-equals/not-equals.js +0 -37
- package/cube-filter-transformer/not-equals/not-equals.js.map +0 -1
- package/cube-filter-transformer/not-in/not-in.js +0 -85
- package/cube-filter-transformer/not-in/not-in.js.map +0 -1
- package/cube-filter-transformer/not-set/not-set.js +0 -27
- package/cube-filter-transformer/not-set/not-set.js.map +0 -1
- package/cube-filter-transformer/or/or.js +0 -18
- package/cube-filter-transformer/or/or.js.map +0 -1
- package/cube-filter-transformer/set/set.js +0 -27
- package/cube-filter-transformer/set/set.js.map +0 -1
- package/cube-group-by-transformer/cube-group-by-transformer.js +0 -25
- package/cube-group-by-transformer/cube-group-by-transformer.js.map +0 -1
- package/cube-limit-offset-transformer/cube-limit-offset-transformer.js +0 -42
- package/cube-limit-offset-transformer/cube-limit-offset-transformer.js.map +0 -1
- package/cube-measure-transformer/cube-measure-transformer.js +0 -127
- package/cube-measure-transformer/cube-measure-transformer.js.map +0 -1
- package/cube-order-by-transformer/cube-order-by-transformer.js +0 -39
- package/cube-order-by-transformer/cube-order-by-transformer.js.map +0 -1
- package/cube-to-duckdb/cube-filter-to-duckdb.js +0 -3
- package/cube-to-duckdb/cube-filter-to-duckdb.js.map +0 -1
- package/filter-params/filter-params-ast.js +0 -115
- package/filter-params/filter-params-ast.js.map +0 -1
- package/get-filter-params-sql/get-filter-params-sql.js +0 -28
- package/get-filter-params-sql/get-filter-params-sql.js.map +0 -1
- package/get-final-base-sql/get-final-base-sql.js +0 -30
- package/get-final-base-sql/get-final-base-sql.js.map +0 -1
- package/get-wrapped-base-query-with-projections/get-aliased-columns-from-filters.js.map +0 -1
- package/get-wrapped-base-query-with-projections/get-projection-clause.js +0 -87
- package/get-wrapped-base-query-with-projections/get-projection-clause.js.map +0 -1
- package/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.js +0 -33
- package/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.js.map +0 -1
- package/get-wrapped-base-query-with-projections/sql-expression-modifiers.js +0 -60
- package/get-wrapped-base-query-with-projections/sql-expression-modifiers.js.map +0 -1
- package/index.js +0 -66
- package/index.js.map +0 -1
- package/joins/joins.js +0 -170
- package/joins/joins.js.map +0 -1
- package/member-formatters/constants.js +0 -19
- package/member-formatters/constants.js.map +0 -1
- package/member-formatters/index.js +0 -23
- package/member-formatters/index.js.map +0 -1
- package/member-formatters/member-key-to-safe-key.js +0 -13
- package/member-formatters/member-key-to-safe-key.js.map +0 -1
- package/member-formatters/split-into-data-source-and-fields.js +0 -17
- package/member-formatters/split-into-data-source-and-fields.js.map +0 -1
- package/resolution/resolution.js +0 -128
- package/resolution/resolution.js.map +0 -1
- package/resolution/types.js +0 -10
- package/resolution/types.js.map +0 -1
- package/types/cube-types/index.d.js +0 -6
- package/types/cube-types/index.d.js.map +0 -1
- package/types/cube-types/index.js +0 -6
- package/types/cube-types/index.js.map +0 -1
- package/types/cube-types/query.d.js +0 -5
- package/types/cube-types/query.d.js.map +0 -1
- package/types/cube-types/query.js +0 -14
- package/types/cube-types/query.js.map +0 -1
- package/types/cube-types/table.d.js +0 -3
- package/types/cube-types/table.d.js.map +0 -1
- package/types/cube-types/table.js +0 -3
- package/types/cube-types/table.js.map +0 -1
- package/types/duckdb-serialization-types/index.d.js +0 -11
- package/types/duckdb-serialization-types/index.d.js.map +0 -1
- package/types/duckdb-serialization-types/index.js +0 -11
- package/types/duckdb-serialization-types/index.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/Constraint.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/CreateInfo.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/Expression.d.js +0 -3
- package/types/duckdb-serialization-types/serialization/Expression.d.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/Expression.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/LogicalOperator.js +0 -47
- package/types/duckdb-serialization-types/serialization/LogicalOperator.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/MacroFunction.js +0 -15
- package/types/duckdb-serialization-types/serialization/MacroFunction.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/Misc.d.js +0 -3
- package/types/duckdb-serialization-types/serialization/Misc.d.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/Misc.js +0 -3
- package/types/duckdb-serialization-types/serialization/Misc.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/Nodes.d.js +0 -3
- package/types/duckdb-serialization-types/serialization/Nodes.d.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/Nodes.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/ParseInfo.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/ParsedExpression.d.js +0 -3
- package/types/duckdb-serialization-types/serialization/ParsedExpression.d.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/ParsedExpression.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/QueryNode.d.js +0 -3
- package/types/duckdb-serialization-types/serialization/QueryNode.d.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/QueryNode.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/ResultModifier.d.js +0 -3
- package/types/duckdb-serialization-types/serialization/ResultModifier.d.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/ResultModifier.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/Statement.d.js +0 -3
- package/types/duckdb-serialization-types/serialization/Statement.d.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/Statement.js +0 -3
- package/types/duckdb-serialization-types/serialization/Statement.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/TableFilter.d.js +0 -3
- package/types/duckdb-serialization-types/serialization/TableFilter.d.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/TableFilter.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/TableRef.d.js +0 -3
- package/types/duckdb-serialization-types/serialization/TableRef.d.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/TableRef.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/Types.d.js +0 -3
- package/types/duckdb-serialization-types/serialization/Types.d.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/Types.js.map +0 -1
- package/types/duckdb-serialization-types/serialization/example.js +0 -131
- package/types/duckdb-serialization-types/serialization/example.js.map +0 -1
- package/types/utils.js +0 -108
- package/types/utils.js.map +0 -1
- package/utils/__fixtures__/joins.fixtures.js.map +0 -1
- package/utils/base-ast.js +0 -63
- package/utils/base-ast.js.map +0 -1
- package/utils/cube-filter-enrichment.js +0 -63
- package/utils/cube-filter-enrichment.js.map +0 -1
- package/utils/cube-to-table-schema.js.map +0 -1
- package/utils/cube-type-to-duckdb-type.js +0 -17
- package/utils/cube-type-to-duckdb-type.js.map +0 -1
- package/utils/find-in-table-schema.js +0 -40
- package/utils/find-in-table-schema.js.map +0 -1
- package/utils/get-column-names-from-ast.js +0 -45
- package/utils/get-column-names-from-ast.js.map +0 -1
- package/utils/get-possible-nodes.js +0 -152
- package/utils/get-possible-nodes.js.map +0 -1
- package/utils/get-type-info.js +0 -44
- package/utils/get-type-info.js.map +0 -1
- package/utils/is-array-member-type.js +0 -12
- package/utils/is-array-member-type.js.map +0 -1
- package/utils/key-from-measures-dimension.js +0 -35
- package/utils/key-from-measures-dimension.js.map +0 -1
- package/utils/meerkat-placeholder-replacer.js +0 -14
- package/utils/meerkat-placeholder-replacer.js.map +0 -1
- package/utils/modify-meerkat-filter.js +0 -30
- package/utils/modify-meerkat-filter.js.map +0 -1
- package/utils/type-guards.js.map +0 -1
|
@@ -1,572 +1,476 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
},
|
|
12
|
-
DIMENSION_TEST_CASES: function() {
|
|
13
|
-
return DIMENSION_TEST_CASES;
|
|
14
|
-
},
|
|
15
|
-
EMPTY_VALID_FUNCTIONS: function() {
|
|
16
|
-
return EMPTY_VALID_FUNCTIONS;
|
|
17
|
-
},
|
|
18
|
-
INVALID_NODE: function() {
|
|
19
|
-
return INVALID_NODE;
|
|
20
|
-
},
|
|
21
|
-
MEASURE_TEST_CASES: function() {
|
|
22
|
-
return MEASURE_TEST_CASES;
|
|
23
|
-
},
|
|
24
|
-
VALID_FUNCTIONS: function() {
|
|
25
|
-
return VALID_FUNCTIONS;
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
const _duckdbserializationtypes = require("../../types/duckdb-serialization-types");
|
|
29
|
-
const _Expression = require("../../types/duckdb-serialization-types/serialization/Expression");
|
|
30
|
-
const EMPTY_VALID_FUNCTIONS = new Set();
|
|
31
|
-
const VALID_FUNCTIONS = new Set([
|
|
32
|
-
'contains',
|
|
33
|
-
'round',
|
|
34
|
-
'power'
|
|
35
|
-
]);
|
|
36
|
-
const COLUMN_REF_NODE = {
|
|
37
|
-
class: _Expression.ExpressionClass.COLUMN_REF,
|
|
38
|
-
type: _duckdbserializationtypes.ExpressionType.COLUMN_REF,
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MEASURE_TEST_CASES = exports.DIMENSION_TEST_CASES = exports.INVALID_NODE = exports.COLUMN_REF_NODE = exports.VALID_FUNCTIONS = exports.EMPTY_VALID_FUNCTIONS = void 0;
|
|
4
|
+
const duckdb_serialization_types_1 = require("../../types/duckdb-serialization-types");
|
|
5
|
+
const Expression_1 = require("../../types/duckdb-serialization-types/serialization/Expression");
|
|
6
|
+
exports.EMPTY_VALID_FUNCTIONS = new Set();
|
|
7
|
+
exports.VALID_FUNCTIONS = new Set(['contains', 'round', 'power']);
|
|
8
|
+
exports.COLUMN_REF_NODE = {
|
|
9
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
10
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
39
11
|
alias: 'alias',
|
|
40
12
|
query_location: 0,
|
|
41
|
-
column_names: [
|
|
42
|
-
'column_name'
|
|
43
|
-
]
|
|
13
|
+
column_names: ['column_name'],
|
|
44
14
|
};
|
|
45
|
-
|
|
46
|
-
class:
|
|
47
|
-
type:
|
|
15
|
+
exports.INVALID_NODE = {
|
|
16
|
+
class: Expression_1.ExpressionClass.INVALID,
|
|
17
|
+
type: duckdb_serialization_types_1.ExpressionType.INVALID,
|
|
48
18
|
alias: '',
|
|
49
|
-
query_location: 0
|
|
19
|
+
query_location: 0,
|
|
50
20
|
};
|
|
51
|
-
|
|
21
|
+
exports.DIMENSION_TEST_CASES = [
|
|
52
22
|
{
|
|
53
23
|
description: 'node type COLUMN_REF',
|
|
54
24
|
node: {
|
|
55
|
-
class:
|
|
56
|
-
type:
|
|
25
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
26
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
57
27
|
alias: '',
|
|
58
28
|
query_location: 0,
|
|
59
|
-
column_names: [
|
|
60
|
-
'column_name'
|
|
61
|
-
]
|
|
29
|
+
column_names: ['column_name'],
|
|
62
30
|
},
|
|
63
|
-
validFunctions: EMPTY_VALID_FUNCTIONS,
|
|
64
|
-
columnNames: [
|
|
65
|
-
|
|
66
|
-
],
|
|
67
|
-
expected: true
|
|
31
|
+
validFunctions: exports.EMPTY_VALID_FUNCTIONS,
|
|
32
|
+
columnNames: ['column_name'],
|
|
33
|
+
expected: true,
|
|
68
34
|
},
|
|
69
35
|
{
|
|
70
36
|
description: 'node type COLUMN_REF with alias',
|
|
71
|
-
node: COLUMN_REF_NODE,
|
|
72
|
-
validFunctions: EMPTY_VALID_FUNCTIONS,
|
|
73
|
-
columnNames: [
|
|
74
|
-
|
|
75
|
-
],
|
|
76
|
-
expected: true
|
|
37
|
+
node: exports.COLUMN_REF_NODE,
|
|
38
|
+
validFunctions: exports.EMPTY_VALID_FUNCTIONS,
|
|
39
|
+
columnNames: ['column_name'],
|
|
40
|
+
expected: true,
|
|
77
41
|
},
|
|
78
42
|
{
|
|
79
43
|
description: 'node type VALUE_CONSTANT',
|
|
80
44
|
node: {
|
|
81
|
-
class:
|
|
82
|
-
type:
|
|
45
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
46
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
83
47
|
alias: '',
|
|
84
48
|
query_location: 0,
|
|
85
|
-
value: '1'
|
|
49
|
+
value: '1',
|
|
86
50
|
},
|
|
87
51
|
columnNames: [],
|
|
88
|
-
validFunctions: EMPTY_VALID_FUNCTIONS,
|
|
89
|
-
expected: true
|
|
52
|
+
validFunctions: exports.EMPTY_VALID_FUNCTIONS,
|
|
53
|
+
expected: true,
|
|
90
54
|
},
|
|
91
55
|
{
|
|
92
56
|
description: 'node type OPERATOR_CAST',
|
|
93
57
|
node: {
|
|
94
|
-
class:
|
|
95
|
-
type:
|
|
58
|
+
class: Expression_1.ExpressionClass.CAST,
|
|
59
|
+
type: duckdb_serialization_types_1.ExpressionType.OPERATOR_CAST,
|
|
96
60
|
alias: '',
|
|
97
61
|
query_location: 7,
|
|
98
62
|
child: {
|
|
99
|
-
class:
|
|
100
|
-
type:
|
|
63
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
64
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
101
65
|
alias: '',
|
|
102
66
|
query_location: 12,
|
|
103
|
-
column_names: [
|
|
104
|
-
'column_name1'
|
|
105
|
-
]
|
|
67
|
+
column_names: ['column_name1'],
|
|
106
68
|
},
|
|
107
69
|
cast_type: {
|
|
108
|
-
id: 1
|
|
70
|
+
id: 1,
|
|
109
71
|
},
|
|
110
|
-
try_cast: false
|
|
72
|
+
try_cast: false,
|
|
111
73
|
},
|
|
112
|
-
validFunctions: EMPTY_VALID_FUNCTIONS,
|
|
113
|
-
columnNames: [
|
|
114
|
-
|
|
115
|
-
],
|
|
116
|
-
expected: true
|
|
74
|
+
validFunctions: exports.EMPTY_VALID_FUNCTIONS,
|
|
75
|
+
columnNames: ['column_name1'],
|
|
76
|
+
expected: true,
|
|
117
77
|
},
|
|
118
78
|
{
|
|
119
79
|
description: 'node type OPERATOR_COALESCE',
|
|
120
80
|
node: {
|
|
121
|
-
class:
|
|
122
|
-
type:
|
|
81
|
+
class: Expression_1.ExpressionClass.OPERATOR,
|
|
82
|
+
type: duckdb_serialization_types_1.ExpressionType.OPERATOR_COALESCE,
|
|
123
83
|
alias: '',
|
|
124
84
|
query_location: 18446744073709552000,
|
|
125
85
|
children: [
|
|
126
86
|
{
|
|
127
|
-
class:
|
|
128
|
-
type:
|
|
87
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
88
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
129
89
|
alias: '',
|
|
130
90
|
query_location: 16,
|
|
131
|
-
column_names: [
|
|
132
|
-
'column_name2'
|
|
133
|
-
]
|
|
91
|
+
column_names: ['column_name2'],
|
|
134
92
|
},
|
|
135
93
|
{
|
|
136
|
-
class:
|
|
137
|
-
type:
|
|
94
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
95
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
138
96
|
alias: '',
|
|
139
97
|
query_location: 38,
|
|
140
98
|
value: {
|
|
141
99
|
type: {
|
|
142
100
|
id: 'INTEGER',
|
|
143
|
-
type_info: null
|
|
101
|
+
type_info: null,
|
|
144
102
|
},
|
|
145
103
|
is_null: false,
|
|
146
|
-
value: 0
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
]
|
|
104
|
+
value: 0,
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
],
|
|
150
108
|
},
|
|
151
|
-
validFunctions: EMPTY_VALID_FUNCTIONS,
|
|
152
|
-
columnNames: [
|
|
153
|
-
|
|
154
|
-
],
|
|
155
|
-
expected: true
|
|
109
|
+
validFunctions: exports.EMPTY_VALID_FUNCTIONS,
|
|
110
|
+
columnNames: ['column_name2'],
|
|
111
|
+
expected: true,
|
|
156
112
|
},
|
|
157
113
|
{
|
|
158
114
|
description: 'node type FUNCTION with ROUND function and if it contains in validFunctions',
|
|
159
|
-
columnNames: [
|
|
160
|
-
'schema.column_name'
|
|
161
|
-
],
|
|
115
|
+
columnNames: ['schema.column_name'],
|
|
162
116
|
node: {
|
|
163
|
-
class:
|
|
164
|
-
type:
|
|
117
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
118
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
165
119
|
alias: '',
|
|
166
120
|
query_location: 7,
|
|
167
121
|
function_name: 'round',
|
|
168
122
|
schema: '',
|
|
169
123
|
children: [
|
|
170
124
|
{
|
|
171
|
-
class:
|
|
172
|
-
type:
|
|
125
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
126
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
173
127
|
alias: '',
|
|
174
128
|
query_location: 13,
|
|
175
|
-
column_names: [
|
|
176
|
-
'schema',
|
|
177
|
-
'column_name'
|
|
178
|
-
]
|
|
129
|
+
column_names: ['schema', 'column_name'],
|
|
179
130
|
},
|
|
180
131
|
{
|
|
181
|
-
class:
|
|
182
|
-
type:
|
|
132
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
133
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
183
134
|
alias: '',
|
|
184
135
|
query_location: 41,
|
|
185
136
|
value: {
|
|
186
137
|
type: {
|
|
187
138
|
id: 'INTEGER',
|
|
188
|
-
type_info: null
|
|
139
|
+
type_info: null,
|
|
189
140
|
},
|
|
190
141
|
is_null: false,
|
|
191
|
-
value: 1
|
|
192
|
-
}
|
|
193
|
-
}
|
|
142
|
+
value: 1,
|
|
143
|
+
},
|
|
144
|
+
},
|
|
194
145
|
],
|
|
195
146
|
filter: null,
|
|
196
147
|
order_bys: {
|
|
197
|
-
type:
|
|
198
|
-
orders: []
|
|
148
|
+
type: duckdb_serialization_types_1.ResultModifierType.ORDER_MODIFIER,
|
|
149
|
+
orders: [],
|
|
199
150
|
},
|
|
200
151
|
distinct: false,
|
|
201
152
|
is_operator: false,
|
|
202
|
-
export_state: false
|
|
153
|
+
export_state: false,
|
|
203
154
|
},
|
|
204
|
-
validFunctions: VALID_FUNCTIONS,
|
|
205
|
-
expected: true
|
|
155
|
+
validFunctions: exports.VALID_FUNCTIONS,
|
|
156
|
+
expected: true,
|
|
206
157
|
},
|
|
207
158
|
{
|
|
208
159
|
description: 'node type CASE',
|
|
209
|
-
columnNames: [
|
|
210
|
-
'actual_close_date1',
|
|
211
|
-
'actual_close_date',
|
|
212
|
-
'created_date'
|
|
213
|
-
],
|
|
160
|
+
columnNames: ['actual_close_date1', 'actual_close_date', 'created_date'],
|
|
214
161
|
node: {
|
|
215
|
-
class:
|
|
216
|
-
type:
|
|
162
|
+
class: Expression_1.ExpressionClass.CASE,
|
|
163
|
+
type: duckdb_serialization_types_1.ExpressionType.CASE_EXPR,
|
|
217
164
|
alias: '',
|
|
218
165
|
query_location: 7,
|
|
219
166
|
case_checks: [
|
|
220
167
|
{
|
|
221
168
|
when_expr: {
|
|
222
|
-
class:
|
|
223
|
-
type:
|
|
169
|
+
class: Expression_1.ExpressionClass.COMPARISON,
|
|
170
|
+
type: duckdb_serialization_types_1.ExpressionType.COMPARE_GREATERTHAN,
|
|
224
171
|
alias: '',
|
|
225
172
|
query_location: 35,
|
|
226
173
|
left: {
|
|
227
|
-
class:
|
|
228
|
-
type:
|
|
174
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
175
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
229
176
|
alias: '',
|
|
230
177
|
query_location: 17,
|
|
231
|
-
column_names: [
|
|
232
|
-
'actual_close_date'
|
|
233
|
-
]
|
|
178
|
+
column_names: ['actual_close_date'],
|
|
234
179
|
},
|
|
235
180
|
right: {
|
|
236
|
-
class:
|
|
237
|
-
type:
|
|
181
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
182
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
238
183
|
alias: '',
|
|
239
184
|
query_location: 37,
|
|
240
|
-
column_names: [
|
|
241
|
-
|
|
242
|
-
]
|
|
243
|
-
}
|
|
185
|
+
column_names: ['created_date'],
|
|
186
|
+
},
|
|
244
187
|
},
|
|
245
188
|
then_expr: {
|
|
246
|
-
class:
|
|
247
|
-
type:
|
|
189
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
190
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
248
191
|
alias: '',
|
|
249
192
|
query_location: 55,
|
|
250
|
-
column_names: [
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
}
|
|
254
|
-
}
|
|
193
|
+
column_names: ['actual_close_date1'],
|
|
194
|
+
},
|
|
195
|
+
},
|
|
255
196
|
],
|
|
256
197
|
else_expr: {
|
|
257
|
-
class:
|
|
258
|
-
type:
|
|
198
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
199
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
259
200
|
alias: '',
|
|
260
201
|
query_location: 18446744073709552000,
|
|
261
202
|
value: {
|
|
262
203
|
type: {
|
|
263
204
|
id: 'NULL',
|
|
264
|
-
type_info: null
|
|
205
|
+
type_info: null,
|
|
265
206
|
},
|
|
266
|
-
is_null: true
|
|
267
|
-
}
|
|
268
|
-
}
|
|
207
|
+
is_null: true,
|
|
208
|
+
},
|
|
209
|
+
},
|
|
269
210
|
},
|
|
270
|
-
validFunctions: EMPTY_VALID_FUNCTIONS,
|
|
271
|
-
expected: true
|
|
272
|
-
}
|
|
211
|
+
validFunctions: exports.EMPTY_VALID_FUNCTIONS,
|
|
212
|
+
expected: true,
|
|
213
|
+
},
|
|
273
214
|
];
|
|
274
|
-
|
|
215
|
+
exports.MEASURE_TEST_CASES = [
|
|
275
216
|
{
|
|
276
217
|
description: 'node type FUNCTION with count_star',
|
|
277
218
|
query: 'count_star()',
|
|
278
219
|
node: {
|
|
279
|
-
class:
|
|
280
|
-
type:
|
|
220
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
221
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
281
222
|
alias: '',
|
|
282
223
|
query_location: 7,
|
|
283
224
|
function_name: 'count_star',
|
|
284
225
|
schema: '',
|
|
285
|
-
children: []
|
|
226
|
+
children: [],
|
|
286
227
|
},
|
|
287
|
-
validFunctions: new Set([
|
|
288
|
-
|
|
289
|
-
]),
|
|
290
|
-
validScalarFunctions: EMPTY_VALID_FUNCTIONS,
|
|
228
|
+
validFunctions: new Set(['count_star']),
|
|
229
|
+
validScalarFunctions: exports.EMPTY_VALID_FUNCTIONS,
|
|
291
230
|
columnNames: [],
|
|
292
|
-
expected: true
|
|
231
|
+
expected: true,
|
|
293
232
|
},
|
|
294
233
|
{
|
|
295
234
|
description: 'node type FUNCTION with SUM',
|
|
296
235
|
query: 'sum(column1)',
|
|
297
236
|
node: {
|
|
298
|
-
class:
|
|
299
|
-
type:
|
|
237
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
238
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
300
239
|
alias: '',
|
|
301
240
|
query_location: 7,
|
|
302
241
|
function_name: 'sum',
|
|
303
242
|
schema: '',
|
|
304
243
|
children: [
|
|
305
244
|
{
|
|
306
|
-
class:
|
|
307
|
-
type:
|
|
245
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
246
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
308
247
|
query_location: 11,
|
|
309
|
-
column_names: [
|
|
310
|
-
|
|
311
|
-
]
|
|
312
|
-
}
|
|
248
|
+
column_names: ['column1'],
|
|
249
|
+
},
|
|
313
250
|
],
|
|
314
251
|
filter: null,
|
|
315
252
|
order_bys: {
|
|
316
|
-
type:
|
|
317
|
-
orders: []
|
|
253
|
+
type: duckdb_serialization_types_1.ResultModifierType.ORDER_MODIFIER,
|
|
254
|
+
orders: [],
|
|
318
255
|
},
|
|
319
256
|
distinct: false,
|
|
320
257
|
is_operator: false,
|
|
321
|
-
export_state: false
|
|
258
|
+
export_state: false,
|
|
322
259
|
},
|
|
323
|
-
validFunctions: new Set([
|
|
324
|
-
|
|
325
|
-
]
|
|
326
|
-
|
|
327
|
-
columnNames: [
|
|
328
|
-
'column1'
|
|
329
|
-
],
|
|
330
|
-
expected: true
|
|
260
|
+
validFunctions: new Set(['sum']),
|
|
261
|
+
validScalarFunctions: exports.EMPTY_VALID_FUNCTIONS,
|
|
262
|
+
columnNames: ['column1'],
|
|
263
|
+
expected: true,
|
|
331
264
|
},
|
|
332
265
|
{
|
|
333
266
|
description: 'node type FUNCTION with SUM and invalid function type',
|
|
334
267
|
query: 'sum(column1)',
|
|
335
268
|
node: {
|
|
336
|
-
class:
|
|
337
|
-
type:
|
|
269
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
270
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
338
271
|
alias: '',
|
|
339
272
|
query_location: 7,
|
|
340
273
|
function_name: 'sum',
|
|
341
274
|
schema: '',
|
|
342
275
|
children: [
|
|
343
276
|
{
|
|
344
|
-
class:
|
|
345
|
-
type:
|
|
277
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
278
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
346
279
|
query_location: 11,
|
|
347
|
-
column_names: [
|
|
348
|
-
|
|
349
|
-
]
|
|
350
|
-
}
|
|
280
|
+
column_names: ['column1'],
|
|
281
|
+
},
|
|
351
282
|
],
|
|
352
283
|
filter: null,
|
|
353
284
|
order_bys: {
|
|
354
|
-
type:
|
|
355
|
-
orders: []
|
|
285
|
+
type: duckdb_serialization_types_1.ResultModifierType.ORDER_MODIFIER,
|
|
286
|
+
orders: [],
|
|
356
287
|
},
|
|
357
288
|
distinct: false,
|
|
358
289
|
is_operator: false,
|
|
359
|
-
export_state: false
|
|
290
|
+
export_state: false,
|
|
360
291
|
},
|
|
361
|
-
validFunctions: new Set([
|
|
362
|
-
|
|
363
|
-
]),
|
|
364
|
-
validScalarFunctions: new Set([
|
|
365
|
-
'/'
|
|
366
|
-
]),
|
|
292
|
+
validFunctions: new Set(['min']),
|
|
293
|
+
validScalarFunctions: new Set(['/']),
|
|
367
294
|
error: 'Invalid function type: sum',
|
|
368
295
|
expected: 'error',
|
|
369
|
-
columnNames: [
|
|
370
|
-
'column1'
|
|
371
|
-
]
|
|
296
|
+
columnNames: ['column1'],
|
|
372
297
|
},
|
|
373
298
|
{
|
|
374
299
|
description: 'node type FUNCTION with MAX and operator',
|
|
375
|
-
columnNames: [
|
|
376
|
-
'column1'
|
|
377
|
-
],
|
|
300
|
+
columnNames: ['column1'],
|
|
378
301
|
query: 'max(column1) / 1000',
|
|
379
302
|
node: {
|
|
380
|
-
class:
|
|
381
|
-
type:
|
|
303
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
304
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
382
305
|
alias: '',
|
|
383
306
|
query_location: 38,
|
|
384
307
|
function_name: '/',
|
|
385
308
|
schema: '',
|
|
386
309
|
children: [
|
|
387
310
|
{
|
|
388
|
-
class:
|
|
389
|
-
type:
|
|
311
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
312
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
390
313
|
alias: '',
|
|
391
314
|
query_location: 7,
|
|
392
315
|
function_name: 'max',
|
|
393
316
|
schema: '',
|
|
394
317
|
children: [
|
|
395
318
|
{
|
|
396
|
-
class:
|
|
397
|
-
type:
|
|
319
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
320
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
398
321
|
alias: '',
|
|
399
322
|
query_location: 11,
|
|
400
|
-
column_names: [
|
|
401
|
-
|
|
402
|
-
]
|
|
403
|
-
}
|
|
323
|
+
column_names: ['column1'],
|
|
324
|
+
},
|
|
404
325
|
],
|
|
405
326
|
filter: null,
|
|
406
327
|
order_bys: {
|
|
407
|
-
type:
|
|
408
|
-
orders: []
|
|
328
|
+
type: duckdb_serialization_types_1.ResultModifierType.ORDER_MODIFIER,
|
|
329
|
+
orders: [],
|
|
409
330
|
},
|
|
410
331
|
distinct: false,
|
|
411
332
|
is_operator: false,
|
|
412
333
|
export_state: false,
|
|
413
|
-
catalog: ''
|
|
334
|
+
catalog: '',
|
|
414
335
|
},
|
|
415
336
|
{
|
|
416
|
-
class:
|
|
417
|
-
type:
|
|
337
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
338
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
418
339
|
alias: '',
|
|
419
340
|
query_location: 40,
|
|
420
341
|
value: {
|
|
421
342
|
type: {
|
|
422
343
|
id: 'INTEGER',
|
|
423
|
-
type_info: null
|
|
344
|
+
type_info: null,
|
|
424
345
|
},
|
|
425
346
|
is_null: false,
|
|
426
|
-
value: 1000
|
|
427
|
-
}
|
|
428
|
-
}
|
|
347
|
+
value: 1000,
|
|
348
|
+
},
|
|
349
|
+
},
|
|
429
350
|
],
|
|
430
351
|
filter: null,
|
|
431
352
|
order_bys: {
|
|
432
|
-
type:
|
|
433
|
-
orders: []
|
|
353
|
+
type: duckdb_serialization_types_1.ResultModifierType.ORDER_MODIFIER,
|
|
354
|
+
orders: [],
|
|
434
355
|
},
|
|
435
356
|
distinct: false,
|
|
436
357
|
is_operator: true,
|
|
437
358
|
export_state: false,
|
|
438
|
-
catalog: ''
|
|
359
|
+
catalog: '',
|
|
439
360
|
},
|
|
440
|
-
validFunctions: new Set([
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
validScalarFunctions: new Set([
|
|
444
|
-
'/'
|
|
445
|
-
]),
|
|
446
|
-
expected: true
|
|
361
|
+
validFunctions: new Set(['max']),
|
|
362
|
+
validScalarFunctions: new Set(['/']),
|
|
363
|
+
expected: true,
|
|
447
364
|
},
|
|
448
365
|
{
|
|
449
366
|
description: 'node type CASE_EXPR',
|
|
450
367
|
query: 'CASE WHEN COUNT(id) > 1 THEN AVG(mtbf_hours) ELSE null END',
|
|
451
|
-
columnNames: [
|
|
452
|
-
'mtbf_hours',
|
|
453
|
-
'id'
|
|
454
|
-
],
|
|
368
|
+
columnNames: ['mtbf_hours', 'id'],
|
|
455
369
|
node: {
|
|
456
|
-
class:
|
|
457
|
-
type:
|
|
370
|
+
class: Expression_1.ExpressionClass.CASE,
|
|
371
|
+
type: duckdb_serialization_types_1.ExpressionType.CASE_EXPR,
|
|
458
372
|
alias: '',
|
|
459
373
|
query_location: 7,
|
|
460
374
|
case_checks: [
|
|
461
375
|
{
|
|
462
376
|
when_expr: {
|
|
463
|
-
class:
|
|
464
|
-
type:
|
|
377
|
+
class: Expression_1.ExpressionClass.COMPARISON,
|
|
378
|
+
type: duckdb_serialization_types_1.ExpressionType.COMPARE_GREATERTHAN,
|
|
465
379
|
alias: '',
|
|
466
380
|
query_location: 27,
|
|
467
381
|
left: {
|
|
468
|
-
class:
|
|
469
|
-
type:
|
|
382
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
383
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
470
384
|
alias: '',
|
|
471
385
|
query_location: 17,
|
|
472
386
|
function_name: 'count',
|
|
473
387
|
schema: '',
|
|
474
388
|
children: [
|
|
475
389
|
{
|
|
476
|
-
class:
|
|
477
|
-
type:
|
|
390
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
391
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
478
392
|
alias: '',
|
|
479
393
|
query_location: 23,
|
|
480
|
-
column_names: [
|
|
481
|
-
|
|
482
|
-
]
|
|
483
|
-
}
|
|
394
|
+
column_names: ['id'],
|
|
395
|
+
},
|
|
484
396
|
],
|
|
485
397
|
filter: null,
|
|
486
398
|
order_bys: {
|
|
487
|
-
type:
|
|
488
|
-
orders: []
|
|
399
|
+
type: duckdb_serialization_types_1.ResultModifierType.ORDER_MODIFIER,
|
|
400
|
+
orders: [],
|
|
489
401
|
},
|
|
490
402
|
distinct: false,
|
|
491
403
|
is_operator: false,
|
|
492
404
|
export_state: false,
|
|
493
|
-
catalog: ''
|
|
405
|
+
catalog: '',
|
|
494
406
|
},
|
|
495
407
|
right: {
|
|
496
|
-
class:
|
|
497
|
-
type:
|
|
408
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
409
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
498
410
|
alias: '',
|
|
499
411
|
query_location: 29,
|
|
500
412
|
value: {
|
|
501
413
|
type: {
|
|
502
414
|
id: 'INTEGER',
|
|
503
|
-
type_info: null
|
|
415
|
+
type_info: null,
|
|
504
416
|
},
|
|
505
417
|
is_null: false,
|
|
506
|
-
value: 1
|
|
507
|
-
}
|
|
508
|
-
}
|
|
418
|
+
value: 1,
|
|
419
|
+
},
|
|
420
|
+
},
|
|
509
421
|
},
|
|
510
422
|
then_expr: {
|
|
511
|
-
class:
|
|
512
|
-
type:
|
|
423
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
424
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
513
425
|
alias: '',
|
|
514
426
|
query_location: 36,
|
|
515
427
|
function_name: 'avg',
|
|
516
428
|
schema: '',
|
|
517
429
|
children: [
|
|
518
430
|
{
|
|
519
|
-
class:
|
|
520
|
-
type:
|
|
431
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
432
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
521
433
|
alias: '',
|
|
522
434
|
query_location: 40,
|
|
523
|
-
column_names: [
|
|
524
|
-
|
|
525
|
-
]
|
|
526
|
-
}
|
|
435
|
+
column_names: ['mtbf_hours'],
|
|
436
|
+
},
|
|
527
437
|
],
|
|
528
438
|
filter: null,
|
|
529
439
|
order_bys: {
|
|
530
|
-
type:
|
|
531
|
-
orders: []
|
|
440
|
+
type: duckdb_serialization_types_1.ResultModifierType.ORDER_MODIFIER,
|
|
441
|
+
orders: [],
|
|
532
442
|
},
|
|
533
443
|
distinct: false,
|
|
534
444
|
is_operator: false,
|
|
535
445
|
export_state: false,
|
|
536
|
-
catalog: ''
|
|
537
|
-
}
|
|
538
|
-
}
|
|
446
|
+
catalog: '',
|
|
447
|
+
},
|
|
448
|
+
},
|
|
539
449
|
],
|
|
540
450
|
else_expr: {
|
|
541
|
-
class:
|
|
542
|
-
type:
|
|
451
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
452
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
543
453
|
alias: '',
|
|
544
454
|
query_location: 57,
|
|
545
455
|
value: {
|
|
546
456
|
type: {
|
|
547
457
|
id: 'NULL',
|
|
548
|
-
type_info: null
|
|
458
|
+
type_info: null,
|
|
549
459
|
},
|
|
550
|
-
is_null: true
|
|
551
|
-
}
|
|
552
|
-
}
|
|
460
|
+
is_null: true,
|
|
461
|
+
},
|
|
462
|
+
},
|
|
553
463
|
},
|
|
554
|
-
validFunctions: new Set([
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
]),
|
|
558
|
-
validScalarFunctions: EMPTY_VALID_FUNCTIONS,
|
|
559
|
-
expected: true
|
|
464
|
+
validFunctions: new Set(['count', 'avg']),
|
|
465
|
+
validScalarFunctions: exports.EMPTY_VALID_FUNCTIONS,
|
|
466
|
+
expected: true,
|
|
560
467
|
},
|
|
561
468
|
{
|
|
562
469
|
description: 'node type FUNCTION with aggregation and case statement within',
|
|
563
|
-
columnNames: [
|
|
564
|
-
'modified_date',
|
|
565
|
-
'stage_json'
|
|
566
|
-
],
|
|
470
|
+
columnNames: ['modified_date', 'stage_json'],
|
|
567
471
|
node: {
|
|
568
|
-
class:
|
|
569
|
-
type:
|
|
472
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
473
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
570
474
|
alias: '',
|
|
571
475
|
query_location: 7,
|
|
572
476
|
function_name: 'max',
|
|
@@ -580,240 +484,216 @@ const MEASURE_TEST_CASES = [
|
|
|
580
484
|
case_checks: [
|
|
581
485
|
{
|
|
582
486
|
when_expr: {
|
|
583
|
-
class:
|
|
487
|
+
class: Expression_1.ExpressionClass.COMPARISON,
|
|
584
488
|
type: 'COMPARE_EQUAL',
|
|
585
489
|
alias: '',
|
|
586
490
|
query_location: 43,
|
|
587
491
|
left: {
|
|
588
|
-
class:
|
|
589
|
-
type:
|
|
492
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
493
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
590
494
|
alias: '',
|
|
591
495
|
query_location: 32,
|
|
592
496
|
function_name: '->>',
|
|
593
497
|
schema: '',
|
|
594
498
|
children: [
|
|
595
499
|
{
|
|
596
|
-
class:
|
|
597
|
-
type:
|
|
500
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
501
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
598
502
|
alias: '',
|
|
599
503
|
query_location: 21,
|
|
600
|
-
column_names: [
|
|
601
|
-
'stage_json'
|
|
602
|
-
]
|
|
504
|
+
column_names: ['stage_json'],
|
|
603
505
|
},
|
|
604
506
|
{
|
|
605
|
-
class:
|
|
606
|
-
type:
|
|
507
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
508
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
607
509
|
alias: '',
|
|
608
510
|
query_location: 36,
|
|
609
511
|
value: {
|
|
610
512
|
type: {
|
|
611
513
|
id: 'VARCHAR',
|
|
612
|
-
type_info: null
|
|
514
|
+
type_info: null,
|
|
613
515
|
},
|
|
614
516
|
is_null: false,
|
|
615
|
-
value: 'name'
|
|
616
|
-
}
|
|
617
|
-
}
|
|
517
|
+
value: 'name',
|
|
518
|
+
},
|
|
519
|
+
},
|
|
618
520
|
],
|
|
619
521
|
filter: null,
|
|
620
522
|
order_bys: {
|
|
621
523
|
type: 'ORDER_MODIFIER',
|
|
622
|
-
orders: []
|
|
524
|
+
orders: [],
|
|
623
525
|
},
|
|
624
526
|
distinct: false,
|
|
625
527
|
is_operator: true,
|
|
626
528
|
export_state: false,
|
|
627
|
-
catalog: ''
|
|
529
|
+
catalog: '',
|
|
628
530
|
},
|
|
629
531
|
right: {
|
|
630
|
-
class:
|
|
631
|
-
type:
|
|
532
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
533
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
632
534
|
alias: '',
|
|
633
535
|
query_location: 45,
|
|
634
536
|
value: {
|
|
635
537
|
type: {
|
|
636
538
|
id: 'VARCHAR',
|
|
637
|
-
type_info: null
|
|
539
|
+
type_info: null,
|
|
638
540
|
},
|
|
639
541
|
is_null: false,
|
|
640
|
-
value: 'Tech Doc Inprogress'
|
|
641
|
-
}
|
|
642
|
-
}
|
|
542
|
+
value: 'Tech Doc Inprogress',
|
|
543
|
+
},
|
|
544
|
+
},
|
|
643
545
|
},
|
|
644
546
|
then_expr: {
|
|
645
|
-
class:
|
|
646
|
-
type:
|
|
547
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
548
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
647
549
|
alias: '',
|
|
648
550
|
query_location: 72,
|
|
649
|
-
column_names: [
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
}
|
|
653
|
-
}
|
|
551
|
+
column_names: ['modified_date'],
|
|
552
|
+
},
|
|
553
|
+
},
|
|
654
554
|
],
|
|
655
555
|
else_expr: {
|
|
656
|
-
class:
|
|
657
|
-
type:
|
|
556
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
557
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
658
558
|
alias: '',
|
|
659
559
|
query_location: 91,
|
|
660
560
|
value: {
|
|
661
561
|
type: {
|
|
662
562
|
id: 'NULL',
|
|
663
|
-
type_info: null
|
|
563
|
+
type_info: null,
|
|
664
564
|
},
|
|
665
|
-
is_null: true
|
|
666
|
-
}
|
|
667
|
-
}
|
|
668
|
-
}
|
|
565
|
+
is_null: true,
|
|
566
|
+
},
|
|
567
|
+
},
|
|
568
|
+
},
|
|
669
569
|
],
|
|
670
570
|
filter: null,
|
|
671
571
|
order_bys: {
|
|
672
572
|
type: 'ORDER_MODIFIER',
|
|
673
|
-
orders: []
|
|
573
|
+
orders: [],
|
|
674
574
|
},
|
|
675
575
|
distinct: false,
|
|
676
576
|
is_operator: false,
|
|
677
577
|
export_state: false,
|
|
678
|
-
catalog: ''
|
|
578
|
+
catalog: '',
|
|
679
579
|
},
|
|
680
|
-
validFunctions: new Set([
|
|
681
|
-
|
|
682
|
-
]),
|
|
683
|
-
validScalarFunctions: EMPTY_VALID_FUNCTIONS,
|
|
580
|
+
validFunctions: new Set(['max']),
|
|
581
|
+
validScalarFunctions: exports.EMPTY_VALID_FUNCTIONS,
|
|
684
582
|
expected: true,
|
|
685
|
-
query: 'max(CASE WHEN stage_json->>name = "Tech" THEN modified_date ELSE NULL END)'
|
|
583
|
+
query: 'max(CASE WHEN stage_json->>name = "Tech" THEN modified_date ELSE NULL END)',
|
|
686
584
|
},
|
|
687
585
|
{
|
|
688
586
|
description: 'node type FUNCTION two children of aggregation and operator operation on them',
|
|
689
|
-
columnNames: [
|
|
690
|
-
'mean_reciprocal_rank',
|
|
691
|
-
'total_queries'
|
|
692
|
-
],
|
|
587
|
+
columnNames: ['mean_reciprocal_rank', 'total_queries'],
|
|
693
588
|
node: {
|
|
694
|
-
class:
|
|
695
|
-
type:
|
|
589
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
590
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
696
591
|
alias: '',
|
|
697
592
|
query_location: 49,
|
|
698
593
|
function_name: '/',
|
|
699
594
|
schema: '',
|
|
700
595
|
children: [
|
|
701
596
|
{
|
|
702
|
-
class:
|
|
703
|
-
type:
|
|
597
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
598
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
704
599
|
alias: '',
|
|
705
600
|
query_location: 7,
|
|
706
601
|
function_name: 'sum',
|
|
707
602
|
schema: '',
|
|
708
603
|
children: [
|
|
709
604
|
{
|
|
710
|
-
class:
|
|
711
|
-
type:
|
|
605
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
606
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
712
607
|
alias: '',
|
|
713
608
|
query_location: 32,
|
|
714
609
|
function_name: '*',
|
|
715
610
|
schema: '',
|
|
716
611
|
children: [
|
|
717
612
|
{
|
|
718
|
-
class:
|
|
719
|
-
type:
|
|
613
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
614
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
720
615
|
alias: '',
|
|
721
616
|
query_location: 11,
|
|
722
|
-
column_names: [
|
|
723
|
-
'mean_reciprocal_rank'
|
|
724
|
-
]
|
|
617
|
+
column_names: ['mean_reciprocal_rank'],
|
|
725
618
|
},
|
|
726
619
|
{
|
|
727
|
-
class:
|
|
728
|
-
type:
|
|
620
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
621
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
729
622
|
alias: '',
|
|
730
623
|
query_location: 34,
|
|
731
|
-
column_names: [
|
|
732
|
-
|
|
733
|
-
]
|
|
734
|
-
}
|
|
624
|
+
column_names: ['total_queries'],
|
|
625
|
+
},
|
|
735
626
|
],
|
|
736
627
|
filter: null,
|
|
737
628
|
order_bys: {
|
|
738
629
|
type: 'ORDER_MODIFIER',
|
|
739
|
-
orders: []
|
|
630
|
+
orders: [],
|
|
740
631
|
},
|
|
741
632
|
distinct: false,
|
|
742
633
|
is_operator: true,
|
|
743
634
|
export_state: false,
|
|
744
|
-
catalog: ''
|
|
745
|
-
}
|
|
635
|
+
catalog: '',
|
|
636
|
+
},
|
|
746
637
|
],
|
|
747
638
|
filter: null,
|
|
748
639
|
order_bys: {
|
|
749
640
|
type: 'ORDER_MODIFIER',
|
|
750
|
-
orders: []
|
|
641
|
+
orders: [],
|
|
751
642
|
},
|
|
752
643
|
distinct: false,
|
|
753
644
|
is_operator: false,
|
|
754
645
|
export_state: false,
|
|
755
|
-
catalog: ''
|
|
646
|
+
catalog: '',
|
|
756
647
|
},
|
|
757
648
|
{
|
|
758
|
-
class:
|
|
759
|
-
type:
|
|
649
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
650
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
760
651
|
alias: '',
|
|
761
652
|
query_location: 51,
|
|
762
653
|
function_name: 'sum',
|
|
763
654
|
schema: '',
|
|
764
655
|
children: [
|
|
765
656
|
{
|
|
766
|
-
class:
|
|
767
|
-
type:
|
|
657
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
658
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
768
659
|
alias: '',
|
|
769
660
|
query_location: 55,
|
|
770
|
-
column_names: [
|
|
771
|
-
|
|
772
|
-
]
|
|
773
|
-
}
|
|
661
|
+
column_names: ['total_queries'],
|
|
662
|
+
},
|
|
774
663
|
],
|
|
775
664
|
filter: null,
|
|
776
665
|
order_bys: {
|
|
777
666
|
type: 'ORDER_MODIFIER',
|
|
778
|
-
orders: []
|
|
667
|
+
orders: [],
|
|
779
668
|
},
|
|
780
669
|
distinct: false,
|
|
781
670
|
is_operator: false,
|
|
782
671
|
export_state: false,
|
|
783
|
-
catalog: ''
|
|
784
|
-
}
|
|
672
|
+
catalog: '',
|
|
673
|
+
},
|
|
785
674
|
],
|
|
786
675
|
filter: null,
|
|
787
676
|
order_bys: {
|
|
788
677
|
type: 'ORDER_MODIFIER',
|
|
789
|
-
orders: []
|
|
678
|
+
orders: [],
|
|
790
679
|
},
|
|
791
680
|
distinct: false,
|
|
792
681
|
is_operator: true,
|
|
793
682
|
export_state: false,
|
|
794
|
-
catalog: ''
|
|
683
|
+
catalog: '',
|
|
795
684
|
},
|
|
796
|
-
validFunctions: new Set([
|
|
797
|
-
|
|
798
|
-
]),
|
|
799
|
-
validScalarFunctions: new Set([
|
|
800
|
-
'/',
|
|
801
|
-
'*'
|
|
802
|
-
]),
|
|
685
|
+
validFunctions: new Set(['sum']),
|
|
686
|
+
validScalarFunctions: new Set(['/', '*']),
|
|
803
687
|
expected: true,
|
|
804
|
-
query: 'sum(mean_reciprocal_rank * total_queries) / sum(total_queries)'
|
|
688
|
+
query: 'sum(mean_reciprocal_rank * total_queries) / sum(total_queries)',
|
|
805
689
|
},
|
|
806
690
|
{
|
|
807
691
|
description: 'node type CAST',
|
|
808
692
|
query: "CAST(COUNT(DISTINCT(id)) AS FLOAT) / NULLIF(DATEDIFF('day', MIN(created_date), MAX(created_date)) / 7 + 1, 0)",
|
|
809
|
-
columnNames: [
|
|
810
|
-
'id',
|
|
811
|
-
'created_date',
|
|
812
|
-
'created_date1'
|
|
813
|
-
],
|
|
693
|
+
columnNames: ['id', 'created_date', 'created_date1'],
|
|
814
694
|
node: {
|
|
815
|
-
class:
|
|
816
|
-
type:
|
|
695
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
696
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
817
697
|
alias: '',
|
|
818
698
|
query_location: 42,
|
|
819
699
|
function_name: '/',
|
|
@@ -825,346 +705,318 @@ const MEASURE_TEST_CASES = [
|
|
|
825
705
|
alias: '',
|
|
826
706
|
query_location: 7,
|
|
827
707
|
child: {
|
|
828
|
-
class:
|
|
829
|
-
type:
|
|
708
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
709
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
830
710
|
alias: '',
|
|
831
711
|
query_location: 12,
|
|
832
712
|
function_name: 'count',
|
|
833
713
|
schema: '',
|
|
834
714
|
children: [
|
|
835
715
|
{
|
|
836
|
-
class:
|
|
837
|
-
type:
|
|
716
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
717
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
838
718
|
alias: '',
|
|
839
719
|
query_location: 27,
|
|
840
|
-
column_names: [
|
|
841
|
-
|
|
842
|
-
]
|
|
843
|
-
}
|
|
720
|
+
column_names: ['id'],
|
|
721
|
+
},
|
|
844
722
|
],
|
|
845
723
|
filter: null,
|
|
846
724
|
order_bys: {
|
|
847
725
|
type: 'ORDER_MODIFIER',
|
|
848
|
-
orders: []
|
|
726
|
+
orders: [],
|
|
849
727
|
},
|
|
850
728
|
distinct: true,
|
|
851
729
|
is_operator: false,
|
|
852
730
|
export_state: false,
|
|
853
|
-
catalog: ''
|
|
731
|
+
catalog: '',
|
|
854
732
|
},
|
|
855
733
|
cast_type: {
|
|
856
734
|
id: 'FLOAT',
|
|
857
|
-
type_info: null
|
|
735
|
+
type_info: null,
|
|
858
736
|
},
|
|
859
|
-
try_cast: false
|
|
737
|
+
try_cast: false,
|
|
860
738
|
},
|
|
861
739
|
{
|
|
862
|
-
class:
|
|
863
|
-
type:
|
|
740
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
741
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
864
742
|
alias: '',
|
|
865
743
|
query_location: 44,
|
|
866
744
|
function_name: 'nullif',
|
|
867
745
|
schema: '',
|
|
868
746
|
children: [
|
|
869
747
|
{
|
|
870
|
-
class:
|
|
871
|
-
type:
|
|
748
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
749
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
872
750
|
alias: '',
|
|
873
751
|
query_location: 109,
|
|
874
752
|
function_name: '+',
|
|
875
753
|
schema: '',
|
|
876
754
|
children: [
|
|
877
755
|
{
|
|
878
|
-
class:
|
|
879
|
-
type:
|
|
756
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
757
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
880
758
|
alias: '',
|
|
881
759
|
query_location: 105,
|
|
882
760
|
function_name: '/',
|
|
883
761
|
schema: '',
|
|
884
762
|
children: [
|
|
885
763
|
{
|
|
886
|
-
class:
|
|
887
|
-
type:
|
|
764
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
765
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
888
766
|
alias: '',
|
|
889
767
|
query_location: 51,
|
|
890
768
|
function_name: 'datediff',
|
|
891
769
|
schema: '',
|
|
892
770
|
children: [
|
|
893
771
|
{
|
|
894
|
-
class:
|
|
895
|
-
type:
|
|
772
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
773
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
896
774
|
alias: '',
|
|
897
775
|
query_location: 60,
|
|
898
776
|
value: {
|
|
899
777
|
type: {
|
|
900
778
|
id: 'VARCHAR',
|
|
901
|
-
type_info: null
|
|
779
|
+
type_info: null,
|
|
902
780
|
},
|
|
903
781
|
is_null: false,
|
|
904
|
-
value: 'day'
|
|
905
|
-
}
|
|
782
|
+
value: 'day',
|
|
783
|
+
},
|
|
906
784
|
},
|
|
907
785
|
{
|
|
908
|
-
class:
|
|
909
|
-
type:
|
|
786
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
787
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
910
788
|
alias: '',
|
|
911
789
|
query_location: 67,
|
|
912
790
|
function_name: 'min',
|
|
913
791
|
schema: '',
|
|
914
792
|
children: [
|
|
915
793
|
{
|
|
916
|
-
class:
|
|
917
|
-
type:
|
|
794
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
795
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
918
796
|
alias: '',
|
|
919
797
|
query_location: 71,
|
|
920
|
-
column_names: [
|
|
921
|
-
|
|
922
|
-
]
|
|
923
|
-
}
|
|
798
|
+
column_names: ['created_date'],
|
|
799
|
+
},
|
|
924
800
|
],
|
|
925
801
|
filter: null,
|
|
926
802
|
order_bys: {
|
|
927
803
|
type: 'ORDER_MODIFIER',
|
|
928
|
-
orders: []
|
|
804
|
+
orders: [],
|
|
929
805
|
},
|
|
930
806
|
distinct: false,
|
|
931
807
|
is_operator: false,
|
|
932
808
|
export_state: false,
|
|
933
|
-
catalog: ''
|
|
809
|
+
catalog: '',
|
|
934
810
|
},
|
|
935
811
|
{
|
|
936
|
-
class:
|
|
937
|
-
type:
|
|
812
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
813
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
938
814
|
alias: '',
|
|
939
815
|
query_location: 86,
|
|
940
816
|
function_name: 'max',
|
|
941
817
|
schema: '',
|
|
942
818
|
children: [
|
|
943
819
|
{
|
|
944
|
-
class:
|
|
945
|
-
type:
|
|
820
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
821
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
946
822
|
alias: '',
|
|
947
823
|
query_location: 90,
|
|
948
|
-
column_names: [
|
|
949
|
-
|
|
950
|
-
]
|
|
951
|
-
}
|
|
824
|
+
column_names: ['created_date1'],
|
|
825
|
+
},
|
|
952
826
|
],
|
|
953
827
|
filter: null,
|
|
954
828
|
order_bys: {
|
|
955
829
|
type: 'ORDER_MODIFIER',
|
|
956
|
-
orders: []
|
|
830
|
+
orders: [],
|
|
957
831
|
},
|
|
958
832
|
distinct: false,
|
|
959
833
|
is_operator: false,
|
|
960
834
|
export_state: false,
|
|
961
|
-
catalog: ''
|
|
962
|
-
}
|
|
835
|
+
catalog: '',
|
|
836
|
+
},
|
|
963
837
|
],
|
|
964
838
|
filter: null,
|
|
965
839
|
order_bys: {
|
|
966
840
|
type: 'ORDER_MODIFIER',
|
|
967
|
-
orders: []
|
|
841
|
+
orders: [],
|
|
968
842
|
},
|
|
969
843
|
distinct: false,
|
|
970
844
|
is_operator: false,
|
|
971
845
|
export_state: false,
|
|
972
|
-
catalog: ''
|
|
846
|
+
catalog: '',
|
|
973
847
|
},
|
|
974
848
|
{
|
|
975
|
-
class:
|
|
976
|
-
type:
|
|
849
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
850
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
977
851
|
alias: '',
|
|
978
852
|
query_location: 107,
|
|
979
853
|
value: {
|
|
980
854
|
type: {
|
|
981
855
|
id: 'INTEGER',
|
|
982
|
-
type_info: null
|
|
856
|
+
type_info: null,
|
|
983
857
|
},
|
|
984
858
|
is_null: false,
|
|
985
|
-
value: 7
|
|
986
|
-
}
|
|
987
|
-
}
|
|
859
|
+
value: 7,
|
|
860
|
+
},
|
|
861
|
+
},
|
|
988
862
|
],
|
|
989
863
|
filter: null,
|
|
990
864
|
order_bys: {
|
|
991
865
|
type: 'ORDER_MODIFIER',
|
|
992
|
-
orders: []
|
|
866
|
+
orders: [],
|
|
993
867
|
},
|
|
994
868
|
distinct: false,
|
|
995
869
|
is_operator: true,
|
|
996
870
|
export_state: false,
|
|
997
|
-
catalog: ''
|
|
871
|
+
catalog: '',
|
|
998
872
|
},
|
|
999
873
|
{
|
|
1000
|
-
class:
|
|
1001
|
-
type:
|
|
874
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
875
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
1002
876
|
alias: '',
|
|
1003
877
|
query_location: 111,
|
|
1004
878
|
value: {
|
|
1005
879
|
type: {
|
|
1006
880
|
id: 'INTEGER',
|
|
1007
|
-
type_info: null
|
|
881
|
+
type_info: null,
|
|
1008
882
|
},
|
|
1009
883
|
is_null: false,
|
|
1010
|
-
value: 1
|
|
1011
|
-
}
|
|
1012
|
-
}
|
|
884
|
+
value: 1,
|
|
885
|
+
},
|
|
886
|
+
},
|
|
1013
887
|
],
|
|
1014
888
|
filter: null,
|
|
1015
889
|
order_bys: {
|
|
1016
890
|
type: 'ORDER_MODIFIER',
|
|
1017
|
-
orders: []
|
|
891
|
+
orders: [],
|
|
1018
892
|
},
|
|
1019
893
|
distinct: false,
|
|
1020
894
|
is_operator: true,
|
|
1021
895
|
export_state: false,
|
|
1022
|
-
catalog: ''
|
|
896
|
+
catalog: '',
|
|
1023
897
|
},
|
|
1024
898
|
{
|
|
1025
|
-
class:
|
|
1026
|
-
type:
|
|
899
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
900
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
1027
901
|
alias: '',
|
|
1028
902
|
query_location: 114,
|
|
1029
903
|
value: {
|
|
1030
904
|
type: {
|
|
1031
905
|
id: 'INTEGER',
|
|
1032
|
-
type_info: null
|
|
906
|
+
type_info: null,
|
|
1033
907
|
},
|
|
1034
908
|
is_null: false,
|
|
1035
|
-
value: 0
|
|
1036
|
-
}
|
|
1037
|
-
}
|
|
909
|
+
value: 0,
|
|
910
|
+
},
|
|
911
|
+
},
|
|
1038
912
|
],
|
|
1039
913
|
filter: null,
|
|
1040
914
|
order_bys: {
|
|
1041
915
|
type: 'ORDER_MODIFIER',
|
|
1042
|
-
orders: []
|
|
916
|
+
orders: [],
|
|
1043
917
|
},
|
|
1044
918
|
distinct: false,
|
|
1045
919
|
is_operator: false,
|
|
1046
920
|
export_state: false,
|
|
1047
|
-
catalog: ''
|
|
1048
|
-
}
|
|
921
|
+
catalog: '',
|
|
922
|
+
},
|
|
1049
923
|
],
|
|
1050
924
|
filter: null,
|
|
1051
925
|
order_bys: {
|
|
1052
926
|
type: 'ORDER_MODIFIER',
|
|
1053
|
-
orders: []
|
|
927
|
+
orders: [],
|
|
1054
928
|
},
|
|
1055
929
|
distinct: false,
|
|
1056
930
|
is_operator: true,
|
|
1057
931
|
export_state: false,
|
|
1058
|
-
catalog: ''
|
|
932
|
+
catalog: '',
|
|
1059
933
|
},
|
|
1060
|
-
validFunctions: new Set([
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
'min',
|
|
1064
|
-
'max'
|
|
1065
|
-
]),
|
|
1066
|
-
validScalarFunctions: new Set([
|
|
1067
|
-
'/',
|
|
1068
|
-
'*'
|
|
1069
|
-
]),
|
|
1070
|
-
expected: true
|
|
934
|
+
validFunctions: new Set(['count', 'datediff', 'min', 'max']),
|
|
935
|
+
validScalarFunctions: new Set(['/', '*']),
|
|
936
|
+
expected: true,
|
|
1071
937
|
},
|
|
1072
938
|
{
|
|
1073
939
|
description: 'node type COALESCE',
|
|
1074
940
|
query: 'COALESCE(SUM(amount) FILTER(direction = "Income"), 0)',
|
|
1075
|
-
columnNames: [
|
|
1076
|
-
'amount'
|
|
1077
|
-
],
|
|
941
|
+
columnNames: ['amount'],
|
|
1078
942
|
node: {
|
|
1079
|
-
class:
|
|
1080
|
-
type:
|
|
943
|
+
class: Expression_1.ExpressionClass.OPERATOR,
|
|
944
|
+
type: duckdb_serialization_types_1.ExpressionType.OPERATOR_COALESCE,
|
|
1081
945
|
alias: '',
|
|
1082
946
|
query_location: 18446744073709552000,
|
|
1083
947
|
children: [
|
|
1084
948
|
{
|
|
1085
|
-
class:
|
|
1086
|
-
type:
|
|
949
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
950
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
1087
951
|
alias: '',
|
|
1088
952
|
query_location: 16,
|
|
1089
953
|
function_name: 'sum',
|
|
1090
954
|
schema: '',
|
|
1091
955
|
children: [
|
|
1092
956
|
{
|
|
1093
|
-
class:
|
|
1094
|
-
type:
|
|
957
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
958
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
1095
959
|
alias: '',
|
|
1096
960
|
query_location: 20,
|
|
1097
|
-
column_names: [
|
|
1098
|
-
|
|
1099
|
-
]
|
|
1100
|
-
}
|
|
961
|
+
column_names: ['amount'],
|
|
962
|
+
},
|
|
1101
963
|
],
|
|
1102
964
|
filter: {
|
|
1103
|
-
class:
|
|
1104
|
-
type:
|
|
965
|
+
class: Expression_1.ExpressionClass.COMPARISON,
|
|
966
|
+
type: duckdb_serialization_types_1.ExpressionType.COMPARE_EQUAL,
|
|
1105
967
|
alias: '',
|
|
1106
968
|
query_location: 45,
|
|
1107
969
|
left: {
|
|
1108
|
-
class:
|
|
1109
|
-
type:
|
|
970
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
971
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
1110
972
|
alias: '',
|
|
1111
973
|
query_location: 35,
|
|
1112
|
-
column_names: [
|
|
1113
|
-
'direction'
|
|
1114
|
-
]
|
|
974
|
+
column_names: ['direction'],
|
|
1115
975
|
},
|
|
1116
976
|
right: {
|
|
1117
|
-
class:
|
|
1118
|
-
type:
|
|
977
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
978
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
1119
979
|
alias: '',
|
|
1120
980
|
query_location: 47,
|
|
1121
|
-
column_names: [
|
|
1122
|
-
|
|
1123
|
-
]
|
|
1124
|
-
}
|
|
981
|
+
column_names: ['Income'],
|
|
982
|
+
},
|
|
1125
983
|
},
|
|
1126
984
|
order_bys: {
|
|
1127
985
|
type: 'ORDER_MODIFIER',
|
|
1128
|
-
orders: []
|
|
986
|
+
orders: [],
|
|
1129
987
|
},
|
|
1130
988
|
distinct: false,
|
|
1131
989
|
is_operator: false,
|
|
1132
990
|
export_state: false,
|
|
1133
|
-
catalog: ''
|
|
991
|
+
catalog: '',
|
|
1134
992
|
},
|
|
1135
993
|
{
|
|
1136
|
-
class:
|
|
1137
|
-
type:
|
|
994
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
995
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
1138
996
|
alias: '',
|
|
1139
997
|
query_location: 58,
|
|
1140
998
|
value: {
|
|
1141
999
|
type: {
|
|
1142
1000
|
id: 'INTEGER',
|
|
1143
|
-
type_info: null
|
|
1001
|
+
type_info: null,
|
|
1144
1002
|
},
|
|
1145
1003
|
is_null: false,
|
|
1146
|
-
value: 0
|
|
1147
|
-
}
|
|
1148
|
-
}
|
|
1149
|
-
]
|
|
1004
|
+
value: 0,
|
|
1005
|
+
},
|
|
1006
|
+
},
|
|
1007
|
+
],
|
|
1150
1008
|
},
|
|
1151
|
-
validFunctions: new Set([
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
validScalarFunctions: new Set([
|
|
1155
|
-
'/'
|
|
1156
|
-
]),
|
|
1157
|
-
expected: true
|
|
1009
|
+
validFunctions: new Set(['sum']),
|
|
1010
|
+
validScalarFunctions: new Set(['/']),
|
|
1011
|
+
expected: true,
|
|
1158
1012
|
},
|
|
1159
1013
|
{
|
|
1160
1014
|
description: 'node type WINDOW_AGGREGATE',
|
|
1161
1015
|
query: 'AVG(COUNT(column1)) OVER (ORDER BY (MEERKAT).record_date ROWS BETWEEN 6 PRECEDING AND CURRENT ROW)',
|
|
1162
|
-
columnNames: [
|
|
1163
|
-
'column1'
|
|
1164
|
-
],
|
|
1016
|
+
columnNames: ['column1'],
|
|
1165
1017
|
node: {
|
|
1166
|
-
class:
|
|
1167
|
-
type:
|
|
1018
|
+
class: Expression_1.ExpressionClass.WINDOW,
|
|
1019
|
+
type: duckdb_serialization_types_1.ExpressionType.WINDOW_AGGREGATE,
|
|
1168
1020
|
alias: '',
|
|
1169
1021
|
query_location: 7,
|
|
1170
1022
|
function_name: 'avg',
|
|
@@ -1172,33 +1024,31 @@ const MEASURE_TEST_CASES = [
|
|
|
1172
1024
|
catalog: '',
|
|
1173
1025
|
children: [
|
|
1174
1026
|
{
|
|
1175
|
-
class:
|
|
1176
|
-
type:
|
|
1027
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
1028
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
1177
1029
|
alias: '',
|
|
1178
1030
|
query_location: 11,
|
|
1179
1031
|
function_name: 'count',
|
|
1180
1032
|
schema: '',
|
|
1181
1033
|
children: [
|
|
1182
1034
|
{
|
|
1183
|
-
class:
|
|
1184
|
-
type:
|
|
1035
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
1036
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
1185
1037
|
alias: '',
|
|
1186
1038
|
query_location: 17,
|
|
1187
|
-
column_names: [
|
|
1188
|
-
|
|
1189
|
-
]
|
|
1190
|
-
}
|
|
1039
|
+
column_names: ['column1'],
|
|
1040
|
+
},
|
|
1191
1041
|
],
|
|
1192
1042
|
filter: null,
|
|
1193
1043
|
order_bys: {
|
|
1194
1044
|
type: 'ORDER_MODIFIER',
|
|
1195
|
-
orders: []
|
|
1045
|
+
orders: [],
|
|
1196
1046
|
},
|
|
1197
1047
|
distinct: false,
|
|
1198
1048
|
is_operator: false,
|
|
1199
1049
|
export_state: false,
|
|
1200
|
-
catalog: ''
|
|
1201
|
-
}
|
|
1050
|
+
catalog: '',
|
|
1051
|
+
},
|
|
1202
1052
|
],
|
|
1203
1053
|
partitions: [],
|
|
1204
1054
|
orders: [
|
|
@@ -1212,47 +1062,45 @@ const MEASURE_TEST_CASES = [
|
|
|
1212
1062
|
query_location: 18446744073709552000,
|
|
1213
1063
|
children: [
|
|
1214
1064
|
{
|
|
1215
|
-
class:
|
|
1216
|
-
type:
|
|
1065
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
1066
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
1217
1067
|
alias: '',
|
|
1218
1068
|
query_location: 54,
|
|
1219
|
-
column_names: [
|
|
1220
|
-
'MEERKAT'
|
|
1221
|
-
]
|
|
1069
|
+
column_names: ['MEERKAT'],
|
|
1222
1070
|
},
|
|
1223
1071
|
{
|
|
1224
|
-
class:
|
|
1225
|
-
type:
|
|
1072
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
1073
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
1226
1074
|
alias: '',
|
|
1227
1075
|
query_location: 18446744073709552000,
|
|
1228
1076
|
value: {
|
|
1229
1077
|
type: {
|
|
1230
1078
|
id: 'VARCHAR',
|
|
1231
|
-
type_info: null
|
|
1079
|
+
type_info: null,
|
|
1232
1080
|
},
|
|
1233
1081
|
is_null: false,
|
|
1234
|
-
value: 'record_date'
|
|
1235
|
-
}
|
|
1236
|
-
}
|
|
1237
|
-
]
|
|
1238
|
-
}
|
|
1239
|
-
}
|
|
1082
|
+
value: 'record_date',
|
|
1083
|
+
},
|
|
1084
|
+
},
|
|
1085
|
+
],
|
|
1086
|
+
},
|
|
1087
|
+
},
|
|
1240
1088
|
],
|
|
1241
1089
|
start: 'EXPR_PRECEDING_ROWS',
|
|
1242
1090
|
end: 'CURRENT_ROW_ROWS',
|
|
1243
1091
|
start_expr: {
|
|
1244
|
-
class:
|
|
1245
|
-
type:
|
|
1092
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
1093
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
1246
1094
|
alias: '',
|
|
1247
1095
|
query_location: 88,
|
|
1248
1096
|
value: {
|
|
1249
1097
|
type: {
|
|
1250
1098
|
id: 'INTEGER',
|
|
1251
|
-
type_info: null
|
|
1099
|
+
type_info: null,
|
|
1252
1100
|
},
|
|
1253
1101
|
is_null: false,
|
|
1254
|
-
value: 6
|
|
1255
|
-
}
|
|
1102
|
+
value: 6,
|
|
1103
|
+
},
|
|
1256
1104
|
},
|
|
1257
1105
|
end_expr: null,
|
|
1258
1106
|
offset_expr: null,
|
|
@@ -1260,24 +1108,16 @@ const MEASURE_TEST_CASES = [
|
|
|
1260
1108
|
ignore_nulls: false,
|
|
1261
1109
|
filter_expr: null,
|
|
1262
1110
|
exclude_clause: 'NO_OTHER',
|
|
1263
|
-
distinct: false
|
|
1111
|
+
distinct: false,
|
|
1264
1112
|
},
|
|
1265
|
-
validFunctions: new Set([
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
]),
|
|
1269
|
-
validScalarFunctions: new Set([
|
|
1270
|
-
'/'
|
|
1271
|
-
]),
|
|
1272
|
-
expected: true
|
|
1113
|
+
validFunctions: new Set(['avg', 'count']),
|
|
1114
|
+
validScalarFunctions: new Set(['/']),
|
|
1115
|
+
expected: true,
|
|
1273
1116
|
},
|
|
1274
1117
|
{
|
|
1275
1118
|
description: 'node type FUNCTION - AVG with nested scalar function',
|
|
1276
1119
|
query: "AVG(DATE_DIFF('minute', created_date, first_response_time))",
|
|
1277
|
-
columnNames: [
|
|
1278
|
-
'created_date',
|
|
1279
|
-
'first_response_time'
|
|
1280
|
-
],
|
|
1120
|
+
columnNames: ['created_date', 'first_response_time'],
|
|
1281
1121
|
node: {
|
|
1282
1122
|
class: 'FUNCTION',
|
|
1283
1123
|
type: 'FUNCTION',
|
|
@@ -1302,60 +1142,51 @@ const MEASURE_TEST_CASES = [
|
|
|
1302
1142
|
value: {
|
|
1303
1143
|
type: {
|
|
1304
1144
|
id: 'VARCHAR',
|
|
1305
|
-
type_info: null
|
|
1145
|
+
type_info: null,
|
|
1306
1146
|
},
|
|
1307
1147
|
is_null: false,
|
|
1308
|
-
value: 'minute'
|
|
1309
|
-
}
|
|
1148
|
+
value: 'minute',
|
|
1149
|
+
},
|
|
1310
1150
|
},
|
|
1311
1151
|
{
|
|
1312
1152
|
class: 'COLUMN_REF',
|
|
1313
1153
|
type: 'COLUMN_REF',
|
|
1314
1154
|
alias: '',
|
|
1315
1155
|
query_location: 31,
|
|
1316
|
-
column_names: [
|
|
1317
|
-
'created_date'
|
|
1318
|
-
]
|
|
1156
|
+
column_names: ['created_date'],
|
|
1319
1157
|
},
|
|
1320
1158
|
{
|
|
1321
1159
|
class: 'COLUMN_REF',
|
|
1322
1160
|
type: 'COLUMN_REF',
|
|
1323
1161
|
alias: '',
|
|
1324
1162
|
query_location: 45,
|
|
1325
|
-
column_names: [
|
|
1326
|
-
|
|
1327
|
-
]
|
|
1328
|
-
}
|
|
1163
|
+
column_names: ['first_response_time'],
|
|
1164
|
+
},
|
|
1329
1165
|
],
|
|
1330
1166
|
filter: null,
|
|
1331
1167
|
order_bys: {
|
|
1332
1168
|
type: 'ORDER_MODIFIER',
|
|
1333
|
-
orders: []
|
|
1169
|
+
orders: [],
|
|
1334
1170
|
},
|
|
1335
1171
|
distinct: false,
|
|
1336
1172
|
is_operator: false,
|
|
1337
1173
|
export_state: false,
|
|
1338
|
-
catalog: ''
|
|
1339
|
-
}
|
|
1174
|
+
catalog: '',
|
|
1175
|
+
},
|
|
1340
1176
|
],
|
|
1341
1177
|
filter: null,
|
|
1342
1178
|
order_bys: {
|
|
1343
1179
|
type: 'ORDER_MODIFIER',
|
|
1344
|
-
orders: []
|
|
1180
|
+
orders: [],
|
|
1345
1181
|
},
|
|
1346
1182
|
distinct: false,
|
|
1347
1183
|
is_operator: false,
|
|
1348
1184
|
export_state: false,
|
|
1349
|
-
catalog: ''
|
|
1185
|
+
catalog: '',
|
|
1350
1186
|
},
|
|
1351
|
-
validFunctions: new Set([
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
]),
|
|
1355
|
-
validScalarFunctions: new Set([
|
|
1356
|
-
'date_diff'
|
|
1357
|
-
]),
|
|
1358
|
-
expected: true
|
|
1187
|
+
validFunctions: new Set(['avg', 'count']),
|
|
1188
|
+
validScalarFunctions: new Set(['date_diff']),
|
|
1189
|
+
expected: true,
|
|
1359
1190
|
},
|
|
1360
1191
|
{
|
|
1361
1192
|
description: 'node type SUBQUERY',
|
|
@@ -1363,12 +1194,12 @@ const MEASURE_TEST_CASES = [
|
|
|
1363
1194
|
'id',
|
|
1364
1195
|
'sla_stage',
|
|
1365
1196
|
'first_resp_time_arr',
|
|
1366
|
-
'total_first_resp_breaches_ever'
|
|
1197
|
+
'total_first_resp_breaches_ever',
|
|
1367
1198
|
],
|
|
1368
1199
|
query: "(SELECT CASE WHEN COUNT(DISTINCT CASE WHEN sla_stage = ''breached'' THEN id END) + COUNT(DISTINCT CASE WHEN sla_stage = ''completed'' AND ARRAY_LENGTH(first_resp_time_arr) > 0 AND (total_first_resp_breaches_ever = 0 OR total_first_resp_breaches_ever IS NULL) THEN id END) > 0 THEN 100 - (COUNT(DISTINCT CASE WHEN sla_stage = ''breached'' THEN id END) * 100.0 / (COUNT(DISTINCT CASE WHEN sla_stage = ''breached'' THEN id END) + COUNT(DISTINCT CASE WHEN sla_stage = ''completed'' AND ARRAY_LENGTH(first_resp_time_arr) > 0 AND (total_first_resp_breaches_ever = 0 OR total_first_resp_breaches_ever IS NULL) THEN id END))) ELSE NULL END AS result)",
|
|
1369
1200
|
node: {
|
|
1370
|
-
class:
|
|
1371
|
-
type:
|
|
1201
|
+
class: Expression_1.ExpressionClass.SUBQUERY,
|
|
1202
|
+
type: duckdb_serialization_types_1.ExpressionType.SUBQUERY,
|
|
1372
1203
|
alias: '',
|
|
1373
1204
|
query_location: 7,
|
|
1374
1205
|
subquery: {
|
|
@@ -1376,161 +1207,155 @@ const MEASURE_TEST_CASES = [
|
|
|
1376
1207
|
type: 'SELECT_NODE',
|
|
1377
1208
|
modifiers: [],
|
|
1378
1209
|
cte_map: {
|
|
1379
|
-
map: []
|
|
1210
|
+
map: [],
|
|
1380
1211
|
},
|
|
1381
1212
|
select_list: [
|
|
1382
1213
|
{
|
|
1383
|
-
class:
|
|
1384
|
-
type:
|
|
1214
|
+
class: Expression_1.ExpressionClass.CASE,
|
|
1215
|
+
type: duckdb_serialization_types_1.ExpressionType.CASE_EXPR,
|
|
1385
1216
|
alias: 'result',
|
|
1386
1217
|
query_location: 15,
|
|
1387
1218
|
case_checks: [
|
|
1388
1219
|
{
|
|
1389
1220
|
when_expr: {
|
|
1390
|
-
class:
|
|
1391
|
-
type:
|
|
1221
|
+
class: Expression_1.ExpressionClass.COMPARISON,
|
|
1222
|
+
type: duckdb_serialization_types_1.ExpressionType.COMPARE_GREATERTHAN,
|
|
1392
1223
|
alias: '',
|
|
1393
1224
|
query_location: 275,
|
|
1394
1225
|
left: {
|
|
1395
|
-
class:
|
|
1396
|
-
type:
|
|
1226
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
1227
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
1397
1228
|
alias: '',
|
|
1398
1229
|
query_location: 86,
|
|
1399
1230
|
function_name: '+',
|
|
1400
1231
|
schema: '',
|
|
1401
1232
|
children: [
|
|
1402
1233
|
{
|
|
1403
|
-
class:
|
|
1404
|
-
type:
|
|
1234
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
1235
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
1405
1236
|
alias: '',
|
|
1406
1237
|
query_location: 25,
|
|
1407
1238
|
function_name: 'count',
|
|
1408
1239
|
schema: '',
|
|
1409
1240
|
children: [
|
|
1410
1241
|
{
|
|
1411
|
-
class:
|
|
1412
|
-
type:
|
|
1242
|
+
class: Expression_1.ExpressionClass.CASE,
|
|
1243
|
+
type: duckdb_serialization_types_1.ExpressionType.CASE_EXPR,
|
|
1413
1244
|
alias: '',
|
|
1414
1245
|
query_location: 40,
|
|
1415
1246
|
case_checks: [
|
|
1416
1247
|
{
|
|
1417
1248
|
when_expr: {
|
|
1418
|
-
class:
|
|
1419
|
-
type:
|
|
1249
|
+
class: Expression_1.ExpressionClass.COMPARISON,
|
|
1250
|
+
type: duckdb_serialization_types_1.ExpressionType.COMPARE_EQUAL,
|
|
1420
1251
|
alias: '',
|
|
1421
1252
|
query_location: 60,
|
|
1422
1253
|
left: {
|
|
1423
|
-
class:
|
|
1424
|
-
type:
|
|
1254
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
1255
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
1425
1256
|
alias: '',
|
|
1426
1257
|
query_location: 50,
|
|
1427
|
-
column_names: [
|
|
1428
|
-
'sla_stage'
|
|
1429
|
-
]
|
|
1258
|
+
column_names: ['sla_stage'],
|
|
1430
1259
|
},
|
|
1431
1260
|
right: {
|
|
1432
|
-
class:
|
|
1433
|
-
type:
|
|
1261
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
1262
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
1434
1263
|
alias: '',
|
|
1435
1264
|
query_location: 62,
|
|
1436
1265
|
value: {
|
|
1437
1266
|
type: {
|
|
1438
1267
|
id: 'VARCHAR',
|
|
1439
|
-
type_info: null
|
|
1268
|
+
type_info: null,
|
|
1440
1269
|
},
|
|
1441
1270
|
is_null: false,
|
|
1442
|
-
value: 'breached'
|
|
1443
|
-
}
|
|
1444
|
-
}
|
|
1271
|
+
value: 'breached',
|
|
1272
|
+
},
|
|
1273
|
+
},
|
|
1445
1274
|
},
|
|
1446
1275
|
then_expr: {
|
|
1447
|
-
class:
|
|
1448
|
-
type:
|
|
1276
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
1277
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
1449
1278
|
alias: '',
|
|
1450
1279
|
query_location: 78,
|
|
1451
|
-
column_names: [
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
}
|
|
1455
|
-
}
|
|
1280
|
+
column_names: ['id'],
|
|
1281
|
+
},
|
|
1282
|
+
},
|
|
1456
1283
|
],
|
|
1457
1284
|
else_expr: {
|
|
1458
|
-
class:
|
|
1459
|
-
type:
|
|
1285
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
1286
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
1460
1287
|
alias: '',
|
|
1461
1288
|
query_location: 18446744073709552000,
|
|
1462
1289
|
value: {
|
|
1463
1290
|
type: {
|
|
1464
1291
|
id: 'NULL',
|
|
1465
|
-
type_info: null
|
|
1292
|
+
type_info: null,
|
|
1466
1293
|
},
|
|
1467
|
-
is_null: true
|
|
1468
|
-
}
|
|
1469
|
-
}
|
|
1470
|
-
}
|
|
1294
|
+
is_null: true,
|
|
1295
|
+
},
|
|
1296
|
+
},
|
|
1297
|
+
},
|
|
1471
1298
|
],
|
|
1472
1299
|
filter: null,
|
|
1473
1300
|
order_bys: {
|
|
1474
1301
|
type: 'ORDER_MODIFIER',
|
|
1475
|
-
orders: []
|
|
1302
|
+
orders: [],
|
|
1476
1303
|
},
|
|
1477
1304
|
distinct: true,
|
|
1478
1305
|
is_operator: false,
|
|
1479
1306
|
export_state: false,
|
|
1480
|
-
catalog: ''
|
|
1307
|
+
catalog: '',
|
|
1481
1308
|
},
|
|
1482
1309
|
{
|
|
1483
|
-
class:
|
|
1484
|
-
type:
|
|
1310
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
1311
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
1485
1312
|
alias: '',
|
|
1486
1313
|
query_location: 88,
|
|
1487
1314
|
function_name: 'count',
|
|
1488
1315
|
schema: '',
|
|
1489
1316
|
children: [
|
|
1490
1317
|
{
|
|
1491
|
-
class:
|
|
1492
|
-
type:
|
|
1318
|
+
class: Expression_1.ExpressionClass.CASE,
|
|
1319
|
+
type: duckdb_serialization_types_1.ExpressionType.CASE_EXPR,
|
|
1493
1320
|
alias: '',
|
|
1494
1321
|
query_location: 103,
|
|
1495
1322
|
case_checks: [
|
|
1496
1323
|
{
|
|
1497
1324
|
when_expr: {
|
|
1498
|
-
class:
|
|
1499
|
-
type:
|
|
1325
|
+
class: Expression_1.ExpressionClass.CONJUNCTION,
|
|
1326
|
+
type: duckdb_serialization_types_1.ExpressionType.CONJUNCTION_AND,
|
|
1500
1327
|
alias: '',
|
|
1501
1328
|
query_location: 137,
|
|
1502
1329
|
children: [
|
|
1503
1330
|
{
|
|
1504
|
-
class:
|
|
1505
|
-
type:
|
|
1331
|
+
class: Expression_1.ExpressionClass.COMPARISON,
|
|
1332
|
+
type: duckdb_serialization_types_1.ExpressionType.COMPARE_EQUAL,
|
|
1506
1333
|
alias: '',
|
|
1507
1334
|
query_location: 123,
|
|
1508
1335
|
left: {
|
|
1509
|
-
class:
|
|
1510
|
-
type:
|
|
1336
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
1337
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
1511
1338
|
alias: '',
|
|
1512
1339
|
query_location: 113,
|
|
1513
|
-
column_names: [
|
|
1514
|
-
'sla_stage'
|
|
1515
|
-
]
|
|
1340
|
+
column_names: ['sla_stage'],
|
|
1516
1341
|
},
|
|
1517
1342
|
right: {
|
|
1518
|
-
class:
|
|
1519
|
-
type:
|
|
1343
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
1344
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
1520
1345
|
alias: '',
|
|
1521
1346
|
query_location: 125,
|
|
1522
1347
|
value: {
|
|
1523
1348
|
type: {
|
|
1524
1349
|
id: 'VARCHAR',
|
|
1525
|
-
type_info: null
|
|
1350
|
+
type_info: null,
|
|
1526
1351
|
},
|
|
1527
1352
|
is_null: false,
|
|
1528
|
-
value: 'completed'
|
|
1529
|
-
}
|
|
1530
|
-
}
|
|
1353
|
+
value: 'completed',
|
|
1354
|
+
},
|
|
1355
|
+
},
|
|
1531
1356
|
},
|
|
1532
1357
|
{
|
|
1533
|
-
class:
|
|
1358
|
+
class: Expression_1.ExpressionClass.COMPARISON,
|
|
1534
1359
|
type: 'COMPARE_GREATERTHAN',
|
|
1535
1360
|
alias: '',
|
|
1536
1361
|
query_location: 175,
|
|
@@ -1543,39 +1368,39 @@ const MEASURE_TEST_CASES = [
|
|
|
1543
1368
|
schema: '',
|
|
1544
1369
|
children: [
|
|
1545
1370
|
{
|
|
1546
|
-
class:
|
|
1547
|
-
type:
|
|
1371
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
1372
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
1548
1373
|
alias: '',
|
|
1549
1374
|
query_location: 154,
|
|
1550
1375
|
column_names: [
|
|
1551
|
-
'first_resp_time_arr'
|
|
1552
|
-
]
|
|
1553
|
-
}
|
|
1376
|
+
'first_resp_time_arr',
|
|
1377
|
+
],
|
|
1378
|
+
},
|
|
1554
1379
|
],
|
|
1555
1380
|
filter: null,
|
|
1556
1381
|
order_bys: {
|
|
1557
1382
|
type: 'ORDER_MODIFIER',
|
|
1558
|
-
orders: []
|
|
1383
|
+
orders: [],
|
|
1559
1384
|
},
|
|
1560
1385
|
distinct: false,
|
|
1561
1386
|
is_operator: false,
|
|
1562
1387
|
export_state: false,
|
|
1563
|
-
catalog: ''
|
|
1388
|
+
catalog: '',
|
|
1564
1389
|
},
|
|
1565
1390
|
right: {
|
|
1566
|
-
class:
|
|
1567
|
-
type:
|
|
1391
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
1392
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
1568
1393
|
alias: '',
|
|
1569
1394
|
query_location: 177,
|
|
1570
1395
|
value: {
|
|
1571
1396
|
type: {
|
|
1572
1397
|
id: 'INTEGER',
|
|
1573
|
-
type_info: null
|
|
1398
|
+
type_info: null,
|
|
1574
1399
|
},
|
|
1575
1400
|
is_null: false,
|
|
1576
|
-
value: 0
|
|
1577
|
-
}
|
|
1578
|
-
}
|
|
1401
|
+
value: 0,
|
|
1402
|
+
},
|
|
1403
|
+
},
|
|
1579
1404
|
},
|
|
1580
1405
|
{
|
|
1581
1406
|
class: 'CONJUNCTION',
|
|
@@ -1584,33 +1409,33 @@ const MEASURE_TEST_CASES = [
|
|
|
1584
1409
|
query_location: 219,
|
|
1585
1410
|
children: [
|
|
1586
1411
|
{
|
|
1587
|
-
class:
|
|
1412
|
+
class: Expression_1.ExpressionClass.COMPARISON,
|
|
1588
1413
|
type: 'COMPARE_EQUAL',
|
|
1589
1414
|
alias: '',
|
|
1590
1415
|
query_location: 215,
|
|
1591
1416
|
left: {
|
|
1592
|
-
class:
|
|
1593
|
-
type:
|
|
1417
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
1418
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
1594
1419
|
alias: '',
|
|
1595
1420
|
query_location: 184,
|
|
1596
1421
|
column_names: [
|
|
1597
|
-
'total_first_resp_breaches_ever'
|
|
1598
|
-
]
|
|
1422
|
+
'total_first_resp_breaches_ever',
|
|
1423
|
+
],
|
|
1599
1424
|
},
|
|
1600
1425
|
right: {
|
|
1601
|
-
class:
|
|
1602
|
-
type:
|
|
1426
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
1427
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
1603
1428
|
alias: '',
|
|
1604
1429
|
query_location: 217,
|
|
1605
1430
|
value: {
|
|
1606
1431
|
type: {
|
|
1607
1432
|
id: 'INTEGER',
|
|
1608
|
-
type_info: null
|
|
1433
|
+
type_info: null,
|
|
1609
1434
|
},
|
|
1610
1435
|
is_null: false,
|
|
1611
|
-
value: 0
|
|
1612
|
-
}
|
|
1613
|
-
}
|
|
1436
|
+
value: 0,
|
|
1437
|
+
},
|
|
1438
|
+
},
|
|
1614
1439
|
},
|
|
1615
1440
|
{
|
|
1616
1441
|
class: 'OPERATOR',
|
|
@@ -1619,203 +1444,197 @@ const MEASURE_TEST_CASES = [
|
|
|
1619
1444
|
query_location: 253,
|
|
1620
1445
|
children: [
|
|
1621
1446
|
{
|
|
1622
|
-
class:
|
|
1623
|
-
type:
|
|
1447
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
1448
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
1624
1449
|
alias: '',
|
|
1625
1450
|
query_location: 222,
|
|
1626
1451
|
column_names: [
|
|
1627
|
-
'total_first_resp_breaches_ever'
|
|
1628
|
-
]
|
|
1629
|
-
}
|
|
1630
|
-
]
|
|
1631
|
-
}
|
|
1632
|
-
]
|
|
1633
|
-
}
|
|
1634
|
-
]
|
|
1452
|
+
'total_first_resp_breaches_ever',
|
|
1453
|
+
],
|
|
1454
|
+
},
|
|
1455
|
+
],
|
|
1456
|
+
},
|
|
1457
|
+
],
|
|
1458
|
+
},
|
|
1459
|
+
],
|
|
1635
1460
|
},
|
|
1636
1461
|
then_expr: {
|
|
1637
|
-
class:
|
|
1638
|
-
type:
|
|
1462
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
1463
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
1639
1464
|
alias: '',
|
|
1640
1465
|
query_location: 267,
|
|
1641
|
-
column_names: [
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
}
|
|
1645
|
-
}
|
|
1466
|
+
column_names: ['id'],
|
|
1467
|
+
},
|
|
1468
|
+
},
|
|
1646
1469
|
],
|
|
1647
1470
|
else_expr: {
|
|
1648
|
-
class:
|
|
1649
|
-
type:
|
|
1471
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
1472
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
1650
1473
|
alias: '',
|
|
1651
1474
|
query_location: 18446744073709552000,
|
|
1652
1475
|
value: {
|
|
1653
1476
|
type: {
|
|
1654
1477
|
id: 'NULL',
|
|
1655
|
-
type_info: null
|
|
1478
|
+
type_info: null,
|
|
1656
1479
|
},
|
|
1657
|
-
is_null: true
|
|
1658
|
-
}
|
|
1659
|
-
}
|
|
1660
|
-
}
|
|
1480
|
+
is_null: true,
|
|
1481
|
+
},
|
|
1482
|
+
},
|
|
1483
|
+
},
|
|
1661
1484
|
],
|
|
1662
1485
|
filter: null,
|
|
1663
1486
|
order_bys: {
|
|
1664
1487
|
type: 'ORDER_MODIFIER',
|
|
1665
|
-
orders: []
|
|
1488
|
+
orders: [],
|
|
1666
1489
|
},
|
|
1667
1490
|
distinct: true,
|
|
1668
1491
|
is_operator: false,
|
|
1669
1492
|
export_state: false,
|
|
1670
|
-
catalog: ''
|
|
1671
|
-
}
|
|
1493
|
+
catalog: '',
|
|
1494
|
+
},
|
|
1672
1495
|
],
|
|
1673
1496
|
filter: null,
|
|
1674
1497
|
order_bys: {
|
|
1675
1498
|
type: 'ORDER_MODIFIER',
|
|
1676
|
-
orders: []
|
|
1499
|
+
orders: [],
|
|
1677
1500
|
},
|
|
1678
1501
|
distinct: false,
|
|
1679
1502
|
is_operator: true,
|
|
1680
1503
|
export_state: false,
|
|
1681
|
-
catalog: ''
|
|
1504
|
+
catalog: '',
|
|
1682
1505
|
},
|
|
1683
1506
|
right: {
|
|
1684
|
-
class:
|
|
1685
|
-
type:
|
|
1507
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
1508
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
1686
1509
|
alias: '',
|
|
1687
1510
|
query_location: 277,
|
|
1688
1511
|
value: {
|
|
1689
1512
|
type: {
|
|
1690
1513
|
id: 'INTEGER',
|
|
1691
|
-
type_info: null
|
|
1514
|
+
type_info: null,
|
|
1692
1515
|
},
|
|
1693
1516
|
is_null: false,
|
|
1694
|
-
value: 0
|
|
1695
|
-
}
|
|
1696
|
-
}
|
|
1517
|
+
value: 0,
|
|
1518
|
+
},
|
|
1519
|
+
},
|
|
1697
1520
|
},
|
|
1698
1521
|
then_expr: {
|
|
1699
|
-
class:
|
|
1700
|
-
type:
|
|
1522
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
1523
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
1701
1524
|
alias: '',
|
|
1702
1525
|
query_location: 288,
|
|
1703
1526
|
function_name: '-',
|
|
1704
1527
|
schema: '',
|
|
1705
1528
|
children: [
|
|
1706
1529
|
{
|
|
1707
|
-
class:
|
|
1708
|
-
type:
|
|
1530
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
1531
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
1709
1532
|
alias: '',
|
|
1710
1533
|
query_location: 284,
|
|
1711
1534
|
value: {
|
|
1712
1535
|
type: {
|
|
1713
1536
|
id: 'INTEGER',
|
|
1714
|
-
type_info: null
|
|
1537
|
+
type_info: null,
|
|
1715
1538
|
},
|
|
1716
1539
|
is_null: false,
|
|
1717
|
-
value: 100
|
|
1718
|
-
}
|
|
1540
|
+
value: 100,
|
|
1541
|
+
},
|
|
1719
1542
|
},
|
|
1720
1543
|
{
|
|
1721
|
-
class:
|
|
1722
|
-
type:
|
|
1544
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
1545
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
1723
1546
|
alias: '',
|
|
1724
1547
|
query_location: 360,
|
|
1725
1548
|
function_name: '/',
|
|
1726
1549
|
schema: '',
|
|
1727
1550
|
children: [
|
|
1728
1551
|
{
|
|
1729
|
-
class:
|
|
1730
|
-
type:
|
|
1552
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
1553
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
1731
1554
|
alias: '',
|
|
1732
1555
|
query_location: 352,
|
|
1733
1556
|
function_name: '*',
|
|
1734
1557
|
schema: '',
|
|
1735
1558
|
children: [
|
|
1736
1559
|
{
|
|
1737
|
-
class:
|
|
1738
|
-
type:
|
|
1560
|
+
class: Expression_1.ExpressionClass.FUNCTION,
|
|
1561
|
+
type: duckdb_serialization_types_1.ExpressionType.FUNCTION,
|
|
1739
1562
|
alias: '',
|
|
1740
1563
|
query_location: 291,
|
|
1741
1564
|
function_name: 'count',
|
|
1742
1565
|
schema: '',
|
|
1743
1566
|
children: [
|
|
1744
1567
|
{
|
|
1745
|
-
class:
|
|
1746
|
-
type:
|
|
1568
|
+
class: Expression_1.ExpressionClass.CASE,
|
|
1569
|
+
type: duckdb_serialization_types_1.ExpressionType.CASE_EXPR,
|
|
1747
1570
|
alias: '',
|
|
1748
1571
|
query_location: 306,
|
|
1749
1572
|
case_checks: [
|
|
1750
1573
|
{
|
|
1751
1574
|
when_expr: {
|
|
1752
|
-
class:
|
|
1753
|
-
type:
|
|
1575
|
+
class: Expression_1.ExpressionClass.COMPARISON,
|
|
1576
|
+
type: duckdb_serialization_types_1.ExpressionType.COMPARE_EQUAL,
|
|
1754
1577
|
alias: '',
|
|
1755
1578
|
query_location: 326,
|
|
1756
1579
|
left: {
|
|
1757
|
-
class:
|
|
1758
|
-
type:
|
|
1580
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
1581
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
1759
1582
|
alias: '',
|
|
1760
1583
|
query_location: 316,
|
|
1761
|
-
column_names: [
|
|
1762
|
-
'sla_stage'
|
|
1763
|
-
]
|
|
1584
|
+
column_names: ['sla_stage'],
|
|
1764
1585
|
},
|
|
1765
1586
|
right: {
|
|
1766
|
-
class:
|
|
1767
|
-
type:
|
|
1587
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
1588
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
1768
1589
|
alias: '',
|
|
1769
1590
|
query_location: 328,
|
|
1770
1591
|
value: {
|
|
1771
1592
|
type: {
|
|
1772
1593
|
id: 'VARCHAR',
|
|
1773
|
-
type_info: null
|
|
1594
|
+
type_info: null,
|
|
1774
1595
|
},
|
|
1775
1596
|
is_null: false,
|
|
1776
|
-
value: 'breached'
|
|
1777
|
-
}
|
|
1778
|
-
}
|
|
1597
|
+
value: 'breached',
|
|
1598
|
+
},
|
|
1599
|
+
},
|
|
1779
1600
|
},
|
|
1780
1601
|
then_expr: {
|
|
1781
|
-
class:
|
|
1782
|
-
type:
|
|
1602
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
1603
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
1783
1604
|
alias: '',
|
|
1784
1605
|
query_location: 344,
|
|
1785
|
-
column_names: [
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
}
|
|
1789
|
-
}
|
|
1606
|
+
column_names: ['id'],
|
|
1607
|
+
},
|
|
1608
|
+
},
|
|
1790
1609
|
],
|
|
1791
1610
|
else_expr: {
|
|
1792
|
-
class:
|
|
1793
|
-
type:
|
|
1611
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
1612
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
1794
1613
|
alias: '',
|
|
1795
1614
|
query_location: 18446744073709552000,
|
|
1796
1615
|
value: {
|
|
1797
1616
|
type: {
|
|
1798
1617
|
id: 'NULL',
|
|
1799
|
-
type_info: null
|
|
1618
|
+
type_info: null,
|
|
1800
1619
|
},
|
|
1801
|
-
is_null: true
|
|
1802
|
-
}
|
|
1803
|
-
}
|
|
1804
|
-
}
|
|
1620
|
+
is_null: true,
|
|
1621
|
+
},
|
|
1622
|
+
},
|
|
1623
|
+
},
|
|
1805
1624
|
],
|
|
1806
1625
|
filter: null,
|
|
1807
1626
|
order_bys: {
|
|
1808
1627
|
type: 'ORDER_MODIFIER',
|
|
1809
|
-
orders: []
|
|
1628
|
+
orders: [],
|
|
1810
1629
|
},
|
|
1811
1630
|
distinct: true,
|
|
1812
1631
|
is_operator: false,
|
|
1813
1632
|
export_state: false,
|
|
1814
|
-
catalog: ''
|
|
1633
|
+
catalog: '',
|
|
1815
1634
|
},
|
|
1816
1635
|
{
|
|
1817
|
-
class:
|
|
1818
|
-
type:
|
|
1636
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
1637
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
1819
1638
|
alias: '',
|
|
1820
1639
|
query_location: 354,
|
|
1821
1640
|
value: {
|
|
@@ -1826,23 +1645,23 @@ const MEASURE_TEST_CASES = [
|
|
|
1826
1645
|
alias: '',
|
|
1827
1646
|
modifiers: [],
|
|
1828
1647
|
width: 4,
|
|
1829
|
-
scale: 1
|
|
1830
|
-
}
|
|
1648
|
+
scale: 1,
|
|
1649
|
+
},
|
|
1831
1650
|
},
|
|
1832
1651
|
is_null: false,
|
|
1833
|
-
value: 1000
|
|
1834
|
-
}
|
|
1835
|
-
}
|
|
1652
|
+
value: 1000,
|
|
1653
|
+
},
|
|
1654
|
+
},
|
|
1836
1655
|
],
|
|
1837
1656
|
filter: null,
|
|
1838
1657
|
order_bys: {
|
|
1839
1658
|
type: 'ORDER_MODIFIER',
|
|
1840
|
-
orders: []
|
|
1659
|
+
orders: [],
|
|
1841
1660
|
},
|
|
1842
1661
|
distinct: false,
|
|
1843
1662
|
is_operator: true,
|
|
1844
1663
|
export_state: false,
|
|
1845
|
-
catalog: ''
|
|
1664
|
+
catalog: '',
|
|
1846
1665
|
},
|
|
1847
1666
|
{
|
|
1848
1667
|
class: 'FUNCTION',
|
|
@@ -1868,69 +1687,65 @@ const MEASURE_TEST_CASES = [
|
|
|
1868
1687
|
case_checks: [
|
|
1869
1688
|
{
|
|
1870
1689
|
when_expr: {
|
|
1871
|
-
class:
|
|
1690
|
+
class: Expression_1.ExpressionClass.COMPARISON,
|
|
1872
1691
|
type: 'COMPARE_EQUAL',
|
|
1873
1692
|
alias: '',
|
|
1874
1693
|
query_location: 398,
|
|
1875
1694
|
left: {
|
|
1876
|
-
class:
|
|
1877
|
-
type:
|
|
1695
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
1696
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
1878
1697
|
alias: '',
|
|
1879
1698
|
query_location: 388,
|
|
1880
|
-
column_names: [
|
|
1881
|
-
'sla_stage'
|
|
1882
|
-
]
|
|
1699
|
+
column_names: ['sla_stage'],
|
|
1883
1700
|
},
|
|
1884
1701
|
right: {
|
|
1885
|
-
class:
|
|
1886
|
-
type:
|
|
1702
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
1703
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
1887
1704
|
alias: '',
|
|
1888
1705
|
query_location: 400,
|
|
1889
1706
|
value: {
|
|
1890
1707
|
type: {
|
|
1891
1708
|
id: 'VARCHAR',
|
|
1892
|
-
type_info: null
|
|
1709
|
+
type_info: null,
|
|
1893
1710
|
},
|
|
1894
1711
|
is_null: false,
|
|
1895
|
-
value: 'breached'
|
|
1896
|
-
}
|
|
1897
|
-
}
|
|
1712
|
+
value: 'breached',
|
|
1713
|
+
},
|
|
1714
|
+
},
|
|
1898
1715
|
},
|
|
1899
1716
|
then_expr: {
|
|
1900
|
-
class:
|
|
1901
|
-
type:
|
|
1717
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
1718
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
1902
1719
|
alias: '',
|
|
1903
1720
|
query_location: 416,
|
|
1904
|
-
column_names: [
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
}
|
|
1908
|
-
}
|
|
1721
|
+
column_names: ['id'],
|
|
1722
|
+
},
|
|
1723
|
+
},
|
|
1909
1724
|
],
|
|
1910
1725
|
else_expr: {
|
|
1911
|
-
class:
|
|
1912
|
-
type:
|
|
1726
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
1727
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
1913
1728
|
alias: '',
|
|
1914
1729
|
query_location: 18446744073709552000,
|
|
1915
1730
|
value: {
|
|
1916
1731
|
type: {
|
|
1917
1732
|
id: 'NULL',
|
|
1918
|
-
type_info: null
|
|
1733
|
+
type_info: null,
|
|
1919
1734
|
},
|
|
1920
|
-
is_null: true
|
|
1921
|
-
}
|
|
1922
|
-
}
|
|
1923
|
-
}
|
|
1735
|
+
is_null: true,
|
|
1736
|
+
},
|
|
1737
|
+
},
|
|
1738
|
+
},
|
|
1924
1739
|
],
|
|
1925
1740
|
filter: null,
|
|
1926
1741
|
order_bys: {
|
|
1927
1742
|
type: 'ORDER_MODIFIER',
|
|
1928
|
-
orders: []
|
|
1743
|
+
orders: [],
|
|
1929
1744
|
},
|
|
1930
1745
|
distinct: true,
|
|
1931
1746
|
is_operator: false,
|
|
1932
1747
|
export_state: false,
|
|
1933
|
-
catalog: ''
|
|
1748
|
+
catalog: '',
|
|
1934
1749
|
},
|
|
1935
1750
|
{
|
|
1936
1751
|
class: 'FUNCTION',
|
|
@@ -1954,36 +1769,34 @@ const MEASURE_TEST_CASES = [
|
|
|
1954
1769
|
query_location: 475,
|
|
1955
1770
|
children: [
|
|
1956
1771
|
{
|
|
1957
|
-
class:
|
|
1772
|
+
class: Expression_1.ExpressionClass.COMPARISON,
|
|
1958
1773
|
type: 'COMPARE_EQUAL',
|
|
1959
1774
|
alias: '',
|
|
1960
1775
|
query_location: 461,
|
|
1961
1776
|
left: {
|
|
1962
|
-
class:
|
|
1963
|
-
type:
|
|
1777
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
1778
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
1964
1779
|
alias: '',
|
|
1965
1780
|
query_location: 451,
|
|
1966
|
-
column_names: [
|
|
1967
|
-
'sla_stage'
|
|
1968
|
-
]
|
|
1781
|
+
column_names: ['sla_stage'],
|
|
1969
1782
|
},
|
|
1970
1783
|
right: {
|
|
1971
|
-
class:
|
|
1972
|
-
type:
|
|
1784
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
1785
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
1973
1786
|
alias: '',
|
|
1974
1787
|
query_location: 463,
|
|
1975
1788
|
value: {
|
|
1976
1789
|
type: {
|
|
1977
1790
|
id: 'VARCHAR',
|
|
1978
|
-
type_info: null
|
|
1791
|
+
type_info: null,
|
|
1979
1792
|
},
|
|
1980
1793
|
is_null: false,
|
|
1981
|
-
value: 'completed'
|
|
1982
|
-
}
|
|
1983
|
-
}
|
|
1794
|
+
value: 'completed',
|
|
1795
|
+
},
|
|
1796
|
+
},
|
|
1984
1797
|
},
|
|
1985
1798
|
{
|
|
1986
|
-
class:
|
|
1799
|
+
class: Expression_1.ExpressionClass.COMPARISON,
|
|
1987
1800
|
type: 'COMPARE_GREATERTHAN',
|
|
1988
1801
|
alias: '',
|
|
1989
1802
|
query_location: 513,
|
|
@@ -1996,39 +1809,39 @@ const MEASURE_TEST_CASES = [
|
|
|
1996
1809
|
schema: '',
|
|
1997
1810
|
children: [
|
|
1998
1811
|
{
|
|
1999
|
-
class:
|
|
2000
|
-
type:
|
|
1812
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
1813
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
2001
1814
|
alias: '',
|
|
2002
1815
|
query_location: 492,
|
|
2003
1816
|
column_names: [
|
|
2004
|
-
'first_resp_time_arr'
|
|
2005
|
-
]
|
|
2006
|
-
}
|
|
1817
|
+
'first_resp_time_arr',
|
|
1818
|
+
],
|
|
1819
|
+
},
|
|
2007
1820
|
],
|
|
2008
1821
|
filter: null,
|
|
2009
1822
|
order_bys: {
|
|
2010
1823
|
type: 'ORDER_MODIFIER',
|
|
2011
|
-
orders: []
|
|
1824
|
+
orders: [],
|
|
2012
1825
|
},
|
|
2013
1826
|
distinct: false,
|
|
2014
1827
|
is_operator: false,
|
|
2015
1828
|
export_state: false,
|
|
2016
|
-
catalog: ''
|
|
1829
|
+
catalog: '',
|
|
2017
1830
|
},
|
|
2018
1831
|
right: {
|
|
2019
|
-
class:
|
|
2020
|
-
type:
|
|
1832
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
1833
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
2021
1834
|
alias: '',
|
|
2022
1835
|
query_location: 515,
|
|
2023
1836
|
value: {
|
|
2024
1837
|
type: {
|
|
2025
1838
|
id: 'INTEGER',
|
|
2026
|
-
type_info: null
|
|
1839
|
+
type_info: null,
|
|
2027
1840
|
},
|
|
2028
1841
|
is_null: false,
|
|
2029
|
-
value: 0
|
|
2030
|
-
}
|
|
2031
|
-
}
|
|
1842
|
+
value: 0,
|
|
1843
|
+
},
|
|
1844
|
+
},
|
|
2032
1845
|
},
|
|
2033
1846
|
{
|
|
2034
1847
|
class: 'CONJUNCTION',
|
|
@@ -2037,33 +1850,33 @@ const MEASURE_TEST_CASES = [
|
|
|
2037
1850
|
query_location: 557,
|
|
2038
1851
|
children: [
|
|
2039
1852
|
{
|
|
2040
|
-
class:
|
|
1853
|
+
class: Expression_1.ExpressionClass.COMPARISON,
|
|
2041
1854
|
type: 'COMPARE_EQUAL',
|
|
2042
1855
|
alias: '',
|
|
2043
1856
|
query_location: 553,
|
|
2044
1857
|
left: {
|
|
2045
|
-
class:
|
|
2046
|
-
type:
|
|
1858
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
1859
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
2047
1860
|
alias: '',
|
|
2048
1861
|
query_location: 522,
|
|
2049
1862
|
column_names: [
|
|
2050
|
-
'total_first_resp_breaches_ever'
|
|
2051
|
-
]
|
|
1863
|
+
'total_first_resp_breaches_ever',
|
|
1864
|
+
],
|
|
2052
1865
|
},
|
|
2053
1866
|
right: {
|
|
2054
|
-
class:
|
|
2055
|
-
type:
|
|
1867
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
1868
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
2056
1869
|
alias: '',
|
|
2057
1870
|
query_location: 555,
|
|
2058
1871
|
value: {
|
|
2059
1872
|
type: {
|
|
2060
1873
|
id: 'INTEGER',
|
|
2061
|
-
type_info: null
|
|
1874
|
+
type_info: null,
|
|
2062
1875
|
},
|
|
2063
1876
|
is_null: false,
|
|
2064
|
-
value: 0
|
|
2065
|
-
}
|
|
2066
|
-
}
|
|
1877
|
+
value: 0,
|
|
1878
|
+
},
|
|
1879
|
+
},
|
|
2067
1880
|
},
|
|
2068
1881
|
{
|
|
2069
1882
|
class: 'OPERATOR',
|
|
@@ -2072,111 +1885,109 @@ const MEASURE_TEST_CASES = [
|
|
|
2072
1885
|
query_location: 591,
|
|
2073
1886
|
children: [
|
|
2074
1887
|
{
|
|
2075
|
-
class:
|
|
2076
|
-
type:
|
|
1888
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
1889
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
2077
1890
|
alias: '',
|
|
2078
1891
|
query_location: 560,
|
|
2079
1892
|
column_names: [
|
|
2080
|
-
'total_first_resp_breaches_ever'
|
|
2081
|
-
]
|
|
2082
|
-
}
|
|
2083
|
-
]
|
|
2084
|
-
}
|
|
2085
|
-
]
|
|
2086
|
-
}
|
|
2087
|
-
]
|
|
1893
|
+
'total_first_resp_breaches_ever',
|
|
1894
|
+
],
|
|
1895
|
+
},
|
|
1896
|
+
],
|
|
1897
|
+
},
|
|
1898
|
+
],
|
|
1899
|
+
},
|
|
1900
|
+
],
|
|
2088
1901
|
},
|
|
2089
1902
|
then_expr: {
|
|
2090
|
-
class:
|
|
2091
|
-
type:
|
|
1903
|
+
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
1904
|
+
type: duckdb_serialization_types_1.ExpressionType.COLUMN_REF,
|
|
2092
1905
|
alias: '',
|
|
2093
1906
|
query_location: 605,
|
|
2094
|
-
column_names: [
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
}
|
|
2098
|
-
}
|
|
1907
|
+
column_names: ['id'],
|
|
1908
|
+
},
|
|
1909
|
+
},
|
|
2099
1910
|
],
|
|
2100
1911
|
else_expr: {
|
|
2101
|
-
class:
|
|
2102
|
-
type:
|
|
1912
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
1913
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
2103
1914
|
alias: '',
|
|
2104
1915
|
query_location: 18446744073709552000,
|
|
2105
1916
|
value: {
|
|
2106
1917
|
type: {
|
|
2107
1918
|
id: 'NULL',
|
|
2108
|
-
type_info: null
|
|
1919
|
+
type_info: null,
|
|
2109
1920
|
},
|
|
2110
|
-
is_null: true
|
|
2111
|
-
}
|
|
2112
|
-
}
|
|
2113
|
-
}
|
|
1921
|
+
is_null: true,
|
|
1922
|
+
},
|
|
1923
|
+
},
|
|
1924
|
+
},
|
|
2114
1925
|
],
|
|
2115
1926
|
filter: null,
|
|
2116
1927
|
order_bys: {
|
|
2117
1928
|
type: 'ORDER_MODIFIER',
|
|
2118
|
-
orders: []
|
|
1929
|
+
orders: [],
|
|
2119
1930
|
},
|
|
2120
1931
|
distinct: true,
|
|
2121
1932
|
is_operator: false,
|
|
2122
1933
|
export_state: false,
|
|
2123
|
-
catalog: ''
|
|
2124
|
-
}
|
|
1934
|
+
catalog: '',
|
|
1935
|
+
},
|
|
2125
1936
|
],
|
|
2126
1937
|
filter: null,
|
|
2127
1938
|
order_bys: {
|
|
2128
1939
|
type: 'ORDER_MODIFIER',
|
|
2129
|
-
orders: []
|
|
1940
|
+
orders: [],
|
|
2130
1941
|
},
|
|
2131
1942
|
distinct: false,
|
|
2132
1943
|
is_operator: true,
|
|
2133
1944
|
export_state: false,
|
|
2134
|
-
catalog: ''
|
|
2135
|
-
}
|
|
1945
|
+
catalog: '',
|
|
1946
|
+
},
|
|
2136
1947
|
],
|
|
2137
1948
|
filter: null,
|
|
2138
1949
|
order_bys: {
|
|
2139
1950
|
type: 'ORDER_MODIFIER',
|
|
2140
|
-
orders: []
|
|
1951
|
+
orders: [],
|
|
2141
1952
|
},
|
|
2142
1953
|
distinct: false,
|
|
2143
1954
|
is_operator: true,
|
|
2144
1955
|
export_state: false,
|
|
2145
|
-
catalog: ''
|
|
2146
|
-
}
|
|
1956
|
+
catalog: '',
|
|
1957
|
+
},
|
|
2147
1958
|
],
|
|
2148
1959
|
filter: null,
|
|
2149
1960
|
order_bys: {
|
|
2150
1961
|
type: 'ORDER_MODIFIER',
|
|
2151
|
-
orders: []
|
|
1962
|
+
orders: [],
|
|
2152
1963
|
},
|
|
2153
1964
|
distinct: false,
|
|
2154
1965
|
is_operator: true,
|
|
2155
1966
|
export_state: false,
|
|
2156
|
-
catalog: ''
|
|
2157
|
-
}
|
|
2158
|
-
}
|
|
1967
|
+
catalog: '',
|
|
1968
|
+
},
|
|
1969
|
+
},
|
|
2159
1970
|
],
|
|
2160
1971
|
else_expr: {
|
|
2161
|
-
class:
|
|
2162
|
-
type:
|
|
1972
|
+
class: Expression_1.ExpressionClass.CONSTANT,
|
|
1973
|
+
type: duckdb_serialization_types_1.ExpressionType.VALUE_CONSTANT,
|
|
2163
1974
|
alias: '',
|
|
2164
1975
|
query_location: 620,
|
|
2165
1976
|
value: {
|
|
2166
1977
|
type: {
|
|
2167
1978
|
id: 'NULL',
|
|
2168
|
-
type_info: null
|
|
1979
|
+
type_info: null,
|
|
2169
1980
|
},
|
|
2170
|
-
is_null: true
|
|
2171
|
-
}
|
|
2172
|
-
}
|
|
2173
|
-
}
|
|
1981
|
+
is_null: true,
|
|
1982
|
+
},
|
|
1983
|
+
},
|
|
1984
|
+
},
|
|
2174
1985
|
],
|
|
2175
1986
|
from_table: {
|
|
2176
1987
|
type: 'EMPTY',
|
|
2177
1988
|
alias: '',
|
|
2178
1989
|
sample: null,
|
|
2179
|
-
query_location: 18446744073709552000
|
|
1990
|
+
query_location: 18446744073709552000,
|
|
2180
1991
|
},
|
|
2181
1992
|
where_clause: null,
|
|
2182
1993
|
group_expressions: [],
|
|
@@ -2184,24 +1995,15 @@ const MEASURE_TEST_CASES = [
|
|
|
2184
1995
|
aggregate_handling: 'STANDARD_HANDLING',
|
|
2185
1996
|
having: null,
|
|
2186
1997
|
sample: null,
|
|
2187
|
-
qualify: null
|
|
2188
|
-
}
|
|
1998
|
+
qualify: null,
|
|
1999
|
+
},
|
|
2189
2000
|
},
|
|
2190
2001
|
child: null,
|
|
2191
|
-
comparison_type: 'INVALID'
|
|
2002
|
+
comparison_type: 'INVALID',
|
|
2192
2003
|
},
|
|
2193
|
-
validFunctions: new Set([
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
validScalarFunctions: new Set([
|
|
2198
|
-
'-',
|
|
2199
|
-
'/',
|
|
2200
|
-
'*',
|
|
2201
|
-
'+'
|
|
2202
|
-
]),
|
|
2203
|
-
expected: true
|
|
2204
|
-
}
|
|
2004
|
+
validFunctions: new Set(['count', 'count_star']),
|
|
2005
|
+
validScalarFunctions: new Set(['-', '/', '*', '+']),
|
|
2006
|
+
expected: true,
|
|
2007
|
+
},
|
|
2205
2008
|
];
|
|
2206
|
-
|
|
2207
2009
|
//# sourceMappingURL=test-data.js.map
|