diff --git a/pydough/sqlglot/execute_relational.py b/pydough/sqlglot/execute_relational.py index ee125e700..d5db44e8b 100644 --- a/pydough/sqlglot/execute_relational.py +++ b/pydough/sqlglot/execute_relational.py @@ -160,6 +160,11 @@ def apply_sqlglot_optimizer( if not isinstance(dialect, SnowflakeDialect): kwargs["dialect"] = dialect + # Protect Oracle-reserved-word identifiers from being upper-cased by + # qualify's normalize_identifiers step, before quote_oracle_identifiers + # (below) has a chance to quote them with their original casing intact. + protect_oracle_reserved_identifiers(glot_expr, dialect) + # Rewrite sqlglot AST to have normalized and qualified tables and columns. glot_expr = qualify(glot_expr, **kwargs) @@ -453,7 +458,7 @@ def remove_table_aliases_conditional(expr: SQLGlotExpression) -> None: if isinstance(expr, Select) and ( expr.args.get("joins") is None or len(expr.args.get("joins")) == 0 ): - from_clause = expr.args.get("from") + from_clause = expr.args.get("from_") # Only remove aliases if there is a table in the FROM clause as opposed # to a subquery. if from_clause is not None and isinstance(from_clause.this, Table): @@ -603,12 +608,55 @@ def remove_tuple_row_values(expr: SQLGlotExpression) -> None: ) -def quote_oracle_identifiers(expr: SQLGlotExpression, dialect: SQLGlotDialect) -> None: +def _oracle_identifier_needs_quoting(name: str) -> bool: """ - Add quotes to Identifiers that are invalid as unquoted Oracle identifiers: + Checks whether a raw identifier name is invalid as an unquoted Oracle + identifier: - Identifiers starting with '_' (Oracle syntax restriction) - Oracle reserved words used as column aliases (e.g. COMMENT, KEY, SIZE) which cause ORA-00923 parse errors, especially in CTAS statements. + """ + return name.startswith("_") or name.lower() in _ORACLE_RESERVED_ALIASES + + +def protect_oracle_reserved_identifiers( + expr: SQLGlotExpression, dialect: SQLGlotDialect +) -> None: + """ + Marks Identifiers that will need Oracle quoting (see + `_oracle_identifier_needs_quoting`) as case-sensitive, so that the + `qualify` step's `normalize_identifiers` pass (which upper-cases any + identifier not already marked quoted/case-sensitive) does not clobber + their original casing before `quote_oracle_identifiers` gets a chance to + quote them. Must run before `qualify` for the same reason. + + Note: This only is required for the Oracle dialect. + + Args: + expr: The SQLGlot expression to visit. + dialect: The dialect being generated for. + + Returns: + None (The AST is modified in place.) + """ + if not isinstance(dialect, OracleDialect): + return + + if isinstance(expr, sqlglot_expressions.Identifier): + if not expr.quoted and _oracle_identifier_needs_quoting(expr.this): + expr.meta["case_sensitive"] = True + # Identifiers are leaf nodes, so no recursion is needed + return + + # Recursively visit the subexpressions. + for arg in expr.iter_expressions(): + protect_oracle_reserved_identifiers(arg, dialect) + + +def quote_oracle_identifiers(expr: SQLGlotExpression, dialect: SQLGlotDialect) -> None: + """ + Add quotes to Identifiers that are invalid as unquoted Oracle identifiers + (see `_oracle_identifier_needs_quoting`). Note: This only is required for the Oracle dialect. @@ -623,10 +671,7 @@ def quote_oracle_identifiers(expr: SQLGlotExpression, dialect: SQLGlotDialect) - return if isinstance(expr, sqlglot_expressions.Identifier): - needs_quoting = expr.this.startswith("_") or ( - expr.this.lower() in _ORACLE_RESERVED_ALIASES - ) - if needs_quoting: + if _oracle_identifier_needs_quoting(expr.this): new_identifier = sqlglot_expressions.Identifier(this=expr.this, quoted=True) expr.replace(new_identifier) # Identifiers are leaf nodes, so no recursion is needed diff --git a/pydough/sqlglot/override_canonicalize.py b/pydough/sqlglot/override_canonicalize.py index 955fa39ca..ba5529e84 100644 --- a/pydough/sqlglot/override_canonicalize.py +++ b/pydough/sqlglot/override_canonicalize.py @@ -34,7 +34,7 @@ def canonicalize( def _canonicalize(expression: exp.Expression) -> exp.Expression: expression = fix_expression_type(expression, dialect) # PyDough change expression = add_text_to_concat(expression) - expression = replace_date_funcs(expression) + expression = replace_date_funcs(expression, dialect=dialect) expression = coerce_type(expression, dialect.PROMOTE_TO_INFERRED_DATETIME_TYPE) expression = remove_redundant_casts(expression) expression = ensure_bools(expression, _replace_int_predicate) diff --git a/pydough/sqlglot/override_merge_subqueries.py b/pydough/sqlglot/override_merge_subqueries.py index 842f74f86..cbbeeb742 100644 --- a/pydough/sqlglot/override_merge_subqueries.py +++ b/pydough/sqlglot/override_merge_subqueries.py @@ -60,7 +60,7 @@ def merge_subqueries(expression: E, leave_tables_isolated: bool = False) -> E: # If a derived table has these Select args, it can't be merged UNMERGABLE_ARGS = set(exp.Select.arg_types) - { "expressions", - "from", + "from_", "joins", "where", "order", @@ -135,7 +135,7 @@ def invalid_aggregate_convolution(inner_scope: Scope, outer_scope: Scope) -> boo # Temporarily remove the "with" context from the outer scope to avoid # using CTEs when considering what the outer scope contains, then restore # it before returning. - with_ctx = outer_scope.expression.args.pop("with", None) + with_ctx = outer_scope.expression.args.pop("with_", None) result: bool = False if inner_scope.expression.find(exp.AggFunc) and ( outer_scope.expression.find(exp.AggFunc) @@ -184,7 +184,7 @@ def invalid_aggregate_convolution(inner_scope: Scope, outer_scope: Scope) -> boo if contains_match: result = True break - outer_scope.expression.args["with"] = with_ctx + outer_scope.expression.args["with_"] = with_ctx return result @@ -198,7 +198,17 @@ def has_seq4_or_table(expr: Scope) -> bool: True if SEQ4() or TABLE() is found, False otherwise. """ for e in expr.walk(): - if isinstance(e, exp.Anonymous) and e.this.upper() in {"SEQ4", "TABLE"}: + # PYDOUGH CHANGE: sqlglot now parses SEQ4() and TABLE(...) into + # dedicated expression classes (Seq4, TableFromRows) instead of + # falling back to a generic Anonymous function call. By the time + # this runs, `apply_sqlglot_optimizer` has already round-tripped the + # expression through `.sql()` + `parse_one()` once, so even the + # occurrences PyDough constructs by hand as `exp.Anonymous(this="SEQ4")` + # (see `sf_transform_bindings.py`) have already been re-parsed into + # the dedicated classes by this point, making the old Anonymous-based + # check dead code (verified empirically: removing it doesn't change + # any reference SQL or break any test). + if isinstance(e, (exp.Seq4, exp.TableFromRows)): return True return False @@ -271,7 +281,7 @@ def _outer_select_joins_on_inner_select_join(): if not on: return False selections = [c.name for c in on.find_all(exp.Column) if c.table == alias] - inner_from = inner_scope.expression.args.get("from") + inner_from = inner_scope.expression.args.get("from_") if not inner_from: return False inner_from_table = inner_from.alias_or_name @@ -303,7 +313,7 @@ def _is_recursive(): and not outer_scope.expression.is_star and isinstance(inner_select, exp.Select) and not any(inner_select.args.get(arg) for arg in UNMERGABLE_ARGS) - and inner_select.args.get("from") is not None + and inner_select.args.get("from_") is not None and not outer_scope.pivots and not any(e.find(exp.Select, exp.Explode) for e in inner_select.expressions) # PYDOUGH CHANGE: allow merging when the inner select has an diff --git a/pydough/sqlglot/override_pushdown_predicates.py b/pydough/sqlglot/override_pushdown_predicates.py index b15f67bfe..e251bbadc 100644 --- a/pydough/sqlglot/override_pushdown_predicates.py +++ b/pydough/sqlglot/override_pushdown_predicates.py @@ -21,7 +21,7 @@ def contains_real_aggregate(expression) -> bool: is created by PyDough to account for such an edge case when pushing down predicates. """ - for agg_expr in find_all_in_scope(expression, exp.AggFunc, bfs=True): + for agg_expr in find_all_in_scope(expression, exp.AggFunc): if ( isinstance(agg_expr, (exp.Max, exp.Min)) and len(agg_expr.args["expressions"]) > 0 diff --git a/pydough/sqlglot/override_qualify.py b/pydough/sqlglot/override_qualify.py index 1dd472034..ac4a13a71 100644 --- a/pydough/sqlglot/override_qualify.py +++ b/pydough/sqlglot/override_qualify.py @@ -1,5 +1,6 @@ """ -Overridden version of the qualify.py and qualify_tables.py file from sqlglot. +Overridden version of the qualify.py, qualify_tables.py, and qualify_columns.py +files from sqlglot. """ from __future__ import annotations @@ -7,14 +8,15 @@ import itertools import typing as t -from sqlglot import alias, exp +from sqlglot import exp from sqlglot.dialects.dialect import Dialect, DialectType from sqlglot.dialects.sqlite import SQLite -from sqlglot.helper import csv_reader, name_sequence +from sqlglot.errors import OptimizeError +from sqlglot.helper import name_sequence, seq_get from sqlglot.optimizer.isolate_table_selects import isolate_table_selects from sqlglot.optimizer.normalize_identifiers import normalize_identifiers from sqlglot.optimizer.qualify_columns import ( - pushdown_cte_alias_columns as pushdown_cte_alias_columns_func, + pushdown_cte_alias_columns, ) from sqlglot.optimizer.qualify_columns import ( quote_identifiers as quote_identifiers_func, @@ -24,22 +26,23 @@ ) from sqlglot.optimizer.qualify_columns import ( _pop_table_column_aliases, + _separate_pseudocolumns, _expand_using, _expand_alias_refs, _convert_columns_to_dots, _expand_stars, qualify_outputs, _expand_group_by, - _expand_order_by, - Resolver, + _expand_order_by_and_distinct_on, ) -from sqlglot.errors import OptimizeError +from sqlglot.optimizer.resolver import Resolver from sqlglot.optimizer.scope import Scope, traverse_scope from sqlglot.schema import Schema, ensure_schema from sqlglot.optimizer.annotate_types import TypeAnnotator if t.TYPE_CHECKING: from sqlglot._typing import E + from collections.abc import Sequence # ruff: noqa # mypy: ignore-errors @@ -61,7 +64,6 @@ def qualify( validate_qualify_columns: bool = True, quote_identifiers: bool = True, identify: bool = True, - infer_csv_schemas: bool = False, ) -> exp.Expression: """ Rewrite sqlglot AST to have normalized and qualified tables and columns. @@ -93,28 +95,26 @@ def qualify( This step is necessary to ensure correctness for case sensitive queries. But this flag is provided in case this step is performed at a later time. identify: If True, quote all identifiers, else only necessary ones. - infer_csv_schemas: Whether to scan READ_CSV calls in order to infer the CSVs' schemas. Returns: The qualified expression. """ schema = ensure_schema(schema, dialect=dialect) + dialect = Dialect.get_or_raise(dialect) + + expression = normalize_identifiers( + expression, dialect=dialect, store_original_column_identifiers=True + ) expression = qualify_tables( expression, db=db, catalog=catalog, - schema=schema, dialect=dialect, - infer_csv_schemas=infer_csv_schemas, ) - expression = normalize_identifiers(expression, dialect=dialect) if isolate_tables: expression = isolate_table_selects(expression, schema=schema) - if Dialect.get_or_raise(dialect).PREFER_CTE_ALIAS_COLUMN: - expression = pushdown_cte_alias_columns_func(expression) - if qualify_columns: expression = qualify_columns_func( expression, @@ -140,8 +140,6 @@ def qualify_tables( expression: E, db: str | exp.Identifier | None = None, catalog: str | exp.Identifier | None = None, - schema: Schema | None = None, - infer_csv_schemas: bool = False, dialect: DialectType = None, ) -> E: """ @@ -159,148 +157,227 @@ def qualify_tables( 'SELECT 1 FROM (SELECT * FROM t1 AS t1, t2 AS t2) AS t' Args: - expression: Expression to qualify + expression: Expr to qualify db: Database name catalog: Catalog name - schema: A schema to populate - infer_csv_schemas: Whether to scan READ_CSV calls in order to infer the CSVs' schemas. dialect: The dialect to parse catalog and schema into. Returns: The qualified expression. """ - next_alias_name = name_sequence("_q_") - db = exp.parse_identifier(db, dialect=dialect) if db else None - catalog = exp.parse_identifier(catalog, dialect=dialect) if catalog else None + dialect = Dialect.get_or_raise(dialect) + next_alias_name = name_sequence("_") + + if db := db or None: + db = exp.parse_identifier(db, dialect=dialect) + db.meta["is_table"] = True + db = normalize_identifiers(db, dialect=dialect) + if catalog := catalog or None: + catalog = exp.parse_identifier(catalog, dialect=dialect) + catalog.meta["is_table"] = True + catalog = normalize_identifiers(catalog, dialect=dialect) def _qualify(table: exp.Table) -> None: if isinstance(table.this, exp.Identifier): - if not table.args.get("db"): - table.set("db", db) - if not table.args.get("catalog") and table.args.get("db"): - table.set("catalog", catalog) + if db and not table.args.get("db"): + table.set("db", db.copy()) + if catalog and not table.args.get("catalog") and table.args.get("db"): + table.set("catalog", catalog.copy()) if (db or catalog) and not isinstance(expression, exp.Query): + with_ = expression.args.get("with_") or exp.With() + cte_names = {cte.alias_or_name for cte in with_.expressions} + for node in expression.walk(prune=lambda n: isinstance(n, exp.Query)): - if isinstance(node, exp.Table): + if isinstance(node, exp.Table) and node.name not in cte_names: _qualify(node) + def _set_alias( + expr: exp.Expr, + target_alias: str | None = None, + scope: Scope | None = None, + normalize: bool = False, + columns: Sequence[str | exp.Identifier | exp.ColumnDef] | None = None, + quoted: bool | None = None, + ) -> None: + table_alias = expr.args.get("alias") or exp.TableAlias() + + if table_alias.name: + return + + new_alias_name = target_alias or next_alias_name() + if normalize and target_alias: + new_alias_name = normalize_identifiers(new_alias_name, dialect=dialect).name + + alias_identifier = exp.to_identifier(new_alias_name) + # PYDOUGH CHANGE: preserve quoting from the original table name + # Example: keywords."CAST" should become keywords."CAST" AS "CAST" + if quoted is not None: + alias_identifier.set("quoted", quoted) + table_alias.set("this", alias_identifier) + + if columns: + table_alias.set( + "columns", + [ + exp.to_identifier(c) if isinstance(c, str) else c.copy() + for c in columns + ], + ) + + expr.set("alias", table_alias) + + if scope: + scope.rename_source(None, new_alias_name) + for scope in traverse_scope(expression): - for derived_table in itertools.chain(scope.ctes, scope.derived_tables): - if isinstance(derived_table, exp.Subquery): - unnested = derived_table.unnest() - if isinstance(unnested, exp.Table): - joins = unnested.args.pop("joins", None) - derived_table.this.replace( - exp.select("*").from_(unnested.copy(), copy=False) - ) - derived_table.this.set("joins", joins) + parent = scope.parent - if not derived_table.args.get("alias"): - alias_ = next_alias_name() - derived_table.set( - "alias", exp.TableAlias(this=exp.to_identifier(alias_)) - ) - scope.rename_source(None, alias_) + queries: list[exp.Expr] = list(scope.subqueries) + + # Subquery wrappers around a DML / DDL query fragment, e.g., a CREATE FUNCTION body or + # an UPDATE's SET subquery, don't belong to any scope, so they aren't collected above + if scope.is_root and isinstance(scope.expression, exp.Subquery): + queries.append(scope.expression.unnest()) + elif scope.is_subquery: + queries.append(scope.expression) + + for query in queries: + subquery = query.parent + if isinstance(subquery, exp.Subquery): + unwrapped = subquery.unwrap() + if isinstance(unwrapped.parent, (exp.From, exp.Join)): + # We can reach this from a wrapped derived table, which must keep its alias + continue - pivots = derived_table.args.get("pivots") - if pivots and not pivots[0].alias: - pivots[0].set( - "alias", exp.TableAlias(this=exp.to_identifier(next_alias_name())) + if ( + isinstance(unwrapped.parent, exp.Create) + and unwrapped is not subquery + ): + # Function bodies may require wrapping parentheses, e.g. in BigQuery + # `... AS ((SELECT 1))` the outer parens delimit the body itself + unwrapped.set("this", subquery) + else: + unwrapped.replace(subquery) + + for derived_table in scope.derived_tables: + unnested = derived_table.unnest() + if isinstance(unnested, exp.Table): + joins = unnested.args.get("joins") + unnested.set("joins", None) + derived_table.this.replace( + exp.select("*").from_(unnested.copy(), copy=False) ) + derived_table.this.set("joins", joins) + + _set_alias(derived_table, scope=scope) + if pivot := seq_get(derived_table.args.get("pivots") or [], -1): + _set_alias(pivot) table_aliases = {} for name, source in scope.sources.items(): + # A source can appear in many scopes, e.g. as a lateral source of a UDTF scope or as a + # CTE propagated to inner scopes. Deferring to the parent scope when it contains the + # same source ensures each source is processed once, in the outermost scope that + # contains it. + if parent and parent.sources.get(name) is source: + continue + if isinstance(source, exp.Table): - pivots = source.args.get("pivots") + # When the name is empty, it means that we have a non-table source, e.g. a + # pivoted cte + is_real_table_source = bool(name) + + if pivot := seq_get(source.args.get("pivots") or [], -1): + name = source.name + + table_this = source.this + table_alias = source.args.get("alias") + + # PYDOUGH CHANGE: preserve quoting from the original table name + # Example: keywords."CAST" should become keywords."CAST" AS "CAST" + # Only do this if the source is not aliased already and is not an + # Anonymous expression, e.g. TABLE(GENERATOR(...)) is not a named + # table. quoted = None - if not source.alias: - # Don't add the pivot's alias to the pivoted table, use the table's name instead - if pivots and pivots[0].alias == name: - name = source.name - - # PYDOUGH CHANGE: preserve quoting from the original table name - # Example: keywords."CAST" should become keywords."CAST" AS "CAST" - # Only do this if the source is not an Anonymous expression - # e.g. TABLE(GENERATOR(...)) is not a named table - if not isinstance( - source.this, (exp.Anonymous, exp.ExplodingGenerateSeries) - ): - quoted = source.this.quoted - - # Mutates the source by attaching an alias to it - # PYDOUGH CHANGE: pass along quoting information - alias( - source, - name or source.name or next_alias_name(), - copy=False, - table=True, - quoted=quoted, - ) + if not table_alias and not isinstance( + table_this, (exp.Anonymous, exp.ExplodingGenerateSeries) + ): + quoted = table_this.quoted - table_aliases[".".join(p.name for p in source.parts)] = ( - exp.to_identifier(source.alias) + _set_alias( + source, + target_alias=name or source.name or None, + normalize=True, + quoted=quoted, ) - if pivots: - if not pivots[0].alias: - pivot_alias = next_alias_name() - pivots[0].set( - "alias", exp.TableAlias(this=exp.to_identifier(pivot_alias)) - ) + source_fqn = ".".join(p.name for p in source.parts) + had_explicit_alias = table_alias and table_alias.name + if not had_explicit_alias or source_fqn not in table_aliases: + table_aliases[source_fqn] = source.args["alias"].this.copy() + + if pivot: + target_alias = source.alias if pivot.unpivot else None + _set_alias(pivot, target_alias=target_alias, normalize=True) # This case corresponds to a pivoted CTE, we don't want to qualify that if isinstance(scope.sources.get(source.alias_or_name), Scope): continue - _qualify(source) - - if ( - infer_csv_schemas - and schema - and isinstance(source.this, exp.ReadCSV) - ): - with csv_reader(source.this) as reader: - header = next(reader) - columns = next(reader) - schema.add_table( - source, - {k: type(v).__name__ for k, v in zip(header, columns)}, - match_depth=False, - ) + if is_real_table_source: + _qualify(source) elif isinstance(source, Scope) and source.is_udtf: udtf = source.expression - table_alias = udtf.args.get("alias") or exp.TableAlias( - this=exp.to_identifier(next_alias_name()) - ) - udtf.set("alias", table_alias) + _set_alias(udtf) + + table_alias = udtf.args["alias"] - if not table_alias.name: - table_alias.set("this", exp.to_identifier(next_alias_name())) if isinstance(udtf, exp.Values) and not table_alias.columns: - for i, e in enumerate(udtf.expressions[0].expressions): - # PyDough change: adjust the formula to match the - # dialect's - if isinstance(dialect, SQLite): - table_alias.append( - "columns", exp.to_identifier(f"column{i + 1}") - ) - else: - table_alias.append( - "columns", exp.to_identifier(f"_col_{i}") - ) - else: - for node in scope.walk(): - if ( - isinstance(node, exp.Table) - and not node.alias - and isinstance(node.parent, (exp.From, exp.Join)) - ): - # Mutates the table by attaching an alias to it - alias(node, node.name, copy=False, table=True) - - for column in scope.columns: + # PYDOUGH CHANGE: use the dialect's own default column + # naming convention for VALUES clauses instead of + # sqlglot's generic "_col_N" (e.g. SQLite uses + # "column1", "column2", ...). + if isinstance(dialect, SQLite): + raw_column_names = [ + f"column{i + 1}" + for i in range(len(udtf.expressions[0].expressions)) + ] + else: + raw_column_names = dialect.generate_values_aliases(udtf) + column_aliases = [ + normalize_identifiers( + exp.to_identifier(name) if isinstance(name, str) else name, + dialect=dialect, + ) + for name in raw_column_names + ] + table_alias.set("columns", column_aliases) + elif isinstance(udtf, exp.TableFromRows) and not table_alias.columns: + default_columns = dialect.DEFAULT_FUNCTIONS_COLUMN_NAMES.get( + type(udtf.this) + ) + if default_columns: + table_alias.set( + "columns", + [ + normalize_identifiers( + exp.to_identifier(c), dialect=dialect + ) + for c in ( + default_columns + if isinstance(default_columns, tuple) + else [default_columns] + ) + ], + ) + + for table in scope.tables: + if not table.alias and isinstance(table.parent, (exp.From, exp.Join)): + _set_alias(table, target_alias=table.name) + + for column in scope.local_columns: if column.db: table_alias = table_aliases.get( ".".join(p.name for p in column.parts[0:-1]) @@ -309,7 +386,8 @@ def _qualify(table: exp.Table) -> None: if table_alias: for p in exp.COLUMN_PARTS[1:]: column.set(p, None) - column.set("table", table_alias) + + column.set("table", table_alias.copy()) return expression @@ -351,25 +429,17 @@ def qualify_columns_func( schema = ensure_schema(schema) annotator = TypeAnnotator(schema) infer_schema = schema.empty if infer_schema is None else infer_schema - dialect = Dialect.get_or_raise(schema.dialect) + dialect = schema.dialect or Dialect() pseudocolumns = dialect.PSEUDOCOLUMNS - snowflake_or_oracle = dialect in ("oracle", "snowflake") - for scope in traverse_scope(expression): + if dialect.PREFER_CTE_ALIAS_COLUMN: + pushdown_cte_alias_columns(scope) + scope_expression = scope.expression is_select = isinstance(scope_expression, exp.Select) - if is_select and snowflake_or_oracle and scope_expression.args.get("connect"): - # In Snowflake / Oracle queries that have a CONNECT BY clause, one can use the LEVEL - # pseudocolumn, which doesn't belong to a table, so we change it into an identifier - scope_expression.transform( - lambda n: ( - n.this if isinstance(n, exp.Column) and n.name == "LEVEL" else n - ), - copy=False, - ) - scope.clear_cache() + _separate_pseudocolumns(scope, pseudocolumns) resolver = Resolver(scope, schema, infer_schema=infer_schema) _pop_table_column_aliases(scope.ctes) @@ -383,14 +453,20 @@ def qualify_columns_func( scope, resolver, dialect, - expand_only_groupby=dialect.EXPAND_ALIAS_REFS_EARLY_ONLY_IN_GROUP_BY, + expand_only_groupby=dialect.EXPAND_ONLY_GROUP_ALIAS_REF, ) _convert_columns_to_dots(scope, resolver) _qualify_columns( - scope, resolver, allow_partial_qualification=allow_partial_qualification + scope, + resolver, + allow_partial_qualification=allow_partial_qualification, ) + # Refresh classification caches: a column just qualified in place may have been cached + # as external + scope.clear_column_cache() + if not schema.empty and expand_alias_refs: _expand_alias_refs(scope, resolver, dialect) @@ -403,12 +479,15 @@ def qualify_columns_func( pseudocolumns, annotator, ) - qualify_outputs(scope) + qualify_outputs(scope, dialect=dialect) _expand_group_by(scope, dialect) - _expand_order_by(scope, resolver) - if dialect == "bigquery": + # DISTINCT ON and ORDER BY follow the same rules (tested in DuckDB, Postgres, ClickHouse) + # https://www.postgresql.org/docs/current/sql-select.html#SQL-DISTINCT + _expand_order_by_and_distinct_on(scope, resolver) + + if dialect.ANNOTATE_ALL_SCOPES: annotator.annotate_scope(scope) return expression diff --git a/pydough/sqlglot/override_simplify.py b/pydough/sqlglot/override_simplify.py index 208124b18..cee7f69a6 100644 --- a/pydough/sqlglot/override_simplify.py +++ b/pydough/sqlglot/override_simplify.py @@ -1,5 +1,6 @@ """ Overridden version of the simplify.py file from sqlglot. + """ from __future__ import annotations @@ -7,242 +8,301 @@ import datetime import typing as t -from sqlglot import Dialect, exp -from sqlglot.helper import merge_ranges, while_changing +from sqlglot import exp +from sqlglot.helper import merge_ranges from sqlglot.optimizer.simplify import ( - DATETRUNC_BINARY_COMPARISONS, - DATETRUNC_COMPARISONS, - DATETRUNCS, FINAL, + SIMPLIFIABLE, + Simplifier, UnsupportedUnit, _datetrunc_eq_expression, _datetrunc_range, - _is_datetrunc_predicate, - absorb_and_eliminate, + _parenthesize_nested_connector, + _trunc_unit, + annotate_types_on_change, catch, - connector_depth, - date_floor, + datetime_floor, date_literal, extract_date, extract_type, flatten, is_null, - logger, propagate_constants, - remove_complements, - remove_where_true, - rewrite_between, - simplify_coalesce, - simplify_concat, - simplify_conditionals, - simplify_connectors, - simplify_equality, - simplify_literals, - simplify_not, simplify_parens, - simplify_startswith, - sort_comparison, - uniq_sort, ) if t.TYPE_CHECKING: from sqlglot.dialects.dialect import DialectType - DateTruncBinaryTransform = t.Callable[ - [exp.Expression, datetime.date, str, Dialect, exp.DataType], - exp.Expression | None, - ] +# ruff: noqa +# mypy: ignore-errors +# ruff & mypy should not try to typecheck or verify any of this -def simplify( - expression: exp.Expression, - constant_propagation: bool = False, - dialect: DialectType = None, - max_depth: int | None = None, -): +class PyDoughSimplifier(Simplifier): """ - Rewrite sqlglot AST to simplify expressions. - - Example: - >>> import sqlglot - >>> expression = sqlglot.parse_one("TRUE AND TRUE") - >>> simplify(expression).sql() - 'TRUE' - - Args: - expression: expression to simplify - constant_propagation: whether the constant propagation rule should be used - max_depth: Chains of Connectors (AND, OR, etc) exceeding `max_depth` will be skipped - Returns: - sqlglot.Expression: simplified expression + SQLGlot rewrote its `simplify` optimizer pass from a set of free functions + into a `Simplifier` class. Rather than re-forking the whole (much larger) + class, PyDough just subclasses `Simplifier` and overrides only the methods + `_simplify` (to splice in extra pre/post-order rewrite + rules) and `simplify_datetrunc` (to guard against `datetime.datetime` + values), adding extra pre/post-order rewrite rules on top of the + stock ones. """ - dialect = Dialect.get_or_raise(dialect) + def _simplify( + self, + expression: exp.Expr, + constant_propagation: bool, + coalesce_simplification: bool, + ): + pre_transformation_stack = [expression] + post_transformation_stack = [] + + while pre_transformation_stack: + original = pre_transformation_stack.pop() + node = original + + if not isinstance(node, SIMPLIFIABLE): + if isinstance(node, exp.Query): + self.simplify(node, constant_propagation, coalesce_simplification) + else: + # PyDough Change: `Simplifier.simplify()`'s outer walk + # prunes descent as soon as it finds a Condition-typed + # node (e.g. exp.Window), relying on this loop to reach + # its children. But non-SIMPLIFIABLE nodes like Window + # hit this branch and were never pushing their children + # onto the stack, so expressions nested inside them (e.g. + # a CASE inside a window function's PARTITION BY) were + # never visited at all. Push the children through so they + # still get simplified. + pre_transformation_stack.extend( + n + for n in node.iter_expressions(reverse=True) + if not n.meta_get(FINAL) + ) + continue + + parent = node.parent + root = node is expression + + node = self.rewrite_between(node) + node = self.uniq_sort(node, root) + node = self.absorb_and_eliminate(node, root) + node = self.simplify_concat(node) + node = self.simplify_conditionals(node) + + # PyDough Change: new pre-order transformations + node = rewrite_case_to_nullif(node) + node = rewrite_coalesce_nullif(node) + node = rewrite_sum_nullif(node) + node = rewrite_coalesce_count(node) + node = rewrite_length_literal(node) + node = rewrite_division(node) + + if constant_propagation: + node = propagate_constants(node, root) + + if node is not original: + original.replace(node) + + pre_transformation_stack.extend( + n for n in node.iter_expressions(reverse=True) if not n.meta_get(FINAL) + ) + post_transformation_stack.append((node, parent)) + + while post_transformation_stack: + original, parent = post_transformation_stack.pop() + root = original is expression + + # Resets parent, arg_key, index pointers, same as stock sqlglot. + for k, v in tuple(original.args.items()): + if v is None: + original.args.pop(k) + else: + original._set_parent(k, v) + + # Post-order transformations + node = self.simplify_not(original) + node = flatten(node) + node = self.simplify_connectors(node, root) + node = self.remove_complements(node, root) + + if coalesce_simplification: + node = self.simplify_coalesce(node) + node.parent = parent + + node = self.simplify_literals(node, root) + node = self.simplify_equality(node) + node = simplify_parens(node, dialect=self.dialect) + node = self.simplify_datetrunc(node) + node = self.sort_comparison(node) + node = self.simplify_startswith(node) + + # PyDough Change: new post-order transformations + node = rewrite_nullif_coalesce(node) + # Length is rewritten both before and after since LENGTH(literal) can + # be generated by the PyDough->SQLGlot generation, so doing it in + # pre-order may enable other optimizations. However, other rules may + # reduce terms into string literals, thus generating more LENGTH calls + # on a literal. + node = rewrite_length_literal(node) + + if node is not original: + original.replace(node) - def _simplify(expression, root=True): - if ( - max_depth - and isinstance(expression, exp.Connector) - and not isinstance(expression.parent, exp.Connector) - ): - depth = connector_depth(expression) - if depth > max_depth: - logger.info( - f"Skipping simplification because connector depth {depth} exceeds max {max_depth}" - ) - return expression + return node - if expression.meta.get(FINAL): + @annotate_types_on_change + @catch(ModuleNotFoundError, UnsupportedUnit) + def simplify_datetrunc(self, expression: exp.Expr) -> exp.Expr: + """Simplify expressions like `DATE_TRUNC('year', x) >= CAST('2021-01-01' AS DATE)`""" + comparison = expression.__class__ + + if isinstance(expression, self.DATETRUNCS): + this = expression.this + trunc_type = extract_type(this) + date = extract_date(this) + #### Start of PyDough Change #### + # If date is datetime.datetime, it should NOT enter the if statement + # because `datetime_floor` only works correctly on datetime.date + if date and not isinstance(date, datetime.datetime) and expression.unit: + return date_literal( + datetime_floor( + date, _trunc_unit(expression.unit, self.dialect), self.dialect + ), + trunc_type, + ) + #### End of PyDough Change #### + elif comparison not in self.DATETRUNC_COMPARISONS: return expression - # group by expressions cannot be simplified, for example - # select x + 1 + 1 FROM y GROUP BY x + 1 + 1 - # the projection must exactly match the group by key - group = expression.args.get("group") - - if group and hasattr(expression, "selects"): - groups = set(group.expressions) - group.meta[FINAL] = True - - for e in expression.selects: - for node in e.walk(): - if node in groups: - e.meta[FINAL] = True - break - - having = expression.args.get("having") - if having: - for node in having.walk(): - if node in groups: - having.meta[FINAL] = True - break - - # Pre-order transformations - node = expression - node = rewrite_between(node) - node = uniq_sort(node, root) - node = absorb_and_eliminate(node, root) - node = simplify_concat(node) - node = simplify_conditionals(node) - - # PyDough Change: new pre-order transformations - node = rewrite_case_to_nullif(node) - node = rewrite_coalesce_nullif(node) - node = rewrite_sum_nullif(node) - node = rewrite_coalesce_count(node) - node = rewrite_length_literal(node) - node = rewrite_division(node) - - if constant_propagation: - node = propagate_constants(node, root) - - exp.replace_children(node, lambda e: _simplify(e, False)) - - # Post-order transformations - node = simplify_not(node) - node = flatten(node) - node = simplify_connectors(node, root) - node = remove_complements(node, root) - node = simplify_coalesce(node) - node.parent = expression.parent - node = simplify_literals(node, root) - node = simplify_equality(node) - node = simplify_parens(node) - node = simplify_datetrunc(node, dialect) - node = sort_comparison(node) - node = simplify_startswith(node) - - # PyDough Change: new post-order transformations - node = rewrite_nullif_coalesce(node) - # Length is rewritten both before and after since LENGTH(literal) can - # be generated by the PyDough->SQLGlot generation, so doing it in - # pre-order may enable other optimizations. However, other rules may - # reduce terms into string literals, thus generating more LENGTH calls - # on a literal. - node = rewrite_length_literal(node) - - if root: - expression.replace(node) - return node + if isinstance(expression, exp.Binary): + l, r = expression.left, expression.right # noqa: E741 - expression = while_changing(expression, _simplify) - remove_where_true(expression) - return expression + if not self._is_datetrunc_predicate(l, r) or not isinstance( + l, (exp.DateTrunc, exp.TimestampTrunc) + ): + return expression + trunc_arg = l.this + unit = _trunc_unit(l.args["unit"], self.dialect) + date = extract_date(r) -@catch(ModuleNotFoundError, UnsupportedUnit) -def simplify_datetrunc(expression: exp.Expression, dialect: Dialect) -> exp.Expression: - """Simplify expressions like `DATE_TRUNC('year', x) >= CAST('2021-01-01' AS DATE)`""" - comparison = expression.__class__ + if not date: + return expression - if isinstance(expression, DATETRUNCS): - this = expression.this - trunc_type = extract_type(this) - date = extract_date(this) - #### Start of PyDough Change #### - # If date is datetime.datetime, it should NOT enter the if statement - # because `date_floor` only works correctly on datetime.date - if date and not isinstance(date, datetime.datetime) and expression.unit: - return date_literal( - date_floor(date, expression.unit.name.lower(), dialect), trunc_type + simplified = self.DATETRUNC_BINARY_COMPARISONS[comparison]( + trunc_arg, date, unit, self.dialect, extract_type(r) ) - #### End of PyDough Change #### - elif comparison not in DATETRUNC_COMPARISONS: - return expression - - if isinstance(expression, exp.Binary): - l, r = expression.left, expression.right # noqa: E741 + if simplified is None: + return expression - if not _is_datetrunc_predicate(l, r): - return expression + return _parenthesize_nested_connector(simplified, expression.parent) + + if isinstance(expression, exp.In): + l = expression.this # noqa: E741 + rs = expression.expressions + + if ( + rs + and all(self._is_datetrunc_predicate(l, r) for r in rs) + and isinstance(l, (exp.DateTrunc, exp.TimestampTrunc)) + ): + unit = _trunc_unit(l.args["unit"], self.dialect) + + ranges = [] + for r in rs: + date = extract_date(r) + if not date: + return expression + drange = _datetrunc_range(date, unit, self.dialect) + if drange: + ranges.append(drange) + + if not ranges: + return expression - l = t.cast(exp.DateTrunc, l) # noqa: E741 - trunc_arg = l.this - unit = l.unit.name.lower() - date = extract_date(r) + ranges = merge_ranges(ranges) + target_type = extract_type(*rs) - if not date: - return expression + simplified = exp.or_( + *[ + _datetrunc_eq_expression(l, drange, target_type) + for drange in ranges + ], + copy=False, + ) + return _parenthesize_nested_connector(simplified, expression.parent) - return ( - DATETRUNC_BINARY_COMPARISONS[comparison]( - trunc_arg, date, unit, dialect, extract_type(r) - ) - or expression - ) + return expression - if isinstance(expression, exp.In): - l = expression.this # noqa: E741 - rs = expression.expressions + def _simplify_binary(self, expression: exp.Expr, a: exp.Expr, b: exp.Expr): + result = super()._simplify_binary(expression, a, b) + if result is not None: + return result - if rs and all(_is_datetrunc_predicate(l, r) for r in rs): - l = t.cast(exp.DateTrunc, l) # noqa: E741 - unit = l.unit.name.lower() + #### Start of PyDough Change #### + # Upstream narrowed NULL-propagation for binary expressions (e.g. + # `1 / NULL`) to only fire when the expression's parent is an + # `exp.If`, losing the general case that sqlglot's old free-function + # `simplify.py` always handled (any binary op with a NULL operand, + # other than null-safe comparisons, simplifies to NULL). Restore the + # original, unconditional behavior. + if ( + not isinstance(expression, exp.Is) + and not isinstance(expression, self.NULL_OK) + and (is_null(a) or is_null(b)) + ): + return exp.null() + #### End of PyDough Change #### - ranges = [] - for r in rs: - date = extract_date(r) - if not date: - return expression - drange = _datetrunc_range(date, unit, dialect) - if drange: - ranges.append(drange) + return result - if not ranges: - return expression - ranges = merge_ranges(ranges) - target_type = extract_type(*rs) +def simplify( + expression: exp.Expression, + constant_propagation: bool = False, + dialect: DialectType = None, +) -> exp.Expression: + """ + Rewrite sqlglot AST to simplify expressions. - return exp.or_( - *[ - _datetrunc_eq_expression(l, drange, target_type) - for drange in ranges - ], - copy=False, - ) + Example: + >>> import sqlglot + >>> expression = sqlglot.parse_one("TRUE AND TRUE") + >>> simplify(expression).sql() + 'TRUE' + Args: + expression: expression to simplify + constant_propagation: whether the constant propagation rule should be used + dialect: the dialect to use for simplification + Returns: + sqlglot.Expression: simplified expression + """ + simplifier = PyDoughSimplifier(dialect=dialect) + + #### Start of PyDough Change #### + # `simplify()` can converge one iteration too early for expressions + # reached via our `_simplify` patch above, leaving behind invalid + # intermediate SQL (e.g. a `COALESCE(x)` missing its default argument). + # Re-running cleans this up, and is a no-op once truly converged. + previous_sql: str | None = None + for _ in range(5): + expression = simplifier.simplify( + expression, + constant_propagation=constant_propagation, + # PyDough always ran the coalesce-simplification rule (it wasn't + # optional prior to sqlglot introducing this flag). + coalesce_simplification=True, + ) + current_sql = expression.sql(dialect=dialect) + if current_sql == previous_sql: + break + previous_sql = current_sql return expression + #### End of PyDough Change #### def rewrite_case_to_nullif(expr: exp.Expression) -> exp.Expression: diff --git a/pydough/sqlglot/override_unnest_subqueries.py b/pydough/sqlglot/override_unnest_subqueries.py index de29b4032..509aeccd4 100644 --- a/pydough/sqlglot/override_unnest_subqueries.py +++ b/pydough/sqlglot/override_unnest_subqueries.py @@ -243,6 +243,7 @@ def get_scope_external_columns( left, right = scope.union_scopes scope._external_columns = left.external_columns + right.external_columns else: + local_source_names = {name for name, _ in scope.references} scope._external_columns = [ c for c in scope.columns @@ -252,8 +253,8 @@ def get_scope_external_columns( and not ( isinstance(dialect, OracleDialect) and c.this.this == "SYSTIMESTAMP" ) - and c.table not in scope.selected_sources - and c.table not in scope.semi_or_anti_join_tables + and c.text("table") not in local_source_names + and c.text("table") not in scope.semi_or_anti_join_tables ] return scope._external_columns diff --git a/pydough/sqlglot/transform_bindings/base_transform_bindings.py b/pydough/sqlglot/transform_bindings/base_transform_bindings.py index 40c13361d..0b07f7046 100644 --- a/pydough/sqlglot/transform_bindings/base_transform_bindings.py +++ b/pydough/sqlglot/transform_bindings/base_transform_bindings.py @@ -42,6 +42,7 @@ apply_parens, create_constant_table, current_ts_pattern, + extract_int_literal, generate_dataframe_rows, generate_range_rows, offset_pattern, @@ -773,46 +774,24 @@ def convert_slice( start_idx: int | None = None if not isinstance(start, sqlglot_expressions.Null): - if isinstance(start, sqlglot_expressions.Literal): - try: - start_idx = int(start.this) - except ValueError: - raise PyDoughSQLException( - "SLICE function currently only supports the start index being integer literal or absent." - ) - else: + start_idx = extract_int_literal(start) + if start_idx is None: raise PyDoughSQLException( "SLICE function currently only supports the start index being integer literal or absent." ) stop_idx: int | None = None if not isinstance(stop, sqlglot_expressions.Null): - if isinstance(stop, sqlglot_expressions.Literal): - try: - stop_idx = int(stop.this) - except ValueError: - raise PyDoughSQLException( - "SLICE function currently only supports the stop index being integer literal or absent." - ) - else: + stop_idx = extract_int_literal(stop) + if stop_idx is None: raise PyDoughSQLException( "SLICE function currently only supports the stop index being integer literal or absent." ) step_idx: int | None = None if not isinstance(step, sqlglot_expressions.Null): - if isinstance(step, sqlglot_expressions.Literal): - try: - step_idx = int(step.this) - if step_idx != 1: - raise PyDoughSQLException( - "SLICE function currently only supports the step being integer literal 1 or absent." - ) - except ValueError: - raise PyDoughSQLException( - "SLICE function currently only supports the step being integer literal 1 or absent." - ) - else: + step_idx = extract_int_literal(step) + if step_idx is None or step_idx != 1: raise PyDoughSQLException( "SLICE function currently only supports the step being integer literal 1 or absent." ) diff --git a/pydough/sqlglot/transform_bindings/mysql_transform_bindings.py b/pydough/sqlglot/transform_bindings/mysql_transform_bindings.py index 068546099..510477f24 100644 --- a/pydough/sqlglot/transform_bindings/mysql_transform_bindings.py +++ b/pydough/sqlglot/transform_bindings/mysql_transform_bindings.py @@ -28,6 +28,7 @@ create_constant_table, expand_std, expand_variance, + extract_int_literal, generate_range_rows, ) @@ -146,46 +147,24 @@ def convert_slice( start_idx: int | None = None if not isinstance(start, sqlglot_expressions.Null): - if isinstance(start, sqlglot_expressions.Literal): - try: - start_idx = int(start.this) - except ValueError: - raise ValueError( - "SLICE function currently only supports the start index being integer literal or absent." - ) - else: + start_idx = extract_int_literal(start) + if start_idx is None: raise ValueError( "SLICE function currently only supports the start index being integer literal or absent." ) stop_idx: int | None = None if not isinstance(stop, sqlglot_expressions.Null): - if isinstance(stop, sqlglot_expressions.Literal): - try: - stop_idx = int(stop.this) - except ValueError: - raise ValueError( - "SLICE function currently only supports the stop index being integer literal or absent." - ) - else: + stop_idx = extract_int_literal(stop) + if stop_idx is None: raise ValueError( "SLICE function currently only supports the stop index being integer literal or absent." ) step_idx: int | None = None if not isinstance(step, sqlglot_expressions.Null): - if isinstance(step, sqlglot_expressions.Literal): - try: - step_idx = int(step.this) - if step_idx != 1: - raise ValueError( - "SLICE function currently only supports the step being integer literal 1 or absent." - ) - except ValueError: - raise ValueError( - "SLICE function currently only supports the step being integer literal 1 or absent." - ) - else: + step_idx = extract_int_literal(step) + if step_idx is None or step_idx != 1: raise ValueError( "SLICE function currently only supports the step being integer literal 1 or absent." ) diff --git a/pydough/sqlglot/transform_bindings/oracle_transform_bindings.py b/pydough/sqlglot/transform_bindings/oracle_transform_bindings.py index a290bb4bf..b74d1aa54 100644 --- a/pydough/sqlglot/transform_bindings/oracle_transform_bindings.py +++ b/pydough/sqlglot/transform_bindings/oracle_transform_bindings.py @@ -27,6 +27,7 @@ from .sqlglot_transform_utils import ( DateTimeUnit, apply_parens, + extract_int_literal, ) @@ -308,49 +309,31 @@ def convert_slice( start_idx: int | None = None if not isinstance(start, sqlglot_expressions.Null): - if isinstance(start, sqlglot_expressions.Literal): - try: - start_idx = int(start.this) - except ValueError: - raise ValueError( - "SLICE function currently only supports the start index being integer literal or absent, got non-integer literal." - ) - else: + start_idx = extract_int_literal(start) + if start_idx is None: raise ValueError( "SLICE function currently only supports the start index being integer literal or absent, got non-integer literal." ) stop_idx: int | None = None if not isinstance(stop, sqlglot_expressions.Null): - if isinstance(stop, sqlglot_expressions.Literal): - try: - stop_idx = int(stop.this) - except ValueError: - raise ValueError( - "SLICE function currently only supports the stop index being integer literal or absent, got non-integer literal." - ) - else: + stop_idx = extract_int_literal(stop) + if stop_idx is None: raise ValueError( "SLICE function currently only supports the stop index being integer literal or absent, got non-integer literal." ) step_idx: int | None = None if not isinstance(step, sqlglot_expressions.Null): - if isinstance(step, sqlglot_expressions.Literal): - try: - step_idx = int(step.this) - except ValueError: - raise ValueError( - "SLICE function currently only supports the step being integer literal 1 or absent, got non-integer literal." - ) - if step_idx != 1: - raise ValueError( - "SLICE function currently only supports the step being integer literal 1 or absent, got value different than 1." - ) - else: + step_idx = extract_int_literal(step) + if step_idx is None: raise ValueError( "SLICE function currently only supports the step being integer literal 1 or absent, got non-integer literal." ) + if step_idx != 1: + raise ValueError( + "SLICE function currently only supports the step being integer literal 1 or absent, got value different than 1." + ) # SQLGlot expressions for 0 and 1 and empty string sql_one: SQLGlotExpression = sqlglot_expressions.Literal.number(1) @@ -1058,11 +1041,14 @@ def apply_datetime_truncation( match unit: case DateTimeUnit.QUARTER: # TRUNC(o_orderdate, 'Q') + # format must be a string literal + # This is a quirk of Oracle's TRUNC function, + # which expects the format as a string literal. return sqlglot_expressions.Anonymous( this="TRUNC", expressions=[ self.make_datetime_arg(base), - sqlglot_expressions.Var(this="Q"), + sqlglot_expressions.Literal.string("Q"), ], ) case DateTimeUnit.HOUR | DateTimeUnit.MINUTE | DateTimeUnit.SECOND: diff --git a/pydough/sqlglot/transform_bindings/postgres_transform_bindings.py b/pydough/sqlglot/transform_bindings/postgres_transform_bindings.py index 83dac649e..72d6968e7 100644 --- a/pydough/sqlglot/transform_bindings/postgres_transform_bindings.py +++ b/pydough/sqlglot/transform_bindings/postgres_transform_bindings.py @@ -9,6 +9,8 @@ import sqlglot.expressions as sqlglot_expressions from sqlglot import parse_one +from sqlglot.dialects.dialect import _with_strict_time_inverse +from sqlglot.dialects.postgres import Postgres as PostgresDialect from sqlglot.expressions import Expression as SQLGlotExpression from sqlglot.expressions import ( Identifier, @@ -18,6 +20,7 @@ TableAlias, Unnest, ) +from sqlglot.trie import new_trie import pydough.pydough_operators as pydop from pydough.relational.relational_expressions.literal_expression import ( @@ -35,8 +38,23 @@ from .sqlglot_transform_utils import ( DateTimeUnit, apply_parens, + extract_int_literal, ) +# PyDough Change: sqlglot dropped the "AM"/"PM" entries from +# `Postgres.TIME_MAPPING` (present in 26.7.0, missing as of 30.18.0), which +# broke translating the strftime `%p` specifier (e.g. `STRING(x, "%H:%M%p")`) +# into Postgres's native `TO_CHAR` format. Restore them, along with the +# derived INVERSE_TIME_MAPPING/INVERSE_TIME_TRIE structures sqlglot computes +# once at class-definition time (mutating TIME_MAPPING alone has no effect, +# since those aren't recomputed lazily). +PostgresDialect.TIME_MAPPING["AM"] = "%p" +PostgresDialect.TIME_MAPPING["PM"] = "%p" +PostgresDialect.INVERSE_TIME_MAPPING = _with_strict_time_inverse( + {v: k for k, v in PostgresDialect.TIME_MAPPING.items()} +) +PostgresDialect.INVERSE_TIME_TRIE = new_trie(PostgresDialect.INVERSE_TIME_MAPPING) + class PostgresTransformBindings(BaseTransformBindings): """ @@ -397,11 +415,11 @@ def convert_datediff( division_literal: int = 3600 if unit == DateTimeUnit.HOUR else 60 date1_truc: SQLGlotExpression = sqlglot_expressions.TimestampTrunc( - this=date1, unit=unit + this=date1, unit=sqlglot_expressions.Var(this=unit.value) ) date2_truc: SQLGlotExpression = sqlglot_expressions.TimestampTrunc( - this=date2, unit=unit + this=date2, unit=sqlglot_expressions.Var(this=unit.value) ) sub_dates: SQLGlotExpression = sqlglot_expressions.Sub( @@ -534,46 +552,24 @@ def convert_slice( start_idx: int | None = None if not isinstance(start, sqlglot_expressions.Null): - if isinstance(start, sqlglot_expressions.Literal): - try: - start_idx = int(start.this) - except ValueError: - raise ValueError( - "SLICE function currently only supports the start index being integer literal or absent." - ) - else: + start_idx = extract_int_literal(start) + if start_idx is None: raise ValueError( "SLICE function currently only supports the start index being integer literal or absent." ) stop_idx: int | None = None if not isinstance(stop, sqlglot_expressions.Null): - if isinstance(stop, sqlglot_expressions.Literal): - try: - stop_idx = int(stop.this) - except ValueError: - raise ValueError( - "SLICE function currently only supports the stop index being integer literal or absent." - ) - else: + stop_idx = extract_int_literal(stop) + if stop_idx is None: raise ValueError( "SLICE function currently only supports the stop index being integer literal or absent." ) step_idx: int | None = None if not isinstance(step, sqlglot_expressions.Null): - if isinstance(step, sqlglot_expressions.Literal): - try: - step_idx = int(step.this) - if step_idx != 1: - raise ValueError( - "SLICE function currently only supports the step being integer literal 1 or absent." - ) - except ValueError: - raise ValueError( - "SLICE function currently only supports the step being integer literal 1 or absent." - ) - else: + step_idx = extract_int_literal(step) + if step_idx is None or step_idx != 1: raise ValueError( "SLICE function currently only supports the step being integer literal 1 or absent." ) diff --git a/pydough/sqlglot/transform_bindings/sqlglot_transform_utils.py b/pydough/sqlglot/transform_bindings/sqlglot_transform_utils.py index 5ab35917a..2a600f2a7 100644 --- a/pydough/sqlglot/transform_bindings/sqlglot_transform_utils.py +++ b/pydough/sqlglot/transform_bindings/sqlglot_transform_utils.py @@ -221,6 +221,33 @@ def extraction_string(self) -> str: return "'%S'" +def extract_int_literal(expr: SQLGlotExpression) -> int | None: + """ + Extracts the integer value of a SQLGlot expression if it is an integer + literal, optionally wrapped in a unary minus (e.g. `sqlglot.exp.convert` + represents negative numbers as `Neg(Literal(...))` rather than a single + `Literal` with a negative value). + + Args: + `expr`: The SQLGlot expression to extract an integer value from. + + Returns: + The integer value of `expr`, or `None` if it is not an integer + literal (optionally negated). + """ + negate: bool = False + if isinstance(expr, sqlglot_expressions.Neg): + negate = True + expr = expr.this + if not isinstance(expr, sqlglot_expressions.Literal): + return None + try: + value: int = int(expr.this) + except ValueError: + return None + return -value if negate else value + + def positive_index( string_expr: SQLGlotExpression, neg_index: int, is_zero_based: bool = False ) -> SQLGlotExpression: diff --git a/pyproject.toml b/pyproject.toml index 098aee9d8..38db0c1fa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,12 +20,11 @@ classifiers = [ # Note: sqlite is included in the standard library, so it doesn't need to be # listed here. -# There is a bug in some unit tests when run with sqlglot>=26.8.0 -# As of August 2026 LLM team work requires pyarrow=22.0.0, but -# BodoSQL requires latest version of pyarrow. -# So we are not specifying any version for pyarrow here to avoid conflicts and +# As of August 2026 LLM team work requires pyarrow=22.0.0, but +# BodoSQL requires latest version of pyarrow. +# So we are not specifying any version for pyarrow here to avoid conflicts and # allow other packages to specify their own version of pyarrow. -dependencies = ["pytz", "sqlglot==26.7.0", "pandas>=2.0.0", "jupyterlab", "pyarrow"] +dependencies = ["pytz", "sqlglot==30.18.0", "pandas>=2.0.0", "jupyterlab", "pyarrow"] [project.urls] # TODO: Add homepage + documentation when docs are live. diff --git a/tests/conftest.py b/tests/conftest.py index e77087eb9..0a142dcf0 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -3426,7 +3426,7 @@ def tpch_custom_test_data_dialect_replacements( "d17": ["02"], # HH12 "d18": ["30"], # MI "d19": ["45"], # SS - "d20": ["P.M."], # AM + "d20": ["PM"], # AM } ), "string_format_specifiers", diff --git a/tests/test_relational_nodes_to_sqlglot.py b/tests/test_relational_nodes_to_sqlglot.py index 937390b2a..fc8f47259 100644 --- a/tests/test_relational_nodes_to_sqlglot.py +++ b/tests/test_relational_nodes_to_sqlglot.py @@ -138,7 +138,7 @@ def mkglot(expressions: list[Expression], _from: Expression, **kwargs) -> Select query: Select = Select( **{ "expressions": expressions, - "from": from_result, + "from_": from_result, } ) if "where" in kwargs: diff --git a/tests/test_sql_refsols/agg_partition_oracle.sql b/tests/test_sql_refsols/agg_partition_oracle.sql index 7c5cefcf7..e7a7f8e0f 100644 --- a/tests/test_sql_refsols/agg_partition_oracle.sql +++ b/tests/test_sql_refsols/agg_partition_oracle.sql @@ -1,10 +1,10 @@ -WITH "_T0" AS ( +WITH "_t0" AS ( SELECT COUNT(*) AS N_ROWS FROM TPCH.ORDERS GROUP BY - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) ) SELECT MAX(N_ROWS) AS best_year -FROM "_T0" +FROM "_t0" diff --git a/tests/test_sql_refsols/agg_simplification_1_databricks.sql b/tests/test_sql_refsols/agg_simplification_1_databricks.sql index 5140295ce..9831698fb 100644 --- a/tests/test_sql_refsols/agg_simplification_1_databricks.sql +++ b/tests/test_sql_refsols/agg_simplification_1_databricks.sql @@ -30,7 +30,7 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 + ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY -1 DESC) - 1.0 ) - ( ( COUNT(-1) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 @@ -43,7 +43,7 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 + ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY -3 DESC) - 1.0 ) - ( ( COUNT(-3) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 @@ -82,7 +82,10 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) + ORDER BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) DESC + ) - 1.0 ) - ( ( COUNT(LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 @@ -105,14 +108,14 @@ WITH _t1 AS ( CASE WHEN FLOOR( 0.7 * COUNT(-1) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') + ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY -1 DESC) THEN -1 ELSE NULL END AS expr_82, CASE WHEN FLOOR( 0.6 * COUNT(-3) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') + ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY -3 DESC) THEN -3 ELSE NULL END AS expr_83, @@ -131,7 +134,10 @@ WITH _t1 AS ( CASE WHEN FLOOR( 0.2 * COUNT(LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) DESC) + ) < ROW_NUMBER() OVER ( + PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) + ORDER BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) DESC + ) THEN LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ELSE NULL END AS expr_87 diff --git a/tests/test_sql_refsols/agg_simplification_1_duckdb.sql b/tests/test_sql_refsols/agg_simplification_1_duckdb.sql index af348e00d..efa7e8e44 100644 --- a/tests/test_sql_refsols/agg_simplification_1_duckdb.sql +++ b/tests/test_sql_refsols/agg_simplification_1_duckdb.sql @@ -30,7 +30,7 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 + ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY -1 DESC) - 1.0 ) - ( ( COUNT(-1) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 @@ -43,7 +43,7 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 + ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY -3 DESC) - 1.0 ) - ( ( COUNT(-3) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 @@ -82,7 +82,10 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) + ORDER BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) DESC + ) - 1.0 ) - ( ( COUNT(LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 @@ -105,14 +108,14 @@ WITH _t1 AS ( CASE WHEN FLOOR( 0.7 * COUNT(-1) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') + ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY -1 DESC) THEN -1 ELSE NULL END AS expr_82, CASE WHEN FLOOR( 0.6 * COUNT(-3) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') + ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY -3 DESC) THEN -3 ELSE NULL END AS expr_83, @@ -131,7 +134,10 @@ WITH _t1 AS ( CASE WHEN FLOOR( 0.2 * COUNT(LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) DESC) + ) < ROW_NUMBER() OVER ( + PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) + ORDER BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) DESC + ) THEN LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ELSE NULL END AS expr_87 diff --git a/tests/test_sql_refsols/agg_simplification_1_mysql.sql b/tests/test_sql_refsols/agg_simplification_1_mysql.sql index 227b24f5a..74a112622 100644 --- a/tests/test_sql_refsols/agg_simplification_1_mysql.sql +++ b/tests/test_sql_refsols/agg_simplification_1_mysql.sql @@ -1,13 +1,13 @@ WITH _t1 AS ( SELECT - sbtickerexchange AS sbTickerExchange, + sbTickerExchange, CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 + ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca')) ORDER BY '1') - 1.0 ) - ( ( - COUNT(1) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 + COUNT(1) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca'))) - 1.0 ) / 2.0 ) ) < 1.0 @@ -17,10 +17,10 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 + ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca')) ORDER BY '1') - 1.0 ) - ( ( - COUNT(2) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 + COUNT(2) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca'))) - 1.0 ) / 2.0 ) ) < 1.0 @@ -30,10 +30,10 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 + ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca')) ORDER BY -1 DESC) - 1.0 ) - ( ( - COUNT(-1) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 + COUNT(-1) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca'))) - 1.0 ) / 2.0 ) ) < 1.0 @@ -43,10 +43,10 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 + ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca')) ORDER BY -3 DESC) - 1.0 ) - ( ( - COUNT(-3) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 + COUNT(-3) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca'))) - 1.0 ) / 2.0 ) ) < 1.0 @@ -56,10 +56,10 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 + ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca')) ORDER BY '1') - 1.0 ) - ( ( - COUNT(0) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 + COUNT(0) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca'))) - 1.0 ) / 2.0 ) ) < 1.0 @@ -69,10 +69,10 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 + ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca')) ORDER BY '1') - 1.0 ) - ( ( - COUNT(0.5) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 + COUNT(0.5) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca'))) - 1.0 ) / 2.0 ) ) < 1.0 @@ -82,63 +82,69 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca')) + ORDER BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca')) DESC + ) - 1.0 ) - ( ( - COUNT(CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 + COUNT(CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca'))) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca'))) - 1.0 ) / 2.0 ) ) < 1.0 - THEN CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) + THEN CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca')) ELSE NULL END AS expr_79, CASE WHEN FLOOR( - 0.9 * COUNT(1) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - ) < ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') + 0.9 * COUNT(1) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca'))) + ) < ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca')) ORDER BY '1') THEN 1 ELSE NULL END AS expr_80, CASE WHEN FLOOR( - 0.8 * COUNT(2) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - ) < ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') + 0.8 * COUNT(2) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca'))) + ) < ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca')) ORDER BY '1') THEN 2 ELSE NULL END AS expr_81, CASE WHEN FLOOR( - 0.7 * COUNT(-1) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - ) < ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') + 0.7 * COUNT(-1) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca'))) + ) < ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca')) ORDER BY -1 DESC) THEN -1 ELSE NULL END AS expr_82, CASE WHEN FLOOR( - 0.6 * COUNT(-3) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - ) < ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') + 0.6 * COUNT(-3) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca'))) + ) < ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca')) ORDER BY -3 DESC) THEN -3 ELSE NULL END AS expr_83, CASE WHEN FLOOR( - 0.5 * COUNT(0) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - ) < ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') + 0.5 * COUNT(0) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca'))) + ) < ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca')) ORDER BY '1') THEN 0 ELSE NULL END AS expr_84, CASE WHEN FLOOR( - 0.4 * COUNT(0.5) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - ) < ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') + 0.4 * COUNT(0.5) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca'))) + ) < ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca')) ORDER BY '1') THEN 0.5 ELSE NULL END AS expr_85, CASE WHEN FLOOR( - 0.2 * COUNT(CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - ) < ROW_NUMBER() OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) DESC) - THEN CHAR_LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) + 0.2 * COUNT(CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca'))) OVER (PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca'))) + ) < ROW_NUMBER() OVER ( + PARTITION BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca')) + ORDER BY CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca')) DESC + ) + THEN CHAR_LENGTH(NULLIF(sbTickerExchange, 'NYSE Arca')) ELSE NULL END AS expr_87 FROM main.sbTicker diff --git a/tests/test_sql_refsols/agg_simplification_1_oracle.sql b/tests/test_sql_refsols/agg_simplification_1_oracle.sql index a61a7200e..4209eccf3 100644 --- a/tests/test_sql_refsols/agg_simplification_1_oracle.sql +++ b/tests/test_sql_refsols/agg_simplification_1_oracle.sql @@ -1,13 +1,13 @@ -WITH "_T1" AS ( +WITH "_t1" AS ( SELECT - sbtickerexchange AS SBTICKEREXCHANGE, + SBTICKEREXCHANGE, CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 + ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca')) ORDER BY '1') - 1.0 ) - ( ( - COUNT(1) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 + COUNT(1) OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca'))) - 1.0 ) / 2.0 ) ) < 1.0 @@ -17,10 +17,10 @@ WITH "_T1" AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 + ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca')) ORDER BY '1') - 1.0 ) - ( ( - COUNT(2) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 + COUNT(2) OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca'))) - 1.0 ) / 2.0 ) ) < 1.0 @@ -30,10 +30,13 @@ WITH "_T1" AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca')) + ORDER BY -1 DESC NULLS LAST + ) - 1.0 ) - ( ( - COUNT(-1) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 + COUNT(-1) OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca'))) - 1.0 ) / 2.0 ) ) < 1.0 @@ -43,10 +46,13 @@ WITH "_T1" AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca')) + ORDER BY -3 DESC NULLS LAST + ) - 1.0 ) - ( ( - COUNT(-3) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 + COUNT(-3) OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca'))) - 1.0 ) / 2.0 ) ) < 1.0 @@ -56,10 +62,10 @@ WITH "_T1" AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 + ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca')) ORDER BY '1') - 1.0 ) - ( ( - COUNT(0) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 + COUNT(0) OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca'))) - 1.0 ) / 2.0 ) ) < 1.0 @@ -69,10 +75,10 @@ WITH "_T1" AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 + ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca')) ORDER BY '1') - 1.0 ) - ( ( - COUNT(0.5) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 + COUNT(0.5) OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca'))) - 1.0 ) / 2.0 ) ) < 1.0 @@ -82,61 +88,73 @@ WITH "_T1" AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) DESC NULLS LAST) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca')) + ORDER BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca')) DESC NULLS LAST + ) - 1.0 ) - ( ( - COUNT(LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 + COUNT(LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca'))) OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca'))) - 1.0 ) / 2.0 ) ) < 1.0 - THEN LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) + THEN LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca')) ELSE NULL END AS EXPR_79, CASE - WHEN FLOOR(0.9 * COUNT(1) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')))) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') + WHEN FLOOR(0.9 * COUNT(1) OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca')))) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca')) ORDER BY '1') THEN 1 ELSE NULL END AS EXPR_80, CASE - WHEN FLOOR(0.8 * COUNT(2) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')))) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') + WHEN FLOOR(0.8 * COUNT(2) OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca')))) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca')) ORDER BY '1') THEN 2 ELSE NULL END AS EXPR_81, CASE WHEN FLOOR( - 0.7 * COUNT(-1) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') + 0.7 * COUNT(-1) OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca'))) + ) < ROW_NUMBER() OVER ( + PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca')) + ORDER BY -1 DESC NULLS LAST + ) THEN -1 ELSE NULL END AS EXPR_82, CASE WHEN FLOOR( - 0.6 * COUNT(-3) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') + 0.6 * COUNT(-3) OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca'))) + ) < ROW_NUMBER() OVER ( + PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca')) + ORDER BY -3 DESC NULLS LAST + ) THEN -3 ELSE NULL END AS EXPR_83, CASE - WHEN FLOOR(0.5 * COUNT(0) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')))) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') + WHEN FLOOR(0.5 * COUNT(0) OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca')))) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca')) ORDER BY '1') THEN 0 ELSE NULL END AS EXPR_84, CASE WHEN FLOOR( - 0.4 * COUNT(0.5) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') + 0.4 * COUNT(0.5) OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca'))) + ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca')) ORDER BY '1') THEN 0.5 ELSE NULL END AS EXPR_85, CASE WHEN FLOOR( - 0.2 * COUNT(LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) DESC NULLS LAST) - THEN LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) + 0.2 * COUNT(LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca'))) OVER (PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca'))) + ) < ROW_NUMBER() OVER ( + PARTITION BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca')) + ORDER BY LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca')) DESC NULLS LAST + ) + THEN LENGTH(NULLIF(SBTICKEREXCHANGE, 'NYSE Arca')) ELSE NULL END AS EXPR_87 FROM MAIN.SBTICKER -), "_T0" AS ( +), "_t0" AS ( SELECT LENGTH(CASE WHEN SBTICKEREXCHANGE <> 'NYSE Arca' THEN SBTICKEREXCHANGE ELSE NULL END) AS AUG_EXCHANGE, AVG(EXPR_72) AS AVG_EXPR_72, @@ -154,7 +172,7 @@ WITH "_T1" AS ( MAX(EXPR_85) AS MAX_EXPR_85, MAX(EXPR_87) AS MAX_EXPR_87, COUNT(*) AS N_ROWS - FROM "_T1" + FROM "_t1" GROUP BY LENGTH(CASE WHEN SBTICKEREXCHANGE <> 'NYSE Arca' THEN SBTICKEREXCHANGE ELSE NULL END) ) @@ -232,6 +250,6 @@ SELECT MAX_EXPR_85 AS qu6, NULL AS qu7, MAX_EXPR_87 AS qu8 -FROM "_T0" +FROM "_t0" ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/agg_simplification_1_sqlite.sql b/tests/test_sql_refsols/agg_simplification_1_sqlite.sql index ac7b664d0..682eab7c4 100644 --- a/tests/test_sql_refsols/agg_simplification_1_sqlite.sql +++ b/tests/test_sql_refsols/agg_simplification_1_sqlite.sql @@ -30,7 +30,7 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 + ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY -1 DESC) - 1.0 ) - ( CAST(( COUNT(-1) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 @@ -43,7 +43,7 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 + ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY -3 DESC) - 1.0 ) - ( CAST(( COUNT(-3) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 @@ -82,7 +82,10 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) + ORDER BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) DESC + ) - 1.0 ) - ( CAST(( COUNT(LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 @@ -121,7 +124,7 @@ WITH _t1 AS ( THEN 1 ELSE 0 END - ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') + ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY -1 DESC) THEN -1 ELSE NULL END AS expr_82, @@ -132,7 +135,7 @@ WITH _t1 AS ( THEN 1 ELSE 0 END - ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') + ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY -3 DESC) THEN -3 ELSE NULL END AS expr_83, @@ -165,7 +168,10 @@ WITH _t1 AS ( THEN 1 ELSE 0 END - ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) DESC) + ) < ROW_NUMBER() OVER ( + PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) + ORDER BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) DESC + ) THEN LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ELSE NULL END AS expr_87 diff --git a/tests/test_sql_refsols/agg_simplification_1_trino.sql b/tests/test_sql_refsols/agg_simplification_1_trino.sql index 6ce6a6c1c..358f322d4 100644 --- a/tests/test_sql_refsols/agg_simplification_1_trino.sql +++ b/tests/test_sql_refsols/agg_simplification_1_trino.sql @@ -6,9 +6,9 @@ WITH _t1 AS ( ( ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 ) - ( - CAST(( + ( COUNT(1) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 - ) AS DOUBLE) / 2.0 + ) / 2.0 ) ) < 1.0 THEN 1 @@ -19,9 +19,9 @@ WITH _t1 AS ( ( ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 ) - ( - CAST(( + ( COUNT(2) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 - ) AS DOUBLE) / 2.0 + ) / 2.0 ) ) < 1.0 THEN 2 @@ -30,11 +30,11 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 + ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY -1 DESC) - 1.0 ) - ( - CAST(( + ( COUNT(-1) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 - ) AS DOUBLE) / 2.0 + ) / 2.0 ) ) < 1.0 THEN -1 @@ -43,11 +43,11 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 + ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY -3 DESC) - 1.0 ) - ( - CAST(( + ( COUNT(-3) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 - ) AS DOUBLE) / 2.0 + ) / 2.0 ) ) < 1.0 THEN -3 @@ -58,9 +58,9 @@ WITH _t1 AS ( ( ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 ) - ( - CAST(( + ( COUNT(0) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 - ) AS DOUBLE) / 2.0 + ) / 2.0 ) ) < 1.0 THEN 0 @@ -71,9 +71,9 @@ WITH _t1 AS ( ( ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') - 1.0 ) - ( - CAST(( + ( COUNT(0.5) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 - ) AS DOUBLE) / 2.0 + ) / 2.0 ) ) < 1.0 THEN 0.5 @@ -82,11 +82,14 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) + ORDER BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) DESC + ) - 1.0 ) - ( - CAST(( + ( COUNT(LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - 1.0 - ) AS DOUBLE) / 2.0 + ) / 2.0 ) ) < 1.0 THEN LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) @@ -105,14 +108,14 @@ WITH _t1 AS ( CASE WHEN FLOOR( 0.7 * COUNT(-1) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') + ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY -1 DESC) THEN -1 ELSE NULL END AS expr_82, CASE WHEN FLOOR( 0.6 * COUNT(-3) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY '1') + ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY -3 DESC) THEN -3 ELSE NULL END AS expr_83, @@ -131,7 +134,10 @@ WITH _t1 AS ( CASE WHEN FLOOR( 0.2 * COUNT(LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca'))) - ) < ROW_NUMBER() OVER (PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ORDER BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) DESC) + ) < ROW_NUMBER() OVER ( + PARTITION BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) + ORDER BY LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) DESC + ) THEN LENGTH(NULLIF(sbtickerexchange, 'NYSE Arca')) ELSE NULL END AS expr_87 diff --git a/tests/test_sql_refsols/agg_simplification_2_mysql.sql b/tests/test_sql_refsols/agg_simplification_2_mysql.sql index 45f6fd045..7515d29dd 100644 --- a/tests/test_sql_refsols/agg_simplification_2_mysql.sql +++ b/tests/test_sql_refsols/agg_simplification_2_mysql.sql @@ -1,14 +1,14 @@ SELECT - sbcuststate COLLATE utf8mb4_bin AS state, - COUNT(DISTINCT sbcustcity) AS a1, + sbCustState COLLATE utf8mb4_bin AS state, + COUNT(DISTINCT sbCustCity) AS a1, COUNT(*) AS a2, - COUNT(CASE WHEN LOWER(sbcustname) LIKE 'j%' THEN sbcustname ELSE NULL END) AS a3, - COALESCE(SUM(TRUNCATE(CAST(sbcustpostalcode AS FLOAT), 0)), 0) AS a4, - MIN(sbcustphone) AS a5, - MAX(sbcustphone) AS a6, - ANY_VALUE(LOWER(sbcuststate)) AS a7, - ANY_VALUE(LOWER(sbcuststate)) AS a8, - ANY_VALUE(LOWER(sbcuststate)) AS a9 + COUNT(CASE WHEN LOWER(sbCustName) LIKE 'j%' THEN sbCustName ELSE NULL END) AS a3, + COALESCE(SUM(TRUNCATE(CAST(sbCustPostalCode AS FLOAT), 0)), 0) AS a4, + MIN(sbCustPhone) AS a5, + MAX(sbCustPhone) AS a6, + ANY_VALUE(LOWER(sbCustState)) AS a7, + ANY_VALUE(LOWER(sbCustState)) AS a8, + ANY_VALUE(LOWER(sbCustState)) AS a9 FROM main.sbCustomer GROUP BY 1 diff --git a/tests/test_sql_refsols/agg_simplification_2_oracle.sql b/tests/test_sql_refsols/agg_simplification_2_oracle.sql index 5cd93957d..fce39d391 100644 --- a/tests/test_sql_refsols/agg_simplification_2_oracle.sql +++ b/tests/test_sql_refsols/agg_simplification_2_oracle.sql @@ -1,16 +1,16 @@ SELECT - sbcuststate AS state, - COUNT(DISTINCT sbcustcity) AS a1, + SBCUSTSTATE AS state, + COUNT(DISTINCT SBCUSTCITY) AS a1, COUNT(*) AS a2, - COUNT(CASE WHEN LOWER(sbcustname) LIKE 'j%' THEN sbcustname ELSE NULL END) AS a3, - COALESCE(SUM(TRUNC(CAST(sbcustpostalcode AS DOUBLE PRECISION), '0')), 0) AS a4, - MIN(sbcustphone) AS a5, - MAX(sbcustphone) AS a6, - ANY_VALUE(LOWER(sbcuststate)) AS a7, - ANY_VALUE(LOWER(sbcuststate)) AS a8, - ANY_VALUE(LOWER(sbcuststate)) AS a9 + COUNT(CASE WHEN LOWER(SBCUSTNAME) LIKE 'j%' THEN SBCUSTNAME ELSE NULL END) AS a3, + COALESCE(SUM(TRUNC(CAST(SBCUSTPOSTALCODE AS DOUBLE PRECISION), 0)), 0) AS a4, + MIN(SBCUSTPHONE) AS a5, + MAX(SBCUSTPHONE) AS a6, + ANY_VALUE(LOWER(SBCUSTSTATE)) AS a7, + ANY_VALUE(LOWER(SBCUSTSTATE)) AS a8, + ANY_VALUE(LOWER(SBCUSTSTATE)) AS a9 FROM MAIN.SBCUSTOMER GROUP BY - sbcuststate + SBCUSTSTATE ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/agg_simplification_2_postgres.sql b/tests/test_sql_refsols/agg_simplification_2_postgres.sql index 9b0e66d3c..72b0ab3c1 100644 --- a/tests/test_sql_refsols/agg_simplification_2_postgres.sql +++ b/tests/test_sql_refsols/agg_simplification_2_postgres.sql @@ -6,9 +6,9 @@ SELECT COALESCE(SUM(CAST(sbcustpostalcode AS INT)), 0) AS a4, MIN(sbcustphone) AS a5, MAX(sbcustphone) AS a6, - MAX(LOWER(sbcuststate)) AS a7, - MAX(LOWER(sbcuststate)) AS a8, - MAX(LOWER(sbcuststate)) AS a9 + ANY_VALUE(LOWER(sbcuststate)) AS a7, + ANY_VALUE(LOWER(sbcuststate)) AS a8, + ANY_VALUE(LOWER(sbcuststate)) AS a9 FROM main.sbcustomer GROUP BY 1 diff --git a/tests/test_sql_refsols/aggregation_analytics_1_oracle.sql b/tests/test_sql_refsols/aggregation_analytics_1_oracle.sql index 662cb96a0..1df5dcda4 100644 --- a/tests/test_sql_refsols/aggregation_analytics_1_oracle.sql +++ b/tests/test_sql_refsols/aggregation_analytics_1_oracle.sql @@ -1,45 +1,45 @@ -WITH "_T1" AS ( +WITH "_t1" AS ( SELECT - s_name AS S_NAME, - s_suppkey AS S_SUPPKEY + S_NAME, + S_SUPPKEY FROM TPCH.SUPPLIER WHERE - s_name = 'Supplier#000009450' -), "_S11" AS ( + S_NAME = 'Supplier#000009450' +), "_s11" AS ( SELECT - PARTSUPP.ps_partkey AS PS_PARTKEY, - PARTSUPP.ps_suppkey AS PS_SUPPKEY, + PARTSUPP.PS_PARTKEY, + PARTSUPP.PS_SUPPKEY, SUM( - LINEITEM.l_extendedprice * ( - 1 - LINEITEM.l_discount + LINEITEM.L_EXTENDEDPRICE * ( + 1 - LINEITEM.L_DISCOUNT ) * ( - 1 - LINEITEM.l_tax - ) - LINEITEM.l_quantity * PARTSUPP.ps_supplycost + 1 - LINEITEM.L_TAX + ) - LINEITEM.L_QUANTITY * PARTSUPP.PS_SUPPLYCOST ) AS SUM_REVENUE FROM TPCH.PARTSUPP PARTSUPP - JOIN "_T1" "_T4" - ON PARTSUPP.ps_suppkey = "_T4".S_SUPPKEY + JOIN "_t1" "_t4" + ON PARTSUPP.PS_SUPPKEY = "_t4".S_SUPPKEY JOIN TPCH.PART PART - ON PART.p_container LIKE 'LG%' AND PART.p_partkey = PARTSUPP.ps_partkey + ON PART.P_CONTAINER LIKE 'LG%' AND PART.P_PARTKEY = PARTSUPP.PS_PARTKEY JOIN TPCH.LINEITEM LINEITEM - ON EXTRACT(YEAR FROM CAST(LINEITEM.l_shipdate AS DATE)) IN (1995, 1996) - AND LINEITEM.l_partkey = PARTSUPP.ps_partkey - AND LINEITEM.l_suppkey = PARTSUPP.ps_suppkey + ON EXTRACT(YEAR FROM CAST(LINEITEM.L_SHIPDATE AS DATE)) IN (1995, 1996) + AND LINEITEM.L_PARTKEY = PARTSUPP.PS_PARTKEY + AND LINEITEM.L_SUPPKEY = PARTSUPP.PS_SUPPKEY GROUP BY - PARTSUPP.ps_partkey, - PARTSUPP.ps_suppkey + PARTSUPP.PS_PARTKEY, + PARTSUPP.PS_SUPPKEY ) SELECT - PART.p_name AS part_name, - ROUND(COALESCE("_S11".SUM_REVENUE, 0), 2) AS revenue_generated + PART.P_NAME AS part_name, + ROUND(COALESCE("_s11".SUM_REVENUE, 0), 2) AS revenue_generated FROM TPCH.PARTSUPP PARTSUPP -JOIN "_T1" "_T1" - ON PARTSUPP.ps_suppkey = "_T1".S_SUPPKEY +JOIN "_t1" "_t1" + ON PARTSUPP.PS_SUPPKEY = "_t1".S_SUPPKEY JOIN TPCH.PART PART - ON PART.p_container LIKE 'LG%' AND PART.p_partkey = PARTSUPP.ps_partkey -LEFT JOIN "_S11" "_S11" - ON PARTSUPP.ps_partkey = "_S11".PS_PARTKEY - AND PARTSUPP.ps_suppkey = "_S11".PS_SUPPKEY + ON PART.P_CONTAINER LIKE 'LG%' AND PART.P_PARTKEY = PARTSUPP.PS_PARTKEY +LEFT JOIN "_s11" "_s11" + ON PARTSUPP.PS_PARTKEY = "_s11".PS_PARTKEY + AND PARTSUPP.PS_SUPPKEY = "_s11".PS_SUPPKEY ORDER BY 2 NULLS FIRST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/aggregation_analytics_2_oracle.sql b/tests/test_sql_refsols/aggregation_analytics_2_oracle.sql index 97178b3c5..21aecd6f1 100644 --- a/tests/test_sql_refsols/aggregation_analytics_2_oracle.sql +++ b/tests/test_sql_refsols/aggregation_analytics_2_oracle.sql @@ -1,33 +1,33 @@ -WITH "_S6" AS ( +WITH "_s6" AS ( SELECT - PARTSUPP.ps_partkey AS PS_PARTKEY, + PARTSUPP.PS_PARTKEY, SUM( - LINEITEM.l_extendedprice * ( - 1 - LINEITEM.l_discount + LINEITEM.L_EXTENDEDPRICE * ( + 1 - LINEITEM.L_DISCOUNT ) * ( - 1 - LINEITEM.l_tax - ) - LINEITEM.l_quantity * PARTSUPP.ps_supplycost + 1 - LINEITEM.L_TAX + ) - LINEITEM.L_QUANTITY * PARTSUPP.PS_SUPPLYCOST ) AS SUM_REVENUE FROM TPCH.PARTSUPP PARTSUPP JOIN TPCH.SUPPLIER SUPPLIER - ON PARTSUPP.ps_suppkey = SUPPLIER.s_suppkey - AND SUPPLIER.s_name = 'Supplier#000000182' + ON PARTSUPP.PS_SUPPKEY = SUPPLIER.S_SUPPKEY + AND SUPPLIER.S_NAME = 'Supplier#000000182' JOIN TPCH.PART PART - ON PART.p_container LIKE 'SM%' AND PART.p_partkey = PARTSUPP.ps_partkey + ON PART.P_CONTAINER LIKE 'SM%' AND PART.P_PARTKEY = PARTSUPP.PS_PARTKEY JOIN TPCH.LINEITEM LINEITEM - ON EXTRACT(YEAR FROM CAST(LINEITEM.l_shipdate AS DATE)) IN (1995, 1996) - AND LINEITEM.l_partkey = PARTSUPP.ps_partkey - AND LINEITEM.l_suppkey = PARTSUPP.ps_suppkey + ON EXTRACT(YEAR FROM CAST(LINEITEM.L_SHIPDATE AS DATE)) IN (1995, 1996) + AND LINEITEM.L_PARTKEY = PARTSUPP.PS_PARTKEY + AND LINEITEM.L_SUPPKEY = PARTSUPP.PS_SUPPKEY GROUP BY - PARTSUPP.ps_partkey, - PARTSUPP.ps_suppkey + PARTSUPP.PS_PARTKEY, + PARTSUPP.PS_SUPPKEY ) SELECT - PART.p_name AS part_name, - ROUND(COALESCE("_S6".SUM_REVENUE, 0), 2) AS revenue_generated -FROM "_S6" "_S6" + PART.P_NAME AS part_name, + ROUND(COALESCE("_s6".SUM_REVENUE, 0), 2) AS revenue_generated +FROM "_s6" "_s6" JOIN TPCH.PART PART - ON PART.p_partkey = "_S6".PS_PARTKEY + ON PART.P_PARTKEY = "_s6".PS_PARTKEY ORDER BY 2 NULLS FIRST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/aggregation_analytics_3_oracle.sql b/tests/test_sql_refsols/aggregation_analytics_3_oracle.sql index ec784947d..db30e8b2b 100644 --- a/tests/test_sql_refsols/aggregation_analytics_3_oracle.sql +++ b/tests/test_sql_refsols/aggregation_analytics_3_oracle.sql @@ -1,34 +1,34 @@ -WITH "_S6" AS ( +WITH "_s6" AS ( SELECT - PARTSUPP.ps_partkey AS PS_PARTKEY, - SUM(LINEITEM.l_quantity) AS SUM_L_QUANTITY, + PARTSUPP.PS_PARTKEY, + SUM(LINEITEM.L_QUANTITY) AS SUM_L_QUANTITY, SUM( - LINEITEM.l_extendedprice * ( - 1 - LINEITEM.l_discount + LINEITEM.L_EXTENDEDPRICE * ( + 1 - LINEITEM.L_DISCOUNT ) * ( - 1 - LINEITEM.l_tax - ) - LINEITEM.l_quantity * PARTSUPP.ps_supplycost + 1 - LINEITEM.L_TAX + ) - LINEITEM.L_QUANTITY * PARTSUPP.PS_SUPPLYCOST ) AS SUM_REVENUE FROM TPCH.PARTSUPP PARTSUPP JOIN TPCH.SUPPLIER SUPPLIER - ON PARTSUPP.ps_suppkey = SUPPLIER.s_suppkey - AND SUPPLIER.s_name = 'Supplier#000000182' + ON PARTSUPP.PS_SUPPKEY = SUPPLIER.S_SUPPKEY + AND SUPPLIER.S_NAME = 'Supplier#000000182' JOIN TPCH.PART PART - ON PART.p_container LIKE 'MED%' AND PART.p_partkey = PARTSUPP.ps_partkey + ON PART.P_CONTAINER LIKE 'MED%' AND PART.P_PARTKEY = PARTSUPP.PS_PARTKEY JOIN TPCH.LINEITEM LINEITEM - ON EXTRACT(YEAR FROM CAST(LINEITEM.l_shipdate AS DATE)) = 1994 - AND LINEITEM.l_partkey = PARTSUPP.ps_partkey - AND LINEITEM.l_suppkey = PARTSUPP.ps_suppkey + ON EXTRACT(YEAR FROM CAST(LINEITEM.L_SHIPDATE AS DATE)) = 1994 + AND LINEITEM.L_PARTKEY = PARTSUPP.PS_PARTKEY + AND LINEITEM.L_SUPPKEY = PARTSUPP.PS_SUPPKEY GROUP BY - PARTSUPP.ps_partkey, - PARTSUPP.ps_suppkey + PARTSUPP.PS_PARTKEY, + PARTSUPP.PS_SUPPKEY ) SELECT - PART.p_name AS part_name, - ROUND(COALESCE("_S6".SUM_REVENUE, 0) / COALESCE("_S6".SUM_L_QUANTITY, 0), 2) AS revenue_ratio -FROM "_S6" "_S6" + PART.P_NAME AS part_name, + ROUND(COALESCE("_s6".SUM_REVENUE, 0) / COALESCE("_s6".SUM_L_QUANTITY, 0), 2) AS revenue_ratio +FROM "_s6" "_s6" JOIN TPCH.PART PART - ON PART.p_partkey = "_S6".PS_PARTKEY + ON PART.P_PARTKEY = "_s6".PS_PARTKEY ORDER BY 2 NULLS FIRST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/aggregation_functions_oracle.sql b/tests/test_sql_refsols/aggregation_functions_oracle.sql index 721ff25d9..411ee7eb5 100644 --- a/tests/test_sql_refsols/aggregation_functions_oracle.sql +++ b/tests/test_sql_refsols/aggregation_functions_oracle.sql @@ -1,37 +1,37 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - o_custkey AS O_CUSTKEY, + O_CUSTKEY, COUNT(*) AS N_ROWS FROM TPCH.ORDERS GROUP BY - o_custkey -), "_T2" AS ( + O_CUSTKEY +), "_t2" AS ( SELECT - CUSTOMER.c_acctbal AS C_ACCTBAL, - CUSTOMER.c_nationkey AS C_NATIONKEY, - "_S1".N_ROWS, + CUSTOMER.C_ACCTBAL, + CUSTOMER.C_NATIONKEY, + "_s1".N_ROWS, CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY CUSTOMER.c_acctbal DESC NULLS LAST) - 1.0 + ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY CUSTOMER.C_ACCTBAL DESC NULLS LAST) - 1.0 ) - ( ( - COUNT(CUSTOMER.c_acctbal) OVER (PARTITION BY CUSTOMER.c_nationkey) - 1.0 + COUNT(CUSTOMER.C_ACCTBAL) OVER (PARTITION BY CUSTOMER.C_NATIONKEY) - 1.0 ) / 2.0 ) ) < 1.0 - THEN CUSTOMER.c_acctbal + THEN CUSTOMER.C_ACCTBAL ELSE NULL END AS EXPR_17, CASE - WHEN FLOOR(0.2 * COUNT(CUSTOMER.c_acctbal) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY CUSTOMER.c_acctbal DESC NULLS LAST) - THEN CUSTOMER.c_acctbal + WHEN FLOOR(0.2 * COUNT(CUSTOMER.C_ACCTBAL) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY CUSTOMER.C_ACCTBAL DESC NULLS LAST) + THEN CUSTOMER.C_ACCTBAL ELSE NULL END AS EXPR_18 FROM TPCH.CUSTOMER CUSTOMER - LEFT JOIN "_S1" "_S1" - ON CUSTOMER.c_custkey = "_S1".O_CUSTKEY -), "_T1" AS ( + LEFT JOIN "_s1" "_s1" + ON CUSTOMER.C_CUSTKEY = "_s1".O_CUSTKEY +), "_t1" AS ( SELECT ANY_VALUE(C_ACCTBAL) AS ANYTHING_C_ACCTBAL, AVG(C_ACCTBAL) AS AVG_C_ACCTBAL, @@ -47,7 +47,7 @@ WITH "_S1" AS ( CASE WHEN COUNT(C_ACCTBAL) < 2 THEN NULL ELSE VARIANCE(C_ACCTBAL) END AS SAMPLE_VAR_C_ACCTBAL, SUM(C_ACCTBAL) AS SUM_C_ACCTBAL, SUM(N_ROWS) AS SUM_N_ROWS - FROM "_T2" + FROM "_t2" GROUP BY C_NATIONKEY ) @@ -65,6 +65,6 @@ SELECT POPULATION_VAR_C_ACCTBAL AS variance_p_value, SAMPLE_STD_C_ACCTBAL AS stddev_s_value, POPULATION_STD_C_ACCTBAL AS stddev_p_value -FROM "_T1" +FROM "_t1" WHERE SUM_N_ROWS = 0 OR SUM_N_ROWS IS NULL diff --git a/tests/test_sql_refsols/aggregation_functions_postgres.sql b/tests/test_sql_refsols/aggregation_functions_postgres.sql index 571d6bb28..e3530ff65 100644 --- a/tests/test_sql_refsols/aggregation_functions_postgres.sql +++ b/tests/test_sql_refsols/aggregation_functions_postgres.sql @@ -9,7 +9,7 @@ WITH _s1 AS ( SELECT PERCENTILE_DISC(0.8) WITHIN GROUP (ORDER BY customer.c_acctbal) AS agg_7, - MAX(customer.c_acctbal) AS anything_c_acctbal, + ANY_VALUE(customer.c_acctbal) AS anything_c_acctbal, AVG(CAST(customer.c_acctbal AS DECIMAL)) AS avg_c_acctbal, COUNT(customer.c_acctbal) AS count_c_acctbal, MAX(customer.c_acctbal) AS max_c_acctbal, diff --git a/tests/test_sql_refsols/aggregation_functions_trino.sql b/tests/test_sql_refsols/aggregation_functions_trino.sql index 506afddba..042768f85 100644 --- a/tests/test_sql_refsols/aggregation_functions_trino.sql +++ b/tests/test_sql_refsols/aggregation_functions_trino.sql @@ -15,9 +15,9 @@ WITH _s1 AS ( ( ROW_NUMBER() OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_acctbal DESC) - 1.0 ) - ( - CAST(( + ( COUNT(customer.c_acctbal) OVER (PARTITION BY customer.c_nationkey) - 1.0 - ) AS DOUBLE) / 2.0 + ) / 2.0 ) ) < 1.0 THEN customer.c_acctbal diff --git a/tests/test_sql_refsols/alternative_quarter_cum_ir_analysis_databricks.sql b/tests/test_sql_refsols/alternative_quarter_cum_ir_analysis_databricks.sql index cca0bb4a1..56edaf36a 100644 --- a/tests/test_sql_refsols/alternative_quarter_cum_ir_analysis_databricks.sql +++ b/tests/test_sql_refsols/alternative_quarter_cum_ir_analysis_databricks.sql @@ -20,7 +20,7 @@ WITH _s2 AS ( TRUNC(CAST(_s2.ca_dt AS TIMESTAMP), 'QUARTER') AS quarter FROM _s2 AS _s2 JOIN _t2 AS _t2 - ON _s2.ca_dt < TRUNC(DATEADD(YEAR, 2, CAST(_t2.pr_release AS TIMESTAMP)), 'QUARTER') + ON _s2.ca_dt < TRUNC(DATE_ADD(YEAR, 2, CAST(_t2.pr_release AS TIMESTAMP)), 'QUARTER') AND _s2.ca_dt >= _t2.pr_release CROSS JOIN _t3 AS _t3 ), _t7 AS ( @@ -43,7 +43,7 @@ WITH _s2 AS ( COUNT(DISTINCT incidents.in_device_id) AS ndistinct_in_device_id FROM _s2 AS _s6 JOIN _t2 AS _t5 - ON _s6.ca_dt < TRUNC(DATEADD(YEAR, 2, CAST(_t5.pr_release AS TIMESTAMP)), 'QUARTER') + ON _s6.ca_dt < TRUNC(DATE_ADD(YEAR, 2, CAST(_t5.pr_release AS TIMESTAMP)), 'QUARTER') AND _s6.ca_dt >= _t5.pr_release CROSS JOIN _t3 AS _t6 JOIN main.incidents AS incidents @@ -60,7 +60,7 @@ WITH _s2 AS ( COUNT(*) AS n_rows FROM _s2 AS _s20 JOIN _t2 AS _t10 - ON _s20.ca_dt < TRUNC(DATEADD(YEAR, 2, CAST(_t10.pr_release AS TIMESTAMP)), 'QUARTER') + ON _s20.ca_dt < TRUNC(DATE_ADD(YEAR, 2, CAST(_t10.pr_release AS TIMESTAMP)), 'QUARTER') AND _s20.ca_dt >= _t10.pr_release CROSS JOIN _t3 AS _t11 JOIN main.devices AS devices diff --git a/tests/test_sql_refsols/alternative_quarter_cum_ir_analysis_oracle.sql b/tests/test_sql_refsols/alternative_quarter_cum_ir_analysis_oracle.sql index c8ca79a67..f3b75c4d4 100644 --- a/tests/test_sql_refsols/alternative_quarter_cum_ir_analysis_oracle.sql +++ b/tests/test_sql_refsols/alternative_quarter_cum_ir_analysis_oracle.sql @@ -1,88 +1,88 @@ -WITH "_S2" AS ( +WITH "_s2" AS ( SELECT - ca_dt AS CA_DT + CA_DT FROM MAIN.CALENDAR -), "_T2" AS ( +), "_t2" AS ( SELECT - pr_name AS PR_NAME, - pr_release AS PR_RELEASE + PR_NAME, + PR_RELEASE FROM MAIN.PRODUCTS WHERE - pr_name = 'RubyCopper-Star' -), "_T3" AS ( + PR_NAME = 'RubyCopper-Star' +), "_t3" AS ( SELECT - co_name AS CO_NAME + CO_NAME FROM MAIN.COUNTRIES WHERE - co_name = 'CN' -), "_S16" AS ( + CO_NAME = 'CN' +), "_s16" AS ( SELECT DISTINCT - TRUNC(CAST(CAST("_S2".CA_DT AS DATE) AS DATE), 'Q') AS QUARTER - FROM "_S2" "_S2" - JOIN "_T2" "_T2" - ON "_S2".CA_DT < TRUNC(ADD_MONTHS(CAST("_T2".PR_RELEASE AS DATE), 24), 'Q') - AND "_S2".CA_DT >= "_T2".PR_RELEASE - CROSS JOIN "_T3" "_T3" -), "_T7" AS ( + TRUNC(CAST(CAST("_s2".CA_DT AS DATE) AS DATE), 'Q') AS QUARTER + FROM "_s2" "_s2" + JOIN "_t2" "_t2" + ON "_s2".CA_DT < TRUNC(ADD_MONTHS(CAST("_t2".PR_RELEASE AS DATE), 24), 'Q') + AND "_s2".CA_DT >= "_t2".PR_RELEASE + CROSS JOIN "_t3" "_t3" +), "_t7" AS ( SELECT - pr_id AS PR_ID, - pr_name AS PR_NAME + PR_ID, + PR_NAME FROM MAIN.PRODUCTS WHERE - pr_name = 'RubyCopper-Star' -), "_S13" AS ( + PR_NAME = 'RubyCopper-Star' +), "_s13" AS ( SELECT - COUNTRIES.co_id AS CO_ID, - "_T7".PR_ID - FROM "_T7" "_T7" + COUNTRIES.CO_ID, + "_t7".PR_ID + FROM "_t7" "_t7" JOIN MAIN.COUNTRIES COUNTRIES - ON COUNTRIES.co_name = 'CN' -), "_S17" AS ( + ON COUNTRIES.CO_NAME = 'CN' +), "_s17" AS ( SELECT - TRUNC(CAST(CAST("_S6".CA_DT AS DATE) AS DATE), 'Q') AS QUARTER, - COUNT(DISTINCT INCIDENTS.in_device_id) AS NDISTINCT_IN_DEVICE_ID - FROM "_S2" "_S6" - JOIN "_T2" "_T5" - ON "_S6".CA_DT < TRUNC(ADD_MONTHS(CAST("_T5".PR_RELEASE AS DATE), 24), 'Q') - AND "_S6".CA_DT >= "_T5".PR_RELEASE - CROSS JOIN "_T3" "_T6" + TRUNC(CAST(CAST("_s6".CA_DT AS DATE) AS DATE), 'Q') AS QUARTER, + COUNT(DISTINCT INCIDENTS.IN_DEVICE_ID) AS NDISTINCT_IN_DEVICE_ID + FROM "_s2" "_s6" + JOIN "_t2" "_t5" + ON "_s6".CA_DT < TRUNC(ADD_MONTHS(CAST("_t5".PR_RELEASE AS DATE), 24), 'Q') + AND "_s6".CA_DT >= "_t5".PR_RELEASE + CROSS JOIN "_t3" "_t6" JOIN MAIN.INCIDENTS INCIDENTS - ON "_S6".CA_DT = TRUNC(CAST(CAST(INCIDENTS.in_error_report_ts AS DATE) AS DATE), 'DD') - JOIN "_S13" "_S13" - ON INCIDENTS.in_repair_country_id = "_S13".CO_ID + ON "_s6".CA_DT = TRUNC(CAST(CAST(INCIDENTS.IN_ERROR_REPORT_TS AS DATE) AS DATE), 'DD') + JOIN "_s13" "_s13" + ON INCIDENTS.IN_REPAIR_COUNTRY_ID = "_s13".CO_ID JOIN MAIN.DEVICES DEVICES - ON DEVICES.de_id = INCIDENTS.in_device_id AND DEVICES.de_product_id = "_S13".PR_ID + ON DEVICES.DE_ID = INCIDENTS.IN_DEVICE_ID AND DEVICES.DE_PRODUCT_ID = "_s13".PR_ID GROUP BY - TRUNC(CAST(CAST("_S6".CA_DT AS DATE) AS DATE), 'Q') -), "_S29" AS ( + TRUNC(CAST(CAST("_s6".CA_DT AS DATE) AS DATE), 'Q') +), "_s29" AS ( SELECT - TRUNC(CAST(CAST("_S20".CA_DT AS DATE) AS DATE), 'Q') AS QUARTER, + TRUNC(CAST(CAST("_s20".CA_DT AS DATE) AS DATE), 'Q') AS QUARTER, COUNT(*) AS N_ROWS - FROM "_S2" "_S20" - JOIN "_T2" "_T10" - ON "_S20".CA_DT < TRUNC(ADD_MONTHS(CAST("_T10".PR_RELEASE AS DATE), 24), 'Q') - AND "_S20".CA_DT >= "_T10".PR_RELEASE - CROSS JOIN "_T3" "_T11" + FROM "_s2" "_s20" + JOIN "_t2" "_t10" + ON "_s20".CA_DT < TRUNC(ADD_MONTHS(CAST("_t10".PR_RELEASE AS DATE), 24), 'Q') + AND "_s20".CA_DT >= "_t10".PR_RELEASE + CROSS JOIN "_t3" "_t11" JOIN MAIN.DEVICES DEVICES - ON "_S20".CA_DT = TRUNC(CAST(CAST(DEVICES.de_purchase_ts AS DATE) AS DATE), 'DD') - JOIN "_T7" "_T12" - ON DEVICES.de_product_id = "_T12".PR_ID - CROSS JOIN "_T3" "_T13" + ON "_s20".CA_DT = TRUNC(CAST(CAST(DEVICES.DE_PURCHASE_TS AS DATE) AS DATE), 'DD') + JOIN "_t7" "_t12" + ON DEVICES.DE_PRODUCT_ID = "_t12".PR_ID + CROSS JOIN "_t3" "_t13" GROUP BY - TRUNC(CAST(CAST("_S20".CA_DT AS DATE) AS DATE), 'Q') + TRUNC(CAST(CAST("_s20".CA_DT AS DATE) AS DATE), 'Q') ) SELECT - "_S16".QUARTER AS quarter, - COALESCE("_S17".NDISTINCT_IN_DEVICE_ID, 0) AS n_incidents, - COALESCE("_S29".N_ROWS, 0) AS n_sold, + "_s16".QUARTER AS quarter, + COALESCE("_s17".NDISTINCT_IN_DEVICE_ID, 0) AS n_incidents, + COALESCE("_s29".N_ROWS, 0) AS n_sold, ROUND( - SUM(COALESCE("_S17".NDISTINCT_IN_DEVICE_ID, 0)) OVER (ORDER BY "_S16".QUARTER ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) / SUM(COALESCE("_S29".N_ROWS, 0)) OVER (ORDER BY "_S16".QUARTER ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + SUM(COALESCE("_s17".NDISTINCT_IN_DEVICE_ID, 0)) OVER (ORDER BY "_s16".QUARTER ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) / SUM(COALESCE("_s29".N_ROWS, 0)) OVER (ORDER BY "_s16".QUARTER ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), 2 ) AS quarter_cum -FROM "_S16" "_S16" -LEFT JOIN "_S17" "_S17" - ON "_S16".QUARTER = "_S17".QUARTER -LEFT JOIN "_S29" "_S29" - ON "_S16".QUARTER = "_S29".QUARTER +FROM "_s16" "_s16" +LEFT JOIN "_s17" "_s17" + ON "_s16".QUARTER = "_s17".QUARTER +LEFT JOIN "_s29" "_s29" + ON "_s16".QUARTER = "_s29".QUARTER ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/arithmetic_and_binary_operators_oracle.sql b/tests/test_sql_refsols/arithmetic_and_binary_operators_oracle.sql index 704bb85e4..407eec352 100644 --- a/tests/test_sql_refsols/arithmetic_and_binary_operators_oracle.sql +++ b/tests/test_sql_refsols/arithmetic_and_binary_operators_oracle.sql @@ -1,16 +1,16 @@ SELECT ( - LINEITEM.l_extendedprice * ( + LINEITEM.L_EXTENDEDPRICE * ( 1 - ( - POWER(LINEITEM.l_discount, 2) + POWER(LINEITEM.L_DISCOUNT, 2) ) ) + 1.0 - ) / PART.p_retailprice AS computed_value, - LINEITEM.l_quantity + LINEITEM.l_extendedprice AS total, - LINEITEM.l_extendedprice - LINEITEM.l_quantity AS delta, - LINEITEM.l_quantity * LINEITEM.l_discount AS product, - LINEITEM.l_extendedprice / LINEITEM.l_quantity AS ratio, - POWER(LINEITEM.l_discount, 2) AS exponent + ) / PART.P_RETAILPRICE AS computed_value, + LINEITEM.L_QUANTITY + LINEITEM.L_EXTENDEDPRICE AS total, + LINEITEM.L_EXTENDEDPRICE - LINEITEM.L_QUANTITY AS delta, + LINEITEM.L_QUANTITY * LINEITEM.L_DISCOUNT AS product, + LINEITEM.L_EXTENDEDPRICE / LINEITEM.L_QUANTITY AS ratio, + POWER(LINEITEM.L_DISCOUNT, 2) AS exponent FROM TPCH.LINEITEM LINEITEM JOIN TPCH.PART PART - ON LINEITEM.l_partkey = PART.p_partkey + ON LINEITEM.L_PARTKEY = PART.P_PARTKEY diff --git a/tests/test_sql_refsols/arithmetic_and_binary_operators_postgres.sql b/tests/test_sql_refsols/arithmetic_and_binary_operators_postgres.sql index 202992a14..06bb96315 100644 --- a/tests/test_sql_refsols/arithmetic_and_binary_operators_postgres.sql +++ b/tests/test_sql_refsols/arithmetic_and_binary_operators_postgres.sql @@ -2,7 +2,7 @@ SELECT CAST(( lineitem.l_extendedprice * ( 1 - ( - lineitem.l_discount ^ 2 + POWER(lineitem.l_discount, 2) ) ) + 1.0 ) AS DOUBLE PRECISION) / part.p_retailprice AS computed_value, @@ -10,7 +10,7 @@ SELECT lineitem.l_extendedprice - lineitem.l_quantity AS delta, lineitem.l_quantity * lineitem.l_discount AS product, CAST(lineitem.l_extendedprice AS DOUBLE PRECISION) / lineitem.l_quantity AS ratio, - lineitem.l_discount ^ 2 AS exponent + POWER(lineitem.l_discount, 2) AS exponent FROM tpch.lineitem AS lineitem JOIN tpch.part AS part ON lineitem.l_partkey = part.p_partkey diff --git a/tests/test_sql_refsols/array_data_02_postgres.sql b/tests/test_sql_refsols/array_data_02_postgres.sql index c13582772..2259249ba 100644 --- a/tests/test_sql_refsols/array_data_02_postgres.sql +++ b/tests/test_sql_refsols/array_data_02_postgres.sql @@ -6,8 +6,8 @@ FROM (VALUES (1, ARRAY['A'], ARRAY[10]), (2, ( ARRAY[''] - )[1 : 0], ( + )[1:0], ( ARRAY[0] - )[1 : 0]), + )[1:0]), (3, ARRAY['B', 'C'], ARRAY[20, 30]), (4, ARRAY['D', 'E', NULL, 'F'], ARRAY[40, 50, NULL, 60])) AS tbl(idx, arr_s, arr_i) diff --git a/tests/test_sql_refsols/array_data_03_postgres.sql b/tests/test_sql_refsols/array_data_03_postgres.sql index 4f15a7f3d..38f20de68 100644 --- a/tests/test_sql_refsols/array_data_03_postgres.sql +++ b/tests/test_sql_refsols/array_data_03_postgres.sql @@ -5,6 +5,6 @@ FROM (VALUES (1, ARRAY[1.1]), (2, ( ARRAY[0] - )[1 : 0]), + )[1:0]), (3, ARRAY[-2.3, 0.0]), (4, ARRAY[3.14, NULL, NULL, CAST('inf' AS REAL), CAST('-inf' AS REAL)])) AS tbl(idx, arr_f) diff --git a/tests/test_sql_refsols/array_data_04_postgres.sql b/tests/test_sql_refsols/array_data_04_postgres.sql index 47bc68a8d..0ccaa063a 100644 --- a/tests/test_sql_refsols/array_data_04_postgres.sql +++ b/tests/test_sql_refsols/array_data_04_postgres.sql @@ -12,18 +12,25 @@ FROM (VALUES 2, ( ARRAY[CAST('1970-01-01' AS TIMESTAMP)] - )[1 : 0], + )[1:0], ( ARRAY[CAST('1970-01-01' AS TIMESTAMP)] - )[1 : 0] + )[1:0] ), ( 3, ARRAY[CAST('2021-06-15' AS TIMESTAMP), CAST('2022-12-31' AS TIMESTAMP)], - ARRAY[CAST('2021-06-15 00:00:00' AS TIMESTAMP), CAST('2022-12-31 00:00:00' AS TIMESTAMP)] + ARRAY[ + CAST('2021-06-15 00:00:00' AS TIMESTAMP), + CAST('2022-12-31 00:00:00' AS TIMESTAMP) + ] ), ( 4, ARRAY[CAST('1999-07-04' AS TIMESTAMP), NULL, CAST('2000-01-01' AS TIMESTAMP)], - ARRAY[CAST('1999-07-04 23:15:00' AS TIMESTAMP), NULL, CAST('2000-01-01 00:00:00' AS TIMESTAMP)] + ARRAY[ + CAST('1999-07-04 23:15:00' AS TIMESTAMP), + NULL, + CAST('2000-01-01 00:00:00' AS TIMESTAMP) + ] )) AS tbl(idx, arr_d, arr_t) diff --git a/tests/test_sql_refsols/avg_acctbal_wo_debt_oracle.sql b/tests/test_sql_refsols/avg_acctbal_wo_debt_oracle.sql index d656e9d2b..c24131b66 100644 --- a/tests/test_sql_refsols/avg_acctbal_wo_debt_oracle.sql +++ b/tests/test_sql_refsols/avg_acctbal_wo_debt_oracle.sql @@ -1,25 +1,25 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - c_nationkey AS C_NATIONKEY, - SUM(GREATEST(c_acctbal, 0)) AS EXPR_0, - COUNT(GREATEST(c_acctbal, 0)) AS EXPR_1_0 + C_NATIONKEY, + SUM(GREATEST(C_ACCTBAL, 0)) AS EXPR_0, + COUNT(GREATEST(C_ACCTBAL, 0)) AS EXPR_1_0 FROM TPCH.CUSTOMER GROUP BY - c_nationkey -), "_S3" AS ( + C_NATIONKEY +), "_s3" AS ( SELECT - NATION.n_regionkey AS N_REGIONKEY, - SUM("_S1".EXPR_0) AS SUM_EXPR, - SUM("_S1".EXPR_1_0) AS SUM_EXPR_1 + NATION.N_REGIONKEY, + SUM("_s1".EXPR_0) AS SUM_EXPR, + SUM("_s1".EXPR_1_0) AS SUM_EXPR_1 FROM TPCH.NATION NATION - JOIN "_S1" "_S1" - ON NATION.n_nationkey = "_S1".C_NATIONKEY + JOIN "_s1" "_s1" + ON NATION.N_NATIONKEY = "_s1".C_NATIONKEY GROUP BY - NATION.n_regionkey + NATION.N_REGIONKEY ) SELECT - REGION.r_name AS region_name, - "_S3".SUM_EXPR / "_S3".SUM_EXPR_1 AS avg_bal_without_debt_erasure + REGION.R_NAME AS region_name, + "_s3".SUM_EXPR / "_s3".SUM_EXPR_1 AS avg_bal_without_debt_erasure FROM TPCH.REGION REGION -JOIN "_S3" "_S3" - ON REGION.r_regionkey = "_S3".N_REGIONKEY +JOIN "_s3" "_s3" + ON REGION.R_REGIONKEY = "_s3".N_REGIONKEY diff --git a/tests/test_sql_refsols/avg_gap_prev_urgent_same_clerk_mysql.sql b/tests/test_sql_refsols/avg_gap_prev_urgent_same_clerk_mysql.sql index 37cdc7fd1..2b423bea2 100644 --- a/tests/test_sql_refsols/avg_gap_prev_urgent_same_clerk_mysql.sql +++ b/tests/test_sql_refsols/avg_gap_prev_urgent_same_clerk_mysql.sql @@ -2,7 +2,10 @@ WITH _t0 AS ( SELECT DATEDIFF( o_orderdate, - LAG(o_orderdate, 1) OVER (PARTITION BY o_clerk ORDER BY CASE WHEN o_orderdate IS NULL THEN 1 ELSE 0 END, o_orderdate) + LAG(o_orderdate, 1) OVER ( + PARTITION BY o_clerk + ORDER BY CASE WHEN o_orderdate IS NULL THEN 1 ELSE 0 END, o_orderdate + ) ) AS delta FROM tpch.ORDERS WHERE diff --git a/tests/test_sql_refsols/avg_gap_prev_urgent_same_clerk_oracle.sql b/tests/test_sql_refsols/avg_gap_prev_urgent_same_clerk_oracle.sql index 5be1dfd75..006039f61 100644 --- a/tests/test_sql_refsols/avg_gap_prev_urgent_same_clerk_oracle.sql +++ b/tests/test_sql_refsols/avg_gap_prev_urgent_same_clerk_oracle.sql @@ -1,13 +1,13 @@ -WITH "_T0" AS ( +WITH "_t0" AS ( SELECT - TRUNC(CAST(CAST(o_orderdate AS DATE) AS DATE), 'DD') - TRUNC( - CAST(CAST(LAG(o_orderdate, 1) OVER (PARTITION BY o_clerk ORDER BY o_orderdate) AS DATE) AS DATE), + TRUNC(CAST(CAST(O_ORDERDATE AS DATE) AS DATE), 'DD') - TRUNC( + CAST(CAST(LAG(O_ORDERDATE, 1) OVER (PARTITION BY O_CLERK ORDER BY O_ORDERDATE) AS DATE) AS DATE), 'DD' ) AS DELTA FROM TPCH.ORDERS WHERE - o_orderpriority = '1-URGENT' + O_ORDERPRIORITY = '1-URGENT' ) SELECT AVG(DELTA) AS avg_delta -FROM "_T0" +FROM "_t0" diff --git a/tests/test_sql_refsols/avg_order_diff_per_customer_mysql.sql b/tests/test_sql_refsols/avg_order_diff_per_customer_mysql.sql index f38538ab6..53b150228 100644 --- a/tests/test_sql_refsols/avg_order_diff_per_customer_mysql.sql +++ b/tests/test_sql_refsols/avg_order_diff_per_customer_mysql.sql @@ -3,7 +3,10 @@ WITH _s3 AS ( o_custkey, DATEDIFF( o_orderdate, - LAG(o_orderdate, 1) OVER (PARTITION BY o_custkey ORDER BY CASE WHEN o_orderdate IS NULL THEN 1 ELSE 0 END, o_orderdate) + LAG(o_orderdate, 1) OVER ( + PARTITION BY o_custkey + ORDER BY CASE WHEN o_orderdate IS NULL THEN 1 ELSE 0 END, o_orderdate + ) ) AS day_diff FROM tpch.ORDERS WHERE diff --git a/tests/test_sql_refsols/avg_order_diff_per_customer_oracle.sql b/tests/test_sql_refsols/avg_order_diff_per_customer_oracle.sql index 9553d8e63..371dd27fc 100644 --- a/tests/test_sql_refsols/avg_order_diff_per_customer_oracle.sql +++ b/tests/test_sql_refsols/avg_order_diff_per_customer_oracle.sql @@ -1,24 +1,24 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - o_custkey AS O_CUSTKEY, - TRUNC(CAST(CAST(o_orderdate AS DATE) AS DATE), 'DD') - TRUNC( - CAST(CAST(LAG(o_orderdate, 1) OVER (PARTITION BY o_custkey ORDER BY o_orderdate) AS DATE) AS DATE), + O_CUSTKEY, + TRUNC(CAST(CAST(O_ORDERDATE AS DATE) AS DATE), 'DD') - TRUNC( + CAST(CAST(LAG(O_ORDERDATE, 1) OVER (PARTITION BY O_CUSTKEY ORDER BY O_ORDERDATE) AS DATE) AS DATE), 'DD' ) AS DAY_DIFF FROM TPCH.ORDERS WHERE - o_orderpriority = '1-URGENT' + O_ORDERPRIORITY = '1-URGENT' ) SELECT - ANY_VALUE(CUSTOMER.c_name) AS name, - AVG("_S3".DAY_DIFF) AS avg_diff + ANY_VALUE(CUSTOMER.C_NAME) AS name, + AVG("_s3".DAY_DIFF) AS avg_diff FROM TPCH.CUSTOMER CUSTOMER JOIN TPCH.NATION NATION - ON CUSTOMER.c_nationkey = NATION.n_nationkey AND NATION.n_name = 'JAPAN' -JOIN "_S3" "_S3" - ON CUSTOMER.c_custkey = "_S3".O_CUSTKEY + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY AND NATION.N_NAME = 'JAPAN' +JOIN "_s3" "_s3" + ON CUSTOMER.C_CUSTKEY = "_s3".O_CUSTKEY GROUP BY - "_S3".O_CUSTKEY + "_s3".O_CUSTKEY ORDER BY 2 DESC NULLS LAST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/avg_order_diff_per_customer_postgres.sql b/tests/test_sql_refsols/avg_order_diff_per_customer_postgres.sql index a2f4590a7..954941415 100644 --- a/tests/test_sql_refsols/avg_order_diff_per_customer_postgres.sql +++ b/tests/test_sql_refsols/avg_order_diff_per_customer_postgres.sql @@ -7,7 +7,7 @@ WITH _s3 AS ( o_orderpriority = '1-URGENT' ) SELECT - MAX(customer.c_name) AS name, + ANY_VALUE(customer.c_name) AS name, AVG(CAST(_s3.day_diff AS DECIMAL)) AS avg_diff FROM tpch.customer AS customer JOIN tpch.nation AS nation diff --git a/tests/test_sql_refsols/bad_child_reuse_1_oracle.sql b/tests/test_sql_refsols/bad_child_reuse_1_oracle.sql index b8d8ce13c..3693c6124 100644 --- a/tests/test_sql_refsols/bad_child_reuse_1_oracle.sql +++ b/tests/test_sql_refsols/bad_child_reuse_1_oracle.sql @@ -1,26 +1,26 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - o_custkey AS O_CUSTKEY, + O_CUSTKEY, COUNT(*) AS N_ROWS FROM TPCH.ORDERS GROUP BY - o_custkey -), "_T1" AS ( + O_CUSTKEY +), "_t1" AS ( SELECT - CUSTOMER.c_custkey AS C_CUSTKEY, - "_S1".N_ROWS + CUSTOMER.C_CUSTKEY, + "_s1".N_ROWS FROM TPCH.CUSTOMER CUSTOMER - LEFT JOIN "_S1" "_S1" - ON CUSTOMER.c_custkey = "_S1".O_CUSTKEY + LEFT JOIN "_s1" "_s1" + ON CUSTOMER.C_CUSTKEY = "_s1".O_CUSTKEY ORDER BY - CUSTOMER.c_acctbal DESC NULLS LAST, - COALESCE("_S1".N_ROWS, 0) NULLS FIRST + CUSTOMER.C_ACCTBAL DESC NULLS LAST, + COALESCE("_s1".N_ROWS, 0) NULLS FIRST FETCH FIRST 10 ROWS ONLY ) SELECT C_CUSTKEY AS cust_key, N_ROWS AS n_orders -FROM "_T1" +FROM "_t1" WHERE N_ROWS <> 0 ORDER BY diff --git a/tests/test_sql_refsols/bad_child_reuse_2_oracle.sql b/tests/test_sql_refsols/bad_child_reuse_2_oracle.sql index 4a7d1a623..1972185cf 100644 --- a/tests/test_sql_refsols/bad_child_reuse_2_oracle.sql +++ b/tests/test_sql_refsols/bad_child_reuse_2_oracle.sql @@ -1,25 +1,25 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - o_custkey AS O_CUSTKEY, + O_CUSTKEY, COUNT(*) AS N_ROWS FROM TPCH.ORDERS GROUP BY - o_custkey -), "_T1" AS ( + O_CUSTKEY +), "_t1" AS ( SELECT - CUSTOMER.c_acctbal AS C_ACCTBAL, - CUSTOMER.c_custkey AS C_CUSTKEY, - "_S1".N_ROWS, - COUNT(*) OVER (PARTITION BY CUSTOMER.c_nationkey) AS N_CUST + CUSTOMER.C_ACCTBAL, + CUSTOMER.C_CUSTKEY, + "_s1".N_ROWS, + COUNT(*) OVER (PARTITION BY CUSTOMER.C_NATIONKEY) AS N_CUST FROM TPCH.CUSTOMER CUSTOMER - LEFT JOIN "_S1" "_S1" - ON CUSTOMER.c_custkey = "_S1".O_CUSTKEY + LEFT JOIN "_s1" "_s1" + ON CUSTOMER.C_CUSTKEY = "_s1".O_CUSTKEY ) SELECT C_CUSTKEY AS cust_key, N_ROWS AS n_orders, N_CUST AS n_cust -FROM "_T1" +FROM "_t1" WHERE N_ROWS <> 0 ORDER BY diff --git a/tests/test_sql_refsols/bad_child_reuse_3_oracle.sql b/tests/test_sql_refsols/bad_child_reuse_3_oracle.sql index 4a7d1a623..1972185cf 100644 --- a/tests/test_sql_refsols/bad_child_reuse_3_oracle.sql +++ b/tests/test_sql_refsols/bad_child_reuse_3_oracle.sql @@ -1,25 +1,25 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - o_custkey AS O_CUSTKEY, + O_CUSTKEY, COUNT(*) AS N_ROWS FROM TPCH.ORDERS GROUP BY - o_custkey -), "_T1" AS ( + O_CUSTKEY +), "_t1" AS ( SELECT - CUSTOMER.c_acctbal AS C_ACCTBAL, - CUSTOMER.c_custkey AS C_CUSTKEY, - "_S1".N_ROWS, - COUNT(*) OVER (PARTITION BY CUSTOMER.c_nationkey) AS N_CUST + CUSTOMER.C_ACCTBAL, + CUSTOMER.C_CUSTKEY, + "_s1".N_ROWS, + COUNT(*) OVER (PARTITION BY CUSTOMER.C_NATIONKEY) AS N_CUST FROM TPCH.CUSTOMER CUSTOMER - LEFT JOIN "_S1" "_S1" - ON CUSTOMER.c_custkey = "_S1".O_CUSTKEY + LEFT JOIN "_s1" "_s1" + ON CUSTOMER.C_CUSTKEY = "_s1".O_CUSTKEY ) SELECT C_CUSTKEY AS cust_key, N_ROWS AS n_orders, N_CUST AS n_cust -FROM "_T1" +FROM "_t1" WHERE N_ROWS <> 0 ORDER BY diff --git a/tests/test_sql_refsols/bad_child_reuse_4_oracle.sql b/tests/test_sql_refsols/bad_child_reuse_4_oracle.sql index 2de33d6b0..95deb1920 100644 --- a/tests/test_sql_refsols/bad_child_reuse_4_oracle.sql +++ b/tests/test_sql_refsols/bad_child_reuse_4_oracle.sql @@ -1,26 +1,26 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - o_custkey AS O_CUSTKEY, + O_CUSTKEY, COUNT(*) AS N_ROWS FROM TPCH.ORDERS GROUP BY - o_custkey -), "_T" AS ( + O_CUSTKEY +), "_t" AS ( SELECT - CUSTOMER.c_acctbal AS C_ACCTBAL, - CUSTOMER.c_custkey AS C_CUSTKEY, - "_S1".N_ROWS, - AVG(CAST(COALESCE("_S1".N_ROWS, 0) AS DOUBLE PRECISION)) OVER (PARTITION BY CUSTOMER.c_nationkey) AS "_W" + CUSTOMER.C_ACCTBAL, + CUSTOMER.C_CUSTKEY, + "_s1".N_ROWS, + AVG(CAST(COALESCE("_s1".N_ROWS, 0) AS DOUBLE PRECISION)) OVER (PARTITION BY CUSTOMER.C_NATIONKEY) AS "_w" FROM TPCH.CUSTOMER CUSTOMER - LEFT JOIN "_S1" "_S1" - ON CUSTOMER.c_custkey = "_S1".O_CUSTKEY + LEFT JOIN "_s1" "_s1" + ON CUSTOMER.C_CUSTKEY = "_s1".O_CUSTKEY ) SELECT C_CUSTKEY AS cust_key, N_ROWS AS n_orders -FROM "_T" +FROM "_t" WHERE - N_ROWS <> 0 AND "_W" > COALESCE(N_ROWS, 0) + N_ROWS <> 0 AND "_w" > COALESCE(N_ROWS, 0) ORDER BY C_ACCTBAL DESC NULLS LAST FETCH FIRST 10 ROWS ONLY diff --git a/tests/test_sql_refsols/bad_child_reuse_5_ansi.sql b/tests/test_sql_refsols/bad_child_reuse_5_ansi.sql index 2d8bd5e2d..b84c67e8c 100644 --- a/tests/test_sql_refsols/bad_child_reuse_5_ansi.sql +++ b/tests/test_sql_refsols/bad_child_reuse_5_ansi.sql @@ -1,12 +1,8 @@ -WITH _t2 AS ( - SELECT - o_custkey - FROM tpch.orders -), _s1 AS ( +WITH _s1 AS ( SELECT o_custkey, COUNT(*) AS n_rows - FROM _t2 + FROM tpch.orders GROUP BY 1 ), _s2 AS ( @@ -26,7 +22,7 @@ SELECT _s2.c_custkey AS cust_key, COALESCE(_s2.n_rows, 0) AS n_orders FROM _s2 AS _s2 -JOIN _t2 AS _s3 +ANTI JOIN _t2 AS _s3 ON _s2.c_custkey = _s3.o_custkey ORDER BY _s2.c_acctbal DESC, diff --git a/tests/test_sql_refsols/bad_child_reuse_5_mysql.sql b/tests/test_sql_refsols/bad_child_reuse_5_mysql.sql index a8bf53c18..b96e67d21 100644 --- a/tests/test_sql_refsols/bad_child_reuse_5_mysql.sql +++ b/tests/test_sql_refsols/bad_child_reuse_5_mysql.sql @@ -35,7 +35,7 @@ FROM _s2 AS _s2 LEFT JOIN _u_0 AS _u_0 ON _s2.c_custkey = _u_0._u_1 WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL ORDER BY _s2.c_acctbal DESC, 1 DESC diff --git a/tests/test_sql_refsols/bad_child_reuse_5_oracle.sql b/tests/test_sql_refsols/bad_child_reuse_5_oracle.sql index 919ca6fa9..96bf77106 100644 --- a/tests/test_sql_refsols/bad_child_reuse_5_oracle.sql +++ b/tests/test_sql_refsols/bad_child_reuse_5_oracle.sql @@ -1,22 +1,22 @@ -WITH "_T2" AS ( +WITH "_t2" AS ( SELECT - o_custkey AS O_CUSTKEY + O_CUSTKEY FROM TPCH.ORDERS -), "_S1" AS ( +), "_s1" AS ( SELECT O_CUSTKEY, COUNT(*) AS N_ROWS - FROM "_T2" + FROM "_t2" GROUP BY O_CUSTKEY -), "_S2" AS ( +), "_s2" AS ( SELECT - CUSTOMER.c_acctbal AS C_ACCTBAL, - CUSTOMER.c_custkey AS C_CUSTKEY, - "_S1".N_ROWS + CUSTOMER.C_ACCTBAL, + CUSTOMER.C_CUSTKEY, + "_s1".N_ROWS FROM TPCH.CUSTOMER CUSTOMER - LEFT JOIN "_S1" "_S1" - ON CUSTOMER.c_custkey = "_S1".O_CUSTKEY + LEFT JOIN "_s1" "_s1" + ON CUSTOMER.C_CUSTKEY = "_s1".O_CUSTKEY ORDER BY 1 DESC NULLS LAST, 2 DESC NULLS LAST @@ -24,18 +24,18 @@ WITH "_T2" AS ( ), "_u_0" AS ( SELECT O_CUSTKEY AS "_u_1" - FROM "_T2" + FROM "_t2" GROUP BY O_CUSTKEY ) SELECT - "_S2".C_CUSTKEY AS cust_key, - COALESCE("_S2".N_ROWS, 0) AS n_orders -FROM "_S2" "_S2" + "_s2".C_CUSTKEY AS cust_key, + COALESCE("_s2".N_ROWS, 0) AS n_orders +FROM "_s2" "_s2" LEFT JOIN "_u_0" "_u_0" - ON "_S2".C_CUSTKEY = "_u_0"."_u_1" + ON "_s2".C_CUSTKEY = "_u_0"."_u_1" WHERE "_u_0"."_u_1" IS NULL ORDER BY - "_S2".C_ACCTBAL DESC NULLS LAST, + "_s2".C_ACCTBAL DESC NULLS LAST, 1 DESC NULLS LAST diff --git a/tests/test_sql_refsols/bad_child_reuse_5_sqlite.sql b/tests/test_sql_refsols/bad_child_reuse_5_sqlite.sql index bd396316f..4b0217f9c 100644 --- a/tests/test_sql_refsols/bad_child_reuse_5_sqlite.sql +++ b/tests/test_sql_refsols/bad_child_reuse_5_sqlite.sql @@ -35,7 +35,7 @@ FROM _s2 AS _s2 LEFT JOIN _u_0 AS _u_0 ON _s2.c_custkey = _u_0._u_1 WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL ORDER BY _s2.c_acctbal DESC, 1 DESC diff --git a/tests/test_sql_refsols/california_schools_quoted_alias_oracle.sql b/tests/test_sql_refsols/california_schools_quoted_alias_oracle.sql index efc2db8de..2c55b996f 100644 --- a/tests/test_sql_refsols/california_schools_quoted_alias_oracle.sql +++ b/tests/test_sql_refsols/california_schools_quoted_alias_oracle.sql @@ -1,21 +1,21 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT "CDSCode", "Percent (%) Eligible FRPM (K-12)" FROM MAIN.FRPM ) SELECT - "_S3"."Percent (%) Eligible FRPM (K-12)" AS "percent_eligible_frpm_k_12", + "_s3"."Percent (%) Eligible FRPM (K-12)" AS "percent_eligible_frpm_k_12", CASE - WHEN "_S1"."Percent (%) Eligible FRPM (K-12)" >= 0.75 + WHEN "_s1"."Percent (%) Eligible FRPM (K-12)" >= 0.75 THEN 'High' ELSE 'Medium-Low' END AS frpm_category FROM MAIN.SCHOOLS SCHOOLS -LEFT JOIN "_S1" "_S1" - ON SCHOOLS."CDSCode" = "_S1"."CDSCode" -LEFT JOIN "_S1" "_S3" - ON SCHOOLS."CDSCode" = "_S3"."CDSCode" +LEFT JOIN "_s1" "_s1" + ON SCHOOLS."CDSCode" = "_s1"."CDSCode" +LEFT JOIN "_s1" "_s3" + ON SCHOOLS."CDSCode" = "_s3"."CDSCode" ORDER BY 1 DESC NULLS LAST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/casting_functions_oracle.sql b/tests/test_sql_refsols/casting_functions_oracle.sql index 8c9a4b879..6dc8c7ac8 100644 --- a/tests/test_sql_refsols/casting_functions_oracle.sql +++ b/tests/test_sql_refsols/casting_functions_oracle.sql @@ -1,6 +1,6 @@ SELECT - TO_CHAR(o_orderdate, 'YYYY-MM-DD') AS cast_to_string, - TO_CHAR(o_totalprice) AS cast_to_string2, - TRUNC(CAST(o_totalprice AS DOUBLE PRECISION), '0') AS cast_to_integer, - CAST(o_shippriority AS DOUBLE PRECISION) AS cast_to_float + TO_CHAR(O_ORDERDATE, 'YYYY-MM-DD') AS cast_to_string, + TO_CHAR(O_TOTALPRICE) AS cast_to_string2, + TRUNC(CAST(O_TOTALPRICE AS DOUBLE PRECISION), 0) AS cast_to_integer, + CAST(O_SHIPPRIORITY AS DOUBLE PRECISION) AS cast_to_float FROM TPCH.ORDERS diff --git a/tests/test_sql_refsols/casting_functions_snowflake.sql b/tests/test_sql_refsols/casting_functions_snowflake.sql index 6393eacfd..c20ba2c75 100644 --- a/tests/test_sql_refsols/casting_functions_snowflake.sql +++ b/tests/test_sql_refsols/casting_functions_snowflake.sql @@ -1,6 +1,6 @@ SELECT - TO_CHAR(CAST(o_orderdate AS TIMESTAMP), 'yyyy-mm-DD') AS cast_to_string, - CAST(o_totalprice AS TEXT) AS cast_to_string2, + TO_CHAR(o_orderdate, 'yyyy-mm-DD') AS cast_to_string, + CAST(o_totalprice AS VARCHAR) AS cast_to_string2, CAST(o_totalprice AS BIGINT) AS cast_to_integer, CAST(o_shippriority AS DOUBLE) AS cast_to_float FROM tpch.orders diff --git a/tests/test_sql_refsols/chained_partition_transformed_key_oracle.sql b/tests/test_sql_refsols/chained_partition_transformed_key_oracle.sql index a03439b34..f7769fc41 100644 --- a/tests/test_sql_refsols/chained_partition_transformed_key_oracle.sql +++ b/tests/test_sql_refsols/chained_partition_transformed_key_oracle.sql @@ -1,10 +1,10 @@ -WITH "_T0" AS ( +WITH "_t0" AS ( SELECT DISTINCT - LOWER(n_name) AS LOWER_N_NAME + LOWER(N_NAME) AS LOWER_N_NAME FROM TPCH.NATION ) SELECT LOWER_N_NAME AS name -FROM "_T0" +FROM "_t0" ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/color_q18_bodosql.sql b/tests/test_sql_refsols/color_q18_bodosql.sql index 6c38d628c..3e47eed79 100644 --- a/tests/test_sql_refsols/color_q18_bodosql.sql +++ b/tests/test_sql_refsols/color_q18_bodosql.sql @@ -1,12 +1,17 @@ -WITH _t0 AS ( +WITH _t1 AS ( SELECT - _s0.value AS word + _s0.value AS word, + COUNT(*) AS n_rows FROM clrs AS clrs CROSS JOIN LATERAL SPLIT_TO_TABLE(clrs.identname, '_') AS _s0 GROUP BY 1 +), _t0 AS ( + SELECT + word + FROM _t1 QUALIFY - RANK() OVER (ORDER BY COUNT(*) DESC) = 1 + RANK() OVER (ORDER BY n_rows DESC) = 1 ) SELECT word diff --git a/tests/test_sql_refsols/comparisons_and_logical_operators_oracle.sql b/tests/test_sql_refsols/comparisons_and_logical_operators_oracle.sql index 9e21400ab..a10170fc7 100644 --- a/tests/test_sql_refsols/comparisons_and_logical_operators_oracle.sql +++ b/tests/test_sql_refsols/comparisons_and_logical_operators_oracle.sql @@ -1,24 +1,24 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - o_custkey AS O_CUSTKEY, + O_CUSTKEY, COUNT(*) AS N_ROWS FROM TPCH.ORDERS GROUP BY - o_custkey + O_CUSTKEY ) SELECT - CUSTOMER.c_acctbal < 0 AS in_debt, - "_S1".N_ROWS <= 12 OR "_S1".N_ROWS IS NULL AS at_most_12_orders, - REGION.r_name = 'EUROPE' AS is_european, - NATION.n_name <> 'GERMANY' AS non_german, - CUSTOMER.c_acctbal > 0 AS non_empty_acct, - NOT "_S1".N_ROWS IS NULL AND "_S1".N_ROWS >= 5 AS at_least_5_orders, - REGION.r_name = 'ASIA' OR REGION.r_name = 'EUROPE' AS is_eurasian, - CUSTOMER.c_acctbal < 0 AND REGION.r_name = 'EUROPE' AS is_european_in_debt + CUSTOMER.C_ACCTBAL < 0 AS in_debt, + "_s1".N_ROWS <= 12 OR "_s1".N_ROWS IS NULL AS at_most_12_orders, + REGION.R_NAME = 'EUROPE' AS is_european, + NATION.N_NAME <> 'GERMANY' AS non_german, + CUSTOMER.C_ACCTBAL > 0 AS non_empty_acct, + NOT "_s1".N_ROWS IS NULL AND "_s1".N_ROWS >= 5 AS at_least_5_orders, + REGION.R_NAME = 'ASIA' OR REGION.R_NAME = 'EUROPE' AS is_eurasian, + CUSTOMER.C_ACCTBAL < 0 AND REGION.R_NAME = 'EUROPE' AS is_european_in_debt FROM TPCH.CUSTOMER CUSTOMER -LEFT JOIN "_S1" "_S1" - ON CUSTOMER.c_custkey = "_S1".O_CUSTKEY +LEFT JOIN "_s1" "_s1" + ON CUSTOMER.C_CUSTKEY = "_s1".O_CUSTKEY JOIN TPCH.NATION NATION - ON CUSTOMER.c_nationkey = NATION.n_nationkey + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY JOIN TPCH.REGION REGION - ON NATION.n_regionkey = REGION.r_regionkey + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY diff --git a/tests/test_sql_refsols/compound_ref_correlation_extraction_oracle.sql b/tests/test_sql_refsols/compound_ref_correlation_extraction_oracle.sql index 5d05a517b..2d14502d2 100644 --- a/tests/test_sql_refsols/compound_ref_correlation_extraction_oracle.sql +++ b/tests/test_sql_refsols/compound_ref_correlation_extraction_oracle.sql @@ -1,24 +1,24 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT DISTINCT - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) AS YEAR_O_ORDERDATE + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) AS YEAR_O_ORDERDATE FROM TPCH.ORDERS -), "_S5" AS ( +), "_s5" AS ( SELECT - EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) AS YEAR_O_ORDERDATE, - SUM(LINEITEM.l_extendedprice) AS SUM_L_EXTENDEDPRICE + EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) AS YEAR_O_ORDERDATE, + SUM(LINEITEM.L_EXTENDEDPRICE) AS SUM_L_EXTENDEDPRICE FROM TPCH.ORDERS ORDERS JOIN TPCH.LINEITEM LINEITEM - ON LINEITEM.l_orderkey = ORDERS.o_orderkey + ON LINEITEM.L_ORDERKEY = ORDERS.O_ORDERKEY GROUP BY - EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) + EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) ) SELECT - "_S1".YEAR_O_ORDERDATE AS year, - COALESCE("_S5".SUM_L_EXTENDEDPRICE, 0) AS bug + "_s1".YEAR_O_ORDERDATE AS year, + COALESCE("_s5".SUM_L_EXTENDEDPRICE, 0) AS bug FROM TPCH.CUSTOMER CUSTOMER -CROSS JOIN "_S1" "_S1" -LEFT JOIN "_S5" "_S5" - ON "_S1".YEAR_O_ORDERDATE = "_S5".YEAR_O_ORDERDATE +CROSS JOIN "_s1" "_s1" +LEFT JOIN "_s5" "_s5" + ON "_s1".YEAR_O_ORDERDATE = "_s5".YEAR_O_ORDERDATE ORDER BY 2 DESC NULLS LAST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/conditional_functions_oracle.sql b/tests/test_sql_refsols/conditional_functions_oracle.sql index 2e7fc4d16..fc1f8ddb6 100644 --- a/tests/test_sql_refsols/conditional_functions_oracle.sql +++ b/tests/test_sql_refsols/conditional_functions_oracle.sql @@ -1,18 +1,18 @@ SELECT - CASE WHEN ANY_VALUE(CUSTOMER.c_acctbal) > 1000 THEN 'High' ELSE 'Low' END AS iff_col, - ANY_VALUE(CUSTOMER.c_name) IN ('Alice', 'Bob', 'Charlie') AS isin_col, - COALESCE(MIN(ORDERS.o_totalprice), 0.0) AS default_val, - NOT MIN(ORDERS.o_totalprice) IS NULL AS has_acct_bal, - MIN(ORDERS.o_totalprice) IS NULL AS no_acct_bal, + CASE WHEN ANY_VALUE(CUSTOMER.C_ACCTBAL) > 1000 THEN 'High' ELSE 'Low' END AS iff_col, + ANY_VALUE(CUSTOMER.C_NAME) IN ('Alice', 'Bob', 'Charlie') AS isin_col, + COALESCE(MIN(ORDERS.O_TOTALPRICE), 0.0) AS default_val, + NOT MIN(ORDERS.O_TOTALPRICE) IS NULL AS has_acct_bal, + MIN(ORDERS.O_TOTALPRICE) IS NULL AS no_acct_bal, CASE - WHEN ANY_VALUE(CUSTOMER.c_acctbal) > 0 - THEN ANY_VALUE(CUSTOMER.c_acctbal) + WHEN ANY_VALUE(CUSTOMER.C_ACCTBAL) > 0 + THEN ANY_VALUE(CUSTOMER.C_ACCTBAL) ELSE NULL END AS no_debt_bal FROM TPCH.CUSTOMER CUSTOMER LEFT JOIN TPCH.ORDERS ORDERS - ON CUSTOMER.c_custkey = ORDERS.o_custkey + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY WHERE - CUSTOMER.c_acctbal <= 1000 AND CUSTOMER.c_acctbal >= 100 + CUSTOMER.C_ACCTBAL <= 1000 AND CUSTOMER.C_ACCTBAL >= 100 GROUP BY - CUSTOMER.c_custkey + CUSTOMER.C_CUSTKEY diff --git a/tests/test_sql_refsols/conditional_functions_postgres.sql b/tests/test_sql_refsols/conditional_functions_postgres.sql index e6ed56574..f17079889 100644 --- a/tests/test_sql_refsols/conditional_functions_postgres.sql +++ b/tests/test_sql_refsols/conditional_functions_postgres.sql @@ -1,10 +1,14 @@ SELECT - CASE WHEN MAX(customer.c_acctbal) > 1000 THEN 'High' ELSE 'Low' END AS iff_col, - MAX(customer.c_name) IN ('Alice', 'Bob', 'Charlie') AS isin_col, + CASE WHEN ANY_VALUE(customer.c_acctbal) > 1000 THEN 'High' ELSE 'Low' END AS iff_col, + ANY_VALUE(customer.c_name) IN ('Alice', 'Bob', 'Charlie') AS isin_col, COALESCE(MIN(orders.o_totalprice), 0.0) AS default_val, NOT MIN(orders.o_totalprice) IS NULL AS has_acct_bal, MIN(orders.o_totalprice) IS NULL AS no_acct_bal, - CASE WHEN MAX(customer.c_acctbal) > 0 THEN MAX(customer.c_acctbal) ELSE NULL END AS no_debt_bal + CASE + WHEN ANY_VALUE(customer.c_acctbal) > 0 + THEN ANY_VALUE(customer.c_acctbal) + ELSE NULL + END AS no_debt_bal FROM tpch.customer AS customer LEFT JOIN tpch.orders AS orders ON customer.c_custkey = orders.o_custkey diff --git a/tests/test_sql_refsols/corpus_q06_bodosql.sql b/tests/test_sql_refsols/corpus_q06_bodosql.sql index 09cd8f106..85651249b 100644 --- a/tests/test_sql_refsols/corpus_q06_bodosql.sql +++ b/tests/test_sql_refsols/corpus_q06_bodosql.sql @@ -8,6 +8,14 @@ SELECT FROM dict AS dict JOIN shake AS shake ON dict.word = shake.lineword - AND shake.play IN ('much ado about nothing', 'henry viii', 'merry wives of windsor', 'romeo and juliet', 'pericles', 'king john', 'othello') + AND shake.play IN ( + 'much ado about nothing', + 'henry viii', + 'merry wives of windsor', + 'romeo and juliet', + 'pericles', + 'king john', + 'othello' + ) WHERE LENGTH(dict.word) = 10 AND dict.pos = 'a.' AND dict.word < 'c' diff --git a/tests/test_sql_refsols/correl_10_sqlite.sql b/tests/test_sql_refsols/correl_10_sqlite.sql index 75e072003..e6f37a38b 100644 --- a/tests/test_sql_refsols/correl_10_sqlite.sql +++ b/tests/test_sql_refsols/correl_10_sqlite.sql @@ -14,6 +14,6 @@ FROM tpch.nation AS nation LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = SUBSTRING(nation.n_name, 1, 1) AND _u_0._u_2 = nation.n_regionkey WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL ORDER BY 1 diff --git a/tests/test_sql_refsols/correl_16_sqlite.sql b/tests/test_sql_refsols/correl_16_sqlite.sql index 84dc3d16d..ab602a5a7 100644 --- a/tests/test_sql_refsols/correl_16_sqlite.sql +++ b/tests/test_sql_refsols/correl_16_sqlite.sql @@ -10,7 +10,10 @@ WITH _s0 AS ( _s0.s_nationkey, _s0.s_suppkey, _s0.tile, - NTILE(10000) OVER (PARTITION BY customer.c_nationkey, _s0.s_suppkey ORDER BY customer.c_acctbal, customer.c_custkey) AS _w + NTILE(10000) OVER ( + PARTITION BY customer.c_nationkey, _s0.s_suppkey + ORDER BY customer.c_acctbal, customer.c_custkey + ) AS _w FROM _s0 AS _s0 JOIN tpch.nation AS nation ON _s0.s_nationkey = nation.n_nationkey diff --git a/tests/test_sql_refsols/correl_31_sqlite.sql b/tests/test_sql_refsols/correl_31_sqlite.sql index 69dbc030b..cc727d78e 100644 --- a/tests/test_sql_refsols/correl_31_sqlite.sql +++ b/tests/test_sql_refsols/correl_31_sqlite.sql @@ -7,9 +7,12 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY nation.n_nationkey ORDER BY lineitem.l_extendedprice * ( - 1 - lineitem.l_discount - ) DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY nation.n_nationkey + ORDER BY lineitem.l_extendedprice * ( + 1 - lineitem.l_discount + ) DESC + ) - 1.0 ) - ( CAST(( COUNT(lineitem.l_extendedprice * ( diff --git a/tests/test_sql_refsols/correl_32_sqlite.sql b/tests/test_sql_refsols/correl_32_sqlite.sql index 14834f8e2..b5d6f38ee 100644 --- a/tests/test_sql_refsols/correl_32_sqlite.sql +++ b/tests/test_sql_refsols/correl_32_sqlite.sql @@ -5,21 +5,8 @@ WITH _t2 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY nation.n_nationkey, SUBSTRING( - supplier.s_phone, - CASE - WHEN ( - LENGTH(supplier.s_phone) + 0 - ) < 1 - THEN 1 - ELSE ( - LENGTH(supplier.s_phone) + 0 - ) - END - ) ORDER BY supplier.s_acctbal DESC) - 1.0 - ) - ( - CAST(( - COUNT(supplier.s_acctbal) OVER (PARTITION BY nation.n_nationkey, SUBSTRING( + ROW_NUMBER() OVER ( + PARTITION BY nation.n_nationkey, SUBSTRING( supplier.s_phone, CASE WHEN ( @@ -30,7 +17,25 @@ WITH _t2 AS ( LENGTH(supplier.s_phone) + 0 ) END - )) - 1.0 + ) + ORDER BY supplier.s_acctbal DESC + ) - 1.0 + ) - ( + CAST(( + COUNT(supplier.s_acctbal) OVER ( + PARTITION BY nation.n_nationkey, SUBSTRING( + supplier.s_phone, + CASE + WHEN ( + LENGTH(supplier.s_phone) + 0 + ) < 1 + THEN 1 + ELSE ( + LENGTH(supplier.s_phone) + 0 + ) + END + ) + ) - 1.0 ) AS REAL) / 2.0 ) ) < 1.0 diff --git a/tests/test_sql_refsols/correl_34_sqlite.sql b/tests/test_sql_refsols/correl_34_sqlite.sql index ec37c07c6..f77487157 100644 --- a/tests/test_sql_refsols/correl_34_sqlite.sql +++ b/tests/test_sql_refsols/correl_34_sqlite.sql @@ -15,7 +15,9 @@ WITH _s13 AS ( partsupp.ps_partkey, partsupp.ps_suppkey, COUNT(*) OVER (PARTITION BY lineitem.l_partkey, lineitem.l_suppkey) AS _w, - AVG(CAST(orders.o_totalprice AS REAL)) OVER (PARTITION BY lineitem.l_linenumber, lineitem.l_orderkey, partsupp.ps_partkey, partsupp.ps_suppkey) AS _w_2 + AVG(CAST(orders.o_totalprice AS REAL)) OVER ( + PARTITION BY lineitem.l_linenumber, lineitem.l_orderkey, partsupp.ps_partkey, partsupp.ps_suppkey + ) AS _w_2 FROM tpch.partsupp AS partsupp JOIN tpch.supplier AS supplier ON partsupp.ps_suppkey = supplier.s_suppkey diff --git a/tests/test_sql_refsols/correl_4_sqlite.sql b/tests/test_sql_refsols/correl_4_sqlite.sql index 33c2da192..0718d3c47 100644 --- a/tests/test_sql_refsols/correl_4_sqlite.sql +++ b/tests/test_sql_refsols/correl_4_sqlite.sql @@ -21,6 +21,6 @@ FROM tpch.nation AS nation LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = nation.n_nationkey WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL ORDER BY 1 diff --git a/tests/test_sql_refsols/correl_7_sqlite.sql b/tests/test_sql_refsols/correl_7_sqlite.sql index fc39c0b59..576c3c015 100644 --- a/tests/test_sql_refsols/correl_7_sqlite.sql +++ b/tests/test_sql_refsols/correl_7_sqlite.sql @@ -14,4 +14,4 @@ FROM tpch.region AS region LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = SUBSTRING(region.r_name, 1, 1) AND _u_0._u_2 = region.r_regionkey WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/country_x_year_analysis_databricks.sql b/tests/test_sql_refsols/country_x_year_analysis_databricks.sql index 283c8564b..6ea7878de 100644 --- a/tests/test_sql_refsols/country_x_year_analysis_databricks.sql +++ b/tests/test_sql_refsols/country_x_year_analysis_databricks.sql @@ -23,7 +23,7 @@ WITH _t1 AS ( FROM _t1 AS _t7 CROSS JOIN _t5 AS _t8 JOIN _s5 AS _s9 - ON _s9.ca_dt < DATEADD(YEAR, 2, CAST(_t8.pr_release AS TIMESTAMP)) + ON _s9.ca_dt < DATE_ADD(YEAR, 2, CAST(_t8.pr_release AS TIMESTAMP)) AND _s9.ca_dt >= _t8.pr_release JOIN main.devices AS devices ON _s9.ca_dt = DATE_TRUNC('DAY', CAST(devices.de_purchase_ts AS TIMESTAMP)) @@ -43,7 +43,7 @@ WITH _t1 AS ( FROM _t1 AS _t4 CROSS JOIN _t5 AS _t5 JOIN _s5 AS _s5 - ON _s5.ca_dt < DATEADD(YEAR, 2, CAST(_t5.pr_release AS TIMESTAMP)) + ON _s5.ca_dt < DATE_ADD(YEAR, 2, CAST(_t5.pr_release AS TIMESTAMP)) AND _s5.ca_dt >= _t5.pr_release LEFT JOIN _s17 AS _s17 ON _s17.ca_dt = _s5.ca_dt AND _s17.co_name = _t4.co_name diff --git a/tests/test_sql_refsols/country_x_year_analysis_oracle.sql b/tests/test_sql_refsols/country_x_year_analysis_oracle.sql index a7400640a..363792b5a 100644 --- a/tests/test_sql_refsols/country_x_year_analysis_oracle.sql +++ b/tests/test_sql_refsols/country_x_year_analysis_oracle.sql @@ -1,65 +1,65 @@ -WITH "_T1" AS ( +WITH "_t1" AS ( SELECT - co_name AS CO_NAME + CO_NAME FROM MAIN.COUNTRIES WHERE - NOT co_name LIKE '%C%' -), "_T5" AS ( + NOT CO_NAME LIKE '%C%' +), "_t5" AS ( SELECT - pr_name AS PR_NAME, - pr_release AS PR_RELEASE + PR_NAME, + PR_RELEASE FROM MAIN.PRODUCTS WHERE - pr_name = 'AmethystCopper-I' -), "_S5" AS ( + PR_NAME = 'AmethystCopper-I' +), "_s5" AS ( SELECT - ca_dt AS CA_DT + CA_DT FROM MAIN.CALENDAR -), "_S17" AS ( +), "_s17" AS ( SELECT - "_S9".CA_DT, - "_T7".CO_NAME, + "_s9".CA_DT, + "_t7".CO_NAME, COUNT(*) AS N_ROWS - FROM "_T1" "_T7" - CROSS JOIN "_T5" "_T8" - JOIN "_S5" "_S9" - ON "_S9".CA_DT < ADD_MONTHS(CAST("_T8".PR_RELEASE AS DATE), 24) - AND "_S9".CA_DT >= "_T8".PR_RELEASE + FROM "_t1" "_t7" + CROSS JOIN "_t5" "_t8" + JOIN "_s5" "_s9" + ON "_s9".CA_DT < ADD_MONTHS(CAST("_t8".PR_RELEASE AS DATE), 24) + AND "_s9".CA_DT >= "_t8".PR_RELEASE JOIN MAIN.DEVICES DEVICES - ON "_S9".CA_DT = TRUNC(CAST(CAST(DEVICES.de_purchase_ts AS DATE) AS DATE), 'DD') + ON "_s9".CA_DT = TRUNC(CAST(CAST(DEVICES.DE_PURCHASE_TS AS DATE) AS DATE), 'DD') JOIN MAIN.PRODUCTS PRODUCTS - ON DEVICES.de_product_id = PRODUCTS.pr_id AND PRODUCTS.pr_name = 'AmethystCopper-I' + ON DEVICES.DE_PRODUCT_ID = PRODUCTS.PR_ID AND PRODUCTS.PR_NAME = 'AmethystCopper-I' JOIN MAIN.COUNTRIES COUNTRIES - ON COUNTRIES.co_id = DEVICES.de_purchase_country_id - AND COUNTRIES.co_name = "_T7".CO_NAME + ON COUNTRIES.CO_ID = DEVICES.DE_PURCHASE_COUNTRY_ID + AND COUNTRIES.CO_NAME = "_t7".CO_NAME GROUP BY - "_S9".CA_DT, - "_T7".CO_NAME -), "_S19" AS ( + "_s9".CA_DT, + "_t7".CO_NAME +), "_s19" AS ( SELECT - TRUNC(CAST("_S5".CA_DT AS DATE), 'YEAR') AS START_OF_YEAR, - "_T4".CO_NAME, - SUM("_S17".N_ROWS) AS SUM_N_ROWS - FROM "_T1" "_T4" - CROSS JOIN "_T5" "_T5" - JOIN "_S5" "_S5" - ON "_S5".CA_DT < ADD_MONTHS(CAST("_T5".PR_RELEASE AS DATE), 24) - AND "_S5".CA_DT >= "_T5".PR_RELEASE - LEFT JOIN "_S17" "_S17" - ON "_S17".CA_DT = "_S5".CA_DT AND "_S17".CO_NAME = "_T4".CO_NAME + TRUNC(CAST("_s5".CA_DT AS DATE), 'YEAR') AS START_OF_YEAR, + "_t4".CO_NAME, + SUM("_s17".N_ROWS) AS SUM_N_ROWS + FROM "_t1" "_t4" + CROSS JOIN "_t5" "_t5" + JOIN "_s5" "_s5" + ON "_s5".CA_DT < ADD_MONTHS(CAST("_t5".PR_RELEASE AS DATE), 24) + AND "_s5".CA_DT >= "_t5".PR_RELEASE + LEFT JOIN "_s17" "_s17" + ON "_s17".CA_DT = "_s5".CA_DT AND "_s17".CO_NAME = "_t4".CO_NAME GROUP BY - TRUNC(CAST("_S5".CA_DT AS DATE), 'YEAR'), - "_T4".CO_NAME + TRUNC(CAST("_s5".CA_DT AS DATE), 'YEAR'), + "_t4".CO_NAME ) SELECT - "_T1".CO_NAME AS country_name, - "_S19".START_OF_YEAR AS start_of_year, - COALESCE("_S19".SUM_N_ROWS, 0) AS n_purchases -FROM "_T1" "_T1" + "_t1".CO_NAME AS country_name, + "_s19".START_OF_YEAR AS start_of_year, + COALESCE("_s19".SUM_N_ROWS, 0) AS n_purchases +FROM "_t1" "_t1" JOIN MAIN.PRODUCTS PRODUCTS - ON PRODUCTS.pr_name = 'AmethystCopper-I' -LEFT JOIN "_S19" "_S19" - ON "_S19".CO_NAME = "_T1".CO_NAME + ON PRODUCTS.PR_NAME = 'AmethystCopper-I' +LEFT JOIN "_s19" "_s19" + ON "_s19".CO_NAME = "_t1".CO_NAME ORDER BY 1 NULLS FIRST, 2 NULLS FIRST diff --git a/tests/test_sql_refsols/country_x_year_combos_databricks.sql b/tests/test_sql_refsols/country_x_year_combos_databricks.sql index e158855b5..9e2f40008 100644 --- a/tests/test_sql_refsols/country_x_year_combos_databricks.sql +++ b/tests/test_sql_refsols/country_x_year_combos_databricks.sql @@ -12,7 +12,7 @@ WITH _t1 AS ( JOIN main.products AS products ON products.pr_name = 'AmethystCopper-I' JOIN main.calendar AS calendar - ON calendar.ca_dt < DATEADD(YEAR, 2, CAST(products.pr_release AS TIMESTAMP)) + ON calendar.ca_dt < DATE_ADD(YEAR, 2, CAST(products.pr_release AS TIMESTAMP)) AND calendar.ca_dt >= products.pr_release ) SELECT diff --git a/tests/test_sql_refsols/country_x_year_combos_oracle.sql b/tests/test_sql_refsols/country_x_year_combos_oracle.sql index 88e20d717..df54dfc1f 100644 --- a/tests/test_sql_refsols/country_x_year_combos_oracle.sql +++ b/tests/test_sql_refsols/country_x_year_combos_oracle.sql @@ -1,28 +1,28 @@ -WITH "_T1" AS ( +WITH "_t1" AS ( SELECT - co_name AS CO_NAME + CO_NAME FROM MAIN.COUNTRIES WHERE - NOT co_name LIKE '%C%' -), "_S7" AS ( + NOT CO_NAME LIKE '%C%' +), "_s7" AS ( SELECT DISTINCT - TRUNC(CAST(CALENDAR.ca_dt AS DATE), 'YEAR') AS START_OF_YEAR, - "_T4".CO_NAME - FROM "_T1" "_T4" + TRUNC(CAST(CALENDAR.CA_DT AS DATE), 'YEAR') AS START_OF_YEAR, + "_t4".CO_NAME + FROM "_t1" "_t4" JOIN MAIN.PRODUCTS PRODUCTS - ON PRODUCTS.pr_name = 'AmethystCopper-I' + ON PRODUCTS.PR_NAME = 'AmethystCopper-I' JOIN MAIN.CALENDAR CALENDAR - ON CALENDAR.ca_dt < ADD_MONTHS(CAST(PRODUCTS.pr_release AS DATE), 24) - AND CALENDAR.ca_dt >= PRODUCTS.pr_release + ON CALENDAR.CA_DT < ADD_MONTHS(CAST(PRODUCTS.PR_RELEASE AS DATE), 24) + AND CALENDAR.CA_DT >= PRODUCTS.PR_RELEASE ) SELECT - "_T1".CO_NAME AS country_name, - "_S7".START_OF_YEAR AS start_of_year -FROM "_T1" "_T1" + "_t1".CO_NAME AS country_name, + "_s7".START_OF_YEAR AS start_of_year +FROM "_t1" "_t1" JOIN MAIN.PRODUCTS PRODUCTS - ON PRODUCTS.pr_name = 'AmethystCopper-I' -LEFT JOIN "_S7" "_S7" - ON "_S7".CO_NAME = "_T1".CO_NAME + ON PRODUCTS.PR_NAME = 'AmethystCopper-I' +LEFT JOIN "_s7" "_s7" + ON "_s7".CO_NAME = "_t1".CO_NAME ORDER BY 1 NULLS FIRST, 2 NULLS FIRST diff --git a/tests/test_sql_refsols/cryptbank_agg_01_rewrite_sqlite.sql b/tests/test_sql_refsols/cryptbank_agg_01_rewrite_sqlite.sql index e8bb433e6..bc88fd284 100644 --- a/tests/test_sql_refsols/cryptbank_agg_01_rewrite_sqlite.sql +++ b/tests/test_sql_refsols/cryptbank_agg_01_rewrite_sqlite.sql @@ -4,4 +4,15 @@ SELECT )), 2) AS n FROM crbnk.transactions WHERE - t_ts IN ('2022-06-03 05:08:58', '2022-06-12 00:24:06', '2022-06-13 05:50:39', '2022-06-14 19:08:57', '2022-06-16 03:15:13', '2022-06-18 03:37:49', '2022-06-27 06:08:04', '2022-06-28 15:35:47', '2022-06-29 05:40:38', '2022-06-29 19:53:42') + t_ts IN ( + '2022-06-03 05:08:58', + '2022-06-12 00:24:06', + '2022-06-13 05:50:39', + '2022-06-14 19:08:57', + '2022-06-16 03:15:13', + '2022-06-18 03:37:49', + '2022-06-27 06:08:04', + '2022-06-28 15:35:47', + '2022-06-29 05:40:38', + '2022-06-29 19:53:42' + ) diff --git a/tests/test_sql_refsols/cryptbank_agg_03_raw_sqlite.sql b/tests/test_sql_refsols/cryptbank_agg_03_raw_sqlite.sql index 1edc15988..399be49a6 100644 --- a/tests/test_sql_refsols/cryptbank_agg_03_raw_sqlite.sql +++ b/tests/test_sql_refsols/cryptbank_agg_03_raw_sqlite.sql @@ -4,7 +4,10 @@ WITH _t AS ( accounts.a_type, customers.c_fname, customers.c_lname, - ROW_NUMBER() OVER (PARTITION BY SUBSTRING(accounts.a_type, -1) || SUBSTRING(accounts.a_type, 1, LENGTH(accounts.a_type) - 1) ORDER BY SQRT(accounts.a_balance) DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY SUBSTRING(accounts.a_type, -1) || SUBSTRING(accounts.a_type, 1, LENGTH(accounts.a_type) - 1) + ORDER BY SQRT(accounts.a_balance) DESC + ) AS _w FROM crbnk.accounts AS accounts JOIN crbnk.customers AS customers ON accounts.a_custkey = ( diff --git a/tests/test_sql_refsols/cryptbank_agg_03_rewrite_sqlite.sql b/tests/test_sql_refsols/cryptbank_agg_03_rewrite_sqlite.sql index 1edc15988..399be49a6 100644 --- a/tests/test_sql_refsols/cryptbank_agg_03_rewrite_sqlite.sql +++ b/tests/test_sql_refsols/cryptbank_agg_03_rewrite_sqlite.sql @@ -4,7 +4,10 @@ WITH _t AS ( accounts.a_type, customers.c_fname, customers.c_lname, - ROW_NUMBER() OVER (PARTITION BY SUBSTRING(accounts.a_type, -1) || SUBSTRING(accounts.a_type, 1, LENGTH(accounts.a_type) - 1) ORDER BY SQRT(accounts.a_balance) DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY SUBSTRING(accounts.a_type, -1) || SUBSTRING(accounts.a_type, 1, LENGTH(accounts.a_type) - 1) + ORDER BY SQRT(accounts.a_balance) DESC + ) AS _w FROM crbnk.accounts AS accounts JOIN crbnk.customers AS customers ON accounts.a_custkey = ( diff --git a/tests/test_sql_refsols/cryptbank_agg_07_rewrite_sqlite.sql b/tests/test_sql_refsols/cryptbank_agg_07_rewrite_sqlite.sql index 6f9b645f6..194866664 100644 --- a/tests/test_sql_refsols/cryptbank_agg_07_rewrite_sqlite.sql +++ b/tests/test_sql_refsols/cryptbank_agg_07_rewrite_sqlite.sql @@ -2,7 +2,69 @@ SELECT COALESCE( SUM( IIF( - t_ts IN ('2022-12-31 17:42:54', '2023-01-04 12:05:15', '2023-01-07 22:11:27', '2023-01-20 04:38:03', '2023-01-20 16:40:54', '2023-01-27 15:13:18', '2023-01-30 19:58:26', '2023-02-02 19:12:58', '2023-02-11 11:13:53', '2023-02-11 12:32:55', '2023-02-15 21:54:29', '2023-02-16 14:18:36', '2023-02-28 07:11:29', '2023-03-07 01:26:10', '2023-03-08 18:58:18', '2023-03-14 14:23:33', '2023-03-16 06:17:44', '2023-03-17 08:48:16', '2023-03-24 03:33:40', '2023-03-26 06:52:52', '2023-04-18 00:35:40', '2023-04-25 18:54:26', '2023-04-29 04:58:30', '2023-05-04 23:30:10', '2023-05-12 04:42:28', '2023-05-17 18:54:12', '2023-05-19 10:10:44', '2023-05-21 13:52:14', '2023-05-24 03:51:10', '2023-06-01 13:50:10', '2023-06-01 13:50:14', '2023-06-04 10:35:26', '2023-06-11 21:53:04', '2023-06-25 15:06:06', '2023-06-25 21:58:37', '2023-06-27 03:21:19', '2023-06-27 10:34:20', '2023-06-30 15:27:03', '2023-07-07 15:17:47', '2023-07-17 03:23:15', '2023-07-18 14:41:26', '2023-08-03 20:24:35', '2023-08-11 20:25:39', '2023-08-29 03:07:18', '2023-09-01 16:50:48', '2023-09-08 09:30:23', '2023-09-13 06:42:39', '2023-09-15 09:00:02', '2023-09-30 08:57:30', '2023-10-15 02:47:04', '2023-10-19 09:40:06', '2023-10-30 00:20:45', '2023-11-08 12:52:24', '2023-11-10 17:20:29', '2023-11-16 11:30:24', '2023-11-21 15:17:10', '2023-11-28 06:34:03', '2023-12-07 14:11:33', '2023-12-15 05:57:23', '2023-12-16 00:51:23', '2023-12-23 07:54:22'), + t_ts IN ( + '2022-12-31 17:42:54', + '2023-01-04 12:05:15', + '2023-01-07 22:11:27', + '2023-01-20 04:38:03', + '2023-01-20 16:40:54', + '2023-01-27 15:13:18', + '2023-01-30 19:58:26', + '2023-02-02 19:12:58', + '2023-02-11 11:13:53', + '2023-02-11 12:32:55', + '2023-02-15 21:54:29', + '2023-02-16 14:18:36', + '2023-02-28 07:11:29', + '2023-03-07 01:26:10', + '2023-03-08 18:58:18', + '2023-03-14 14:23:33', + '2023-03-16 06:17:44', + '2023-03-17 08:48:16', + '2023-03-24 03:33:40', + '2023-03-26 06:52:52', + '2023-04-18 00:35:40', + '2023-04-25 18:54:26', + '2023-04-29 04:58:30', + '2023-05-04 23:30:10', + '2023-05-12 04:42:28', + '2023-05-17 18:54:12', + '2023-05-19 10:10:44', + '2023-05-21 13:52:14', + '2023-05-24 03:51:10', + '2023-06-01 13:50:10', + '2023-06-01 13:50:14', + '2023-06-04 10:35:26', + '2023-06-11 21:53:04', + '2023-06-25 15:06:06', + '2023-06-25 21:58:37', + '2023-06-27 03:21:19', + '2023-06-27 10:34:20', + '2023-06-30 15:27:03', + '2023-07-07 15:17:47', + '2023-07-17 03:23:15', + '2023-07-18 14:41:26', + '2023-08-03 20:24:35', + '2023-08-11 20:25:39', + '2023-08-29 03:07:18', + '2023-09-01 16:50:48', + '2023-09-08 09:30:23', + '2023-09-13 06:42:39', + '2023-09-15 09:00:02', + '2023-09-30 08:57:30', + '2023-10-15 02:47:04', + '2023-10-19 09:40:06', + '2023-10-30 00:20:45', + '2023-11-08 12:52:24', + '2023-11-10 17:20:29', + '2023-11-16 11:30:24', + '2023-11-21 15:17:10', + '2023-11-28 06:34:03', + '2023-12-07 14:11:33', + '2023-12-15 05:57:23', + '2023-12-16 00:51:23', + '2023-12-23 07:54:22' + ), 1, 0 ) @@ -12,7 +74,25 @@ SELECT COALESCE( SUM( IIF( - t_ts IN ('2023-04-18 00:35:40', '2023-04-25 18:54:26', '2023-04-29 04:58:30', '2023-05-04 23:30:10', '2023-05-12 04:42:28', '2023-05-17 18:54:12', '2023-05-19 10:10:44', '2023-05-21 13:52:14', '2023-05-24 03:51:10', '2023-06-01 13:50:10', '2023-06-01 13:50:14', '2023-06-04 10:35:26', '2023-06-11 21:53:04', '2023-06-25 15:06:06', '2023-06-25 21:58:37', '2023-06-27 03:21:19', '2023-06-27 10:34:20'), + t_ts IN ( + '2023-04-18 00:35:40', + '2023-04-25 18:54:26', + '2023-04-29 04:58:30', + '2023-05-04 23:30:10', + '2023-05-12 04:42:28', + '2023-05-17 18:54:12', + '2023-05-19 10:10:44', + '2023-05-21 13:52:14', + '2023-05-24 03:51:10', + '2023-06-01 13:50:10', + '2023-06-01 13:50:14', + '2023-06-04 10:35:26', + '2023-06-11 21:53:04', + '2023-06-25 15:06:06', + '2023-06-25 21:58:37', + '2023-06-27 03:21:19', + '2023-06-27 10:34:20' + ), 1, 0 ) @@ -22,7 +102,16 @@ SELECT COALESCE( SUM( IIF( - t_ts IN ('2023-06-01 13:50:10', '2023-06-01 13:50:14', '2023-06-04 10:35:26', '2023-06-11 21:53:04', '2023-06-25 15:06:06', '2023-06-25 21:58:37', '2023-06-27 03:21:19', '2023-06-27 10:34:20'), + t_ts IN ( + '2023-06-01 13:50:10', + '2023-06-01 13:50:14', + '2023-06-04 10:35:26', + '2023-06-11 21:53:04', + '2023-06-25 15:06:06', + '2023-06-25 21:58:37', + '2023-06-27 03:21:19', + '2023-06-27 10:34:20' + ), 1, 0 ) @@ -84,7 +173,12 @@ SELECT COALESCE( SUM( IIF( - t_ts IN ('2019-11-02 11:58:37', '2019-11-02 12:54:09', '2019-11-11 02:55:31', '2019-11-11 15:44:22'), + t_ts IN ( + '2019-11-02 11:58:37', + '2019-11-02 12:54:09', + '2019-11-11 02:55:31', + '2019-11-11 15:44:22' + ), 1, 0 ) diff --git a/tests/test_sql_refsols/cryptbank_analysis_01_raw_sqlite.sql b/tests/test_sql_refsols/cryptbank_analysis_01_raw_sqlite.sql index ed6493ef2..91f02d48e 100644 --- a/tests/test_sql_refsols/cryptbank_analysis_01_raw_sqlite.sql +++ b/tests/test_sql_refsols/cryptbank_analysis_01_raw_sqlite.sql @@ -2,7 +2,10 @@ WITH _t AS ( SELECT accounts.a_custkey, transactions.t_amount, - ROW_NUMBER() OVER (PARTITION BY transactions.t_sourceaccount ORDER BY DATETIME(transactions.t_ts, '+54321 seconds')) AS _w + ROW_NUMBER() OVER ( + PARTITION BY transactions.t_sourceaccount + ORDER BY DATETIME(transactions.t_ts, '+54321 seconds') + ) AS _w FROM crbnk.accounts AS accounts JOIN crbnk.transactions AS transactions ON transactions.t_sourceaccount = CASE diff --git a/tests/test_sql_refsols/cryptbank_analysis_01_rewrite_sqlite.sql b/tests/test_sql_refsols/cryptbank_analysis_01_rewrite_sqlite.sql index ed6493ef2..91f02d48e 100644 --- a/tests/test_sql_refsols/cryptbank_analysis_01_rewrite_sqlite.sql +++ b/tests/test_sql_refsols/cryptbank_analysis_01_rewrite_sqlite.sql @@ -2,7 +2,10 @@ WITH _t AS ( SELECT accounts.a_custkey, transactions.t_amount, - ROW_NUMBER() OVER (PARTITION BY transactions.t_sourceaccount ORDER BY DATETIME(transactions.t_ts, '+54321 seconds')) AS _w + ROW_NUMBER() OVER ( + PARTITION BY transactions.t_sourceaccount + ORDER BY DATETIME(transactions.t_ts, '+54321 seconds') + ) AS _w FROM crbnk.accounts AS accounts JOIN crbnk.transactions AS transactions ON transactions.t_sourceaccount = CASE diff --git a/tests/test_sql_refsols/cryptbank_analysis_02_raw_sqlite.sql b/tests/test_sql_refsols/cryptbank_analysis_02_raw_sqlite.sql index 7044df563..8cb1dc02f 100644 --- a/tests/test_sql_refsols/cryptbank_analysis_02_raw_sqlite.sql +++ b/tests/test_sql_refsols/cryptbank_analysis_02_raw_sqlite.sql @@ -2,7 +2,10 @@ WITH _t AS ( SELECT accounts.a_custkey, transactions.t_amount, - ROW_NUMBER() OVER (PARTITION BY transactions.t_destaccount ORDER BY DATETIME(transactions.t_ts, '+54321 seconds')) AS _w + ROW_NUMBER() OVER ( + PARTITION BY transactions.t_destaccount + ORDER BY DATETIME(transactions.t_ts, '+54321 seconds') + ) AS _w FROM crbnk.accounts AS accounts JOIN crbnk.transactions AS transactions ON transactions.t_destaccount = CASE diff --git a/tests/test_sql_refsols/cryptbank_analysis_02_rewrite_sqlite.sql b/tests/test_sql_refsols/cryptbank_analysis_02_rewrite_sqlite.sql index 7044df563..8cb1dc02f 100644 --- a/tests/test_sql_refsols/cryptbank_analysis_02_rewrite_sqlite.sql +++ b/tests/test_sql_refsols/cryptbank_analysis_02_rewrite_sqlite.sql @@ -2,7 +2,10 @@ WITH _t AS ( SELECT accounts.a_custkey, transactions.t_amount, - ROW_NUMBER() OVER (PARTITION BY transactions.t_destaccount ORDER BY DATETIME(transactions.t_ts, '+54321 seconds')) AS _w + ROW_NUMBER() OVER ( + PARTITION BY transactions.t_destaccount + ORDER BY DATETIME(transactions.t_ts, '+54321 seconds') + ) AS _w FROM crbnk.accounts AS accounts JOIN crbnk.transactions AS transactions ON transactions.t_destaccount = CASE diff --git a/tests/test_sql_refsols/cryptbank_analysis_04_rewrite_sqlite.sql b/tests/test_sql_refsols/cryptbank_analysis_04_rewrite_sqlite.sql index fe8bb6af2..2f24b82c1 100644 --- a/tests/test_sql_refsols/cryptbank_analysis_04_rewrite_sqlite.sql +++ b/tests/test_sql_refsols/cryptbank_analysis_04_rewrite_sqlite.sql @@ -17,7 +17,29 @@ JOIN crbnk.customers AS customers ) AND customers.c_birthday IN ('1980-01-18', '1981-07-21', '1981-11-15', '1982-11-07', '1983-12-27') JOIN crbnk.transactions AS transactions - ON transactions.t_amount IN (-8934.44, -8881.98, -8736.83, -8717.7, -8648.33, -8639.5, -8620.48, -8593.09, -8553.43, -8527.34, -8484.61, -8480.79, -8472.7, -8457.49, -8366.52, -8361.27, -8352.72, -8308.42, -8254.69, -8077.89, -8067.8) + ON transactions.t_amount IN ( + -8934.44, + -8881.98, + -8736.83, + -8717.7, + -8648.33, + -8639.5, + -8620.48, + -8593.09, + -8553.43, + -8527.34, + -8484.61, + -8480.79, + -8472.7, + -8457.49, + -8366.52, + -8361.27, + -8352.72, + -8308.42, + -8254.69, + -8077.89, + -8067.8 + ) AND transactions.t_sourceaccount = CASE WHEN accounts.a_key = 0 THEN 0 diff --git a/tests/test_sql_refsols/cryptbank_filter_count_06_rewrite_sqlite.sql b/tests/test_sql_refsols/cryptbank_filter_count_06_rewrite_sqlite.sql index 868bad685..e966dff02 100644 --- a/tests/test_sql_refsols/cryptbank_filter_count_06_rewrite_sqlite.sql +++ b/tests/test_sql_refsols/cryptbank_filter_count_06_rewrite_sqlite.sql @@ -2,4 +2,9 @@ SELECT COUNT(*) AS n FROM crbnk.customers WHERE - c_email IN ('livia.a22@gmail.como', 'ob.smith77@gmail.comb', 'ob_moore78@gmail.comr', 'opez.luke99@gmail.coml') + c_email IN ( + 'livia.a22@gmail.como', + 'ob.smith77@gmail.comb', + 'ob_moore78@gmail.comr', + 'opez.luke99@gmail.coml' + ) diff --git a/tests/test_sql_refsols/cryptbank_filter_count_18_rewrite_sqlite.sql b/tests/test_sql_refsols/cryptbank_filter_count_18_rewrite_sqlite.sql index e27ab0f98..5e1a632f6 100644 --- a/tests/test_sql_refsols/cryptbank_filter_count_18_rewrite_sqlite.sql +++ b/tests/test_sql_refsols/cryptbank_filter_count_18_rewrite_sqlite.sql @@ -2,4 +2,13 @@ SELECT COUNT(*) AS n FROM crbnk.customers WHERE - c_email IN ('ophia.jackson@mail.orgs', 'livia.a22@gmail.como', '.gonzalez@ymail.comm', 'opez.luke99@gmail.coml', 'enry.g@fastmail.comh', 'rank.k@protonmail.comf', 'mily.jones@mail.come', 'ob.smith77@gmail.comb') + c_email IN ( + 'ophia.jackson@mail.orgs', + 'livia.a22@gmail.como', + '.gonzalez@ymail.comm', + 'opez.luke99@gmail.coml', + 'enry.g@fastmail.comh', + 'rank.k@protonmail.comf', + 'mily.jones@mail.come', + 'ob.smith77@gmail.comb' + ) diff --git a/tests/test_sql_refsols/cryptbank_filter_count_19_rewrite_sqlite.sql b/tests/test_sql_refsols/cryptbank_filter_count_19_rewrite_sqlite.sql index 25e1ef8f2..c97895178 100644 --- a/tests/test_sql_refsols/cryptbank_filter_count_19_rewrite_sqlite.sql +++ b/tests/test_sql_refsols/cryptbank_filter_count_19_rewrite_sqlite.sql @@ -2,4 +2,13 @@ SELECT COUNT(*) AS n FROM crbnk.customers WHERE - NOT c_email IN ('homasl@outlook.comt', 'ueenie.t@outlook.netq', '.hernandez@icloud.comk', 'martinez94@outlook.orgj', 'sa.rodriguez@zoho.comi', '.brown88@yahoo.comd', '.lee@outlook.comc', 'lice_j@example.orga') + NOT c_email IN ( + 'homasl@outlook.comt', + 'ueenie.t@outlook.netq', + '.hernandez@icloud.comk', + 'martinez94@outlook.orgj', + 'sa.rodriguez@zoho.comi', + '.brown88@yahoo.comd', + '.lee@outlook.comc', + 'lice_j@example.orga' + ) diff --git a/tests/test_sql_refsols/cryptbank_filter_count_32_rewrite_sqlite.sql b/tests/test_sql_refsols/cryptbank_filter_count_32_rewrite_sqlite.sql index 27e9db986..81e557492 100644 --- a/tests/test_sql_refsols/cryptbank_filter_count_32_rewrite_sqlite.sql +++ b/tests/test_sql_refsols/cryptbank_filter_count_32_rewrite_sqlite.sql @@ -2,4 +2,10 @@ SELECT COUNT(*) AS n FROM crbnk.accounts WHERE - a_open_ts IN ('2016-04-29 11:46:51', '2016-06-10 12:56:51', '2016-07-20 15:46:51', '2016-08-22 10:41:51', '2016-09-03 12:01:51') + a_open_ts IN ( + '2016-04-29 11:46:51', + '2016-06-10 12:56:51', + '2016-07-20 15:46:51', + '2016-08-22 10:41:51', + '2016-09-03 12:01:51' + ) diff --git a/tests/test_sql_refsols/cryptbank_filter_count_33_rewrite_sqlite.sql b/tests/test_sql_refsols/cryptbank_filter_count_33_rewrite_sqlite.sql index 2e606aacb..b972fb886 100644 --- a/tests/test_sql_refsols/cryptbank_filter_count_33_rewrite_sqlite.sql +++ b/tests/test_sql_refsols/cryptbank_filter_count_33_rewrite_sqlite.sql @@ -2,4 +2,16 @@ SELECT COUNT(*) AS n FROM crbnk.accounts WHERE - a_open_ts IN ('2013-04-22 11:37:51', '2017-02-11 10:59:51', '2011-04-30 15:16:51', '2016-03-23 12:41:51', '2013-02-15 12:46:51', '2018-03-15 10:36:51', '2014-04-07 14:21:51', '2015-02-08 17:26:51', '2016-04-29 11:46:51', '2012-03-22 12:16:51', '2015-04-06 13:46:51') + a_open_ts IN ( + '2013-04-22 11:37:51', + '2017-02-11 10:59:51', + '2011-04-30 15:16:51', + '2016-03-23 12:41:51', + '2013-02-15 12:46:51', + '2018-03-15 10:36:51', + '2014-04-07 14:21:51', + '2015-02-08 17:26:51', + '2016-04-29 11:46:51', + '2012-03-22 12:16:51', + '2015-04-06 13:46:51' + ) diff --git a/tests/test_sql_refsols/cryptbank_filter_count_35_rewrite_sqlite.sql b/tests/test_sql_refsols/cryptbank_filter_count_35_rewrite_sqlite.sql index 600292e56..20ecca2f1 100644 --- a/tests/test_sql_refsols/cryptbank_filter_count_35_rewrite_sqlite.sql +++ b/tests/test_sql_refsols/cryptbank_filter_count_35_rewrite_sqlite.sql @@ -2,4 +2,11 @@ SELECT COUNT(*) AS n FROM crbnk.accounts WHERE - a_open_ts IN ('2013-04-22 11:37:51', '2017-09-15 11:26:51', '2018-03-15 10:36:51', '2014-05-23 11:31:51', '2016-08-22 10:41:51', '2014-08-15 11:31:51') + a_open_ts IN ( + '2013-04-22 11:37:51', + '2017-09-15 11:26:51', + '2018-03-15 10:36:51', + '2014-05-23 11:31:51', + '2016-08-22 10:41:51', + '2014-08-15 11:31:51' + ) diff --git a/tests/test_sql_refsols/cryptbank_filter_count_39_rewrite_sqlite.sql b/tests/test_sql_refsols/cryptbank_filter_count_39_rewrite_sqlite.sql index dad8534d8..c76d379fd 100644 --- a/tests/test_sql_refsols/cryptbank_filter_count_39_rewrite_sqlite.sql +++ b/tests/test_sql_refsols/cryptbank_filter_count_39_rewrite_sqlite.sql @@ -2,4 +2,9 @@ SELECT COUNT(*) AS n FROM crbnk.accounts WHERE - a_open_ts IN ('2015-08-10 18:11:51', '2015-05-04 18:01:51', '2015-10-19 18:11:51', '2014-10-03 17:41:51') + a_open_ts IN ( + '2015-08-10 18:11:51', + '2015-05-04 18:01:51', + '2015-10-19 18:11:51', + '2014-10-03 17:41:51' + ) diff --git a/tests/test_sql_refsols/cryptbank_window_01_raw_sqlite.sql b/tests/test_sql_refsols/cryptbank_window_01_raw_sqlite.sql index 0afbd2340..6e445185e 100644 --- a/tests/test_sql_refsols/cryptbank_window_01_raw_sqlite.sql +++ b/tests/test_sql_refsols/cryptbank_window_01_raw_sqlite.sql @@ -3,12 +3,15 @@ WITH _t AS ( a_balance, a_key, a_type, - ROW_NUMBER() OVER (PARTITION BY ( - SUBSTRING(a_type, -1) || SUBSTRING(a_type, 1, LENGTH(a_type) - 1) - ) = 'retirement' - OR ( - SUBSTRING(a_type, -1) || SUBSTRING(a_type, 1, LENGTH(a_type) - 1) - ) = 'savings' ORDER BY SQRT(a_balance) DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY ( + SUBSTRING(a_type, -1) || SUBSTRING(a_type, 1, LENGTH(a_type) - 1) + ) = 'retirement' + OR ( + SUBSTRING(a_type, -1) || SUBSTRING(a_type, 1, LENGTH(a_type) - 1) + ) = 'savings' + ORDER BY SQRT(a_balance) DESC + ) AS _w FROM crbnk.accounts ) SELECT diff --git a/tests/test_sql_refsols/cryptbank_window_02_raw_sqlite.sql b/tests/test_sql_refsols/cryptbank_window_02_raw_sqlite.sql index dda1b605f..66e85cd0f 100644 --- a/tests/test_sql_refsols/cryptbank_window_02_raw_sqlite.sql +++ b/tests/test_sql_refsols/cryptbank_window_02_raw_sqlite.sql @@ -3,11 +3,14 @@ WITH _t AS ( accounts.a_key, accounts.a_open_ts, branches.b_name, - ROW_NUMBER() OVER (PARTITION BY accounts.a_branchkey ORDER BY CAST(STRFTIME('%Y', DATETIME(accounts.a_open_ts, '+123456789 seconds')) AS INTEGER) = 2021, CASE - WHEN accounts.a_key = 0 - THEN 0 - ELSE CASE WHEN accounts.a_key > 0 THEN 1 ELSE -1 END * CAST(SUBSTRING(accounts.a_key, 1 + INSTR(accounts.a_key, '-'), LENGTH(accounts.a_key) / 2) AS INTEGER) - END) AS _w + ROW_NUMBER() OVER ( + PARTITION BY accounts.a_branchkey + ORDER BY CAST(STRFTIME('%Y', DATETIME(accounts.a_open_ts, '+123456789 seconds')) AS INTEGER) = 2021, CASE + WHEN accounts.a_key = 0 + THEN 0 + ELSE CASE WHEN accounts.a_key > 0 THEN 1 ELSE -1 END * CAST(SUBSTRING(accounts.a_key, 1 + INSTR(accounts.a_key, '-'), LENGTH(accounts.a_key) / 2) AS INTEGER) + END + ) AS _w FROM crbnk.branches AS branches JOIN crbnk.accounts AS accounts ON accounts.a_branchkey = branches.b_key diff --git a/tests/test_sql_refsols/cryptbank_window_02_rewrite_sqlite.sql b/tests/test_sql_refsols/cryptbank_window_02_rewrite_sqlite.sql index 07e538c99..ff5753eb7 100644 --- a/tests/test_sql_refsols/cryptbank_window_02_rewrite_sqlite.sql +++ b/tests/test_sql_refsols/cryptbank_window_02_rewrite_sqlite.sql @@ -3,11 +3,21 @@ WITH _t AS ( accounts.a_key, accounts.a_open_ts, branches.b_name, - ROW_NUMBER() OVER (PARTITION BY accounts.a_branchkey ORDER BY accounts.a_open_ts IN ('2017-02-11 10:59:51', '2017-06-15 12:41:51', '2017-07-07 14:26:51', '2017-07-09 12:21:51', '2017-09-15 11:26:51', '2018-01-02 12:26:51'), CASE - WHEN accounts.a_key = 0 - THEN 0 - ELSE CASE WHEN accounts.a_key > 0 THEN 1 ELSE -1 END * CAST(SUBSTRING(accounts.a_key, 1 + INSTR(accounts.a_key, '-'), LENGTH(accounts.a_key) / 2) AS INTEGER) - END) AS _w + ROW_NUMBER() OVER ( + PARTITION BY accounts.a_branchkey + ORDER BY accounts.a_open_ts IN ( + '2017-02-11 10:59:51', + '2017-06-15 12:41:51', + '2017-07-07 14:26:51', + '2017-07-09 12:21:51', + '2017-09-15 11:26:51', + '2018-01-02 12:26:51' + ), CASE + WHEN accounts.a_key = 0 + THEN 0 + ELSE CASE WHEN accounts.a_key > 0 THEN 1 ELSE -1 END * CAST(SUBSTRING(accounts.a_key, 1 + INSTR(accounts.a_key, '-'), LENGTH(accounts.a_key) / 2) AS INTEGER) + END + ) AS _w FROM crbnk.branches AS branches JOIN crbnk.accounts AS accounts ON accounts.a_branchkey = branches.b_key diff --git a/tests/test_sql_refsols/cumulative_stock_analysis_ansi.sql b/tests/test_sql_refsols/cumulative_stock_analysis_ansi.sql index e758e3a39..aa76e2e90 100644 --- a/tests/test_sql_refsols/cumulative_stock_analysis_ansi.sql +++ b/tests/test_sql_refsols/cumulative_stock_analysis_ansi.sql @@ -1,13 +1,27 @@ SELECT sbtransaction.sbtxdatetime AS date_time, - COUNT(*) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) ORDER BY sbtransaction.sbtxdatetime NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS txn_within_day, + COUNT(*) OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) + ORDER BY sbtransaction.sbtxdatetime NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS txn_within_day, COUNT( CASE WHEN sbtransaction.sbtxtype = 'buy' THEN sbtransaction.sbtxtype ELSE NULL END - ) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) ORDER BY sbtransaction.sbtxdatetime NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS n_buys_within_day, + ) OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) + ORDER BY sbtransaction.sbtxdatetime NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS n_buys_within_day, ROUND( ( - 100.0 * COUNT_IF(sbticker.sbtickersymbol IN ('AAPL', 'AMZN')) OVER (ORDER BY sbtransaction.sbtxdatetime NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) - ) / COUNT(*) OVER (ORDER BY sbtransaction.sbtxdatetime NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + 100.0 * COUNT_IF(sbticker.sbtickersymbol IN ('AAPL', 'AMZN')) OVER ( + ORDER BY sbtransaction.sbtxdatetime NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) + ) / COUNT(*) OVER ( + ORDER BY sbtransaction.sbtxdatetime NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ), 2 ) AS pct_apple_txns, SUM( @@ -16,9 +30,15 @@ SELECT THEN sbtransaction.sbtxshares ELSE -1 * sbtransaction.sbtxshares END - ) OVER (ORDER BY sbtransaction.sbtxdatetime NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS share_change, + ) OVER ( + ORDER BY sbtransaction.sbtxdatetime NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS share_change, ROUND( - AVG(CAST(sbtransaction.sbtxamount AS DOUBLE)) OVER (ORDER BY sbtransaction.sbtxdatetime NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + AVG(CAST(sbtransaction.sbtxamount AS DOUBLE)) OVER ( + ORDER BY sbtransaction.sbtxdatetime NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ), 2 ) AS rolling_avg_amount FROM main.sbtransaction AS sbtransaction diff --git a/tests/test_sql_refsols/cumulative_stock_analysis_databricks.sql b/tests/test_sql_refsols/cumulative_stock_analysis_databricks.sql index df1bc10fb..30819dd5e 100644 --- a/tests/test_sql_refsols/cumulative_stock_analysis_databricks.sql +++ b/tests/test_sql_refsols/cumulative_stock_analysis_databricks.sql @@ -1,13 +1,27 @@ SELECT sbtransaction.sbtxdatetime AS date_time, - COUNT(*) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) ORDER BY sbtransaction.sbtxdatetime NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS txn_within_day, + COUNT(*) OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) + ORDER BY sbtransaction.sbtxdatetime NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS txn_within_day, COUNT( CASE WHEN sbtransaction.sbtxtype = 'buy' THEN sbtransaction.sbtxtype ELSE NULL END - ) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) ORDER BY sbtransaction.sbtxdatetime NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS n_buys_within_day, + ) OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) + ORDER BY sbtransaction.sbtxdatetime NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS n_buys_within_day, ROUND( ( - 100.0 * COUNT_IF(sbticker.sbtickersymbol IN ('AAPL', 'AMZN')) OVER (ORDER BY sbtransaction.sbtxdatetime NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) - ) / COUNT(*) OVER (ORDER BY sbtransaction.sbtxdatetime NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + 100.0 * COUNT_IF(sbticker.sbtickersymbol IN ('AAPL', 'AMZN')) OVER ( + ORDER BY sbtransaction.sbtxdatetime NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) + ) / COUNT(*) OVER ( + ORDER BY sbtransaction.sbtxdatetime NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ), 2 ) AS pct_apple_txns, SUM( @@ -16,9 +30,15 @@ SELECT sbtransaction.sbtxshares, -1 * sbtransaction.sbtxshares ) - ) OVER (ORDER BY sbtransaction.sbtxdatetime NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS share_change, + ) OVER ( + ORDER BY sbtransaction.sbtxdatetime NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS share_change, ROUND( - AVG(CAST(sbtransaction.sbtxamount AS DOUBLE)) OVER (ORDER BY sbtransaction.sbtxdatetime NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + AVG(CAST(sbtransaction.sbtxamount AS DOUBLE)) OVER ( + ORDER BY sbtransaction.sbtxdatetime NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ), 2 ) AS rolling_avg_amount FROM main.sbtransaction AS sbtransaction diff --git a/tests/test_sql_refsols/cumulative_stock_analysis_duckdb.sql b/tests/test_sql_refsols/cumulative_stock_analysis_duckdb.sql index ff2b85ed7..31ff4742a 100644 --- a/tests/test_sql_refsols/cumulative_stock_analysis_duckdb.sql +++ b/tests/test_sql_refsols/cumulative_stock_analysis_duckdb.sql @@ -1,13 +1,27 @@ SELECT sbtransaction.sbtxdatetime AS date_time, - COUNT(*) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS txn_within_day, + COUNT(*) OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS txn_within_day, COUNT( CASE WHEN sbtransaction.sbtxtype = 'buy' THEN sbtransaction.sbtxtype ELSE NULL END - ) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS n_buys_within_day, + ) OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS n_buys_within_day, ROUND( ( - 100.0 * COUNT_IF(sbticker.sbtickersymbol IN ('AAPL', 'AMZN')) OVER (ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) - ) / COUNT(*) OVER (ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + 100.0 * COUNT_IF(sbticker.sbtickersymbol IN ('AAPL', 'AMZN')) OVER ( + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) + ) / COUNT(*) OVER ( + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ), 2 ) AS pct_apple_txns, SUM( @@ -16,9 +30,15 @@ SELECT THEN sbtransaction.sbtxshares ELSE -1 * sbtransaction.sbtxshares END - ) OVER (ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS share_change, + ) OVER ( + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS share_change, ROUND( - AVG(CAST(sbtransaction.sbtxamount AS DOUBLE)) OVER (ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + AVG(CAST(sbtransaction.sbtxamount AS DOUBLE)) OVER ( + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ), 2 ) AS rolling_avg_amount FROM main.sbtransaction AS sbtransaction diff --git a/tests/test_sql_refsols/cumulative_stock_analysis_mysql.sql b/tests/test_sql_refsols/cumulative_stock_analysis_mysql.sql index 0612cf2c4..f48e6115d 100644 --- a/tests/test_sql_refsols/cumulative_stock_analysis_mysql.sql +++ b/tests/test_sql_refsols/cumulative_stock_analysis_mysql.sql @@ -1,32 +1,52 @@ SELECT - sbTransaction.sbtxdatetime AS date_time, - COUNT(*) OVER (PARTITION BY CAST(CAST(sbTransaction.sbtxdatetime AS DATETIME) AS DATE) ORDER BY sbTransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS txn_within_day, + sbTransaction.sbTxDateTime AS date_time, + COUNT(*) OVER ( + PARTITION BY CAST(CAST(sbTransaction.sbTxDateTime AS DATETIME) AS DATE) + ORDER BY sbTransaction.sbTxDateTime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS txn_within_day, COUNT( - CASE WHEN sbTransaction.sbtxtype = 'buy' THEN sbTransaction.sbtxtype ELSE NULL END - ) OVER (PARTITION BY CAST(CAST(sbTransaction.sbtxdatetime AS DATETIME) AS DATE) ORDER BY sbTransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS n_buys_within_day, + CASE WHEN sbTransaction.sbTxType = 'buy' THEN sbTransaction.sbTxType ELSE NULL END + ) OVER ( + PARTITION BY CAST(CAST(sbTransaction.sbTxDateTime AS DATETIME) AS DATE) + ORDER BY sbTransaction.sbTxDateTime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS n_buys_within_day, ROUND( ( - 100.0 * SUM(sbTicker.sbtickersymbol IN ('AAPL', 'AMZN')) OVER (ORDER BY sbTransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) - ) / COUNT(*) OVER (ORDER BY sbTransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + 100.0 * SUM(sbTicker.sbTickerSymbol IN ('AAPL', 'AMZN')) OVER ( + ORDER BY sbTransaction.sbTxDateTime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) + ) / COUNT(*) OVER ( + ORDER BY sbTransaction.sbTxDateTime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ), 2 ) AS pct_apple_txns, SUM( CASE - WHEN sbTransaction.sbtxtype = 'buy' - THEN sbTransaction.sbtxshares - ELSE -1 * sbTransaction.sbtxshares + WHEN sbTransaction.sbTxType = 'buy' + THEN sbTransaction.sbTxShares + ELSE -1 * sbTransaction.sbTxShares END - ) OVER (ORDER BY sbTransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS share_change, + ) OVER ( + ORDER BY sbTransaction.sbTxDateTime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS share_change, ROUND( - AVG(CAST(sbTransaction.sbtxamount AS DOUBLE)) OVER (ORDER BY sbTransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + AVG(CAST(sbTransaction.sbTxAmount AS DOUBLE)) OVER ( + ORDER BY sbTransaction.sbTxDateTime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ), 2 ) AS rolling_avg_amount FROM main.sbTransaction AS sbTransaction JOIN main.sbTicker AS sbTicker - ON sbTicker.sbtickerid = sbTransaction.sbtxtickerid + ON sbTicker.sbTickerId = sbTransaction.sbTxTickerId WHERE - EXTRACT(MONTH FROM CAST(sbTransaction.sbtxdatetime AS DATETIME)) = 4 - AND EXTRACT(YEAR FROM CAST(sbTransaction.sbtxdatetime AS DATETIME)) = 2023 - AND sbTransaction.sbtxstatus = 'success' + EXTRACT(MONTH FROM CAST(sbTransaction.sbTxDateTime AS DATETIME)) = 4 + AND EXTRACT(YEAR FROM CAST(sbTransaction.sbTxDateTime AS DATETIME)) = 2023 + AND sbTransaction.sbTxStatus = 'success' ORDER BY 1 diff --git a/tests/test_sql_refsols/cumulative_stock_analysis_oracle.sql b/tests/test_sql_refsols/cumulative_stock_analysis_oracle.sql index 304cd8697..ea396507f 100644 --- a/tests/test_sql_refsols/cumulative_stock_analysis_oracle.sql +++ b/tests/test_sql_refsols/cumulative_stock_analysis_oracle.sql @@ -1,32 +1,52 @@ SELECT - SBTRANSACTION.sbtxdatetime AS date_time, - COUNT(*) OVER (PARTITION BY TRUNC(CAST(CAST(SBTRANSACTION.sbtxdatetime AS DATE) AS DATE), 'DD') ORDER BY SBTRANSACTION.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS txn_within_day, + SBTRANSACTION.SBTXDATETIME AS date_time, + COUNT(*) OVER ( + PARTITION BY TRUNC(CAST(CAST(SBTRANSACTION.SBTXDATETIME AS DATE) AS DATE), 'DD') + ORDER BY SBTRANSACTION.SBTXDATETIME + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS txn_within_day, COUNT( - CASE WHEN SBTRANSACTION.sbtxtype = 'buy' THEN SBTRANSACTION.sbtxtype ELSE NULL END - ) OVER (PARTITION BY TRUNC(CAST(CAST(SBTRANSACTION.sbtxdatetime AS DATE) AS DATE), 'DD') ORDER BY SBTRANSACTION.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS n_buys_within_day, + CASE WHEN SBTRANSACTION.SBTXTYPE = 'buy' THEN SBTRANSACTION.SBTXTYPE ELSE NULL END + ) OVER ( + PARTITION BY TRUNC(CAST(CAST(SBTRANSACTION.SBTXDATETIME AS DATE) AS DATE), 'DD') + ORDER BY SBTRANSACTION.SBTXDATETIME + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS n_buys_within_day, ROUND( ( - 100.0 * SUM(SBTICKER.sbtickersymbol IN ('AAPL', 'AMZN')) OVER (ORDER BY SBTRANSACTION.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) - ) / COUNT(*) OVER (ORDER BY SBTRANSACTION.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + 100.0 * SUM(SBTICKER.SBTICKERSYMBOL IN ('AAPL', 'AMZN')) OVER ( + ORDER BY SBTRANSACTION.SBTXDATETIME + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) + ) / COUNT(*) OVER ( + ORDER BY SBTRANSACTION.SBTXDATETIME + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ), 2 ) AS pct_apple_txns, SUM( CASE - WHEN SBTRANSACTION.sbtxtype = 'buy' - THEN SBTRANSACTION.sbtxshares - ELSE -1 * SBTRANSACTION.sbtxshares + WHEN SBTRANSACTION.SBTXTYPE = 'buy' + THEN SBTRANSACTION.SBTXSHARES + ELSE -1 * SBTRANSACTION.SBTXSHARES END - ) OVER (ORDER BY SBTRANSACTION.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS share_change, + ) OVER ( + ORDER BY SBTRANSACTION.SBTXDATETIME + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS share_change, ROUND( - AVG(CAST(SBTRANSACTION.sbtxamount AS DOUBLE PRECISION)) OVER (ORDER BY SBTRANSACTION.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + AVG(CAST(SBTRANSACTION.SBTXAMOUNT AS DOUBLE PRECISION)) OVER ( + ORDER BY SBTRANSACTION.SBTXDATETIME + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ), 2 ) AS rolling_avg_amount FROM MAIN.SBTRANSACTION SBTRANSACTION JOIN MAIN.SBTICKER SBTICKER - ON SBTICKER.sbtickerid = SBTRANSACTION.sbtxtickerid + ON SBTICKER.SBTICKERID = SBTRANSACTION.SBTXTICKERID WHERE - EXTRACT(MONTH FROM CAST(SBTRANSACTION.sbtxdatetime AS DATE)) = 4 - AND EXTRACT(YEAR FROM CAST(SBTRANSACTION.sbtxdatetime AS DATE)) = 2023 - AND SBTRANSACTION.sbtxstatus = 'success' + EXTRACT(MONTH FROM CAST(SBTRANSACTION.SBTXDATETIME AS DATE)) = 4 + AND EXTRACT(YEAR FROM CAST(SBTRANSACTION.SBTXDATETIME AS DATE)) = 2023 + AND SBTRANSACTION.SBTXSTATUS = 'success' ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/cumulative_stock_analysis_postgres.sql b/tests/test_sql_refsols/cumulative_stock_analysis_postgres.sql index 17d7a8370..d6294877b 100644 --- a/tests/test_sql_refsols/cumulative_stock_analysis_postgres.sql +++ b/tests/test_sql_refsols/cumulative_stock_analysis_postgres.sql @@ -1,13 +1,27 @@ SELECT sbtransaction.sbtxdatetime AS date_time, - COUNT(*) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS txn_within_day, + COUNT(*) OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS txn_within_day, COUNT( CASE WHEN sbtransaction.sbtxtype = 'buy' THEN sbtransaction.sbtxtype ELSE NULL END - ) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS n_buys_within_day, + ) OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS n_buys_within_day, ROUND( - CAST(CAST(( - 100.0 * SUM(CASE WHEN sbticker.sbtickersymbol IN ('AAPL', 'AMZN') THEN 1 ELSE 0 END) OVER (ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) - ) AS DOUBLE PRECISION) / COUNT(*) OVER (ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS DECIMAL), + CAST(( + 100.0 * SUM(CASE WHEN sbticker.sbtickersymbol IN ('AAPL', 'AMZN') THEN 1 ELSE 0 END) OVER ( + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) + ) / COUNT(*) OVER ( + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS DECIMAL), 2 ) AS pct_apple_txns, SUM( @@ -16,9 +30,15 @@ SELECT THEN sbtransaction.sbtxshares ELSE -1 * sbtransaction.sbtxshares END - ) OVER (ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS share_change, + ) OVER ( + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS share_change, ROUND( - CAST(AVG(CAST(sbtransaction.sbtxamount AS DOUBLE PRECISION)) OVER (ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS DECIMAL), + CAST(AVG(CAST(sbtransaction.sbtxamount AS DOUBLE PRECISION)) OVER ( + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS DECIMAL), 2 ) AS rolling_avg_amount FROM main.sbtransaction AS sbtransaction diff --git a/tests/test_sql_refsols/cumulative_stock_analysis_snowflake.sql b/tests/test_sql_refsols/cumulative_stock_analysis_snowflake.sql index e7659c5ba..ad0ec690a 100644 --- a/tests/test_sql_refsols/cumulative_stock_analysis_snowflake.sql +++ b/tests/test_sql_refsols/cumulative_stock_analysis_snowflake.sql @@ -1,13 +1,27 @@ SELECT sbtransaction.sbtxdatetime AS date_time, - COUNT(*) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS txn_within_day, + COUNT(*) OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS txn_within_day, COUNT( CASE WHEN sbtransaction.sbtxtype = 'buy' THEN sbtransaction.sbtxtype ELSE NULL END - ) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS n_buys_within_day, + ) OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS n_buys_within_day, ROUND( ( - 100.0 * COUNT_IF(sbticker.sbtickersymbol IN ('AAPL', 'AMZN')) OVER (ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) - ) / COUNT(*) OVER (ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + 100.0 * COUNT_IF(sbticker.sbtickersymbol IN ('AAPL', 'AMZN')) OVER ( + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) + ) / COUNT(*) OVER ( + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ), 2 ) AS pct_apple_txns, SUM( @@ -16,9 +30,15 @@ SELECT sbtransaction.sbtxshares, -1 * sbtransaction.sbtxshares ) - ) OVER (ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS share_change, + ) OVER ( + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS share_change, ROUND( - AVG(CAST(sbtransaction.sbtxamount AS DOUBLE)) OVER (ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + AVG(CAST(sbtransaction.sbtxamount AS DOUBLE)) OVER ( + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ), 2 ) AS rolling_avg_amount FROM main.sbtransaction AS sbtransaction diff --git a/tests/test_sql_refsols/cumulative_stock_analysis_sqlite.sql b/tests/test_sql_refsols/cumulative_stock_analysis_sqlite.sql index 0091dd10e..329100261 100644 --- a/tests/test_sql_refsols/cumulative_stock_analysis_sqlite.sql +++ b/tests/test_sql_refsols/cumulative_stock_analysis_sqlite.sql @@ -1,13 +1,27 @@ SELECT sbtransaction.sbtxdatetime AS date_time, - COUNT(*) OVER (PARTITION BY DATE(sbtransaction.sbtxdatetime, 'start of day') ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS txn_within_day, + COUNT(*) OVER ( + PARTITION BY DATE(sbtransaction.sbtxdatetime, 'start of day') + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS txn_within_day, COUNT( CASE WHEN sbtransaction.sbtxtype = 'buy' THEN sbtransaction.sbtxtype ELSE NULL END - ) OVER (PARTITION BY DATE(sbtransaction.sbtxdatetime, 'start of day') ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS n_buys_within_day, + ) OVER ( + PARTITION BY DATE(sbtransaction.sbtxdatetime, 'start of day') + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS n_buys_within_day, ROUND( CAST(( - 100.0 * SUM(IIF(sbticker.sbtickersymbol IN ('AAPL', 'AMZN'), 1, 0)) OVER (ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) - ) AS REAL) / COUNT(*) OVER (ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + 100.0 * SUM(IIF(sbticker.sbtickersymbol IN ('AAPL', 'AMZN'), 1, 0)) OVER ( + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) + ) AS REAL) / COUNT(*) OVER ( + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ), 2 ) AS pct_apple_txns, SUM( @@ -16,9 +30,15 @@ SELECT sbtransaction.sbtxshares, -1 * sbtransaction.sbtxshares ) - ) OVER (ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS share_change, + ) OVER ( + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS share_change, ROUND( - AVG(CAST(sbtransaction.sbtxamount AS REAL)) OVER (ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + AVG(CAST(sbtransaction.sbtxamount AS REAL)) OVER ( + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ), 2 ) AS rolling_avg_amount FROM main.sbtransaction AS sbtransaction diff --git a/tests/test_sql_refsols/cumulative_stock_analysis_trino.sql b/tests/test_sql_refsols/cumulative_stock_analysis_trino.sql index 752e7111b..335eb2d2a 100644 --- a/tests/test_sql_refsols/cumulative_stock_analysis_trino.sql +++ b/tests/test_sql_refsols/cumulative_stock_analysis_trino.sql @@ -1,13 +1,27 @@ SELECT sbtransaction.sbtxdatetime AS date_time, - COUNT(*) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS txn_within_day, + COUNT(*) OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS txn_within_day, COUNT( CASE WHEN sbtransaction.sbtxtype = 'buy' THEN sbtransaction.sbtxtype ELSE NULL END - ) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS n_buys_within_day, + ) OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS n_buys_within_day, ROUND( - CAST(( - 100.0 * COUNT_IF(sbticker.sbtickersymbol IN ('AAPL', 'AMZN')) OVER (ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) - ) AS DOUBLE) / COUNT(*) OVER (ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + ( + 100.0 * COUNT_IF(sbticker.sbtickersymbol IN ('AAPL', 'AMZN')) OVER ( + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) + ) / COUNT(*) OVER ( + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ), 2 ) AS pct_apple_txns, SUM( @@ -16,9 +30,15 @@ SELECT sbtransaction.sbtxshares, -1 * sbtransaction.sbtxshares ) - ) OVER (ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS share_change, + ) OVER ( + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS share_change, ROUND( - AVG(CAST(sbtransaction.sbtxamount AS DOUBLE)) OVER (ORDER BY sbtransaction.sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + AVG(CAST(sbtransaction.sbtxamount AS DOUBLE)) OVER ( + ORDER BY sbtransaction.sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ), 2 ) AS rolling_avg_amount FROM main.sbtransaction AS sbtransaction diff --git a/tests/test_sql_refsols/customer_largest_order_deltas_mysql.sql b/tests/test_sql_refsols/customer_largest_order_deltas_mysql.sql index 57d77df3e..74bf859f7 100644 --- a/tests/test_sql_refsols/customer_largest_order_deltas_mysql.sql +++ b/tests/test_sql_refsols/customer_largest_order_deltas_mysql.sql @@ -25,12 +25,18 @@ WITH _s1 AS ( anything_o_custkey, anything_o_orderdate, sum_r, - LAG(COALESCE(sum_r, 0), 1) OVER (PARTITION BY anything_o_custkey ORDER BY CASE WHEN anything_o_orderdate IS NULL THEN 1 ELSE 0 END, anything_o_orderdate) AS _w + LAG(COALESCE(sum_r, 0), 1) OVER ( + PARTITION BY anything_o_custkey + ORDER BY CASE WHEN anything_o_orderdate IS NULL THEN 1 ELSE 0 END, anything_o_orderdate + ) AS _w FROM _t5 ), _s3 AS ( SELECT anything_o_custkey, - COALESCE(sum_r, 0) - LAG(COALESCE(sum_r, 0), 1) OVER (PARTITION BY anything_o_custkey ORDER BY CASE WHEN anything_o_orderdate IS NULL THEN 1 ELSE 0 END, anything_o_orderdate) AS revenue_delta + COALESCE(sum_r, 0) - LAG(COALESCE(sum_r, 0), 1) OVER ( + PARTITION BY anything_o_custkey + ORDER BY CASE WHEN anything_o_orderdate IS NULL THEN 1 ELSE 0 END, anything_o_orderdate + ) AS revenue_delta FROM _t WHERE NOT _w IS NULL diff --git a/tests/test_sql_refsols/customer_largest_order_deltas_oracle.sql b/tests/test_sql_refsols/customer_largest_order_deltas_oracle.sql index 2b8fcc0c1..edfbdbc1e 100644 --- a/tests/test_sql_refsols/customer_largest_order_deltas_oracle.sql +++ b/tests/test_sql_refsols/customer_largest_order_deltas_oracle.sql @@ -1,54 +1,54 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - l_discount AS L_DISCOUNT, - l_extendedprice AS L_EXTENDEDPRICE, - l_orderkey AS L_ORDERKEY + L_DISCOUNT, + L_EXTENDEDPRICE, + L_ORDERKEY FROM TPCH.LINEITEM WHERE - EXTRACT(YEAR FROM CAST(l_shipdate AS DATE)) = 1994 AND l_shipmode = 'AIR' -), "_T5" AS ( + EXTRACT(YEAR FROM CAST(L_SHIPDATE AS DATE)) = 1994 AND L_SHIPMODE = 'AIR' +), "_t5" AS ( SELECT - ANY_VALUE(ORDERS.o_custkey) AS ANYTHING_O_CUSTKEY, - ANY_VALUE(ORDERS.o_orderdate) AS ANYTHING_O_ORDERDATE, - SUM("_S1".L_EXTENDEDPRICE * ( - 1 - "_S1".L_DISCOUNT + ANY_VALUE(ORDERS.O_CUSTKEY) AS ANYTHING_O_CUSTKEY, + ANY_VALUE(ORDERS.O_ORDERDATE) AS ANYTHING_O_ORDERDATE, + SUM("_s1".L_EXTENDEDPRICE * ( + 1 - "_s1".L_DISCOUNT )) AS SUM_R FROM TPCH.ORDERS ORDERS - LEFT JOIN "_S1" "_S1" - ON ORDERS.o_orderkey = "_S1".L_ORDERKEY + LEFT JOIN "_s1" "_s1" + ON ORDERS.O_ORDERKEY = "_s1".L_ORDERKEY WHERE - EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) = 1994 + EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) = 1994 GROUP BY - ORDERS.o_orderkey -), "_T" AS ( + ORDERS.O_ORDERKEY +), "_t" AS ( SELECT ANYTHING_O_CUSTKEY, ANYTHING_O_ORDERDATE, SUM_R, - LAG(COALESCE(SUM_R, 0), 1) OVER (PARTITION BY ANYTHING_O_CUSTKEY ORDER BY ANYTHING_O_ORDERDATE) AS "_W" - FROM "_T5" -), "_S3" AS ( + LAG(COALESCE(SUM_R, 0), 1) OVER (PARTITION BY ANYTHING_O_CUSTKEY ORDER BY ANYTHING_O_ORDERDATE) AS "_w" + FROM "_t5" +), "_s3" AS ( SELECT ANYTHING_O_CUSTKEY, COALESCE(SUM_R, 0) - LAG(COALESCE(SUM_R, 0), 1) OVER (PARTITION BY ANYTHING_O_CUSTKEY ORDER BY ANYTHING_O_ORDERDATE) AS REVENUE_DELTA - FROM "_T" + FROM "_t" WHERE - NOT "_W" IS NULL + NOT "_w" IS NULL ) SELECT - ANY_VALUE(CUSTOMER.c_name) AS name, + ANY_VALUE(CUSTOMER.C_NAME) AS name, CASE - WHEN ABS(MIN("_S3".REVENUE_DELTA)) > MAX("_S3".REVENUE_DELTA) - THEN MIN("_S3".REVENUE_DELTA) - ELSE MAX("_S3".REVENUE_DELTA) + WHEN ABS(MIN("_s3".REVENUE_DELTA)) > MAX("_s3".REVENUE_DELTA) + THEN MIN("_s3".REVENUE_DELTA) + ELSE MAX("_s3".REVENUE_DELTA) END AS largest_diff FROM TPCH.CUSTOMER CUSTOMER -JOIN "_S3" "_S3" - ON CUSTOMER.c_custkey = "_S3".ANYTHING_O_CUSTKEY +JOIN "_s3" "_s3" + ON CUSTOMER.C_CUSTKEY = "_s3".ANYTHING_O_CUSTKEY WHERE - CUSTOMER.c_mktsegment = 'AUTOMOBILE' + CUSTOMER.C_MKTSEGMENT = 'AUTOMOBILE' GROUP BY - "_S3".ANYTHING_O_CUSTKEY + "_s3".ANYTHING_O_CUSTKEY ORDER BY 2 DESC NULLS LAST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/customer_largest_order_deltas_postgres.sql b/tests/test_sql_refsols/customer_largest_order_deltas_postgres.sql index 1ac8a0eb2..e65a0affb 100644 --- a/tests/test_sql_refsols/customer_largest_order_deltas_postgres.sql +++ b/tests/test_sql_refsols/customer_largest_order_deltas_postgres.sql @@ -8,8 +8,8 @@ WITH _s1 AS ( EXTRACT(YEAR FROM CAST(l_shipdate AS TIMESTAMP)) = 1994 AND l_shipmode = 'AIR' ), _t5 AS ( SELECT - MAX(orders.o_custkey) AS anything_o_custkey, - MAX(orders.o_orderdate) AS anything_o_orderdate, + ANY_VALUE(orders.o_custkey) AS anything_o_custkey, + ANY_VALUE(orders.o_orderdate) AS anything_o_orderdate, SUM(_s1.l_extendedprice * ( 1 - _s1.l_discount )) AS sum_r @@ -36,7 +36,7 @@ WITH _s1 AS ( NOT _w IS NULL ) SELECT - MAX(customer.c_name) AS name, + ANY_VALUE(customer.c_name) AS name, CASE WHEN ABS(MIN(_s3.revenue_delta)) > MAX(_s3.revenue_delta) THEN MIN(_s3.revenue_delta) diff --git a/tests/test_sql_refsols/customer_most_recent_orders_ansi.sql b/tests/test_sql_refsols/customer_most_recent_orders_ansi.sql index 6883efb4d..92f636180 100644 --- a/tests/test_sql_refsols/customer_most_recent_orders_ansi.sql +++ b/tests/test_sql_refsols/customer_most_recent_orders_ansi.sql @@ -4,7 +4,10 @@ WITH _t2 AS ( o_totalprice FROM tpch.orders QUALIFY - ROW_NUMBER() OVER (PARTITION BY o_custkey ORDER BY o_orderdate DESC NULLS FIRST, o_orderkey NULLS LAST) <= 5 + ROW_NUMBER() OVER ( + PARTITION BY o_custkey + ORDER BY o_orderdate DESC NULLS FIRST, o_orderkey NULLS LAST + ) <= 5 ), _s1 AS ( SELECT o_custkey, diff --git a/tests/test_sql_refsols/customer_most_recent_orders_databricks.sql b/tests/test_sql_refsols/customer_most_recent_orders_databricks.sql index 6883efb4d..92f636180 100644 --- a/tests/test_sql_refsols/customer_most_recent_orders_databricks.sql +++ b/tests/test_sql_refsols/customer_most_recent_orders_databricks.sql @@ -4,7 +4,10 @@ WITH _t2 AS ( o_totalprice FROM tpch.orders QUALIFY - ROW_NUMBER() OVER (PARTITION BY o_custkey ORDER BY o_orderdate DESC NULLS FIRST, o_orderkey NULLS LAST) <= 5 + ROW_NUMBER() OVER ( + PARTITION BY o_custkey + ORDER BY o_orderdate DESC NULLS FIRST, o_orderkey NULLS LAST + ) <= 5 ), _s1 AS ( SELECT o_custkey, diff --git a/tests/test_sql_refsols/customer_most_recent_orders_mysql.sql b/tests/test_sql_refsols/customer_most_recent_orders_mysql.sql index 745949607..5e2d83046 100644 --- a/tests/test_sql_refsols/customer_most_recent_orders_mysql.sql +++ b/tests/test_sql_refsols/customer_most_recent_orders_mysql.sql @@ -2,7 +2,10 @@ WITH _t AS ( SELECT o_custkey, o_totalprice, - ROW_NUMBER() OVER (PARTITION BY o_custkey ORDER BY CASE WHEN o_orderdate IS NULL THEN 1 ELSE 0 END DESC, o_orderdate DESC, CASE WHEN o_orderkey IS NULL THEN 1 ELSE 0 END, o_orderkey) AS _w + ROW_NUMBER() OVER ( + PARTITION BY o_custkey + ORDER BY CASE WHEN o_orderdate IS NULL THEN 1 ELSE 0 END DESC, o_orderdate DESC, CASE WHEN o_orderkey IS NULL THEN 1 ELSE 0 END, o_orderkey + ) AS _w FROM tpch.ORDERS ), _s1 AS ( SELECT diff --git a/tests/test_sql_refsols/customer_most_recent_orders_oracle.sql b/tests/test_sql_refsols/customer_most_recent_orders_oracle.sql index 2492728a4..b2e48a42f 100644 --- a/tests/test_sql_refsols/customer_most_recent_orders_oracle.sql +++ b/tests/test_sql_refsols/customer_most_recent_orders_oracle.sql @@ -1,25 +1,25 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - o_custkey AS O_CUSTKEY, - o_totalprice AS O_TOTALPRICE, - ROW_NUMBER() OVER (PARTITION BY o_custkey ORDER BY o_orderdate DESC, o_orderkey) AS "_W" + O_CUSTKEY, + O_TOTALPRICE, + ROW_NUMBER() OVER (PARTITION BY O_CUSTKEY ORDER BY O_ORDERDATE DESC, O_ORDERKEY) AS "_w" FROM TPCH.ORDERS -), "_S1" AS ( +), "_s1" AS ( SELECT O_CUSTKEY, SUM(O_TOTALPRICE) AS SUM_O_TOTALPRICE - FROM "_T" + FROM "_t" WHERE - "_W" <= 5 + "_w" <= 5 GROUP BY O_CUSTKEY ) SELECT - CUSTOMER.c_name AS name, - COALESCE("_S1".SUM_O_TOTALPRICE, 0) AS total_recent_value + CUSTOMER.C_NAME AS name, + COALESCE("_s1".SUM_O_TOTALPRICE, 0) AS total_recent_value FROM TPCH.CUSTOMER CUSTOMER -JOIN "_S1" "_S1" - ON CUSTOMER.c_custkey = "_S1".O_CUSTKEY +JOIN "_s1" "_s1" + ON CUSTOMER.C_CUSTKEY = "_s1".O_CUSTKEY ORDER BY 2 DESC NULLS LAST FETCH FIRST 3 ROWS ONLY diff --git a/tests/test_sql_refsols/dataframe_collection_best_ansi.sql b/tests/test_sql_refsols/dataframe_collection_best_ansi.sql index 46d101e0c..a3598066e 100644 --- a/tests/test_sql_refsols/dataframe_collection_best_ansi.sql +++ b/tests/test_sql_refsols/dataframe_collection_best_ansi.sql @@ -18,7 +18,10 @@ WITH _s1 AS ( JOIN _s1 AS _s1 ON _s1.priority_lvl = orders.o_orderpriority QUALIFY - ROW_NUMBER() OVER (PARTITION BY orders.o_orderkey ORDER BY orders.o_totalprice + orders.o_totalprice * _s1.tax_rate NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY orders.o_orderkey + ORDER BY orders.o_totalprice + orders.o_totalprice * _s1.tax_rate NULLS LAST + ) = 1 ) SELECT customer.c_name AS name, diff --git a/tests/test_sql_refsols/dataframe_collection_best_databricks.sql b/tests/test_sql_refsols/dataframe_collection_best_databricks.sql index 5dc2d80b9..8e5737c7e 100644 --- a/tests/test_sql_refsols/dataframe_collection_best_databricks.sql +++ b/tests/test_sql_refsols/dataframe_collection_best_databricks.sql @@ -13,7 +13,10 @@ WITH _t1 AS ( ('4-NOT SPECIFIED', 0.02) AS priority_taxes(priority_lvl, tax_rate) ON orders.o_orderpriority = priority_taxes.priority_lvl QUALIFY - ROW_NUMBER() OVER (PARTITION BY orders.o_orderkey ORDER BY orders.o_totalprice + orders.o_totalprice * priority_taxes.tax_rate NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY orders.o_orderkey + ORDER BY orders.o_totalprice + orders.o_totalprice * priority_taxes.tax_rate NULLS LAST + ) = 1 ) SELECT customer.c_name AS name, diff --git a/tests/test_sql_refsols/dataframe_collection_best_duckdb.sql b/tests/test_sql_refsols/dataframe_collection_best_duckdb.sql index 16d2e8658..6794f4a6f 100644 --- a/tests/test_sql_refsols/dataframe_collection_best_duckdb.sql +++ b/tests/test_sql_refsols/dataframe_collection_best_duckdb.sql @@ -13,7 +13,10 @@ WITH _t1 AS ( ('4-NOT SPECIFIED', 0.02)) AS priority_taxes(priority_lvl, tax_rate) ON orders.o_orderpriority = priority_taxes.priority_lvl QUALIFY - ROW_NUMBER() OVER (PARTITION BY orders.o_orderkey ORDER BY orders.o_totalprice + orders.o_totalprice * priority_taxes.tax_rate) = 1 + ROW_NUMBER() OVER ( + PARTITION BY orders.o_orderkey + ORDER BY orders.o_totalprice + orders.o_totalprice * priority_taxes.tax_rate + ) = 1 ) SELECT customer.c_name AS name, diff --git a/tests/test_sql_refsols/dataframe_collection_best_mysql.sql b/tests/test_sql_refsols/dataframe_collection_best_mysql.sql index bb2b9f46c..4fa3762e7 100644 --- a/tests/test_sql_refsols/dataframe_collection_best_mysql.sql +++ b/tests/test_sql_refsols/dataframe_collection_best_mysql.sql @@ -5,11 +5,14 @@ WITH _t AS ( ORDERS.o_orderpriority, ORDERS.o_totalprice, priority_taxes.tax_rate, - ROW_NUMBER() OVER (PARTITION BY ORDERS.o_orderkey ORDER BY CASE - WHEN ORDERS.o_totalprice + ORDERS.o_totalprice * priority_taxes.tax_rate IS NULL - THEN 1 - ELSE 0 - END, ORDERS.o_totalprice + ORDERS.o_totalprice * priority_taxes.tax_rate) AS _w + ROW_NUMBER() OVER ( + PARTITION BY ORDERS.o_orderkey + ORDER BY CASE + WHEN ORDERS.o_totalprice + ORDERS.o_totalprice * priority_taxes.tax_rate IS NULL + THEN 1 + ELSE 0 + END, ORDERS.o_totalprice + ORDERS.o_totalprice * priority_taxes.tax_rate + ) AS _w FROM tpch.ORDERS AS ORDERS JOIN (VALUES ROW('1-URGENT', 0.05), diff --git a/tests/test_sql_refsols/dataframe_collection_best_oracle.sql b/tests/test_sql_refsols/dataframe_collection_best_oracle.sql index 2d30185d8..43729030a 100644 --- a/tests/test_sql_refsols/dataframe_collection_best_oracle.sql +++ b/tests/test_sql_refsols/dataframe_collection_best_oracle.sql @@ -1,27 +1,30 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - ORDERS.o_custkey AS O_CUSTKEY, - ORDERS.o_orderkey AS O_ORDERKEY, - ORDERS.o_orderpriority AS O_ORDERPRIORITY, - ORDERS.o_totalprice AS O_TOTALPRICE, + ORDERS.O_CUSTKEY, + ORDERS.O_ORDERKEY, + ORDERS.O_ORDERPRIORITY, + ORDERS.O_TOTALPRICE, PRIORITY_TAXES.TAX_RATE, - ROW_NUMBER() OVER (PARTITION BY ORDERS.o_orderkey ORDER BY ORDERS.o_totalprice + ORDERS.o_totalprice * PRIORITY_TAXES.TAX_RATE) AS "_W" + ROW_NUMBER() OVER ( + PARTITION BY ORDERS.O_ORDERKEY + ORDER BY ORDERS.O_TOTALPRICE + ORDERS.O_TOTALPRICE * PRIORITY_TAXES.TAX_RATE + ) AS "_w" FROM TPCH.ORDERS ORDERS JOIN (VALUES ('1-URGENT', 0.05), ('2-HIGH', 0.04), ('3-MEDIUM', 0.03), ('4-NOT SPECIFIED', 0.02)) AS PRIORITY_TAXES(PRIORITY_LVL, TAX_RATE) - ON ORDERS.o_orderpriority = PRIORITY_TAXES.PRIORITY_LVL + ON ORDERS.O_ORDERPRIORITY = PRIORITY_TAXES.PRIORITY_LVL ) SELECT - CUSTOMER.c_name AS name, - "_T".O_ORDERKEY AS order_key, - "_T".O_ORDERPRIORITY AS order_priority, - "_T".O_TOTALPRICE + "_T".O_TOTALPRICE * "_T".TAX_RATE AS cheapest_order_price + CUSTOMER.C_NAME AS name, + "_t".O_ORDERKEY AS order_key, + "_t".O_ORDERPRIORITY AS order_priority, + "_t".O_TOTALPRICE + "_t".O_TOTALPRICE * "_t".TAX_RATE AS cheapest_order_price FROM TPCH.CUSTOMER CUSTOMER -JOIN "_T" "_T" - ON CUSTOMER.c_custkey = "_T".O_CUSTKEY AND "_T"."_W" = 1 +JOIN "_t" "_t" + ON CUSTOMER.C_CUSTKEY = "_t".O_CUSTKEY AND "_t"."_w" = 1 ORDER BY 4 NULLS FIRST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/dataframe_collection_best_postgres.sql b/tests/test_sql_refsols/dataframe_collection_best_postgres.sql index b79ccc18d..93a3349dd 100644 --- a/tests/test_sql_refsols/dataframe_collection_best_postgres.sql +++ b/tests/test_sql_refsols/dataframe_collection_best_postgres.sql @@ -5,7 +5,10 @@ WITH _t AS ( orders.o_orderpriority, orders.o_totalprice, priority_taxes.tax_rate, - ROW_NUMBER() OVER (PARTITION BY orders.o_orderkey ORDER BY orders.o_totalprice + orders.o_totalprice * priority_taxes.tax_rate) AS _w + ROW_NUMBER() OVER ( + PARTITION BY orders.o_orderkey + ORDER BY orders.o_totalprice + orders.o_totalprice * priority_taxes.tax_rate + ) AS _w FROM tpch.orders AS orders JOIN (VALUES ('1-URGENT', 0.05), diff --git a/tests/test_sql_refsols/dataframe_collection_best_snowflake.sql b/tests/test_sql_refsols/dataframe_collection_best_snowflake.sql index 16d2e8658..6794f4a6f 100644 --- a/tests/test_sql_refsols/dataframe_collection_best_snowflake.sql +++ b/tests/test_sql_refsols/dataframe_collection_best_snowflake.sql @@ -13,7 +13,10 @@ WITH _t1 AS ( ('4-NOT SPECIFIED', 0.02)) AS priority_taxes(priority_lvl, tax_rate) ON orders.o_orderpriority = priority_taxes.priority_lvl QUALIFY - ROW_NUMBER() OVER (PARTITION BY orders.o_orderkey ORDER BY orders.o_totalprice + orders.o_totalprice * priority_taxes.tax_rate) = 1 + ROW_NUMBER() OVER ( + PARTITION BY orders.o_orderkey + ORDER BY orders.o_totalprice + orders.o_totalprice * priority_taxes.tax_rate + ) = 1 ) SELECT customer.c_name AS name, diff --git a/tests/test_sql_refsols/dataframe_collection_best_sqlite.sql b/tests/test_sql_refsols/dataframe_collection_best_sqlite.sql index 8ea80198f..4b5794c84 100644 --- a/tests/test_sql_refsols/dataframe_collection_best_sqlite.sql +++ b/tests/test_sql_refsols/dataframe_collection_best_sqlite.sql @@ -5,7 +5,10 @@ WITH _t AS ( orders.o_orderpriority, orders.o_totalprice, priority_taxes.column2 AS tax_rate, - ROW_NUMBER() OVER (PARTITION BY orders.o_orderkey ORDER BY orders.o_totalprice + orders.o_totalprice * priority_taxes.column2) AS _w + ROW_NUMBER() OVER ( + PARTITION BY orders.o_orderkey + ORDER BY orders.o_totalprice + orders.o_totalprice * priority_taxes.column2 + ) AS _w FROM tpch.orders AS orders JOIN (VALUES ('1-URGENT', 0.05), diff --git a/tests/test_sql_refsols/dataframe_collection_best_trino.sql b/tests/test_sql_refsols/dataframe_collection_best_trino.sql index b79ccc18d..93a3349dd 100644 --- a/tests/test_sql_refsols/dataframe_collection_best_trino.sql +++ b/tests/test_sql_refsols/dataframe_collection_best_trino.sql @@ -5,7 +5,10 @@ WITH _t AS ( orders.o_orderpriority, orders.o_totalprice, priority_taxes.tax_rate, - ROW_NUMBER() OVER (PARTITION BY orders.o_orderkey ORDER BY orders.o_totalprice + orders.o_totalprice * priority_taxes.tax_rate) AS _w + ROW_NUMBER() OVER ( + PARTITION BY orders.o_orderkey + ORDER BY orders.o_totalprice + orders.o_totalprice * priority_taxes.tax_rate + ) AS _w FROM tpch.orders AS orders JOIN (VALUES ('1-URGENT', 0.05), diff --git a/tests/test_sql_refsols/dataframe_collection_correlation_oracle.sql b/tests/test_sql_refsols/dataframe_collection_correlation_oracle.sql index 6f5ffbeec..70c0a2fd1 100644 --- a/tests/test_sql_refsols/dataframe_collection_correlation_oracle.sql +++ b/tests/test_sql_refsols/dataframe_collection_correlation_oracle.sql @@ -1,32 +1,32 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - CLASSES_2."KEY", + CLASSES_2."key", COUNT(*) AS N_ROWS FROM (VALUES (15112, 'Programming Fundamentals', 'Python'), (15122, 'Imperative Programming', 'C'), (15150, 'Functional Programming', 'SML'), (15210, 'Parallel Algorithms', 'SML'), - (15251, 'Theoretical CS', NULL)) AS CLASSES_2("KEY", CLASS_NAME, LANGUAGE) + (15251, 'Theoretical CS', NULL)) AS CLASSES_2("key", CLASS_NAME, LANGUAGE) JOIN (VALUES (15112, 'Programming Fundamentals', 'Python'), (15122, 'Imperative Programming', 'C'), (15150, 'Functional Programming', 'SML'), (15210, 'Parallel Algorithms', 'SML'), - (15251, 'Theoretical CS', NULL)) AS CLASSES_3("KEY", CLASS_NAME, LANGUAGE) - ON CLASSES_2."KEY" <> CLASSES_3."KEY" AND CLASSES_2.LANGUAGE = CLASSES_3.LANGUAGE + (15251, 'Theoretical CS', NULL)) AS CLASSES_3("key", CLASS_NAME, LANGUAGE) + ON CLASSES_2.LANGUAGE = CLASSES_3.LANGUAGE AND CLASSES_2."key" <> CLASSES_3."key" GROUP BY - CLASSES_2."KEY" + CLASSES_2."key" ) SELECT CLASSES.CLASS_NAME AS class_name, CLASSES.LANGUAGE AS language, - COALESCE("_S3".N_ROWS, 0) AS n_other_classes + COALESCE("_s3".N_ROWS, 0) AS n_other_classes FROM (VALUES (15112, 'Programming Fundamentals', 'Python'), (15122, 'Imperative Programming', 'C'), (15150, 'Functional Programming', 'SML'), (15210, 'Parallel Algorithms', 'SML'), - (15251, 'Theoretical CS', NULL)) AS CLASSES("KEY", CLASS_NAME, LANGUAGE) -LEFT JOIN "_S3" "_S3" - ON CLASSES."KEY" = "_S3"."KEY" + (15251, 'Theoretical CS', NULL)) AS CLASSES("key", CLASS_NAME, LANGUAGE) +LEFT JOIN "_s3" "_s3" + ON CLASSES."key" = "_s3"."key" diff --git a/tests/test_sql_refsols/dataframe_collection_datatypes_snowflake.sql b/tests/test_sql_refsols/dataframe_collection_datatypes_snowflake.sql index 8b7df6271..2511e2ac0 100644 --- a/tests/test_sql_refsols/dataframe_collection_datatypes_snowflake.sql +++ b/tests/test_sql_refsols/dataframe_collection_datatypes_snowflake.sql @@ -7,8 +7,8 @@ SELECT alldatatypes.null_col, alldatatypes.datetime_col FROM (VALUES - ('red', 0, 1.5, 1.0, 1, NULL, CAST('2024-01-01 00:00:00' AS TIMESTAMP)), - ('orange', 1, 2.0, NULL, 0, NULL, CAST('2024-01-02 00:00:00' AS TIMESTAMP)), + ('red', 0, 1.5, 1.0, 1, NULL, CAST('2024-01-01 00:00:00' AS TIMESTAMPNTZ)), + ('orange', 1, 2.0, NULL, 0, NULL, CAST('2024-01-02 00:00:00' AS TIMESTAMPNTZ)), (NULL, 2, NULL, 7.0, 0, NULL, NULL)) AS alldatatypes(string_col, int_col, float_col, nullable_int_col, bool_col, null_col, datetime_col) ORDER BY 2 NULLS FIRST diff --git a/tests/test_sql_refsols/dataframe_collection_highest_rating_mysql.sql b/tests/test_sql_refsols/dataframe_collection_highest_rating_mysql.sql index 799dbbacf..4bc74c834 100644 --- a/tests/test_sql_refsols/dataframe_collection_highest_rating_mysql.sql +++ b/tests/test_sql_refsols/dataframe_collection_highest_rating_mysql.sql @@ -3,7 +3,10 @@ WITH _t AS ( classes.class_name, teaching.semester, teaching.teacher_id, - ROW_NUMBER() OVER (PARTITION BY classes.`key` ORDER BY CASE WHEN teaching.rating IS NULL THEN 1 ELSE 0 END DESC, teaching.rating DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY classes.`key` + ORDER BY CASE WHEN teaching.rating IS NULL THEN 1 ELSE 0 END DESC, teaching.rating DESC + ) AS _w FROM (VALUES ROW(15112, 'Programming Fundamentals', 'Python'), ROW(15122, 'Imperative Programming', 'C'), diff --git a/tests/test_sql_refsols/dataframe_collection_highest_rating_oracle.sql b/tests/test_sql_refsols/dataframe_collection_highest_rating_oracle.sql index e8034c6c2..87b30ea10 100644 --- a/tests/test_sql_refsols/dataframe_collection_highest_rating_oracle.sql +++ b/tests/test_sql_refsols/dataframe_collection_highest_rating_oracle.sql @@ -1,15 +1,15 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT CLASSES.CLASS_NAME, TEACHING.SEMESTER, TEACHING.TEACHER_ID, - ROW_NUMBER() OVER (PARTITION BY CLASSES."KEY" ORDER BY TEACHING.RATING DESC) AS "_W" + ROW_NUMBER() OVER (PARTITION BY CLASSES."key" ORDER BY TEACHING.RATING DESC) AS "_w" FROM (VALUES (15112, 'Programming Fundamentals', 'Python'), (15122, 'Imperative Programming', 'C'), (15150, 'Functional Programming', 'SML'), (15210, 'Parallel Algorithms', 'SML'), - (15251, 'Theoretical CS', NULL)) AS CLASSES("KEY", CLASS_NAME, LANGUAGE) + (15251, 'Theoretical CS', NULL)) AS CLASSES("key", CLASS_NAME, LANGUAGE) JOIN (VALUES (15112, 1, '2020-09-01', 11.39), (15122, 2, '2020-09-01', 9.22), @@ -41,14 +41,14 @@ WITH "_T" AS ( (15150, 4, '2023-02-01', 9.73), (15210, 5, '2023-02-01', 0.12), (15251, 6, '2023-02-01', 4.99)) AS TEACHING(CLASS_KEY, TEACHER_ID, SEMESTER, RATING) - ON CLASSES."KEY" = TEACHING.CLASS_KEY + ON CLASSES."key" = TEACHING.CLASS_KEY ) SELECT - "_T".CLASS_NAME AS class_name, - "_T".SEMESTER AS last_semester, + "_t".CLASS_NAME AS class_name, + "_t".SEMESTER AS last_semester, TEACHERS.FIRST_NAME AS teacher_first_name, TEACHERS.LAST_NAME AS teacher_last_name -FROM "_T" "_T" +FROM "_t" "_t" LEFT JOIN (VALUES (1, 'Anil', 'Lee'), (2, 'Mike', 'Lee'), @@ -62,6 +62,6 @@ LEFT JOIN (VALUES (10, 'Mike', 'Thomas'), (11, 'Ian', 'Thomas'), (12, 'David', 'Thomas')) AS TEACHERS(TID, FIRST_NAME, LAST_NAME) - ON TEACHERS.TID = "_T".TEACHER_ID + ON TEACHERS.TID = "_t".TEACHER_ID WHERE - "_T"."_W" = 1 + "_t"."_w" = 1 diff --git a/tests/test_sql_refsols/dataframe_collection_inf_sqlite.sql b/tests/test_sql_refsols/dataframe_collection_inf_sqlite.sql index 5aeeade79..e63674a1d 100644 --- a/tests/test_sql_refsols/dataframe_collection_inf_sqlite.sql +++ b/tests/test_sql_refsols/dataframe_collection_inf_sqlite.sql @@ -6,4 +6,4 @@ FROM (VALUES (1.5, -2.25, 0.0), (NULL, NULL, NULL), (1e999, 1e999, 1e999), - (-1e999, -1e999, -1e999)) AS infinty + (-1E+999, -1E+999, -1E+999)) AS infinty diff --git a/tests/test_sql_refsols/dataframe_collection_language_highest_rating_mysql.sql b/tests/test_sql_refsols/dataframe_collection_language_highest_rating_mysql.sql index 97495f71a..22c2832e8 100644 --- a/tests/test_sql_refsols/dataframe_collection_language_highest_rating_mysql.sql +++ b/tests/test_sql_refsols/dataframe_collection_language_highest_rating_mysql.sql @@ -3,7 +3,10 @@ WITH _t AS ( classes.language, teaching.rating, teaching.teacher_id, - ROW_NUMBER() OVER (PARTITION BY classes.language ORDER BY CASE WHEN teaching.rating IS NULL THEN 1 ELSE 0 END DESC, teaching.rating DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY classes.language + ORDER BY CASE WHEN teaching.rating IS NULL THEN 1 ELSE 0 END DESC, teaching.rating DESC + ) AS _w FROM (VALUES ROW(15112, 'Programming Fundamentals', 'Python'), ROW(15122, 'Imperative Programming', 'C'), diff --git a/tests/test_sql_refsols/dataframe_collection_language_highest_rating_oracle.sql b/tests/test_sql_refsols/dataframe_collection_language_highest_rating_oracle.sql index 12f10f78c..a6c79b629 100644 --- a/tests/test_sql_refsols/dataframe_collection_language_highest_rating_oracle.sql +++ b/tests/test_sql_refsols/dataframe_collection_language_highest_rating_oracle.sql @@ -1,15 +1,15 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT CLASSES.LANGUAGE, TEACHING.RATING, TEACHING.TEACHER_ID, - ROW_NUMBER() OVER (PARTITION BY CLASSES.LANGUAGE ORDER BY TEACHING.RATING DESC) AS "_W" + ROW_NUMBER() OVER (PARTITION BY CLASSES.LANGUAGE ORDER BY TEACHING.RATING DESC) AS "_w" FROM (VALUES (15112, 'Programming Fundamentals', 'Python'), (15122, 'Imperative Programming', 'C'), (15150, 'Functional Programming', 'SML'), (15210, 'Parallel Algorithms', 'SML'), - (15251, 'Theoretical CS', NULL)) AS CLASSES("KEY", CLASS_NAME, LANGUAGE) + (15251, 'Theoretical CS', NULL)) AS CLASSES("key", CLASS_NAME, LANGUAGE) JOIN (VALUES (15112, 1, '2020-09-01', 11.39), (15122, 2, '2020-09-01', 9.22), @@ -41,16 +41,16 @@ WITH "_T" AS ( (15150, 4, '2023-02-01', 9.73), (15210, 5, '2023-02-01', 0.12), (15251, 6, '2023-02-01', 4.99)) AS TEACHING(CLASS_KEY, TEACHER_ID, SEMESTER, RATING) - ON CLASSES."KEY" = TEACHING.CLASS_KEY + ON CLASSES."key" = TEACHING.CLASS_KEY WHERE NOT CLASSES.LANGUAGE IS NULL ) SELECT - "_T".LANGUAGE AS language, - "_T".RATING AS rating, + "_t".LANGUAGE AS language, + "_t".RATING AS rating, TEACHERS.FIRST_NAME AS first_name, TEACHERS.LAST_NAME AS last_name -FROM "_T" "_T" +FROM "_t" "_t" LEFT JOIN (VALUES (1, 'Anil', 'Lee'), (2, 'Mike', 'Lee'), @@ -64,6 +64,6 @@ LEFT JOIN (VALUES (10, 'Mike', 'Thomas'), (11, 'Ian', 'Thomas'), (12, 'David', 'Thomas')) AS TEACHERS(TID, FIRST_NAME, LAST_NAME) - ON TEACHERS.TID = "_T".TEACHER_ID + ON TEACHERS.TID = "_t".TEACHER_ID WHERE - "_T"."_W" = 1 + "_t"."_w" = 1 diff --git a/tests/test_sql_refsols/dataframe_collection_taught_recently_mysql.sql b/tests/test_sql_refsols/dataframe_collection_taught_recently_mysql.sql index 4b8726b58..4c03e3829 100644 --- a/tests/test_sql_refsols/dataframe_collection_taught_recently_mysql.sql +++ b/tests/test_sql_refsols/dataframe_collection_taught_recently_mysql.sql @@ -3,7 +3,10 @@ WITH _t AS ( classes.class_name, teaching.semester, teaching.teacher_id, - ROW_NUMBER() OVER (PARTITION BY classes.`key` ORDER BY CASE WHEN teaching.semester COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END DESC, teaching.semester COLLATE utf8mb4_bin DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY classes.`key` + ORDER BY CASE WHEN teaching.semester COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END DESC, teaching.semester COLLATE utf8mb4_bin DESC + ) AS _w FROM (VALUES ROW(15112, 'Programming Fundamentals', 'Python'), ROW(15122, 'Imperative Programming', 'C'), diff --git a/tests/test_sql_refsols/dataframe_collection_taught_recently_oracle.sql b/tests/test_sql_refsols/dataframe_collection_taught_recently_oracle.sql index 0eae75dd0..4cda6a4d4 100644 --- a/tests/test_sql_refsols/dataframe_collection_taught_recently_oracle.sql +++ b/tests/test_sql_refsols/dataframe_collection_taught_recently_oracle.sql @@ -1,15 +1,15 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT CLASSES.CLASS_NAME, TEACHING.SEMESTER, TEACHING.TEACHER_ID, - ROW_NUMBER() OVER (PARTITION BY CLASSES."KEY" ORDER BY TEACHING.SEMESTER DESC) AS "_W" + ROW_NUMBER() OVER (PARTITION BY CLASSES."key" ORDER BY TEACHING.SEMESTER DESC) AS "_w" FROM (VALUES (15112, 'Programming Fundamentals', 'Python'), (15122, 'Imperative Programming', 'C'), (15150, 'Functional Programming', 'SML'), (15210, 'Parallel Algorithms', 'SML'), - (15251, 'Theoretical CS', NULL)) AS CLASSES("KEY", CLASS_NAME, LANGUAGE) + (15251, 'Theoretical CS', NULL)) AS CLASSES("key", CLASS_NAME, LANGUAGE) JOIN (VALUES (15112, 1, '2020-09-01', 11.39), (15122, 2, '2020-09-01', 9.22), @@ -41,14 +41,14 @@ WITH "_T" AS ( (15150, 4, '2023-02-01', 9.73), (15210, 5, '2023-02-01', 0.12), (15251, 6, '2023-02-01', 4.99)) AS TEACHING(CLASS_KEY, TEACHER_ID, SEMESTER, RATING) - ON CLASSES."KEY" = TEACHING.CLASS_KEY + ON CLASSES."key" = TEACHING.CLASS_KEY ) SELECT - "_T".CLASS_NAME AS class_name, - "_T".SEMESTER AS last_semester, + "_t".CLASS_NAME AS class_name, + "_t".SEMESTER AS last_semester, TEACHERS.FIRST_NAME AS teacher_first_name, TEACHERS.LAST_NAME AS teacher_last_name -FROM "_T" "_T" +FROM "_t" "_t" LEFT JOIN (VALUES (1, 'Anil', 'Lee'), (2, 'Mike', 'Lee'), @@ -62,6 +62,6 @@ LEFT JOIN (VALUES (10, 'Mike', 'Thomas'), (11, 'Ian', 'Thomas'), (12, 'David', 'Thomas')) AS TEACHERS(TID, FIRST_NAME, LAST_NAME) - ON TEACHERS.TID = "_T".TEACHER_ID + ON TEACHERS.TID = "_t".TEACHER_ID WHERE - "_T"."_W" = 1 + "_t"."_w" = 1 diff --git a/tests/test_sql_refsols/dataframe_collection_teacher_class_mysql.sql b/tests/test_sql_refsols/dataframe_collection_teacher_class_mysql.sql index 4f5c51810..0ad9984e1 100644 --- a/tests/test_sql_refsols/dataframe_collection_teacher_class_mysql.sql +++ b/tests/test_sql_refsols/dataframe_collection_teacher_class_mysql.sql @@ -4,7 +4,10 @@ WITH _t AS ( teachers.first_name, teachers.last_name, teaching.semester, - ROW_NUMBER() OVER (PARTITION BY teachers.tid ORDER BY CASE WHEN teaching.semester COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END DESC, teaching.semester COLLATE utf8mb4_bin DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY teachers.tid + ORDER BY CASE WHEN teaching.semester COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END DESC, teaching.semester COLLATE utf8mb4_bin DESC + ) AS _w FROM (VALUES ROW(1, 'Anil', 'Lee'), ROW(2, 'Mike', 'Lee'), diff --git a/tests/test_sql_refsols/dataframe_collection_teacher_class_oracle.sql b/tests/test_sql_refsols/dataframe_collection_teacher_class_oracle.sql index 4e505a4d0..6df9c1680 100644 --- a/tests/test_sql_refsols/dataframe_collection_teacher_class_oracle.sql +++ b/tests/test_sql_refsols/dataframe_collection_teacher_class_oracle.sql @@ -1,10 +1,10 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT TEACHING.CLASS_KEY, TEACHERS.FIRST_NAME, TEACHERS.LAST_NAME, TEACHING.SEMESTER, - ROW_NUMBER() OVER (PARTITION BY TEACHERS.TID ORDER BY TEACHING.SEMESTER DESC) AS "_W" + ROW_NUMBER() OVER (PARTITION BY TEACHERS.TID ORDER BY TEACHING.SEMESTER DESC) AS "_w" FROM (VALUES (1, 'Anil', 'Lee'), (2, 'Mike', 'Lee'), @@ -52,17 +52,17 @@ WITH "_T" AS ( ON TEACHERS.TID = TEACHING.TEACHER_ID ) SELECT - "_T".FIRST_NAME AS first_name, - "_T".LAST_NAME AS last_name, - "_T".SEMESTER AS recent_semester, + "_t".FIRST_NAME AS first_name, + "_t".LAST_NAME AS last_name, + "_t".SEMESTER AS recent_semester, CLASSES.CLASS_NAME AS class_name -FROM "_T" "_T" +FROM "_t" "_t" LEFT JOIN (VALUES (15112, 'Programming Fundamentals', 'Python'), (15122, 'Imperative Programming', 'C'), (15150, 'Functional Programming', 'SML'), (15210, 'Parallel Algorithms', 'SML'), - (15251, 'Theoretical CS', NULL)) AS CLASSES("KEY", CLASS_NAME, LANGUAGE) - ON CLASSES."KEY" = "_T".CLASS_KEY + (15251, 'Theoretical CS', NULL)) AS CLASSES("key", CLASS_NAME, LANGUAGE) + ON CLASSES."key" = "_t".CLASS_KEY WHERE - "_T"."_W" = 1 + "_t"."_w" = 1 diff --git a/tests/test_sql_refsols/dataframe_collection_teacher_lowest_rating_mysql.sql b/tests/test_sql_refsols/dataframe_collection_teacher_lowest_rating_mysql.sql index ea832676b..7919b797b 100644 --- a/tests/test_sql_refsols/dataframe_collection_teacher_lowest_rating_mysql.sql +++ b/tests/test_sql_refsols/dataframe_collection_teacher_lowest_rating_mysql.sql @@ -4,7 +4,10 @@ WITH _t AS ( teachers.first_name, teachers.last_name, teaching.rating, - ROW_NUMBER() OVER (PARTITION BY teachers.tid ORDER BY CASE WHEN teaching.rating IS NULL THEN 1 ELSE 0 END DESC, teaching.rating DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY teachers.tid + ORDER BY CASE WHEN teaching.rating IS NULL THEN 1 ELSE 0 END DESC, teaching.rating DESC + ) AS _w FROM (VALUES ROW(1, 'Anil', 'Lee'), ROW(2, 'Mike', 'Lee'), diff --git a/tests/test_sql_refsols/dataframe_collection_teacher_lowest_rating_oracle.sql b/tests/test_sql_refsols/dataframe_collection_teacher_lowest_rating_oracle.sql index 07b93843d..802062691 100644 --- a/tests/test_sql_refsols/dataframe_collection_teacher_lowest_rating_oracle.sql +++ b/tests/test_sql_refsols/dataframe_collection_teacher_lowest_rating_oracle.sql @@ -1,10 +1,10 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT TEACHING.CLASS_KEY, TEACHERS.FIRST_NAME, TEACHERS.LAST_NAME, TEACHING.RATING, - ROW_NUMBER() OVER (PARTITION BY TEACHERS.TID ORDER BY TEACHING.RATING DESC) AS "_W" + ROW_NUMBER() OVER (PARTITION BY TEACHERS.TID ORDER BY TEACHING.RATING DESC) AS "_w" FROM (VALUES (1, 'Anil', 'Lee'), (2, 'Mike', 'Lee'), @@ -52,17 +52,17 @@ WITH "_T" AS ( ON TEACHERS.TID = TEACHING.TEACHER_ID ) SELECT - "_T".FIRST_NAME AS first_name, - "_T".LAST_NAME AS last_name, - "_T".RATING AS rating, + "_t".FIRST_NAME AS first_name, + "_t".LAST_NAME AS last_name, + "_t".RATING AS rating, CLASSES.CLASS_NAME AS class_name -FROM "_T" "_T" +FROM "_t" "_t" LEFT JOIN (VALUES (15112, 'Programming Fundamentals', 'Python'), (15122, 'Imperative Programming', 'C'), (15150, 'Functional Programming', 'SML'), (15210, 'Parallel Algorithms', 'SML'), - (15251, 'Theoretical CS', NULL)) AS CLASSES("KEY", CLASS_NAME, LANGUAGE) - ON CLASSES."KEY" = "_T".CLASS_KEY + (15251, 'Theoretical CS', NULL)) AS CLASSES("key", CLASS_NAME, LANGUAGE) + ON CLASSES."key" = "_t".CLASS_KEY WHERE - "_T"."_W" = 1 + "_t"."_w" = 1 diff --git a/tests/test_sql_refsols/dataframe_collection_top_k_oracle.sql b/tests/test_sql_refsols/dataframe_collection_top_k_oracle.sql index f84af103a..c3d237ab4 100644 --- a/tests/test_sql_refsols/dataframe_collection_top_k_oracle.sql +++ b/tests/test_sql_refsols/dataframe_collection_top_k_oracle.sql @@ -1,11 +1,11 @@ SELECT - PART.p_name AS name, + PART.P_NAME AS name, DISCOUNTS.SHIPPING_TYPE AS shipping_type, - LINEITEM.l_extendedprice AS extended_price, - LINEITEM.l_discount + DISCOUNTS.ADDED_DISCOUNT AS added_discount, - LINEITEM.l_extendedprice * ( + LINEITEM.L_EXTENDEDPRICE AS extended_price, + LINEITEM.L_DISCOUNT + DISCOUNTS.ADDED_DISCOUNT AS added_discount, + LINEITEM.L_EXTENDEDPRICE * ( 1 - ( - LINEITEM.l_discount + DISCOUNTS.ADDED_DISCOUNT + LINEITEM.L_DISCOUNT + DISCOUNTS.ADDED_DISCOUNT ) ) AS final_price FROM (VALUES @@ -13,9 +13,9 @@ FROM (VALUES ('SHIP', 0.06), ('TRUCK', 0.05)) AS DISCOUNTS(SHIPPING_TYPE, ADDED_DISCOUNT) JOIN TPCH.LINEITEM LINEITEM - ON DISCOUNTS.SHIPPING_TYPE = LINEITEM.l_shipmode + ON DISCOUNTS.SHIPPING_TYPE = LINEITEM.L_SHIPMODE JOIN TPCH.PART PART - ON LINEITEM.l_partkey = PART.p_partkey + ON LINEITEM.L_PARTKEY = PART.P_PARTKEY ORDER BY 5 NULLS FIRST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/dataframe_collection_where_date_oracle.sql b/tests/test_sql_refsols/dataframe_collection_where_date_oracle.sql index 5578b286d..72537acb3 100644 --- a/tests/test_sql_refsols/dataframe_collection_where_date_oracle.sql +++ b/tests/test_sql_refsols/dataframe_collection_where_date_oracle.sql @@ -18,8 +18,8 @@ FROM (VALUES TO_DATE('1995-12-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') )) AS DATES(CLERK_ID, START_DATE, END_DATE) JOIN TPCH.ORDERS ORDERS - ON DATES.CLERK_ID = ORDERS.o_clerk - AND DATES.END_DATE >= CAST(ORDERS.o_orderdate AS DATE) - AND DATES.START_DATE <= CAST(ORDERS.o_orderdate AS DATE) + ON DATES.CLERK_ID = ORDERS.O_CLERK + AND DATES.END_DATE >= CAST(ORDERS.O_ORDERDATE AS DATE) + AND DATES.START_DATE <= CAST(ORDERS.O_ORDERDATE AS DATE) GROUP BY DATES.CLERK_ID diff --git a/tests/test_sql_refsols/dataframe_collection_where_date_snowflake.sql b/tests/test_sql_refsols/dataframe_collection_where_date_snowflake.sql index 8dc52c096..c26f2edc0 100644 --- a/tests/test_sql_refsols/dataframe_collection_where_date_snowflake.sql +++ b/tests/test_sql_refsols/dataframe_collection_where_date_snowflake.sql @@ -4,18 +4,18 @@ SELECT FROM (VALUES ( 'Clerk#000000456', - CAST('1996-01-01 00:00:00' AS TIMESTAMP), - CAST('1996-02-01 00:00:00' AS TIMESTAMP) + CAST('1996-01-01 00:00:00' AS TIMESTAMPNTZ), + CAST('1996-02-01 00:00:00' AS TIMESTAMPNTZ) ), ( 'Clerk#000000743', - CAST('1995-06-01 00:00:00' AS TIMESTAMP), - CAST('1995-07-01 00:00:00' AS TIMESTAMP) + CAST('1995-06-01 00:00:00' AS TIMESTAMPNTZ), + CAST('1995-07-01 00:00:00' AS TIMESTAMPNTZ) ), ( 'Clerk#000000547', - CAST('1995-11-01 00:00:00' AS TIMESTAMP), - CAST('1995-12-01 00:00:00' AS TIMESTAMP) + CAST('1995-11-01 00:00:00' AS TIMESTAMPNTZ), + CAST('1995-12-01 00:00:00' AS TIMESTAMPNTZ) )) AS dates(clerk_id, start_date, end_date) JOIN tpch.orders AS orders ON dates.clerk_id = orders.o_clerk diff --git a/tests/test_sql_refsols/dataframe_collection_where_oracle.sql b/tests/test_sql_refsols/dataframe_collection_where_oracle.sql index cdcc58444..420ad76b5 100644 --- a/tests/test_sql_refsols/dataframe_collection_where_oracle.sql +++ b/tests/test_sql_refsols/dataframe_collection_where_oracle.sql @@ -1,49 +1,49 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - s_acctbal AS S_ACCTBAL, - s_nationkey AS S_NATIONKEY + S_ACCTBAL, + S_NATIONKEY FROM TPCH.SUPPLIER -), "_S2" AS ( +), "_s2" AS ( SELECT - n_nationkey AS N_NATIONKEY, - n_regionkey AS N_REGIONKEY + N_NATIONKEY, + N_REGIONKEY FROM TPCH.NATION -), "_S3" AS ( +), "_s3" AS ( SELECT - r_name AS R_NAME, - r_regionkey AS R_REGIONKEY + R_NAME, + R_REGIONKEY FROM TPCH.REGION -), "_S5" AS ( +), "_s5" AS ( SELECT - "_S2".N_NATIONKEY, - "_S3".R_NAME - FROM "_S2" "_S2" - JOIN "_S3" "_S3" - ON "_S2".N_REGIONKEY = "_S3".R_REGIONKEY -), "_S12" AS ( + "_s2".N_NATIONKEY, + "_s3".R_NAME + FROM "_s2" "_s2" + JOIN "_s3" "_s3" + ON "_s2".N_REGIONKEY = "_s3".R_REGIONKEY +), "_s12" AS ( SELECT DISTINCT - "_S5".R_NAME + "_s5".R_NAME FROM (VALUES ('AFRICA', 5000.32), ('AMERICA', 8000.0), ('ASIA', 4600.32), ('EUROPE', 6400.5), ('MIDDLE EAST', 8999.99)) AS THRESHOLDS_COLLECTION(REGION_NAME, MIN_ACCOUNT_BALANCE) - JOIN "_S1" "_S1" - ON THRESHOLDS_COLLECTION.MIN_ACCOUNT_BALANCE < "_S1".S_ACCTBAL - JOIN "_S5" "_S5" - ON THRESHOLDS_COLLECTION.REGION_NAME = "_S5".R_NAME - AND "_S1".S_NATIONKEY = "_S5".N_NATIONKEY -), "_S11" AS ( + JOIN "_s1" "_s1" + ON THRESHOLDS_COLLECTION.MIN_ACCOUNT_BALANCE < "_s1".S_ACCTBAL + JOIN "_s5" "_s5" + ON THRESHOLDS_COLLECTION.REGION_NAME = "_s5".R_NAME + AND "_s1".S_NATIONKEY = "_s5".N_NATIONKEY +), "_s11" AS ( SELECT - "_S8".N_NATIONKEY, - "_S9".R_NAME - FROM "_S2" "_S8" - JOIN "_S3" "_S9" - ON "_S8".N_REGIONKEY = "_S9".R_REGIONKEY -), "_S13" AS ( + "_s8".N_NATIONKEY, + "_s9".R_NAME + FROM "_s2" "_s8" + JOIN "_s3" "_s9" + ON "_s8".N_REGIONKEY = "_s9".R_REGIONKEY +), "_s13" AS ( SELECT - "_S11".R_NAME, + "_s11".R_NAME, COUNT(*) AS N_ROWS FROM (VALUES ('AFRICA', 5000.32), @@ -51,17 +51,17 @@ WITH "_S1" AS ( ('ASIA', 4600.32), ('EUROPE', 6400.5), ('MIDDLE EAST', 8999.99)) AS THRESHOLDS_COLLECTION_2(REGION_NAME, MIN_ACCOUNT_BALANCE) - JOIN "_S1" "_S7" - ON THRESHOLDS_COLLECTION_2.MIN_ACCOUNT_BALANCE < "_S7".S_ACCTBAL - JOIN "_S11" "_S11" - ON THRESHOLDS_COLLECTION_2.REGION_NAME = "_S11".R_NAME - AND "_S11".N_NATIONKEY = "_S7".S_NATIONKEY + JOIN "_s1" "_s7" + ON THRESHOLDS_COLLECTION_2.MIN_ACCOUNT_BALANCE < "_s7".S_ACCTBAL + JOIN "_s11" "_s11" + ON THRESHOLDS_COLLECTION_2.REGION_NAME = "_s11".R_NAME + AND "_s11".N_NATIONKEY = "_s7".S_NATIONKEY GROUP BY - "_S11".R_NAME + "_s11".R_NAME ) SELECT - "_S12".R_NAME AS sup_region_name, - "_S13".N_ROWS AS n_suppliers -FROM "_S12" "_S12" -JOIN "_S13" "_S13" - ON "_S12".R_NAME = "_S13".R_NAME + "_s12".R_NAME AS sup_region_name, + "_s13".N_ROWS AS n_suppliers +FROM "_s12" "_s12" +JOIN "_s13" "_s13" + ON "_s12".R_NAME = "_s13".R_NAME diff --git a/tests/test_sql_refsols/dataframe_collection_window_functions_ansi.sql b/tests/test_sql_refsols/dataframe_collection_window_functions_ansi.sql index 712d11fe2..919564f86 100644 --- a/tests/test_sql_refsols/dataframe_collection_window_functions_ansi.sql +++ b/tests/test_sql_refsols/dataframe_collection_window_functions_ansi.sql @@ -58,7 +58,10 @@ WITH _t2 AS ( ) SELECT _s6.anything_c_name AS name, - ROW_NUMBER() OVER (PARTITION BY _s6.anything_nation_name ORDER BY _s6.anything_c_acctbal DESC NULLS FIRST) AS ranking_balance, + ROW_NUMBER() OVER ( + PARTITION BY _s6.anything_nation_name + ORDER BY _s6.anything_c_acctbal DESC NULLS FIRST + ) AS ranking_balance, COALESCE(_s6.count_o_custkey, 0) AS n_orders, _s7.avg_month_diff AS avg_month_orders, _s9.avg_price_diff, @@ -68,7 +71,10 @@ SELECT THEN TRUE ELSE FALSE END AS above_avg, - COUNT(_s6.anything_c_acctbal) OVER (ORDER BY _s6.anything_c_acctbal NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS n_poorer, + COUNT(_s6.anything_c_acctbal) OVER ( + ORDER BY _s6.anything_c_acctbal NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS n_poorer, _s6.anything_c_acctbal / COUNT(*) OVER () AS ratio FROM _s6 AS _s6 LEFT JOIN _s7 AS _s7 diff --git a/tests/test_sql_refsols/dataframe_collection_window_functions_databricks.sql b/tests/test_sql_refsols/dataframe_collection_window_functions_databricks.sql index 5061154f5..1c055d2c9 100644 --- a/tests/test_sql_refsols/dataframe_collection_window_functions_databricks.sql +++ b/tests/test_sql_refsols/dataframe_collection_window_functions_databricks.sql @@ -31,15 +31,11 @@ WITH _t2 AS ( SELECT o_custkey, ( - YEAR(TO_DATE(o_orderdate)) - YEAR( - TO_DATE( - LAG(o_orderdate, 1) OVER (PARTITION BY o_custkey ORDER BY o_orderdate NULLS LAST) - ) - ) - ) * 12 + MONTH(TO_DATE(o_orderdate)) - MONTH( - TO_DATE( + YEAR(o_orderdate) - YEAR( LAG(o_orderdate, 1) OVER (PARTITION BY o_custkey ORDER BY o_orderdate NULLS LAST) ) + ) * 12 + MONTH(o_orderdate) - MONTH( + LAG(o_orderdate, 1) OVER (PARTITION BY o_custkey ORDER BY o_orderdate NULLS LAST) ) AS month_diff FROM tpch.orders ), _s7 AS ( @@ -64,7 +60,10 @@ WITH _t2 AS ( ) SELECT _s6.anything_c_name AS name, - ROW_NUMBER() OVER (PARTITION BY _s6.anything_nation_name ORDER BY _s6.anything_c_acctbal DESC NULLS FIRST) AS ranking_balance, + ROW_NUMBER() OVER ( + PARTITION BY _s6.anything_nation_name + ORDER BY _s6.anything_c_acctbal DESC NULLS FIRST + ) AS ranking_balance, COALESCE(_s6.count_o_custkey, 0) AS n_orders, _s7.avg_month_diff AS avg_month_orders, _s9.avg_price_diff, @@ -74,7 +73,10 @@ SELECT TRUE, FALSE ) AS above_avg, - COUNT(_s6.anything_c_acctbal) OVER (ORDER BY _s6.anything_c_acctbal NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS n_poorer, + COUNT(_s6.anything_c_acctbal) OVER ( + ORDER BY _s6.anything_c_acctbal NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS n_poorer, _s6.anything_c_acctbal / COUNT(*) OVER () AS ratio FROM _s6 AS _s6 LEFT JOIN _s7 AS _s7 diff --git a/tests/test_sql_refsols/dataframe_collection_window_functions_duckdb.sql b/tests/test_sql_refsols/dataframe_collection_window_functions_duckdb.sql index 692626c8b..d5f3f6d7a 100644 --- a/tests/test_sql_refsols/dataframe_collection_window_functions_duckdb.sql +++ b/tests/test_sql_refsols/dataframe_collection_window_functions_duckdb.sql @@ -58,7 +58,10 @@ WITH _t2 AS ( ) SELECT _s6.anything_c_name AS name, - ROW_NUMBER() OVER (PARTITION BY _s6.anything_nation_name ORDER BY _s6.anything_c_acctbal DESC NULLS FIRST) AS ranking_balance, + ROW_NUMBER() OVER ( + PARTITION BY _s6.anything_nation_name + ORDER BY _s6.anything_c_acctbal DESC NULLS FIRST + ) AS ranking_balance, COALESCE(_s6.count_o_custkey, 0) AS n_orders, _s7.avg_month_diff AS avg_month_orders, _s9.avg_price_diff, diff --git a/tests/test_sql_refsols/dataframe_collection_window_functions_mysql.sql b/tests/test_sql_refsols/dataframe_collection_window_functions_mysql.sql index 85159e661..ebc3d2ff0 100644 --- a/tests/test_sql_refsols/dataframe_collection_window_functions_mysql.sql +++ b/tests/test_sql_refsols/dataframe_collection_window_functions_mysql.sql @@ -7,7 +7,9 @@ WITH _t AS ( customers_filters.mrk_segment, NATION.n_name, customers_filters.nation_name, - NTILE(1000) OVER (ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_acctbal) AS _w + NTILE(1000) OVER ( + ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_acctbal + ) AS _w FROM (VALUES ROW('UNITED STATES', 'BUILDING'), ROW('JAPAN', 'AUTOMOBILE'), @@ -34,11 +36,17 @@ WITH _t AS ( o_custkey, ( YEAR(o_orderdate) - YEAR( - LAG(o_orderdate, 1) OVER (PARTITION BY o_custkey ORDER BY CASE WHEN o_orderdate IS NULL THEN 1 ELSE 0 END, o_orderdate) + LAG(o_orderdate, 1) OVER ( + PARTITION BY o_custkey + ORDER BY CASE WHEN o_orderdate IS NULL THEN 1 ELSE 0 END, o_orderdate + ) ) ) * 12 + ( MONTH(o_orderdate) - MONTH( - LAG(o_orderdate, 1) OVER (PARTITION BY o_custkey ORDER BY CASE WHEN o_orderdate IS NULL THEN 1 ELSE 0 END, o_orderdate) + LAG(o_orderdate, 1) OVER ( + PARTITION BY o_custkey + ORDER BY CASE WHEN o_orderdate IS NULL THEN 1 ELSE 0 END, o_orderdate + ) ) ) AS month_diff FROM tpch.ORDERS @@ -52,7 +60,10 @@ WITH _t AS ( ), _t6 AS ( SELECT o_custkey, - o_totalprice - LEAD(o_totalprice, 1) OVER (PARTITION BY o_custkey ORDER BY CASE WHEN o_orderdate IS NULL THEN 1 ELSE 0 END, o_orderdate) AS price_diff + o_totalprice - LEAD(o_totalprice, 1) OVER ( + PARTITION BY o_custkey + ORDER BY CASE WHEN o_orderdate IS NULL THEN 1 ELSE 0 END, o_orderdate + ) AS price_diff FROM tpch.ORDERS ), _s9 AS ( SELECT @@ -64,7 +75,10 @@ WITH _t AS ( ) SELECT _s6.anything_c_name COLLATE utf8mb4_bin AS name, - ROW_NUMBER() OVER (PARTITION BY _s6.anything_nation_name ORDER BY CASE WHEN _s6.anything_c_acctbal IS NULL THEN 1 ELSE 0 END DESC, _s6.anything_c_acctbal DESC) AS ranking_balance, + ROW_NUMBER() OVER ( + PARTITION BY _s6.anything_nation_name + ORDER BY CASE WHEN _s6.anything_c_acctbal IS NULL THEN 1 ELSE 0 END DESC, _s6.anything_c_acctbal DESC + ) AS ranking_balance, COALESCE(_s6.count_o_custkey, 0) AS n_orders, _s7.avg_month_diff AS avg_month_orders, _s9.avg_price_diff, diff --git a/tests/test_sql_refsols/dataframe_collection_window_functions_oracle.sql b/tests/test_sql_refsols/dataframe_collection_window_functions_oracle.sql index 4d09fd43b..a22eb7a4d 100644 --- a/tests/test_sql_refsols/dataframe_collection_window_functions_oracle.sql +++ b/tests/test_sql_refsols/dataframe_collection_window_functions_oracle.sql @@ -1,83 +1,86 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - CUSTOMER.c_acctbal AS C_ACCTBAL, - CUSTOMER.c_custkey AS C_CUSTKEY, - CUSTOMER.c_mktsegment AS C_MKTSEGMENT, - CUSTOMER.c_name AS C_NAME, + CUSTOMER.C_ACCTBAL, + CUSTOMER.C_CUSTKEY, + CUSTOMER.C_MKTSEGMENT, + CUSTOMER.C_NAME, CUSTOMERS_FILTERS.MRK_SEGMENT, - NATION.n_name AS N_NAME, + NATION.N_NAME, CUSTOMERS_FILTERS.NATION_NAME, - NTILE(1000) OVER (ORDER BY CUSTOMER.c_acctbal) AS "_W" + NTILE(1000) OVER (ORDER BY CUSTOMER.C_ACCTBAL) AS "_w" FROM (VALUES ('UNITED STATES', 'BUILDING'), ('JAPAN', 'AUTOMOBILE'), ('BRAZIL', 'MACHINERY')) AS CUSTOMERS_FILTERS(NATION_NAME, MRK_SEGMENT) CROSS JOIN TPCH.CUSTOMER CUSTOMER JOIN TPCH.NATION NATION - ON CUSTOMER.c_nationkey = NATION.n_nationkey -), "_S6" AS ( + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY +), "_s6" AS ( SELECT - "_T".C_CUSTKEY AS O_CUSTKEY, - ANY_VALUE("_T".C_ACCTBAL) AS ANYTHING_C_ACCTBAL, - ANY_VALUE("_T".C_NAME) AS ANYTHING_C_NAME, - ANY_VALUE("_T".NATION_NAME) AS ANYTHING_NATION_NAME, - COUNT(ORDERS.o_custkey) AS COUNT_O_CUSTKEY - FROM "_T" "_T" + "_t".C_CUSTKEY AS O_CUSTKEY, + ANY_VALUE("_t".C_ACCTBAL) AS ANYTHING_C_ACCTBAL, + ANY_VALUE("_t".C_NAME) AS ANYTHING_C_NAME, + ANY_VALUE("_t".NATION_NAME) AS ANYTHING_NATION_NAME, + COUNT(ORDERS.O_CUSTKEY) AS COUNT_O_CUSTKEY + FROM "_t" "_t" LEFT JOIN TPCH.ORDERS ORDERS - ON ORDERS.o_custkey = "_T".C_CUSTKEY + ON ORDERS.O_CUSTKEY = "_t".C_CUSTKEY WHERE - "_T".C_MKTSEGMENT = "_T".MRK_SEGMENT - AND "_T".NATION_NAME = "_T".N_NAME - AND "_T"."_W" > 996 + "_t".C_MKTSEGMENT = "_t".MRK_SEGMENT + AND "_t".NATION_NAME = "_t".N_NAME + AND "_t"."_w" > 996 GROUP BY - "_T".C_CUSTKEY -), "_T4" AS ( + "_t".C_CUSTKEY +), "_t4" AS ( SELECT - o_custkey AS O_CUSTKEY, + O_CUSTKEY, ( - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) - EXTRACT(YEAR FROM CAST(LAG(o_orderdate, 1) OVER (PARTITION BY o_custkey ORDER BY o_orderdate) AS DATE)) + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) - EXTRACT(YEAR FROM CAST(LAG(O_ORDERDATE, 1) OVER (PARTITION BY O_CUSTKEY ORDER BY O_ORDERDATE) AS DATE)) ) * 12 + ( - EXTRACT(MONTH FROM CAST(o_orderdate AS DATE)) - EXTRACT(MONTH FROM CAST(LAG(o_orderdate, 1) OVER (PARTITION BY o_custkey ORDER BY o_orderdate) AS DATE)) + EXTRACT(MONTH FROM CAST(O_ORDERDATE AS DATE)) - EXTRACT(MONTH FROM CAST(LAG(O_ORDERDATE, 1) OVER (PARTITION BY O_CUSTKEY ORDER BY O_ORDERDATE) AS DATE)) ) AS MONTH_DIFF FROM TPCH.ORDERS -), "_S7" AS ( +), "_s7" AS ( SELECT O_CUSTKEY, AVG(MONTH_DIFF) AS AVG_MONTH_DIFF - FROM "_T4" + FROM "_t4" GROUP BY O_CUSTKEY -), "_T6" AS ( +), "_t6" AS ( SELECT - o_custkey AS O_CUSTKEY, - o_totalprice - LEAD(o_totalprice, 1) OVER (PARTITION BY o_custkey ORDER BY o_orderdate) AS PRICE_DIFF + O_CUSTKEY, + O_TOTALPRICE - LEAD(O_TOTALPRICE, 1) OVER (PARTITION BY O_CUSTKEY ORDER BY O_ORDERDATE) AS PRICE_DIFF FROM TPCH.ORDERS -), "_S9" AS ( +), "_s9" AS ( SELECT O_CUSTKEY, AVG(PRICE_DIFF) AS AVG_PRICE_DIFF - FROM "_T6" + FROM "_t6" GROUP BY O_CUSTKEY ) SELECT - "_S6".ANYTHING_C_NAME AS name, - ROW_NUMBER() OVER (PARTITION BY "_S6".ANYTHING_NATION_NAME ORDER BY "_S6".ANYTHING_C_ACCTBAL DESC) AS ranking_balance, - COALESCE("_S6".COUNT_O_CUSTKEY, 0) AS n_orders, - "_S7".AVG_MONTH_DIFF AS avg_month_orders, - "_S9".AVG_PRICE_DIFF AS avg_price_diff, - "_S6".ANYTHING_C_ACCTBAL / SUM("_S6".ANYTHING_C_ACCTBAL) OVER () AS proportion, + "_s6".ANYTHING_C_NAME AS name, + ROW_NUMBER() OVER (PARTITION BY "_s6".ANYTHING_NATION_NAME ORDER BY "_s6".ANYTHING_C_ACCTBAL DESC) AS ranking_balance, + COALESCE("_s6".COUNT_O_CUSTKEY, 0) AS n_orders, + "_s7".AVG_MONTH_DIFF AS avg_month_orders, + "_s9".AVG_PRICE_DIFF AS avg_price_diff, + "_s6".ANYTHING_C_ACCTBAL / SUM("_s6".ANYTHING_C_ACCTBAL) OVER () AS proportion, CASE - WHEN "_S6".ANYTHING_C_ACCTBAL > AVG(CAST("_S6".ANYTHING_C_ACCTBAL AS DOUBLE PRECISION)) OVER () + WHEN "_s6".ANYTHING_C_ACCTBAL > AVG(CAST("_s6".ANYTHING_C_ACCTBAL AS DOUBLE PRECISION)) OVER () THEN TRUE ELSE FALSE END AS above_avg, - COUNT("_S6".ANYTHING_C_ACCTBAL) OVER (ORDER BY "_S6".ANYTHING_C_ACCTBAL ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS n_poorer, - "_S6".ANYTHING_C_ACCTBAL / COUNT(*) OVER () AS ratio -FROM "_S6" "_S6" -LEFT JOIN "_S7" "_S7" - ON "_S6".O_CUSTKEY = "_S7".O_CUSTKEY -LEFT JOIN "_S9" "_S9" - ON "_S6".O_CUSTKEY = "_S9".O_CUSTKEY + COUNT("_s6".ANYTHING_C_ACCTBAL) OVER ( + ORDER BY "_s6".ANYTHING_C_ACCTBAL + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS n_poorer, + "_s6".ANYTHING_C_ACCTBAL / COUNT(*) OVER () AS ratio +FROM "_s6" "_s6" +LEFT JOIN "_s7" "_s7" + ON "_s6".O_CUSTKEY = "_s7".O_CUSTKEY +LEFT JOIN "_s9" "_s9" + ON "_s6".O_CUSTKEY = "_s9".O_CUSTKEY ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/dataframe_collection_window_functions_postgres.sql b/tests/test_sql_refsols/dataframe_collection_window_functions_postgres.sql index 7c70194ad..321762e9b 100644 --- a/tests/test_sql_refsols/dataframe_collection_window_functions_postgres.sql +++ b/tests/test_sql_refsols/dataframe_collection_window_functions_postgres.sql @@ -18,9 +18,9 @@ WITH _t AS ( ), _s6 AS ( SELECT _t.c_custkey AS o_custkey, - MAX(_t.c_acctbal) AS anything_c_acctbal, - MAX(_t.c_name) AS anything_c_name, - MAX(_t.nation_name) AS anything_nation_name, + ANY_VALUE(_t.c_acctbal) AS anything_c_acctbal, + ANY_VALUE(_t.c_name) AS anything_c_name, + ANY_VALUE(_t.nation_name) AS anything_nation_name, COUNT(orders.o_custkey) AS count_o_custkey FROM _t AS _t LEFT JOIN tpch.orders AS orders diff --git a/tests/test_sql_refsols/dataframe_collection_window_functions_trino.sql b/tests/test_sql_refsols/dataframe_collection_window_functions_trino.sql index 8347a7794..a166c3c13 100644 --- a/tests/test_sql_refsols/dataframe_collection_window_functions_trino.sql +++ b/tests/test_sql_refsols/dataframe_collection_window_functions_trino.sql @@ -63,7 +63,10 @@ WITH _t AS ( ) SELECT _s6.anything_c_name AS name, - ROW_NUMBER() OVER (PARTITION BY _s6.anything_nation_name ORDER BY _s6.anything_c_acctbal DESC NULLS FIRST) AS ranking_balance, + ROW_NUMBER() OVER ( + PARTITION BY _s6.anything_nation_name + ORDER BY _s6.anything_c_acctbal DESC NULLS FIRST + ) AS ranking_balance, COALESCE(_s6.count_o_custkey, 0) AS n_orders, _s7.avg_month_diff AS avg_month_orders, _s9.avg_price_diff, diff --git a/tests/test_sql_refsols/datediff_databricks.sql b/tests/test_sql_refsols/datediff_databricks.sql index 7da719a1d..a270e1ad4 100644 --- a/tests/test_sql_refsols/datediff_databricks.sql +++ b/tests/test_sql_refsols/datediff_databricks.sql @@ -2,10 +2,10 @@ SELECT sbtxdatetime AS x, CAST('2025-05-02 11:00:00' AS TIMESTAMP) AS y1, CAST('2023-04-03 13:16:30' AS TIMESTAMP) AS y, - YEAR(TO_DATE(CAST('2025-05-02 11:00:00' AS TIMESTAMP))) - YEAR(TO_DATE(sbtxdatetime)) AS years_diff, + YEAR(CAST('2025-05-02 11:00:00' AS TIMESTAMP)) - YEAR(sbtxdatetime) AS years_diff, ( - YEAR(TO_DATE(CAST('2025-05-02 11:00:00' AS TIMESTAMP))) - YEAR(TO_DATE(sbtxdatetime)) - ) * 12 + MONTH(TO_DATE(CAST('2025-05-02 11:00:00' AS TIMESTAMP))) - MONTH(TO_DATE(sbtxdatetime)) AS months_diff, + YEAR(CAST('2025-05-02 11:00:00' AS TIMESTAMP)) - YEAR(sbtxdatetime) + ) * 12 + MONTH(CAST('2025-05-02 11:00:00' AS TIMESTAMP)) - MONTH(sbtxdatetime) AS months_diff, DATEDIFF( DAY, CAST(sbtxdatetime AS DATE), diff --git a/tests/test_sql_refsols/datediff_mysql.sql b/tests/test_sql_refsols/datediff_mysql.sql index e175d4ef5..d85900ccd 100644 --- a/tests/test_sql_refsols/datediff_mysql.sql +++ b/tests/test_sql_refsols/datediff_mysql.sql @@ -1,28 +1,28 @@ SELECT - sbtxdatetime AS x, + sbTxDateTime AS x, CAST('2025-05-02 11:00:00' AS DATETIME) AS y1, CAST('2023-04-03 13:16:30' AS DATETIME) AS y, - YEAR(CAST('2025-05-02 11:00:00' AS DATETIME)) - YEAR(sbtxdatetime) AS years_diff, + YEAR(CAST('2025-05-02 11:00:00' AS DATETIME)) - YEAR(sbTxDateTime) AS years_diff, ( - YEAR(CAST('2025-05-02 11:00:00' AS DATETIME)) - YEAR(sbtxdatetime) + YEAR(CAST('2025-05-02 11:00:00' AS DATETIME)) - YEAR(sbTxDateTime) ) * 12 + ( - MONTH(CAST('2025-05-02 11:00:00' AS DATETIME)) - MONTH(sbtxdatetime) + MONTH(CAST('2025-05-02 11:00:00' AS DATETIME)) - MONTH(sbTxDateTime) ) AS months_diff, - DATEDIFF(CAST('2025-05-02 11:00:00' AS DATETIME), sbtxdatetime) AS days_diff, + DATEDIFF(CAST('2025-05-02 11:00:00' AS DATETIME), sbTxDateTime) AS days_diff, TIMESTAMPDIFF( HOUR, - DATE_FORMAT(sbtxdatetime, '%Y-%m-%d %H:00:00'), + DATE_FORMAT(sbTxDateTime, '%Y-%m-%d %H:00:00'), DATE_FORMAT(CAST('2025-05-02 11:00:00' AS DATETIME), '%Y-%m-%d %H:00:00') ) AS hours_diff, TIMESTAMPDIFF( MINUTE, - DATE_FORMAT(sbtxdatetime, '%Y-%m-%d %H:%i:00'), + DATE_FORMAT(sbTxDateTime, '%Y-%m-%d %H:%i:00'), DATE_FORMAT(CAST('2023-04-03 13:16:30' AS DATETIME), '%Y-%m-%d %H:%i:00') ) AS minutes_diff, - TIMESTAMPDIFF(SECOND, sbtxdatetime, CAST('2023-04-03 13:16:30' AS DATETIME)) AS seconds_diff + TIMESTAMPDIFF(SECOND, sbTxDateTime, CAST('2023-04-03 13:16:30' AS DATETIME)) AS seconds_diff FROM main.sbTransaction WHERE - EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) < 2025 + EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) < 2025 ORDER BY 4 LIMIT 30 diff --git a/tests/test_sql_refsols/datediff_oracle.sql b/tests/test_sql_refsols/datediff_oracle.sql index 79d35830e..fa9610c39 100644 --- a/tests/test_sql_refsols/datediff_oracle.sql +++ b/tests/test_sql_refsols/datediff_oracle.sql @@ -1,26 +1,26 @@ SELECT - sbtxdatetime AS x, + SBTXDATETIME AS x, TO_DATE('2025-05-02 11:00:00', 'YYYY-MM-DD HH24:MI:SS') AS y1, TO_DATE('2023-04-03 13:16:30', 'YYYY-MM-DD HH24:MI:SS') AS y, - EXTRACT(YEAR FROM TO_DATE('2025-05-02 11:00:00', 'YYYY-MM-DD HH24:MI:SS')) - EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) AS years_diff, + EXTRACT(YEAR FROM TO_DATE('2025-05-02 11:00:00', 'YYYY-MM-DD HH24:MI:SS')) - EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) AS years_diff, ( - EXTRACT(YEAR FROM TO_DATE('2025-05-02 11:00:00', 'YYYY-MM-DD HH24:MI:SS')) - EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) + EXTRACT(YEAR FROM TO_DATE('2025-05-02 11:00:00', 'YYYY-MM-DD HH24:MI:SS')) - EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) ) * 12 + ( - EXTRACT(MONTH FROM TO_DATE('2025-05-02 11:00:00', 'YYYY-MM-DD HH24:MI:SS')) - EXTRACT(MONTH FROM CAST(sbtxdatetime AS DATE)) + EXTRACT(MONTH FROM TO_DATE('2025-05-02 11:00:00', 'YYYY-MM-DD HH24:MI:SS')) - EXTRACT(MONTH FROM CAST(SBTXDATETIME AS DATE)) ) AS months_diff, - TRUNC(CAST(TO_DATE('2025-05-02 11:00:00', 'YYYY-MM-DD HH24:MI:SS') AS DATE), 'DD') - TRUNC(CAST(CAST(sbtxdatetime AS DATE) AS DATE), 'DD') AS days_diff, + TRUNC(CAST(TO_DATE('2025-05-02 11:00:00', 'YYYY-MM-DD HH24:MI:SS') AS DATE), 'DD') - TRUNC(CAST(CAST(SBTXDATETIME AS DATE) AS DATE), 'DD') AS days_diff, ( - TRUNC(CAST(TO_DATE('2025-05-02 11:00:00', 'YYYY-MM-DD HH24:MI:SS') AS DATE), 'HH24') - TRUNC(CAST(CAST(sbtxdatetime AS DATE) AS DATE), 'HH24') + TRUNC(CAST(TO_DATE('2025-05-02 11:00:00', 'YYYY-MM-DD HH24:MI:SS') AS DATE), 'HH24') - TRUNC(CAST(CAST(SBTXDATETIME AS DATE) AS DATE), 'HH24') ) * 24 AS hours_diff, ( - TRUNC(CAST(TO_DATE('2023-04-03 13:16:30', 'YYYY-MM-DD HH24:MI:SS') AS DATE), 'MI') - TRUNC(CAST(CAST(sbtxdatetime AS DATE) AS DATE), 'MI') + TRUNC(CAST(TO_DATE('2023-04-03 13:16:30', 'YYYY-MM-DD HH24:MI:SS') AS DATE), 'MI') - TRUNC(CAST(CAST(SBTXDATETIME AS DATE) AS DATE), 'MI') ) * 1440 AS minutes_diff, ( - TO_DATE('2023-04-03 13:16:30', 'YYYY-MM-DD HH24:MI:SS') - CAST(sbtxdatetime AS DATE) + TO_DATE('2023-04-03 13:16:30', 'YYYY-MM-DD HH24:MI:SS') - CAST(SBTXDATETIME AS DATE) ) * 86400 AS seconds_diff FROM MAIN.SBTRANSACTION WHERE - EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) < 2025 + EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) < 2025 ORDER BY 4 NULLS FIRST FETCH FIRST 30 ROWS ONLY diff --git a/tests/test_sql_refsols/datetime_current_ansi.sql b/tests/test_sql_refsols/datetime_current_ansi.sql index 751a60462..5e6e44f6f 100644 --- a/tests/test_sql_refsols/datetime_current_ansi.sql +++ b/tests/test_sql_refsols/datetime_current_ansi.sql @@ -7,4 +7,4 @@ SELECT 'SECOND' ) AS d3 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/datetime_current_databricks.sql b/tests/test_sql_refsols/datetime_current_databricks.sql index 706ea88c1..afda48d85 100644 --- a/tests/test_sql_refsols/datetime_current_databricks.sql +++ b/tests/test_sql_refsols/datetime_current_databricks.sql @@ -1,6 +1,6 @@ SELECT - DATEADD(DAY, -1, DATEADD(MONTH, 5, TRUNC(CURRENT_TIMESTAMP(), 'YEAR'))) AS d1, + DATE_ADD(DATE_ADD(MONTH, 5, TRUNC(CURRENT_TIMESTAMP(), 'YEAR')), -1) AS d1, TRUNC(CURRENT_TIMESTAMP(), 'MONTH') + INTERVAL '24' HOUR AS d2, DATE_TRUNC('DAY', CURRENT_TIMESTAMP()) + INTERVAL '12' HOUR - INTERVAL '150' MINUTE + INTERVAL '2' SECOND AS d3 FROM VALUES - (NULL) AS _q_0(_col_0) + (NULL) AS _0(_col_0) diff --git a/tests/test_sql_refsols/datetime_current_duckdb.sql b/tests/test_sql_refsols/datetime_current_duckdb.sql index 34f8ad72b..d0a7f9525 100644 --- a/tests/test_sql_refsols/datetime_current_duckdb.sql +++ b/tests/test_sql_refsols/datetime_current_duckdb.sql @@ -3,4 +3,4 @@ SELECT DATE_TRUNC('MONTH', CAST(CURRENT_TIMESTAMP AT TIME ZONE 'UTC' AS TIMESTAMP)) + INTERVAL '24' HOUR AS d2, DATE_TRUNC('DAY', CAST(CURRENT_TIMESTAMP AT TIME ZONE 'UTC' AS TIMESTAMP)) + INTERVAL '12' HOUR - INTERVAL '150' MINUTE + INTERVAL '2' SECOND AS d3 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/datetime_current_mysql.sql b/tests/test_sql_refsols/datetime_current_mysql.sql index 9a6b53f64..50aa30f62 100644 --- a/tests/test_sql_refsols/datetime_current_mysql.sql +++ b/tests/test_sql_refsols/datetime_current_mysql.sql @@ -21,4 +21,4 @@ SELECT INTERVAL '2' SECOND ) AS d3 FROM (VALUES - ROW(NULL)) AS _q_0(_col_0) + ROW(NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/datetime_current_oracle.sql b/tests/test_sql_refsols/datetime_current_oracle.sql index 00c1805e5..3e27788fc 100644 --- a/tests/test_sql_refsols/datetime_current_oracle.sql +++ b/tests/test_sql_refsols/datetime_current_oracle.sql @@ -3,4 +3,4 @@ SELECT TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH') + NUMTODSINTERVAL(24, 'hour') AS d2, TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'DD') + NUMTODSINTERVAL(12, 'hour') - NUMTODSINTERVAL(150, 'minute') + NUMTODSINTERVAL(2, 'second') AS d3 FROM (VALUES - (NULL)) AS "_Q_0"("_COL_0") + (NULL)) AS "_0"("_COL_0") diff --git a/tests/test_sql_refsols/datetime_current_postgres.sql b/tests/test_sql_refsols/datetime_current_postgres.sql index 90f940783..a4a7dce3f 100644 --- a/tests/test_sql_refsols/datetime_current_postgres.sql +++ b/tests/test_sql_refsols/datetime_current_postgres.sql @@ -3,4 +3,4 @@ SELECT DATE_TRUNC('MONTH', CURRENT_TIMESTAMP) + INTERVAL '24 HOUR' AS d2, DATE_TRUNC('DAY', CURRENT_TIMESTAMP) + INTERVAL '12 HOUR' - INTERVAL '150 MINUTE' + INTERVAL '2 SECOND' AS d3 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/datetime_current_snowflake.sql b/tests/test_sql_refsols/datetime_current_snowflake.sql index 64ec6c1b1..5370decaa 100644 --- a/tests/test_sql_refsols/datetime_current_snowflake.sql +++ b/tests/test_sql_refsols/datetime_current_snowflake.sql @@ -27,4 +27,4 @@ SELECT ) ) AS d3 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/datetime_current_sqlite.sql b/tests/test_sql_refsols/datetime_current_sqlite.sql index 244859150..56048a7b9 100644 --- a/tests/test_sql_refsols/datetime_current_sqlite.sql +++ b/tests/test_sql_refsols/datetime_current_sqlite.sql @@ -3,4 +3,4 @@ SELECT DATETIME(DATE('now', 'start of month'), '24 hour') AS d2, DATETIME(DATE('now', 'start of day'), '12 hour', '-150 minute', '2 second') AS d3 FROM (VALUES - (NULL)) AS _q_0 + (NULL)) AS _0 diff --git a/tests/test_sql_refsols/datetime_current_trino.sql b/tests/test_sql_refsols/datetime_current_trino.sql index 009d92a9d..9d16d1e6f 100644 --- a/tests/test_sql_refsols/datetime_current_trino.sql +++ b/tests/test_sql_refsols/datetime_current_trino.sql @@ -7,4 +7,4 @@ SELECT DATE_ADD('MINUTE', -150, DATE_ADD('HOUR', 12, DATE_TRUNC('DAY', CURRENT_TIMESTAMP))) ) AS d3 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/datetime_functions_databricks.sql b/tests/test_sql_refsols/datetime_functions_databricks.sql index c8eabf24e..993da8f53 100644 --- a/tests/test_sql_refsols/datetime_functions_databricks.sql +++ b/tests/test_sql_refsols/datetime_functions_databricks.sql @@ -19,32 +19,30 @@ SELECT DATEDIFF(DAY, CAST(o_orderdate AS DATE), CAST(CAST('1992-01-01' AS TIMESTAMP) AS DATE)) AS dd_col_str, DATEDIFF(DAY, CAST(CAST('1992-01-01' AS TIMESTAMP) AS DATE), CAST(o_orderdate AS DATE)) AS dd_str_col, ( - YEAR(TO_DATE(o_orderdate)) - YEAR(TO_DATE(CAST('1995-10-10 00:00:00' AS TIMESTAMP))) - ) * 12 + MONTH(TO_DATE(o_orderdate)) - MONTH(TO_DATE(CAST('1995-10-10 00:00:00' AS TIMESTAMP))) AS dd_pd_col, - YEAR(TO_DATE(CAST('1992-01-01 12:30:45' AS TIMESTAMP))) - YEAR(TO_DATE(o_orderdate)) AS dd_col_dt, + YEAR(o_orderdate) - YEAR(CAST('1995-10-10 00:00:00' AS TIMESTAMP)) + ) * 12 + MONTH(o_orderdate) - MONTH(CAST('1995-10-10 00:00:00' AS TIMESTAMP)) AS dd_pd_col, + YEAR(CAST('1992-01-01 12:30:45' AS TIMESTAMP)) - YEAR(o_orderdate) AS dd_col_dt, CAST(DATEDIFF( DAY, - DATEADD( - DAY, + DATE_ADD( + CAST(CAST('1992-01-01' AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST('1992-01-01' AS TIMESTAMP))) + -1 + DAYOFWEEK(CAST('1992-01-01' AS TIMESTAMP)) + -1 ) % 7 - ), - CAST(CAST('1992-01-01' AS TIMESTAMP) AS DATE) + ) ), - DATEADD( - DAY, + DATE_ADD( + CAST(CAST('1992-01-01 12:30:45' AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST('1992-01-01 12:30:45' AS TIMESTAMP))) + -1 + DAYOFWEEK(CAST('1992-01-01 12:30:45' AS TIMESTAMP)) + -1 ) % 7 - ), - CAST(CAST('1992-01-01 12:30:45' AS TIMESTAMP) AS DATE) + ) ) ) / 7 AS BIGINT) AS dd_dt_str, ( - DAYOFWEEK(TO_DATE(o_orderdate)) + -1 + DAYOFWEEK(o_orderdate) + -1 ) % 7 AS dow_col, 3 AS dow_str1, 4 AS dow_str2, @@ -56,19 +54,19 @@ SELECT 3 AS dow_dt, 2 AS dow_pd, CASE - WHEN DAYOFWEEK(TO_DATE(o_orderdate)) = 1 + WHEN DAYOFWEEK(o_orderdate) = 1 THEN 'Sunday' - WHEN DAYOFWEEK(TO_DATE(o_orderdate)) = 2 + WHEN DAYOFWEEK(o_orderdate) = 2 THEN 'Monday' - WHEN DAYOFWEEK(TO_DATE(o_orderdate)) = 3 + WHEN DAYOFWEEK(o_orderdate) = 3 THEN 'Tuesday' - WHEN DAYOFWEEK(TO_DATE(o_orderdate)) = 4 + WHEN DAYOFWEEK(o_orderdate) = 4 THEN 'Wednesday' - WHEN DAYOFWEEK(TO_DATE(o_orderdate)) = 5 + WHEN DAYOFWEEK(o_orderdate) = 5 THEN 'Thursday' - WHEN DAYOFWEEK(TO_DATE(o_orderdate)) = 6 + WHEN DAYOFWEEK(o_orderdate) = 6 THEN 'Friday' - WHEN DAYOFWEEK(TO_DATE(o_orderdate)) = 7 + WHEN DAYOFWEEK(o_orderdate) = 7 THEN 'Saturday' END AS dayname_col, 'Monday' AS dayname_str1, diff --git a/tests/test_sql_refsols/datetime_functions_oracle.sql b/tests/test_sql_refsols/datetime_functions_oracle.sql index 47889deea..7d3480d47 100644 --- a/tests/test_sql_refsols/datetime_functions_oracle.sql +++ b/tests/test_sql_refsols/datetime_functions_oracle.sql @@ -5,25 +5,25 @@ SELECT SYS_EXTRACT_UTC(SYSTIMESTAMP) + NUMTODSINTERVAL(1, 'hour') AS ts_now_4, TO_DATE('2025-01-01', 'YYYY-MM-DD') AS ts_now_5, TO_DATE('1995-10-08', 'YYYY-MM-DD') AS ts_now_6, - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) AS year_col, + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) AS year_col, 2020 AS year_py, 1995 AS year_pd, - EXTRACT(MONTH FROM CAST(o_orderdate AS DATE)) AS month_col, + EXTRACT(MONTH FROM CAST(O_ORDERDATE AS DATE)) AS month_col, 2 AS month_str, 1 AS month_dt, - EXTRACT(DAY FROM CAST(o_orderdate AS DATE)) AS day_col, + EXTRACT(DAY FROM CAST(O_ORDERDATE AS DATE)) AS day_col, 25 AS day_str, 23 AS hour_str, 59 AS minute_str, 59 AS second_ts, - TRUNC(CAST(TO_DATE('1992-01-01', 'YYYY-MM-DD') AS DATE), 'DD') - TRUNC(CAST(CAST(o_orderdate AS DATE) AS DATE), 'DD') AS dd_col_str, - TRUNC(CAST(CAST(o_orderdate AS DATE) AS DATE), 'DD') - TRUNC(CAST(TO_DATE('1992-01-01', 'YYYY-MM-DD') AS DATE), 'DD') AS dd_str_col, + TRUNC(CAST(TO_DATE('1992-01-01', 'YYYY-MM-DD') AS DATE), 'DD') - TRUNC(CAST(CAST(O_ORDERDATE AS DATE) AS DATE), 'DD') AS dd_col_str, + TRUNC(CAST(CAST(O_ORDERDATE AS DATE) AS DATE), 'DD') - TRUNC(CAST(TO_DATE('1992-01-01', 'YYYY-MM-DD') AS DATE), 'DD') AS dd_str_col, ( - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) - EXTRACT(YEAR FROM TO_DATE('1995-10-10 00:00:00', 'YYYY-MM-DD HH24:MI:SS')) + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) - EXTRACT(YEAR FROM TO_DATE('1995-10-10 00:00:00', 'YYYY-MM-DD HH24:MI:SS')) ) * 12 + ( - EXTRACT(MONTH FROM CAST(o_orderdate AS DATE)) - EXTRACT(MONTH FROM TO_DATE('1995-10-10 00:00:00', 'YYYY-MM-DD HH24:MI:SS')) + EXTRACT(MONTH FROM CAST(O_ORDERDATE AS DATE)) - EXTRACT(MONTH FROM TO_DATE('1995-10-10 00:00:00', 'YYYY-MM-DD HH24:MI:SS')) ) AS dd_pd_col, - EXTRACT(YEAR FROM TO_DATE('1992-01-01 12:30:45', 'YYYY-MM-DD HH24:MI:SS')) - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) AS dd_col_dt, + EXTRACT(YEAR FROM TO_DATE('1992-01-01 12:30:45', 'YYYY-MM-DD HH24:MI:SS')) - EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) AS dd_col_dt, FLOOR( ( TRUNC(CAST(TO_DATE('1992-01-01 12:30:45', 'YYYY-MM-DD HH24:MI:SS') AS DATE), 'DD') - TRUNC(CAST(TO_DATE('1992-01-01', 'YYYY-MM-DD') AS DATE), 'DD') + ( @@ -41,7 +41,7 @@ SELECT ) / 7 ) AS dd_dt_str, MOD(( - TO_CHAR(o_orderdate, 'D') + -1 + TO_CHAR(O_ORDERDATE, 'D') + -1 ), 7) AS dow_col, 3 AS dow_str1, 4 AS dow_str2, @@ -53,19 +53,19 @@ SELECT 3 AS dow_dt, 2 AS dow_pd, CASE - WHEN TO_CHAR(o_orderdate, 'D') = 1 + WHEN TO_CHAR(O_ORDERDATE, 'D') = 1 THEN 'Sunday' - WHEN TO_CHAR(o_orderdate, 'D') = 2 + WHEN TO_CHAR(O_ORDERDATE, 'D') = 2 THEN 'Monday' - WHEN TO_CHAR(o_orderdate, 'D') = 3 + WHEN TO_CHAR(O_ORDERDATE, 'D') = 3 THEN 'Tuesday' - WHEN TO_CHAR(o_orderdate, 'D') = 4 + WHEN TO_CHAR(O_ORDERDATE, 'D') = 4 THEN 'Wednesday' - WHEN TO_CHAR(o_orderdate, 'D') = 5 + WHEN TO_CHAR(O_ORDERDATE, 'D') = 5 THEN 'Thursday' - WHEN TO_CHAR(o_orderdate, 'D') = 6 + WHEN TO_CHAR(O_ORDERDATE, 'D') = 6 THEN 'Friday' - WHEN TO_CHAR(o_orderdate, 'D') = 7 + WHEN TO_CHAR(O_ORDERDATE, 'D') = 7 THEN 'Saturday' END AS dayname_col, 'Monday' AS dayname_str1, @@ -75,7 +75,7 @@ SELECT 'Friday' AS dayname_str5, 'Saturday' AS dayname_str6, 'Sunday' AS dayname_dt, - TO_CHAR(o_orderdate, 'Mon') AS monthname_col, + TO_CHAR(O_ORDERDATE, 'Mon') AS monthname_col, TO_CHAR(TO_DATE('1995-03-27', 'YYYY-MM-DD'), 'Mon') AS monthname_str1, TO_CHAR(TO_DATE('1995-05-27', 'YYYY-MM-DD'), 'Mon') AS monthname_str2, TO_CHAR(TO_DATE('1995-06-27', 'YYYY-MM-DD'), 'Mon') AS monthname_str3, diff --git a/tests/test_sql_refsols/datetime_relative_databricks.sql b/tests/test_sql_refsols/datetime_relative_databricks.sql index a5e9e66b0..5374b5e37 100644 --- a/tests/test_sql_refsols/datetime_relative_databricks.sql +++ b/tests/test_sql_refsols/datetime_relative_databricks.sql @@ -10,7 +10,7 @@ WITH _t0 AS ( SELECT TRUNC(CAST(o_orderdate AS TIMESTAMP), 'YEAR') AS d1, TRUNC(CAST(o_orderdate AS TIMESTAMP), 'MONTH') AS d2, - DATEADD(DAY, -7, DATEADD(MONTH, 9, ADD_MONTHS(CAST(o_orderdate AS TIMESTAMP), -132))) + INTERVAL '5' HOUR - INTERVAL '3' MINUTE + INTERVAL '1' SECOND AS d3, + CAST(DATE_ADD(DATE_ADD(MONTH, 9, ADD_MONTHS(CAST(o_orderdate AS TIMESTAMP), -132)), -7) AS TIMESTAMP) + INTERVAL '5' HOUR - INTERVAL '3' MINUTE + INTERVAL '1' SECOND AS d3, CAST('2025-07-04 12:00:00' AS TIMESTAMP) AS d4, CAST('2025-07-04 12:58:00' AS TIMESTAMP) AS d5, CAST('2025-07-26 02:45:25' AS TIMESTAMP) AS d6 diff --git a/tests/test_sql_refsols/datetime_relative_oracle.sql b/tests/test_sql_refsols/datetime_relative_oracle.sql index 37c10147c..742a9e4e4 100644 --- a/tests/test_sql_refsols/datetime_relative_oracle.sql +++ b/tests/test_sql_refsols/datetime_relative_oracle.sql @@ -1,9 +1,9 @@ -WITH "_T0" AS ( +WITH "_t0" AS ( SELECT - o_orderdate AS O_ORDERDATE + O_ORDERDATE FROM TPCH.ORDERS ORDER BY - o_custkey NULLS FIRST, + O_CUSTKEY NULLS FIRST, 1 NULLS FIRST FETCH FIRST 10 ROWS ONLY ) @@ -14,6 +14,6 @@ SELECT TO_DATE('2025-07-04 12:00:00', 'YYYY-MM-DD HH24:MI:SS') AS d4, TO_DATE('2025-07-04 12:58:00', 'YYYY-MM-DD HH24:MI:SS') AS d5, TO_DATE('2025-07-26 02:45:25', 'YYYY-MM-DD HH24:MI:SS') AS d6 -FROM "_T0" +FROM "_t0" ORDER BY O_ORDERDATE NULLS FIRST diff --git a/tests/test_sql_refsols/datetime_sampler_databricks.sql b/tests/test_sql_refsols/datetime_sampler_databricks.sql index e6220ae93..83aa1bacc 100644 --- a/tests/test_sql_refsols/datetime_sampler_databricks.sql +++ b/tests/test_sql_refsols/datetime_sampler_databricks.sql @@ -23,24 +23,23 @@ SELECT ADD_MONTHS(TRUNC(CURRENT_TIMESTAMP(), 'YEAR') + INTERVAL '8' MINUTE, -141) AS _expr21, DATE_TRUNC('HOUR', DATE_TRUNC('SECOND', TRUNC(CURRENT_TIMESTAMP(), 'MONTH'))) AS _expr22, DATE_TRUNC('HOUR', DATE_TRUNC('SECOND', DATE_TRUNC('HOUR', CURRENT_TIMESTAMP()))) AS _expr23, - DATEADD(YEAR, 15, CURRENT_TIMESTAMP() - INTERVAL '96' HOUR) AS _expr24, - DATEADD(MONTH, 65, DATE_TRUNC('MINUTE', ADD_MONTHS(TRUNC(CURRENT_TIMESTAMP(), 'YEAR'), -36))) AS _expr25, + DATE_ADD(YEAR, 15, CURRENT_TIMESTAMP() - INTERVAL '96' HOUR) AS _expr24, + DATE_ADD(MONTH, 65, DATE_TRUNC('MINUTE', ADD_MONTHS(TRUNC(CURRENT_TIMESTAMP(), 'YEAR'), -36))) AS _expr25, TRUNC(CAST(o_orderdate AS TIMESTAMP) - INTERVAL '56' HOUR, 'YEAR') AS _expr26, - DATE_TRUNC('SECOND', DATE_TRUNC('MINUTE', DATEADD(DAY, -63, CURRENT_TIMESTAMP()))) AS _expr27, + DATE_TRUNC('SECOND', DATE_TRUNC('MINUTE', DATE_ADD(CURRENT_TIMESTAMP(), -63))) AS _expr27, TRUNC(CURRENT_TIMESTAMP(), 'MONTH') AS _expr28, - DATEADD(YEAR, 48, DATE_TRUNC('SECOND', CURRENT_TIMESTAMP() - INTERVAL '312' HOUR)) AS _expr29, - DATEADD( - DAY, - -294, - DATE_TRUNC('DAY', DATEADD(DAY, 75, CURRENT_TIMESTAMP())) + INTERVAL '600' MINUTE + DATE_ADD(YEAR, 48, DATE_TRUNC('SECOND', CURRENT_TIMESTAMP() - INTERVAL '312' HOUR)) AS _expr29, + DATE_ADD( + DATE_TRUNC('DAY', DATE_ADD(DAY, 75, CURRENT_TIMESTAMP())) + INTERVAL '600' MINUTE, + -294 ) AS _expr30, - ADD_MONTHS(DATEADD(MONTH, 480, TRUNC(CURRENT_TIMESTAMP(), 'MONTH')), -540) AS _expr31, + ADD_MONTHS(DATE_ADD(MONTH, 480, TRUNC(CURRENT_TIMESTAMP(), 'MONTH')), -540) AS _expr31, DATE_TRUNC( 'SECOND', DATE_TRUNC('DAY', CURRENT_TIMESTAMP() - INTERVAL '270' MINUTE - INTERVAL '34' SECOND) ) AS _expr32, TRUNC(CURRENT_TIMESTAMP(), 'MONTH') + INTERVAL '213' SECOND AS _expr33, - DATEADD(YEAR, 28, TRUNC(CURRENT_TIMESTAMP(), 'MONTH') + INTERVAL '13' MINUTE) + INTERVAL '344' SECOND AS _expr34, + DATE_ADD(YEAR, 28, TRUNC(CURRENT_TIMESTAMP(), 'MONTH') + INTERVAL '13' MINUTE) + INTERVAL '344' SECOND AS _expr34, DATE_TRUNC('DAY', CURRENT_TIMESTAMP()) AS _expr35, CAST('2116-01-01 00:49:00' AS TIMESTAMP) AS _expr36, DATE_TRUNC('DAY', TRUNC(CURRENT_TIMESTAMP(), 'YEAR')) AS _expr37, @@ -51,38 +50,38 @@ SELECT CAST(o_orderdate AS TIMESTAMP) + INTERVAL '82' SECOND + INTERVAL '415' SECOND - INTERVAL '160' SECOND, 'YEAR' ) AS _expr41, - DATEADD(MONTH, 192, CURRENT_TIMESTAMP()) AS _expr42, + DATE_ADD(MONTH, 192, CURRENT_TIMESTAMP()) AS _expr42, DATE_TRUNC('HOUR', DATE_TRUNC('MINUTE', DATE_TRUNC('HOUR', CURRENT_TIMESTAMP()))) + INTERVAL '486' MINUTE AS _expr43, DATE_TRUNC('SECOND', CURRENT_TIMESTAMP()) - INTERVAL '50' HOUR AS _expr44, DATE_TRUNC( 'HOUR', - ADD_MONTHS(DATEADD(MONTH, 72, DATEADD(DAY, 297, CURRENT_TIMESTAMP())), -92) + ADD_MONTHS(DATE_ADD(MONTH, 72, DATE_ADD(DAY, 297, CURRENT_TIMESTAMP())), -92) ) AS _expr45, DATE_TRUNC('DAY', CURRENT_TIMESTAMP() + INTERVAL '285' SECOND) AS _expr46, CAST('1999-05-15' AS DATE) AS _expr47, - DATEADD(DAY, -21, TRUNC(TRUNC(CURRENT_TIMESTAMP(), 'MONTH') + INTERVAL '1' HOUR, 'MONTH')) AS _expr48, - DATEADD(YEAR, 368, CURRENT_TIMESTAMP() + INTERVAL '212' MINUTE) AS _expr49, + DATE_ADD(TRUNC(TRUNC(CURRENT_TIMESTAMP(), 'MONTH') + INTERVAL '1' HOUR, 'MONTH'), -21) AS _expr48, + DATE_ADD(YEAR, 368, CURRENT_TIMESTAMP() + INTERVAL '212' MINUTE) AS _expr49, CAST('2024-01-01' AS DATE) AS _expr50, CAST('1999-03-14' AS DATE) AS _expr51, - DATEADD( + DATE_ADD( YEAR, 196, DATE_TRUNC('MINUTE', DATE_TRUNC('DAY', CURRENT_TIMESTAMP() - INTERVAL '60' HOUR)) ) AS _expr52, - DATE_TRUNC('MINUTE', DATEADD(DAY, -385, CURRENT_TIMESTAMP() - INTERVAL '40' HOUR)) + INTERVAL '29' HOUR AS _expr53, - DATE_TRUNC('MINUTE', DATE_TRUNC('HOUR', DATEADD(DAY, 405, CURRENT_TIMESTAMP()))) AS _expr54, - DATEADD( + DATE_TRUNC('MINUTE', DATE_ADD(CURRENT_TIMESTAMP() - INTERVAL '40' HOUR, -385)) + INTERVAL '29' HOUR AS _expr53, + DATE_TRUNC('MINUTE', DATE_TRUNC('HOUR', DATE_ADD(DAY, 405, CURRENT_TIMESTAMP()))) AS _expr54, + DATE_ADD( MONTH, 96, - DATEADD(YEAR, 98, DATE_TRUNC('SECOND', TRUNC(CURRENT_TIMESTAMP(), 'YEAR'))) + DATE_ADD(YEAR, 98, DATE_TRUNC('SECOND', TRUNC(CURRENT_TIMESTAMP(), 'YEAR'))) ) AS _expr55, DATE_TRUNC('DAY', DATE_TRUNC('SECOND', DATE_TRUNC('MINUTE', CURRENT_TIMESTAMP()))) + INTERVAL '78' SECOND AS _expr56, - DATEADD( + DATE_ADD( DAY, 312, ADD_MONTHS(CURRENT_TIMESTAMP() + INTERVAL '136' HOUR + INTERVAL '104' MINUTE, -104) ) AS _expr57, - DATEADD(MONTH, 45, CURRENT_TIMESTAMP()) - INTERVAL '135' SECOND AS _expr58, + DATE_ADD(MONTH, 45, CURRENT_TIMESTAMP()) - INTERVAL '135' SECOND AS _expr58, EXTRACT(YEAR FROM CURRENT_TIMESTAMP()) AS _expr59, 2025 AS _expr60, 1999 AS _expr61, @@ -101,14 +100,14 @@ SELECT EXTRACT(SECOND FROM CURRENT_TIMESTAMP()) AS _expr74, 45 AS _expr75, 0 AS _expr76, - YEAR(TO_DATE(CURRENT_TIMESTAMP())) - YEAR(TO_DATE(CAST('2018-02-14 12:41:06' AS TIMESTAMP))) AS _expr77, - YEAR(CAST('2022-11-24' AS DATE)) - YEAR(TO_DATE(o_orderdate)) AS _expr78, + YEAR(CURRENT_TIMESTAMP()) - YEAR(CAST('2018-02-14 12:41:06' AS TIMESTAMP)) AS _expr77, + YEAR(CAST('2022-11-24' AS DATE)) - YEAR(o_orderdate) AS _expr78, ( - YEAR(TO_DATE(CAST('1999-03-14' AS TIMESTAMP))) - YEAR(CAST('2005-06-30' AS DATE)) - ) * 12 + MONTH(TO_DATE(CAST('1999-03-14' AS TIMESTAMP))) - MONTH(CAST('2005-06-30' AS DATE)) AS _expr79, + YEAR(CAST('1999-03-14' AS TIMESTAMP)) - YEAR(CAST('2005-06-30' AS DATE)) + ) * 12 + MONTH(CAST('1999-03-14' AS TIMESTAMP)) - MONTH(CAST('2005-06-30' AS DATE)) AS _expr79, ( - YEAR(CAST('2022-11-24' AS DATE)) - YEAR(TO_DATE(CAST('2006-05-01 12:00:00' AS TIMESTAMP))) - ) * 12 + MONTH(CAST('2022-11-24' AS DATE)) - MONTH(TO_DATE(CAST('2006-05-01 12:00:00' AS TIMESTAMP))) AS _expr80, + YEAR(CAST('2022-11-24' AS DATE)) - YEAR(CAST('2006-05-01 12:00:00' AS TIMESTAMP)) + ) * 12 + MONTH(CAST('2022-11-24' AS DATE)) - MONTH(CAST('2006-05-01 12:00:00' AS TIMESTAMP)) AS _expr80, DATEDIFF(DAY, CAST(CURRENT_TIMESTAMP() AS DATE), CAST(CURRENT_TIMESTAMP() AS DATE)) AS _expr81, DATEDIFF( DAY, @@ -149,14 +148,14 @@ SELECT ) * 24 + EXTRACT(HOUR FROM CAST('2018-02-14 12:41:06' AS TIMESTAMP)) - EXTRACT(HOUR FROM CAST('2005-06-30' AS DATE)) ) * 60 + EXTRACT(MINUTE FROM CAST('2018-02-14 12:41:06' AS TIMESTAMP)) - EXTRACT(MINUTE FROM CAST('2005-06-30' AS DATE)) ) * 60 + EXTRACT(SECOND FROM CAST('2018-02-14 12:41:06' AS TIMESTAMP)) - EXTRACT(SECOND FROM CAST('2005-06-30' AS DATE)) AS _expr88, - YEAR(TO_DATE(CAST('2006-05-01 12:00:00' AS TIMESTAMP))) - YEAR(TO_DATE(o_orderdate)) AS _expr89, - YEAR(TO_DATE(o_orderdate)) - YEAR(TO_DATE(CAST('2018-02-14 12:41:06' AS TIMESTAMP))) AS _expr90, + YEAR(CAST('2006-05-01 12:00:00' AS TIMESTAMP)) - YEAR(o_orderdate) AS _expr89, + YEAR(o_orderdate) - YEAR(CAST('2018-02-14 12:41:06' AS TIMESTAMP)) AS _expr90, ( - YEAR(TO_DATE(CAST('2019-07-04 11:30:00' AS TIMESTAMP))) - YEAR(TO_DATE(o_orderdate)) - ) * 12 + MONTH(TO_DATE(CAST('2019-07-04 11:30:00' AS TIMESTAMP))) - MONTH(TO_DATE(o_orderdate)) AS _expr91, + YEAR(CAST('2019-07-04 11:30:00' AS TIMESTAMP)) - YEAR(o_orderdate) + ) * 12 + MONTH(CAST('2019-07-04 11:30:00' AS TIMESTAMP)) - MONTH(o_orderdate) AS _expr91, ( - YEAR(TO_DATE(CAST('2018-02-14 12:41:06' AS TIMESTAMP))) - YEAR(TO_DATE(CAST('2019-07-04 11:30:00' AS TIMESTAMP))) - ) * 12 + MONTH(TO_DATE(CAST('2018-02-14 12:41:06' AS TIMESTAMP))) - MONTH(TO_DATE(CAST('2019-07-04 11:30:00' AS TIMESTAMP))) AS _expr92, + YEAR(CAST('2018-02-14 12:41:06' AS TIMESTAMP)) - YEAR(CAST('2019-07-04 11:30:00' AS TIMESTAMP)) + ) * 12 + MONTH(CAST('2018-02-14 12:41:06' AS TIMESTAMP)) - MONTH(CAST('2019-07-04 11:30:00' AS TIMESTAMP)) AS _expr92, DATEDIFF(DAY, CAST(CURRENT_TIMESTAMP() AS DATE), CAST(o_orderdate AS DATE)) AS _expr93, DATEDIFF( DAY, diff --git a/tests/test_sql_refsols/datetime_sampler_oracle.sql b/tests/test_sql_refsols/datetime_sampler_oracle.sql index 8fd3ac42c..b10b4cfce 100644 --- a/tests/test_sql_refsols/datetime_sampler_oracle.sql +++ b/tests/test_sql_refsols/datetime_sampler_oracle.sql @@ -18,7 +18,7 @@ SELECT SYS_EXTRACT_UTC(SYSTIMESTAMP) AS "_expr16", SYS_EXTRACT_UTC(SYSTIMESTAMP) AS "_expr17", SYS_EXTRACT_UTC(SYSTIMESTAMP) AS "_expr18", - CAST(o_orderdate AS DATE) AS "_expr19", + CAST(O_ORDERDATE AS DATE) AS "_expr19", TIMESTAMP_TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), SECOND) AS "_expr20", ADD_MONTHS(TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'YEAR') + NUMTODSINTERVAL(8, 'minute'), -141) AS "_expr21", TIMESTAMP_TRUNC(TIMESTAMP_TRUNC(TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH'), SECOND), HOUR) AS "_expr22", @@ -31,7 +31,7 @@ SELECT TIMESTAMP_TRUNC(ADD_MONTHS(TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'YEAR'), -36), MINUTE), 65 ) AS "_expr25", - TRUNC(CAST(o_orderdate AS DATE) - NUMTODSINTERVAL(56, 'hour'), 'YEAR') AS "_expr26", + TRUNC(CAST(O_ORDERDATE AS DATE) - NUMTODSINTERVAL(56, 'hour'), 'YEAR') AS "_expr26", TIMESTAMP_TRUNC( TIMESTAMP_TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP) - NUMTODSINTERVAL(63, 'day'), MINUTE), SECOND @@ -59,7 +59,7 @@ SELECT TO_DATE('2025-07-01 00:22:00', 'YYYY-MM-DD HH24:MI:SS') AS "_expr39", TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'YEAR') AS "_expr40", TRUNC( - CAST(o_orderdate AS DATE) + NUMTODSINTERVAL(82, 'second') + NUMTODSINTERVAL(415, 'second') - NUMTODSINTERVAL(160, 'second'), + CAST(O_ORDERDATE AS DATE) + NUMTODSINTERVAL(82, 'second') + NUMTODSINTERVAL(415, 'second') - NUMTODSINTERVAL(160, 'second'), 'YEAR' ) AS "_expr41", ADD_MONTHS(SYS_EXTRACT_UTC(SYSTIMESTAMP), 192) AS "_expr42", @@ -125,7 +125,7 @@ SELECT 45 AS "_expr75", 0 AS "_expr76", EXTRACT(YEAR FROM CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE)) - EXTRACT(YEAR FROM TO_DATE('2018-02-14 12:41:06', 'YYYY-MM-DD HH24:MI:SS')) AS "_expr77", - EXTRACT(YEAR FROM TO_DATE('2022-11-24', 'YYYY-MM-DD')) - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) AS "_expr78", + EXTRACT(YEAR FROM TO_DATE('2022-11-24', 'YYYY-MM-DD')) - EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) AS "_expr78", ( EXTRACT(YEAR FROM TO_DATE('1999-03-14', 'YYYY-MM-DD')) - EXTRACT(YEAR FROM TO_DATE('2005-06-30', 'YYYY-MM-DD')) ) * 12 + ( @@ -142,13 +142,13 @@ SELECT TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'HH24') - TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'HH24') ) * 24 AS "_expr83", ( - TRUNC(CAST(CAST(o_orderdate AS DATE) AS DATE), 'HH24') - TRUNC(CAST(TO_DATE('2005-06-30', 'YYYY-MM-DD') AS DATE), 'HH24') + TRUNC(CAST(CAST(O_ORDERDATE AS DATE) AS DATE), 'HH24') - TRUNC(CAST(TO_DATE('2005-06-30', 'YYYY-MM-DD') AS DATE), 'HH24') ) * 24 AS "_expr84", ( TRUNC(CAST(TO_DATE('2006-05-01 12:00:00', 'YYYY-MM-DD HH24:MI:SS') AS DATE), 'MI') - TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'MI') ) * 1440 AS "_expr85", ( - TRUNC(CAST(TO_DATE('2021-01-01 07:35:00', 'YYYY-MM-DD HH24:MI:SS') AS DATE), 'MI') - TRUNC(CAST(CAST(o_orderdate AS DATE) AS DATE), 'MI') + TRUNC(CAST(TO_DATE('2021-01-01 07:35:00', 'YYYY-MM-DD HH24:MI:SS') AS DATE), 'MI') - TRUNC(CAST(CAST(O_ORDERDATE AS DATE) AS DATE), 'MI') ) * 1440 AS "_expr86", ( TO_DATE('2021-01-01 07:35:00', 'YYYY-MM-DD HH24:MI:SS') - TO_DATE('2022-11-24', 'YYYY-MM-DD') @@ -156,19 +156,19 @@ SELECT ( TO_DATE('2018-02-14 12:41:06', 'YYYY-MM-DD HH24:MI:SS') - TO_DATE('2005-06-30', 'YYYY-MM-DD') ) * 86400 AS "_expr88", - EXTRACT(YEAR FROM TO_DATE('2006-05-01 12:00:00', 'YYYY-MM-DD HH24:MI:SS')) - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) AS "_expr89", - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) - EXTRACT(YEAR FROM TO_DATE('2018-02-14 12:41:06', 'YYYY-MM-DD HH24:MI:SS')) AS "_expr90", + EXTRACT(YEAR FROM TO_DATE('2006-05-01 12:00:00', 'YYYY-MM-DD HH24:MI:SS')) - EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) AS "_expr89", + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) - EXTRACT(YEAR FROM TO_DATE('2018-02-14 12:41:06', 'YYYY-MM-DD HH24:MI:SS')) AS "_expr90", ( - EXTRACT(YEAR FROM TO_DATE('2019-07-04 11:30:00', 'YYYY-MM-DD HH24:MI:SS')) - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) + EXTRACT(YEAR FROM TO_DATE('2019-07-04 11:30:00', 'YYYY-MM-DD HH24:MI:SS')) - EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) ) * 12 + ( - EXTRACT(MONTH FROM TO_DATE('2019-07-04 11:30:00', 'YYYY-MM-DD HH24:MI:SS')) - EXTRACT(MONTH FROM CAST(o_orderdate AS DATE)) + EXTRACT(MONTH FROM TO_DATE('2019-07-04 11:30:00', 'YYYY-MM-DD HH24:MI:SS')) - EXTRACT(MONTH FROM CAST(O_ORDERDATE AS DATE)) ) AS "_expr91", ( EXTRACT(YEAR FROM TO_DATE('2018-02-14 12:41:06', 'YYYY-MM-DD HH24:MI:SS')) - EXTRACT(YEAR FROM TO_DATE('2019-07-04 11:30:00', 'YYYY-MM-DD HH24:MI:SS')) ) * 12 + ( EXTRACT(MONTH FROM TO_DATE('2018-02-14 12:41:06', 'YYYY-MM-DD HH24:MI:SS')) - EXTRACT(MONTH FROM TO_DATE('2019-07-04 11:30:00', 'YYYY-MM-DD HH24:MI:SS')) ) AS "_expr92", - TRUNC(CAST(CAST(o_orderdate AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') AS "_expr93", + TRUNC(CAST(CAST(O_ORDERDATE AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') AS "_expr93", TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') - TRUNC(CAST(TO_DATE('2019-07-04 11:30:00', 'YYYY-MM-DD HH24:MI:SS') AS DATE), 'DD') AS "_expr94", ( TRUNC(CAST(TO_DATE('1999-03-14', 'YYYY-MM-DD') AS DATE), 'HH24') - TRUNC(CAST(TO_DATE('2022-11-24', 'YYYY-MM-DD') AS DATE), 'HH24') diff --git a/tests/test_sql_refsols/deep_best_analysis_ansi.sql b/tests/test_sql_refsols/deep_best_analysis_ansi.sql index 432424b5b..1998e7fbe 100644 --- a/tests/test_sql_refsols/deep_best_analysis_ansi.sql +++ b/tests/test_sql_refsols/deep_best_analysis_ansi.sql @@ -11,7 +11,10 @@ WITH _t2 AS ( c_nationkey FROM _t2 QUALIFY - ROW_NUMBER() OVER (PARTITION BY c_nationkey ORDER BY c_acctbal DESC NULLS FIRST, c_custkey NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY c_nationkey + ORDER BY c_acctbal DESC NULLS FIRST, c_custkey NULLS LAST + ) = 1 ), _s4 AS ( SELECT n_nationkey, @@ -26,7 +29,10 @@ WITH _t2 AS ( JOIN _t2 AS _s5 ON _s4.n_nationkey = _s5.c_nationkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s4.n_regionkey ORDER BY _s5.c_acctbal DESC NULLS FIRST, _s5.c_custkey NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s4.n_regionkey + ORDER BY _s5.c_acctbal DESC NULLS FIRST, _s5.c_custkey NULLS LAST + ) = 1 ), _t7 AS ( SELECT _s8.n_nationkey, @@ -41,7 +47,10 @@ WITH _t2 AS ( JOIN tpch.partsupp AS partsupp ON partsupp.ps_suppkey = supplier.s_suppkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s8.n_regionkey ORDER BY partsupp.ps_availqty DESC NULLS FIRST, partsupp.ps_partkey NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s8.n_regionkey + ORDER BY partsupp.ps_availqty DESC NULLS FIRST, partsupp.ps_partkey NULLS LAST + ) = 1 ), _t5 AS ( SELECT n_nationkey, @@ -51,7 +60,10 @@ WITH _t2 AS ( s_suppkey FROM _t7 QUALIFY - ROW_NUMBER() OVER (PARTITION BY n_regionkey ORDER BY ps_availqty DESC NULLS FIRST, s_suppkey NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY n_regionkey + ORDER BY ps_availqty DESC NULLS FIRST, s_suppkey NULLS LAST + ) = 1 AND n_nationkey = s_nationkey ), _t9 AS ( SELECT diff --git a/tests/test_sql_refsols/deep_best_analysis_databricks.sql b/tests/test_sql_refsols/deep_best_analysis_databricks.sql index 432424b5b..1998e7fbe 100644 --- a/tests/test_sql_refsols/deep_best_analysis_databricks.sql +++ b/tests/test_sql_refsols/deep_best_analysis_databricks.sql @@ -11,7 +11,10 @@ WITH _t2 AS ( c_nationkey FROM _t2 QUALIFY - ROW_NUMBER() OVER (PARTITION BY c_nationkey ORDER BY c_acctbal DESC NULLS FIRST, c_custkey NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY c_nationkey + ORDER BY c_acctbal DESC NULLS FIRST, c_custkey NULLS LAST + ) = 1 ), _s4 AS ( SELECT n_nationkey, @@ -26,7 +29,10 @@ WITH _t2 AS ( JOIN _t2 AS _s5 ON _s4.n_nationkey = _s5.c_nationkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s4.n_regionkey ORDER BY _s5.c_acctbal DESC NULLS FIRST, _s5.c_custkey NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s4.n_regionkey + ORDER BY _s5.c_acctbal DESC NULLS FIRST, _s5.c_custkey NULLS LAST + ) = 1 ), _t7 AS ( SELECT _s8.n_nationkey, @@ -41,7 +47,10 @@ WITH _t2 AS ( JOIN tpch.partsupp AS partsupp ON partsupp.ps_suppkey = supplier.s_suppkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s8.n_regionkey ORDER BY partsupp.ps_availqty DESC NULLS FIRST, partsupp.ps_partkey NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s8.n_regionkey + ORDER BY partsupp.ps_availqty DESC NULLS FIRST, partsupp.ps_partkey NULLS LAST + ) = 1 ), _t5 AS ( SELECT n_nationkey, @@ -51,7 +60,10 @@ WITH _t2 AS ( s_suppkey FROM _t7 QUALIFY - ROW_NUMBER() OVER (PARTITION BY n_regionkey ORDER BY ps_availqty DESC NULLS FIRST, s_suppkey NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY n_regionkey + ORDER BY ps_availqty DESC NULLS FIRST, s_suppkey NULLS LAST + ) = 1 AND n_nationkey = s_nationkey ), _t9 AS ( SELECT diff --git a/tests/test_sql_refsols/deep_best_analysis_duckdb.sql b/tests/test_sql_refsols/deep_best_analysis_duckdb.sql index f683609ca..c62163b24 100644 --- a/tests/test_sql_refsols/deep_best_analysis_duckdb.sql +++ b/tests/test_sql_refsols/deep_best_analysis_duckdb.sql @@ -26,7 +26,10 @@ WITH _t2 AS ( JOIN _t2 AS _s5 ON _s4.n_nationkey = _s5.c_nationkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s4.n_regionkey ORDER BY _s5.c_acctbal DESC NULLS FIRST, _s5.c_custkey) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s4.n_regionkey + ORDER BY _s5.c_acctbal DESC NULLS FIRST, _s5.c_custkey + ) = 1 ), _t7 AS ( SELECT _s8.n_nationkey, @@ -41,7 +44,10 @@ WITH _t2 AS ( JOIN tpch.partsupp AS partsupp ON partsupp.ps_suppkey = supplier.s_suppkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s8.n_regionkey ORDER BY partsupp.ps_availqty DESC NULLS FIRST, partsupp.ps_partkey) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s8.n_regionkey + ORDER BY partsupp.ps_availqty DESC NULLS FIRST, partsupp.ps_partkey + ) = 1 ), _t5 AS ( SELECT n_nationkey, diff --git a/tests/test_sql_refsols/deep_best_analysis_mysql.sql b/tests/test_sql_refsols/deep_best_analysis_mysql.sql index 9e61d3da3..b784f2b19 100644 --- a/tests/test_sql_refsols/deep_best_analysis_mysql.sql +++ b/tests/test_sql_refsols/deep_best_analysis_mysql.sql @@ -9,7 +9,10 @@ WITH _t2 AS ( c_acctbal, c_custkey, c_nationkey, - ROW_NUMBER() OVER (PARTITION BY c_nationkey ORDER BY CASE WHEN c_acctbal IS NULL THEN 1 ELSE 0 END DESC, c_acctbal DESC, CASE WHEN c_custkey IS NULL THEN 1 ELSE 0 END, c_custkey) AS _w + ROW_NUMBER() OVER ( + PARTITION BY c_nationkey + ORDER BY CASE WHEN c_acctbal IS NULL THEN 1 ELSE 0 END DESC, c_acctbal DESC, CASE WHEN c_custkey IS NULL THEN 1 ELSE 0 END, c_custkey + ) AS _w FROM _t2 ), _s4 AS ( SELECT @@ -21,7 +24,10 @@ WITH _t2 AS ( _s5.c_acctbal, _s4.n_nationkey, _s4.n_regionkey, - ROW_NUMBER() OVER (PARTITION BY _s4.n_regionkey ORDER BY CASE WHEN _s5.c_acctbal IS NULL THEN 1 ELSE 0 END DESC, _s5.c_acctbal DESC, CASE WHEN _s5.c_custkey IS NULL THEN 1 ELSE 0 END, _s5.c_custkey) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _s4.n_regionkey + ORDER BY CASE WHEN _s5.c_acctbal IS NULL THEN 1 ELSE 0 END DESC, _s5.c_acctbal DESC, CASE WHEN _s5.c_custkey IS NULL THEN 1 ELSE 0 END, _s5.c_custkey + ) AS _w FROM _s4 AS _s4 JOIN _t2 AS _s5 ON _s4.n_nationkey = _s5.c_nationkey @@ -41,7 +47,10 @@ WITH _t2 AS ( PARTSUPP.ps_partkey, SUPPLIER.s_nationkey, SUPPLIER.s_suppkey, - ROW_NUMBER() OVER (PARTITION BY _s8.n_regionkey ORDER BY CASE WHEN PARTSUPP.ps_availqty IS NULL THEN 1 ELSE 0 END DESC, PARTSUPP.ps_availqty DESC, CASE WHEN PARTSUPP.ps_partkey IS NULL THEN 1 ELSE 0 END, PARTSUPP.ps_partkey) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _s8.n_regionkey + ORDER BY CASE WHEN PARTSUPP.ps_availqty IS NULL THEN 1 ELSE 0 END DESC, PARTSUPP.ps_availqty DESC, CASE WHEN PARTSUPP.ps_partkey IS NULL THEN 1 ELSE 0 END, PARTSUPP.ps_partkey + ) AS _w FROM _s4 AS _s8 JOIN tpch.SUPPLIER AS SUPPLIER ON SUPPLIER.s_nationkey = _s8.n_nationkey @@ -55,7 +64,10 @@ WITH _t2 AS ( ps_partkey, s_nationkey, s_suppkey, - ROW_NUMBER() OVER (PARTITION BY n_regionkey ORDER BY CASE WHEN ps_availqty IS NULL THEN 1 ELSE 0 END DESC, ps_availqty DESC, CASE WHEN s_suppkey IS NULL THEN 1 ELSE 0 END, s_suppkey) AS _w + ROW_NUMBER() OVER ( + PARTITION BY n_regionkey + ORDER BY CASE WHEN ps_availqty IS NULL THEN 1 ELSE 0 END DESC, ps_availqty DESC, CASE WHEN s_suppkey IS NULL THEN 1 ELSE 0 END, s_suppkey + ) AS _w FROM _t_3 WHERE _w = 1 @@ -73,7 +85,9 @@ WITH _t2 AS ( SELECT c_custkey, c_nationkey, - ROW_NUMBER() OVER (ORDER BY CASE WHEN c_acctbal IS NULL THEN 1 ELSE 0 END DESC, c_acctbal DESC, CASE WHEN c_custkey IS NULL THEN 1 ELSE 0 END, c_custkey) AS _w + ROW_NUMBER() OVER ( + ORDER BY CASE WHEN c_acctbal IS NULL THEN 1 ELSE 0 END DESC, c_acctbal DESC, CASE WHEN c_custkey IS NULL THEN 1 ELSE 0 END, c_custkey + ) AS _w FROM _t2 ), _s15 AS ( SELECT diff --git a/tests/test_sql_refsols/deep_best_analysis_oracle.sql b/tests/test_sql_refsols/deep_best_analysis_oracle.sql index 7fbb26eae..f0ddf01ac 100644 --- a/tests/test_sql_refsols/deep_best_analysis_oracle.sql +++ b/tests/test_sql_refsols/deep_best_analysis_oracle.sql @@ -1,53 +1,56 @@ -WITH "_T2" AS ( +WITH "_t2" AS ( SELECT - c_acctbal AS C_ACCTBAL, - c_custkey AS C_CUSTKEY, - c_nationkey AS C_NATIONKEY + C_ACCTBAL, + C_CUSTKEY, + C_NATIONKEY FROM TPCH.CUSTOMER -), "_T" AS ( +), "_t" AS ( SELECT C_ACCTBAL, C_CUSTKEY, C_NATIONKEY, - ROW_NUMBER() OVER (PARTITION BY C_NATIONKEY ORDER BY C_ACCTBAL DESC, C_CUSTKEY) AS "_W" - FROM "_T2" -), "_S4" AS ( + ROW_NUMBER() OVER (PARTITION BY C_NATIONKEY ORDER BY C_ACCTBAL DESC, C_CUSTKEY) AS "_w" + FROM "_t2" +), "_s4" AS ( SELECT - n_nationkey AS N_NATIONKEY, - n_regionkey AS N_REGIONKEY + N_NATIONKEY, + N_REGIONKEY FROM TPCH.NATION -), "_T_2" AS ( +), "_t_2" AS ( SELECT - "_S5".C_ACCTBAL, - "_S4".N_NATIONKEY, - "_S4".N_REGIONKEY, - ROW_NUMBER() OVER (PARTITION BY "_S4".N_REGIONKEY ORDER BY "_S5".C_ACCTBAL DESC, "_S5".C_CUSTKEY) AS "_W" - FROM "_S4" "_S4" - JOIN "_T2" "_S5" - ON "_S4".N_NATIONKEY = "_S5".C_NATIONKEY -), "_S7" AS ( + "_s5".C_ACCTBAL, + "_s4".N_NATIONKEY, + "_s4".N_REGIONKEY, + ROW_NUMBER() OVER (PARTITION BY "_s4".N_REGIONKEY ORDER BY "_s5".C_ACCTBAL DESC, "_s5".C_CUSTKEY) AS "_w" + FROM "_s4" "_s4" + JOIN "_t2" "_s5" + ON "_s4".N_NATIONKEY = "_s5".C_NATIONKEY +), "_s7" AS ( SELECT C_ACCTBAL, N_NATIONKEY, N_REGIONKEY - FROM "_T_2" + FROM "_t_2" WHERE - "_W" = 1 -), "_T_3" AS ( + "_w" = 1 +), "_t_3" AS ( SELECT - "_S8".N_NATIONKEY, - "_S8".N_REGIONKEY, - PARTSUPP.ps_availqty AS PS_AVAILQTY, - PARTSUPP.ps_partkey AS PS_PARTKEY, - SUPPLIER.s_nationkey AS S_NATIONKEY, - SUPPLIER.s_suppkey AS S_SUPPKEY, - ROW_NUMBER() OVER (PARTITION BY "_S8".N_REGIONKEY ORDER BY PARTSUPP.ps_availqty DESC, PARTSUPP.ps_partkey) AS "_W" - FROM "_S4" "_S8" + "_s8".N_NATIONKEY, + "_s8".N_REGIONKEY, + PARTSUPP.PS_AVAILQTY, + PARTSUPP.PS_PARTKEY, + SUPPLIER.S_NATIONKEY, + SUPPLIER.S_SUPPKEY, + ROW_NUMBER() OVER ( + PARTITION BY "_s8".N_REGIONKEY + ORDER BY PARTSUPP.PS_AVAILQTY DESC, PARTSUPP.PS_PARTKEY + ) AS "_w" + FROM "_s4" "_s8" JOIN TPCH.SUPPLIER SUPPLIER - ON SUPPLIER.s_nationkey = "_S8".N_NATIONKEY + ON SUPPLIER.S_NATIONKEY = "_s8".N_NATIONKEY JOIN TPCH.PARTSUPP PARTSUPP - ON PARTSUPP.ps_suppkey = SUPPLIER.s_suppkey -), "_T_4" AS ( + ON PARTSUPP.PS_SUPPKEY = SUPPLIER.S_SUPPKEY +), "_t_4" AS ( SELECT N_NATIONKEY, N_REGIONKEY, @@ -55,56 +58,56 @@ WITH "_T2" AS ( PS_PARTKEY, S_NATIONKEY, S_SUPPKEY, - ROW_NUMBER() OVER (PARTITION BY N_REGIONKEY ORDER BY PS_AVAILQTY DESC, S_SUPPKEY) AS "_W" - FROM "_T_3" + ROW_NUMBER() OVER (PARTITION BY N_REGIONKEY ORDER BY PS_AVAILQTY DESC, S_SUPPKEY) AS "_w" + FROM "_t_3" WHERE - "_W" = 1 -), "_S13" AS ( + "_w" = 1 +), "_s13" AS ( SELECT N_NATIONKEY, N_REGIONKEY, PS_AVAILQTY, PS_PARTKEY, S_SUPPKEY - FROM "_T_4" + FROM "_t_4" WHERE - N_NATIONKEY = S_NATIONKEY AND "_W" = 1 -), "_T_5" AS ( + N_NATIONKEY = S_NATIONKEY AND "_w" = 1 +), "_t_5" AS ( SELECT C_CUSTKEY, C_NATIONKEY, - ROW_NUMBER() OVER (ORDER BY C_ACCTBAL DESC, C_CUSTKEY) AS "_W" - FROM "_T2" -), "_S15" AS ( + ROW_NUMBER() OVER (ORDER BY C_ACCTBAL DESC, C_CUSTKEY) AS "_w" + FROM "_t2" +), "_s15" AS ( SELECT C_CUSTKEY, C_NATIONKEY - FROM "_T_5" + FROM "_t_5" WHERE - "_W" = 1 + "_w" = 1 ) SELECT - REGION.r_name, - NATION.n_name, - "_T".C_CUSTKEY AS c_key, - "_T".C_ACCTBAL AS c_bal, - "_S7".C_ACCTBAL AS cr_bal, - "_S13".S_SUPPKEY AS s_key, - "_S13".PS_PARTKEY AS p_key, - "_S13".PS_AVAILQTY AS p_qty, - "_S15".C_CUSTKEY AS cg_key + REGION.R_NAME AS r_name, + NATION.N_NAME AS n_name, + "_t".C_CUSTKEY AS c_key, + "_t".C_ACCTBAL AS c_bal, + "_s7".C_ACCTBAL AS cr_bal, + "_s13".S_SUPPKEY AS s_key, + "_s13".PS_PARTKEY AS p_key, + "_s13".PS_AVAILQTY AS p_qty, + "_s15".C_CUSTKEY AS cg_key FROM TPCH.REGION REGION JOIN TPCH.NATION NATION - ON NATION.n_regionkey = REGION.r_regionkey -JOIN "_T" "_T" - ON NATION.n_nationkey = "_T".C_NATIONKEY AND "_T"."_W" = 1 -LEFT JOIN "_S7" "_S7" - ON NATION.n_nationkey = "_S7".N_NATIONKEY AND REGION.r_regionkey = "_S7".N_REGIONKEY -LEFT JOIN "_S13" "_S13" - ON NATION.n_nationkey = "_S13".N_NATIONKEY - AND REGION.r_regionkey = "_S13".N_REGIONKEY -LEFT JOIN "_S15" "_S15" - ON NATION.n_nationkey = "_S15".C_NATIONKEY + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY +JOIN "_t" "_t" + ON NATION.N_NATIONKEY = "_t".C_NATIONKEY AND "_t"."_w" = 1 +LEFT JOIN "_s7" "_s7" + ON NATION.N_NATIONKEY = "_s7".N_NATIONKEY AND REGION.R_REGIONKEY = "_s7".N_REGIONKEY +LEFT JOIN "_s13" "_s13" + ON NATION.N_NATIONKEY = "_s13".N_NATIONKEY + AND REGION.R_REGIONKEY = "_s13".N_REGIONKEY +LEFT JOIN "_s15" "_s15" + ON NATION.N_NATIONKEY = "_s15".C_NATIONKEY ORDER BY 2 NULLS FIRST FETCH FIRST 10 ROWS ONLY diff --git a/tests/test_sql_refsols/deep_best_analysis_postgres.sql b/tests/test_sql_refsols/deep_best_analysis_postgres.sql index 1bd7ac6d5..f9a92e75f 100644 --- a/tests/test_sql_refsols/deep_best_analysis_postgres.sql +++ b/tests/test_sql_refsols/deep_best_analysis_postgres.sql @@ -41,7 +41,10 @@ WITH _t2 AS ( partsupp.ps_partkey, supplier.s_nationkey, supplier.s_suppkey, - ROW_NUMBER() OVER (PARTITION BY _s8.n_regionkey ORDER BY partsupp.ps_availqty DESC, partsupp.ps_partkey) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _s8.n_regionkey + ORDER BY partsupp.ps_availqty DESC, partsupp.ps_partkey + ) AS _w FROM _s4 AS _s8 JOIN tpch.supplier AS supplier ON _s8.n_nationkey = supplier.s_nationkey diff --git a/tests/test_sql_refsols/deep_best_analysis_snowflake.sql b/tests/test_sql_refsols/deep_best_analysis_snowflake.sql index 9ccc6682f..bfd3ff679 100644 --- a/tests/test_sql_refsols/deep_best_analysis_snowflake.sql +++ b/tests/test_sql_refsols/deep_best_analysis_snowflake.sql @@ -41,7 +41,10 @@ WITH _t2 AS ( JOIN tpch.partsupp AS partsupp ON partsupp.ps_suppkey = supplier.s_suppkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s8.n_regionkey ORDER BY partsupp.ps_availqty DESC, partsupp.ps_partkey) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s8.n_regionkey + ORDER BY partsupp.ps_availqty DESC, partsupp.ps_partkey + ) = 1 ), _t5 AS ( SELECT n_nationkey, diff --git a/tests/test_sql_refsols/deep_best_analysis_sqlite.sql b/tests/test_sql_refsols/deep_best_analysis_sqlite.sql index 6338ced63..33d26d889 100644 --- a/tests/test_sql_refsols/deep_best_analysis_sqlite.sql +++ b/tests/test_sql_refsols/deep_best_analysis_sqlite.sql @@ -41,7 +41,10 @@ WITH _t2 AS ( partsupp.ps_partkey, supplier.s_nationkey, supplier.s_suppkey, - ROW_NUMBER() OVER (PARTITION BY _s8.n_regionkey ORDER BY partsupp.ps_availqty DESC, partsupp.ps_partkey) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _s8.n_regionkey + ORDER BY partsupp.ps_availqty DESC, partsupp.ps_partkey + ) AS _w FROM _s4 AS _s8 JOIN tpch.supplier AS supplier ON _s8.n_nationkey = supplier.s_nationkey diff --git a/tests/test_sql_refsols/deep_best_analysis_trino.sql b/tests/test_sql_refsols/deep_best_analysis_trino.sql index 5ea23ecda..78dd579d9 100644 --- a/tests/test_sql_refsols/deep_best_analysis_trino.sql +++ b/tests/test_sql_refsols/deep_best_analysis_trino.sql @@ -21,7 +21,10 @@ WITH _t2 AS ( _s5.c_acctbal, _s4.n_nationkey, _s4.n_regionkey, - ROW_NUMBER() OVER (PARTITION BY _s4.n_regionkey ORDER BY _s5.c_acctbal DESC NULLS FIRST, _s5.c_custkey) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _s4.n_regionkey + ORDER BY _s5.c_acctbal DESC NULLS FIRST, _s5.c_custkey + ) AS _w FROM _s4 AS _s4 JOIN _t2 AS _s5 ON _s4.n_nationkey = _s5.c_nationkey @@ -41,7 +44,10 @@ WITH _t2 AS ( partsupp.ps_partkey, supplier.s_nationkey, supplier.s_suppkey, - ROW_NUMBER() OVER (PARTITION BY _s8.n_regionkey ORDER BY partsupp.ps_availqty DESC NULLS FIRST, partsupp.ps_partkey) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _s8.n_regionkey + ORDER BY partsupp.ps_availqty DESC NULLS FIRST, partsupp.ps_partkey + ) AS _w FROM _s4 AS _s8 JOIN tpch.supplier AS supplier ON _s8.n_nationkey = supplier.s_nationkey diff --git a/tests/test_sql_refsols/defog_academic_gen10_oracle.sql b/tests/test_sql_refsols/defog_academic_gen10_oracle.sql index 3fcab37c3..fe0e55a8c 100644 --- a/tests/test_sql_refsols/defog_academic_gen10_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen10_oracle.sql @@ -1,5 +1,5 @@ SELECT - title + TITLE AS title FROM MAIN.PUBLICATION ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/defog_academic_gen11_oracle.sql b/tests/test_sql_refsols/defog_academic_gen11_oracle.sql index 1fe24b015..12d0fdc2c 100644 --- a/tests/test_sql_refsols/defog_academic_gen11_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen11_oracle.sql @@ -1,13 +1,13 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT COUNT(*) AS N_ROWS FROM MAIN.PUBLICATION -), "_S1" AS ( +), "_s1" AS ( SELECT COUNT(*) AS N_ROWS FROM MAIN.AUTHOR ) SELECT - "_S0".N_ROWS / NULLIF("_S1".N_ROWS, 0) AS publication_to_author_ratio -FROM "_S0" "_S0" -CROSS JOIN "_S1" "_S1" + "_s0".N_ROWS / NULLIF("_s1".N_ROWS, 0) AS publication_to_author_ratio +FROM "_s0" "_s0" +CROSS JOIN "_s1" "_s1" diff --git a/tests/test_sql_refsols/defog_academic_gen12_oracle.sql b/tests/test_sql_refsols/defog_academic_gen12_oracle.sql index a3ff46359..17555c481 100644 --- a/tests/test_sql_refsols/defog_academic_gen12_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen12_oracle.sql @@ -1,3 +1,3 @@ SELECT - SUM(NOT cid IS NULL) / NULLIF(SUM(NOT jid IS NULL), 0) AS ratio + SUM(NOT CID IS NULL) / NULLIF(SUM(NOT JID IS NULL), 0) AS ratio FROM MAIN.PUBLICATION diff --git a/tests/test_sql_refsols/defog_academic_gen13_oracle.sql b/tests/test_sql_refsols/defog_academic_gen13_oracle.sql index 48de0e7eb..ed535d70e 100644 --- a/tests/test_sql_refsols/defog_academic_gen13_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen13_oracle.sql @@ -1,23 +1,23 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - did AS DID, + DID, COUNT(*) AS N_ROWS FROM MAIN.DOMAIN_PUBLICATION GROUP BY - did -), "_S3" AS ( + DID +), "_s3" AS ( SELECT - did AS DID, + DID, COUNT(*) AS N_ROWS FROM MAIN.DOMAIN_KEYWORD GROUP BY - did + DID ) SELECT - DOMAIN.did AS domain_id, - COALESCE("_S1".N_ROWS, 0) / NULLIF("_S3".N_ROWS, 0) AS ratio + DOMAIN.DID AS domain_id, + COALESCE("_s1".N_ROWS, 0) / NULLIF("_s3".N_ROWS, 0) AS ratio FROM MAIN.DOMAIN DOMAIN -LEFT JOIN "_S1" "_S1" - ON DOMAIN.did = "_S1".DID -LEFT JOIN "_S3" "_S3" - ON DOMAIN.did = "_S3".DID +LEFT JOIN "_s1" "_s1" + ON DOMAIN.DID = "_s1".DID +LEFT JOIN "_s3" "_s3" + ON DOMAIN.DID = "_s3".DID diff --git a/tests/test_sql_refsols/defog_academic_gen14_oracle.sql b/tests/test_sql_refsols/defog_academic_gen14_oracle.sql index 344f633a5..1627511a8 100644 --- a/tests/test_sql_refsols/defog_academic_gen14_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen14_oracle.sql @@ -1,10 +1,10 @@ SELECT - year, + YEAR AS year, COUNT(*) AS num_publications, - COUNT(DISTINCT jid) AS num_journals, - COUNT(*) / NULLIF(COUNT(DISTINCT jid), 0) AS ratio + COUNT(DISTINCT JID) AS num_journals, + COUNT(*) / NULLIF(COUNT(DISTINCT JID), 0) AS ratio FROM MAIN.PUBLICATION GROUP BY - year + YEAR ORDER BY 1 diff --git a/tests/test_sql_refsols/defog_academic_gen15_oracle.sql b/tests/test_sql_refsols/defog_academic_gen15_oracle.sql index 0f021fc85..3febd0869 100644 --- a/tests/test_sql_refsols/defog_academic_gen15_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen15_oracle.sql @@ -1,17 +1,17 @@ -WITH "_T1" AS ( +WITH "_t1" AS ( SELECT - ANY_VALUE(ORGANIZATION.continent) AS ANYTHING_CONTINENT, - COUNT(AUTHOR.oid) AS COUNT_OID + ANY_VALUE(ORGANIZATION.CONTINENT) AS ANYTHING_CONTINENT, + COUNT(AUTHOR.OID) AS COUNT_OID FROM MAIN.ORGANIZATION ORGANIZATION LEFT JOIN MAIN.AUTHOR AUTHOR - ON AUTHOR.oid = ORGANIZATION.oid + ON AUTHOR.OID = ORGANIZATION.OID GROUP BY - ORGANIZATION.oid + ORGANIZATION.OID ) SELECT ANYTHING_CONTINENT AS continent, COALESCE(SUM(COUNT_OID), 0) / COUNT(*) AS ratio -FROM "_T1" +FROM "_t1" GROUP BY ANYTHING_CONTINENT ORDER BY diff --git a/tests/test_sql_refsols/defog_academic_gen15_postgres.sql b/tests/test_sql_refsols/defog_academic_gen15_postgres.sql index f32c244df..8f1bd76f0 100644 --- a/tests/test_sql_refsols/defog_academic_gen15_postgres.sql +++ b/tests/test_sql_refsols/defog_academic_gen15_postgres.sql @@ -1,6 +1,6 @@ WITH _t1 AS ( SELECT - MAX(organization.continent) AS anything_continent, + ANY_VALUE(organization.continent) AS anything_continent, COUNT(author.oid) AS count_oid FROM main.organization AS organization LEFT JOIN main.author AS author diff --git a/tests/test_sql_refsols/defog_academic_gen16_oracle.sql b/tests/test_sql_refsols/defog_academic_gen16_oracle.sql index 7a1bc62eb..4d9de67e5 100644 --- a/tests/test_sql_refsols/defog_academic_gen16_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen16_oracle.sql @@ -1,19 +1,19 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - WRITES.aid AS AID, - COUNT(DISTINCT PUBLICATION.pid) AS NDISTINCT_PUBLICATION_ID + WRITES.AID, + COUNT(DISTINCT PUBLICATION.PID) AS NDISTINCT_PUBLICATION_ID FROM MAIN.WRITES WRITES JOIN MAIN.PUBLICATION PUBLICATION - ON PUBLICATION.pid = WRITES.pid AND PUBLICATION.year = 2021 + ON PUBLICATION.PID = WRITES.PID AND PUBLICATION.YEAR = 2021 GROUP BY - WRITES.aid + WRITES.AID ) SELECT - AUTHOR.name, - "_S3".NDISTINCT_PUBLICATION_ID AS count_publication + AUTHOR.NAME AS name, + "_s3".NDISTINCT_PUBLICATION_ID AS count_publication FROM MAIN.AUTHOR AUTHOR -JOIN "_S3" "_S3" - ON AUTHOR.aid = "_S3".AID +JOIN "_s3" "_s3" + ON AUTHOR.AID = "_s3".AID ORDER BY 2 DESC NULLS LAST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_academic_gen17_oracle.sql b/tests/test_sql_refsols/defog_academic_gen17_oracle.sql index cb493537e..fd77e9fc7 100644 --- a/tests/test_sql_refsols/defog_academic_gen17_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen17_oracle.sql @@ -1,11 +1,11 @@ SELECT - ANY_VALUE(CONFERENCE.name) AS name, - COUNT(PUBLICATION.cid) AS count_publications + ANY_VALUE(CONFERENCE.NAME) AS name, + COUNT(PUBLICATION.CID) AS count_publications FROM MAIN.CONFERENCE CONFERENCE LEFT JOIN MAIN.PUBLICATION PUBLICATION - ON CONFERENCE.cid = PUBLICATION.cid + ON CONFERENCE.CID = PUBLICATION.CID GROUP BY - CONFERENCE.cid + CONFERENCE.CID ORDER BY 2 DESC NULLS LAST, 1 DESC NULLS LAST diff --git a/tests/test_sql_refsols/defog_academic_gen17_postgres.sql b/tests/test_sql_refsols/defog_academic_gen17_postgres.sql index 4635122b3..a4ef4321b 100644 --- a/tests/test_sql_refsols/defog_academic_gen17_postgres.sql +++ b/tests/test_sql_refsols/defog_academic_gen17_postgres.sql @@ -1,5 +1,5 @@ SELECT - MAX(conference.name) AS name, + ANY_VALUE(conference.name) AS name, COUNT(publication.cid) AS count_publications FROM main.conference AS conference LEFT JOIN main.publication AS publication diff --git a/tests/test_sql_refsols/defog_academic_gen18_oracle.sql b/tests/test_sql_refsols/defog_academic_gen18_oracle.sql index 21fff6ee5..9bd215ad0 100644 --- a/tests/test_sql_refsols/defog_academic_gen18_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen18_oracle.sql @@ -1,18 +1,18 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - jid AS JID, + JID, COUNT(*) AS N_ROWS FROM MAIN.PUBLICATION GROUP BY - jid + JID ) SELECT - JOURNAL.name, - JOURNAL.jid AS journal_id, - COALESCE("_S1".N_ROWS, 0) AS num_publications + JOURNAL.NAME AS name, + JOURNAL.JID AS journal_id, + COALESCE("_s1".N_ROWS, 0) AS num_publications FROM MAIN.JOURNAL JOURNAL -LEFT JOIN "_S1" "_S1" - ON JOURNAL.jid = "_S1".JID +LEFT JOIN "_s1" "_s1" + ON JOURNAL.JID = "_s1".JID ORDER BY 3 DESC NULLS LAST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/defog_academic_gen19_oracle.sql b/tests/test_sql_refsols/defog_academic_gen19_oracle.sql index 3fd973bf0..863c9d0a6 100644 --- a/tests/test_sql_refsols/defog_academic_gen19_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen19_oracle.sql @@ -1,11 +1,11 @@ SELECT - ANY_VALUE(CONFERENCE.name) AS name, - COUNT(PUBLICATION.cid) AS num_publications + ANY_VALUE(CONFERENCE.NAME) AS name, + COUNT(PUBLICATION.CID) AS num_publications FROM MAIN.CONFERENCE CONFERENCE LEFT JOIN MAIN.PUBLICATION PUBLICATION - ON CONFERENCE.cid = PUBLICATION.cid + ON CONFERENCE.CID = PUBLICATION.CID GROUP BY - CONFERENCE.cid + CONFERENCE.CID ORDER BY 2 DESC NULLS LAST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/defog_academic_gen19_postgres.sql b/tests/test_sql_refsols/defog_academic_gen19_postgres.sql index 4b7b9b29b..5cfa8fc98 100644 --- a/tests/test_sql_refsols/defog_academic_gen19_postgres.sql +++ b/tests/test_sql_refsols/defog_academic_gen19_postgres.sql @@ -1,5 +1,5 @@ SELECT - MAX(conference.name) AS name, + ANY_VALUE(conference.name) AS name, COUNT(publication.cid) AS num_publications FROM main.conference AS conference LEFT JOIN main.publication AS publication diff --git a/tests/test_sql_refsols/defog_academic_gen1_oracle.sql b/tests/test_sql_refsols/defog_academic_gen1_oracle.sql index 0219ee3c3..419239c39 100644 --- a/tests/test_sql_refsols/defog_academic_gen1_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen1_oracle.sql @@ -1,18 +1,18 @@ -WITH "_T0" AS ( +WITH "_t0" AS ( SELECT - WRITES.aid AS AID, - COUNT(DISTINCT DOMAIN_PUBLICATION.did) AS NDISTINCT_DID + WRITES.AID, + COUNT(DISTINCT DOMAIN_PUBLICATION.DID) AS NDISTINCT_DID FROM MAIN.WRITES WRITES JOIN MAIN.DOMAIN_PUBLICATION DOMAIN_PUBLICATION - ON DOMAIN_PUBLICATION.pid = WRITES.pid + ON DOMAIN_PUBLICATION.PID = WRITES.PID JOIN MAIN.DOMAIN DOMAIN - ON DOMAIN.did = DOMAIN_PUBLICATION.did - AND DOMAIN.name IN ('Data Science', 'Machine Learning') + ON DOMAIN.DID = DOMAIN_PUBLICATION.DID + AND DOMAIN.NAME IN ('Data Science', 'Machine Learning') GROUP BY - WRITES.aid + WRITES.AID ) SELECT - AUTHOR.name + AUTHOR.NAME AS name FROM MAIN.AUTHOR AUTHOR -JOIN "_T0" "_T0" - ON AUTHOR.aid = "_T0".AID AND "_T0".NDISTINCT_DID = 2 +JOIN "_t0" "_t0" + ON AUTHOR.AID = "_t0".AID AND "_t0".NDISTINCT_DID = 2 diff --git a/tests/test_sql_refsols/defog_academic_gen20_oracle.sql b/tests/test_sql_refsols/defog_academic_gen20_oracle.sql index 4db5a69e3..7db349780 100644 --- a/tests/test_sql_refsols/defog_academic_gen20_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen20_oracle.sql @@ -2,4 +2,4 @@ SELECT COUNT(*) AS n FROM MAIN.PUBLICATION PUBLICATION JOIN MAIN.JOURNAL JOURNAL - ON JOURNAL.jid = PUBLICATION.jid AND LOWER(JOURNAL.name) LIKE 'j%' + ON JOURNAL.JID = PUBLICATION.JID AND LOWER(JOURNAL.NAME) LIKE 'j%' diff --git a/tests/test_sql_refsols/defog_academic_gen21_ansi.sql b/tests/test_sql_refsols/defog_academic_gen21_ansi.sql index e28abbbc1..24078a811 100644 --- a/tests/test_sql_refsols/defog_academic_gen21_ansi.sql +++ b/tests/test_sql_refsols/defog_academic_gen21_ansi.sql @@ -1,12 +1,17 @@ +WITH _s7 AS ( + SELECT + author.oid + FROM main.author AS author + JOIN main.writes AS writes + ON author.aid = writes.aid + JOIN main.domain_publication AS domain_publication + ON domain_publication.pid = writes.pid + JOIN main.domain AS domain + ON domain.did = domain_publication.did AND domain.name = 'Machine Learning' +) SELECT organization.name AS oranization_name, organization.oid AS organization_id FROM main.organization AS organization -JOIN main.author AS author - ON author.oid = organization.oid -JOIN main.writes AS writes - ON author.aid = writes.aid -JOIN main.domain_publication AS domain_publication - ON domain_publication.pid = writes.pid -JOIN main.domain AS domain - ON domain.did = domain_publication.did AND domain.name = 'Machine Learning' +SEMI JOIN _s7 AS _s7 + ON _s7.oid = organization.oid diff --git a/tests/test_sql_refsols/defog_academic_gen21_oracle.sql b/tests/test_sql_refsols/defog_academic_gen21_oracle.sql index 2b11f8126..985e8fb6b 100644 --- a/tests/test_sql_refsols/defog_academic_gen21_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen21_oracle.sql @@ -1,21 +1,21 @@ WITH "_u_0" AS ( SELECT - AUTHOR.oid AS "_u_1" + AUTHOR.OID AS "_u_1" FROM MAIN.AUTHOR AUTHOR JOIN MAIN.WRITES WRITES - ON AUTHOR.aid = WRITES.aid + ON AUTHOR.AID = WRITES.AID JOIN MAIN.DOMAIN_PUBLICATION DOMAIN_PUBLICATION - ON DOMAIN_PUBLICATION.pid = WRITES.pid + ON DOMAIN_PUBLICATION.PID = WRITES.PID JOIN MAIN.DOMAIN DOMAIN - ON DOMAIN.did = DOMAIN_PUBLICATION.did AND DOMAIN.name = 'Machine Learning' + ON DOMAIN.DID = DOMAIN_PUBLICATION.DID AND DOMAIN.NAME = 'Machine Learning' GROUP BY - AUTHOR.oid + AUTHOR.OID ) SELECT - ORGANIZATION.name AS oranization_name, - ORGANIZATION.oid AS organization_id + ORGANIZATION.NAME AS oranization_name, + ORGANIZATION.OID AS organization_id FROM MAIN.ORGANIZATION ORGANIZATION LEFT JOIN "_u_0" "_u_0" - ON ORGANIZATION.oid = "_u_0"."_u_1" + ON ORGANIZATION.OID = "_u_0"."_u_1" WHERE NOT "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/defog_academic_gen22_ansi.sql b/tests/test_sql_refsols/defog_academic_gen22_ansi.sql index ca70ec1eb..9b9e0a79f 100644 --- a/tests/test_sql_refsols/defog_academic_gen22_ansi.sql +++ b/tests/test_sql_refsols/defog_academic_gen22_ansi.sql @@ -3,14 +3,18 @@ WITH _s0 AS ( aid, did FROM main.domain_author +), _s5 AS ( + SELECT + _s0.aid + FROM _s0 AS _s0 + JOIN _s0 AS _s1 + ON _s0.did = _s1.did + JOIN main.author AS author + ON LOWER(author.name) LIKE '%martin%' AND _s1.aid = author.aid ) SELECT author.name, author.aid AS author_id FROM main.author AS author -JOIN _s0 AS _s0 - ON _s0.aid = author.aid -JOIN _s0 AS _s1 - ON _s0.did = _s1.did -JOIN main.author AS author_2 - ON LOWER(author_2.name) LIKE '%martin%' AND _s1.aid = author_2.aid +SEMI JOIN _s5 AS _s5 + ON _s5.aid = author.aid diff --git a/tests/test_sql_refsols/defog_academic_gen22_oracle.sql b/tests/test_sql_refsols/defog_academic_gen22_oracle.sql index affeda650..267ea976e 100644 --- a/tests/test_sql_refsols/defog_academic_gen22_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen22_oracle.sql @@ -1,24 +1,24 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - aid AS AID, - did AS DID + AID, + DID FROM MAIN.DOMAIN_AUTHOR ), "_u_0" AS ( SELECT - "_S0".AID AS "_u_1" - FROM "_S0" "_S0" - JOIN "_S0" "_S1" - ON "_S0".DID = "_S1".DID + "_s0".AID AS "_u_1" + FROM "_s0" "_s0" + JOIN "_s0" "_s1" + ON "_s0".DID = "_s1".DID JOIN MAIN.AUTHOR AUTHOR - ON AUTHOR.aid = "_S1".AID AND LOWER(AUTHOR.name) LIKE '%martin%' + ON AUTHOR.AID = "_s1".AID AND LOWER(AUTHOR.NAME) LIKE '%martin%' GROUP BY - "_S0".AID + "_s0".AID ) SELECT - AUTHOR.name, - AUTHOR.aid AS author_id + AUTHOR.NAME AS name, + AUTHOR.AID AS author_id FROM MAIN.AUTHOR AUTHOR LEFT JOIN "_u_0" "_u_0" - ON AUTHOR.aid = "_u_0"."_u_1" + ON AUTHOR.AID = "_u_0"."_u_1" WHERE NOT "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/defog_academic_gen23_ansi.sql b/tests/test_sql_refsols/defog_academic_gen23_ansi.sql index f8b4b7733..f01393463 100644 --- a/tests/test_sql_refsols/defog_academic_gen23_ansi.sql +++ b/tests/test_sql_refsols/defog_academic_gen23_ansi.sql @@ -1,6 +1,11 @@ +WITH _s1 AS ( + SELECT + oid + FROM main.organization +) SELECT author.name, author.aid AS author_id FROM main.author AS author -JOIN main.organization AS organization - ON author.oid = organization.oid +ANTI JOIN _s1 AS _s1 + ON _s1.oid = author.oid diff --git a/tests/test_sql_refsols/defog_academic_gen23_mysql.sql b/tests/test_sql_refsols/defog_academic_gen23_mysql.sql index 3db5b6da5..bd8ec7b94 100644 --- a/tests/test_sql_refsols/defog_academic_gen23_mysql.sql +++ b/tests/test_sql_refsols/defog_academic_gen23_mysql.sql @@ -12,4 +12,4 @@ FROM author AS author LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = author.oid WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_academic_gen23_oracle.sql b/tests/test_sql_refsols/defog_academic_gen23_oracle.sql index 156bcc464..a5ec71fad 100644 --- a/tests/test_sql_refsols/defog_academic_gen23_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen23_oracle.sql @@ -1,15 +1,15 @@ WITH "_u_0" AS ( SELECT - oid AS "_u_1" + OID AS "_u_1" FROM MAIN.ORGANIZATION GROUP BY - oid + OID ) SELECT - AUTHOR.name, - AUTHOR.aid AS author_id + AUTHOR.NAME AS name, + AUTHOR.AID AS author_id FROM MAIN.AUTHOR AUTHOR LEFT JOIN "_u_0" "_u_0" - ON AUTHOR.oid = "_u_0"."_u_1" + ON AUTHOR.OID = "_u_0"."_u_1" WHERE "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/defog_academic_gen23_sqlite.sql b/tests/test_sql_refsols/defog_academic_gen23_sqlite.sql index 4104c0016..8290d002e 100644 --- a/tests/test_sql_refsols/defog_academic_gen23_sqlite.sql +++ b/tests/test_sql_refsols/defog_academic_gen23_sqlite.sql @@ -12,4 +12,4 @@ FROM main.author AS author LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = author.oid WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_academic_gen24_ansi.sql b/tests/test_sql_refsols/defog_academic_gen24_ansi.sql index 709d36693..135bd581f 100644 --- a/tests/test_sql_refsols/defog_academic_gen24_ansi.sql +++ b/tests/test_sql_refsols/defog_academic_gen24_ansi.sql @@ -13,7 +13,7 @@ WITH _s7 AS ( SELECT publication.title FROM main.publication AS publication -JOIN _s7 AS _s7 +SEMI JOIN _s7 AS _s7 ON _s7.cid = publication.cid AND _s7.pid = publication.pid WHERE publication.year = 2020 diff --git a/tests/test_sql_refsols/defog_academic_gen24_oracle.sql b/tests/test_sql_refsols/defog_academic_gen24_oracle.sql index 098e3337e..dae7e8b89 100644 --- a/tests/test_sql_refsols/defog_academic_gen24_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen24_oracle.sql @@ -1,22 +1,22 @@ WITH "_u_0" AS ( SELECT - DOMAIN_CONFERENCE.cid AS "_u_1", - WRITES.pid AS "_u_2" + DOMAIN_CONFERENCE.CID AS "_u_1", + WRITES.PID AS "_u_2" FROM MAIN.WRITES WRITES JOIN MAIN.DOMAIN_AUTHOR DOMAIN_AUTHOR - ON DOMAIN_AUTHOR.aid = WRITES.aid + ON DOMAIN_AUTHOR.AID = WRITES.AID JOIN MAIN.DOMAIN DOMAIN - ON DOMAIN.did = DOMAIN_AUTHOR.did AND LOWER(DOMAIN.name) LIKE '%sociology%' + ON DOMAIN.DID = DOMAIN_AUTHOR.DID AND LOWER(DOMAIN.NAME) LIKE '%sociology%' JOIN MAIN.DOMAIN_CONFERENCE DOMAIN_CONFERENCE - ON DOMAIN.did = DOMAIN_CONFERENCE.did + ON DOMAIN.DID = DOMAIN_CONFERENCE.DID GROUP BY - DOMAIN_CONFERENCE.cid, - WRITES.pid + DOMAIN_CONFERENCE.CID, + WRITES.PID ) SELECT - PUBLICATION.title + PUBLICATION.TITLE AS title FROM MAIN.PUBLICATION PUBLICATION LEFT JOIN "_u_0" "_u_0" - ON PUBLICATION.cid = "_u_0"."_u_1" AND PUBLICATION.pid = "_u_0"."_u_2" + ON PUBLICATION.CID = "_u_0"."_u_1" AND PUBLICATION.PID = "_u_0"."_u_2" WHERE - NOT "_u_0"."_u_1" IS NULL AND PUBLICATION.year = 2020 + NOT "_u_0"."_u_1" IS NULL AND PUBLICATION.YEAR = 2020 diff --git a/tests/test_sql_refsols/defog_academic_gen25_oracle.sql b/tests/test_sql_refsols/defog_academic_gen25_oracle.sql index 4ed17f9f9..2288a75f5 100644 --- a/tests/test_sql_refsols/defog_academic_gen25_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen25_oracle.sql @@ -1,9 +1,9 @@ SELECT DISTINCT - AUTHOR.name AS author_name + AUTHOR.NAME AS author_name FROM MAIN.AUTHOR AUTHOR JOIN MAIN.WRITES WRITES - ON AUTHOR.aid = WRITES.aid + ON AUTHOR.AID = WRITES.AID JOIN MAIN.DOMAIN_PUBLICATION DOMAIN_PUBLICATION - ON DOMAIN_PUBLICATION.pid = WRITES.pid + ON DOMAIN_PUBLICATION.PID = WRITES.PID JOIN MAIN.DOMAIN DOMAIN - ON DOMAIN.did = DOMAIN_PUBLICATION.did AND DOMAIN.name = 'Computer Science' + ON DOMAIN.DID = DOMAIN_PUBLICATION.DID AND DOMAIN.NAME = 'Computer Science' diff --git a/tests/test_sql_refsols/defog_academic_gen2_oracle.sql b/tests/test_sql_refsols/defog_academic_gen2_oracle.sql index 1d51cb6b7..724f01f60 100644 --- a/tests/test_sql_refsols/defog_academic_gen2_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen2_oracle.sql @@ -1,16 +1,16 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - WRITES.aid AS AID, - SUM(PUBLICATION.citation_num) AS SUM_CITATION_NUM + WRITES.AID, + SUM(PUBLICATION.CITATION_NUM) AS SUM_CITATION_NUM FROM MAIN.WRITES WRITES JOIN MAIN.PUBLICATION PUBLICATION - ON PUBLICATION.pid = WRITES.pid + ON PUBLICATION.PID = WRITES.PID GROUP BY - WRITES.aid + WRITES.AID ) SELECT - AUTHOR.name, - COALESCE("_S3".SUM_CITATION_NUM, 0) AS total_citations + AUTHOR.NAME AS name, + COALESCE("_s3".SUM_CITATION_NUM, 0) AS total_citations FROM MAIN.AUTHOR AUTHOR -JOIN "_S3" "_S3" - ON AUTHOR.aid = "_S3".AID +JOIN "_s3" "_s3" + ON AUTHOR.AID = "_s3".AID diff --git a/tests/test_sql_refsols/defog_academic_gen3_oracle.sql b/tests/test_sql_refsols/defog_academic_gen3_oracle.sql index b6f4e060f..134871eed 100644 --- a/tests/test_sql_refsols/defog_academic_gen3_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen3_oracle.sql @@ -1,6 +1,6 @@ SELECT - year, + YEAR AS year, COUNT(*) AS "_expr0" FROM MAIN.PUBLICATION GROUP BY - year + YEAR diff --git a/tests/test_sql_refsols/defog_academic_gen4_oracle.sql b/tests/test_sql_refsols/defog_academic_gen4_oracle.sql index 45874c5c8..27e83c978 100644 --- a/tests/test_sql_refsols/defog_academic_gen4_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen4_oracle.sql @@ -1,16 +1,16 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - DOMAIN_PUBLICATION.did AS DID, - AVG(PUBLICATION.reference_num) AS AVG_REFERENCE_NUM + DOMAIN_PUBLICATION.DID, + AVG(PUBLICATION.REFERENCE_NUM) AS AVG_REFERENCE_NUM FROM MAIN.DOMAIN_PUBLICATION DOMAIN_PUBLICATION JOIN MAIN.PUBLICATION PUBLICATION - ON DOMAIN_PUBLICATION.pid = PUBLICATION.pid + ON DOMAIN_PUBLICATION.PID = PUBLICATION.PID GROUP BY - DOMAIN_PUBLICATION.did + DOMAIN_PUBLICATION.DID ) SELECT - DOMAIN.name, - "_S3".AVG_REFERENCE_NUM AS average_references + DOMAIN.NAME AS name, + "_s3".AVG_REFERENCE_NUM AS average_references FROM MAIN.DOMAIN DOMAIN -LEFT JOIN "_S3" "_S3" - ON DOMAIN.did = "_S3".DID +LEFT JOIN "_s3" "_s3" + ON DOMAIN.DID = "_s3".DID diff --git a/tests/test_sql_refsols/defog_academic_gen5_oracle.sql b/tests/test_sql_refsols/defog_academic_gen5_oracle.sql index e8d9e4f86..cbc6d3bf8 100644 --- a/tests/test_sql_refsols/defog_academic_gen5_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen5_oracle.sql @@ -1,6 +1,6 @@ SELECT - year, - AVG(citation_num) AS average_citations + YEAR AS year, + AVG(CITATION_NUM) AS average_citations FROM MAIN.PUBLICATION GROUP BY - year + YEAR diff --git a/tests/test_sql_refsols/defog_academic_gen6_oracle.sql b/tests/test_sql_refsols/defog_academic_gen6_oracle.sql index 3cf8c207f..4e99235e4 100644 --- a/tests/test_sql_refsols/defog_academic_gen6_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen6_oracle.sql @@ -1,6 +1,6 @@ SELECT - title + TITLE AS title FROM MAIN.PUBLICATION ORDER BY - citation_num DESC NULLS LAST + CITATION_NUM DESC NULLS LAST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_academic_gen7_oracle.sql b/tests/test_sql_refsols/defog_academic_gen7_oracle.sql index 2d0bbbfbe..5d51509db 100644 --- a/tests/test_sql_refsols/defog_academic_gen7_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen7_oracle.sql @@ -1,17 +1,17 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - did AS DID, - COUNT(DISTINCT aid) AS NDISTINCT_AID + DID, + COUNT(DISTINCT AID) AS NDISTINCT_AID FROM MAIN.DOMAIN_AUTHOR GROUP BY - did + DID ) SELECT - DOMAIN.name, - COALESCE("_S1".NDISTINCT_AID, 0) AS author_count + DOMAIN.NAME AS name, + COALESCE("_s1".NDISTINCT_AID, 0) AS author_count FROM MAIN.DOMAIN DOMAIN -LEFT JOIN "_S1" "_S1" - ON DOMAIN.did = "_S1".DID +LEFT JOIN "_s1" "_s1" + ON DOMAIN.DID = "_s1".DID ORDER BY 2 DESC NULLS LAST, 1 DESC NULLS LAST diff --git a/tests/test_sql_refsols/defog_academic_gen8_oracle.sql b/tests/test_sql_refsols/defog_academic_gen8_oracle.sql index 2f0e61a30..d5b2a483d 100644 --- a/tests/test_sql_refsols/defog_academic_gen8_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen8_oracle.sql @@ -1,6 +1,6 @@ SELECT - title + TITLE AS title FROM MAIN.PUBLICATION ORDER BY - reference_num DESC NULLS LAST + REFERENCE_NUM DESC NULLS LAST FETCH FIRST 3 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_academic_gen9_oracle.sql b/tests/test_sql_refsols/defog_academic_gen9_oracle.sql index 82e0c97fa..e9126fa30 100644 --- a/tests/test_sql_refsols/defog_academic_gen9_oracle.sql +++ b/tests/test_sql_refsols/defog_academic_gen9_oracle.sql @@ -1,6 +1,6 @@ SELECT - title, - citation_num + TITLE AS title, + CITATION_NUM AS citation_num FROM MAIN.PUBLICATION ORDER BY 2 DESC NULLS LAST diff --git a/tests/test_sql_refsols/defog_broker_adv10_mysql.sql b/tests/test_sql_refsols/defog_broker_adv10_mysql.sql index 4184294f8..6958993d1 100644 --- a/tests/test_sql_refsols/defog_broker_adv10_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_adv10_mysql.sql @@ -1,8 +1,8 @@ WITH _s1 AS ( SELECT - EXTRACT(MONTH FROM CAST(sbtxdatetime AS DATETIME)) AS month_sbTxDateTime, - EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) AS year_sbTxDateTime, - sbtxcustid AS sbTxCustId, + EXTRACT(MONTH FROM CAST(sbTxDateTime AS DATETIME)) AS month_sbTxDateTime, + EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) AS year_sbTxDateTime, + sbTxCustId, COUNT(*) AS n_rows FROM broker.sbTransaction GROUP BY @@ -11,14 +11,14 @@ WITH _s1 AS ( 3 ) SELECT - sbCustomer.sbcustid AS _id, - sbCustomer.sbcustname AS name, + sbCustomer.sbCustId AS _id, + sbCustomer.sbCustName AS name, COALESCE(_s1.n_rows, 0) AS num_transactions FROM broker.sbCustomer AS sbCustomer LEFT JOIN _s1 AS _s1 - ON _s1.month_sbTxDateTime = EXTRACT(MONTH FROM CAST(sbCustomer.sbcustjoindate AS DATETIME)) - AND _s1.sbTxCustId = sbCustomer.sbcustid - AND _s1.year_sbTxDateTime = EXTRACT(YEAR FROM CAST(sbCustomer.sbcustjoindate AS DATETIME)) + ON _s1.month_sbTxDateTime = EXTRACT(MONTH FROM CAST(sbCustomer.sbCustJoinDate AS DATETIME)) + AND _s1.sbTxCustId = sbCustomer.sbCustId + AND _s1.year_sbTxDateTime = EXTRACT(YEAR FROM CAST(sbCustomer.sbCustJoinDate AS DATETIME)) ORDER BY 3 DESC LIMIT 1 diff --git a/tests/test_sql_refsols/defog_broker_adv10_oracle.sql b/tests/test_sql_refsols/defog_broker_adv10_oracle.sql index edd7075c6..58d505a43 100644 --- a/tests/test_sql_refsols/defog_broker_adv10_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_adv10_oracle.sql @@ -1,24 +1,24 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - EXTRACT(MONTH FROM CAST(sbtxdatetime AS DATE)) AS MONTH_SBTXDATETIME, - EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) AS YEAR_SBTXDATETIME, - sbtxcustid AS SBTXCUSTID, + EXTRACT(MONTH FROM CAST(SBTXDATETIME AS DATE)) AS MONTH_SBTXDATETIME, + EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) AS YEAR_SBTXDATETIME, + SBTXCUSTID, COUNT(*) AS N_ROWS FROM MAIN.SBTRANSACTION GROUP BY - EXTRACT(MONTH FROM CAST(sbtxdatetime AS DATE)), - EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)), - sbtxcustid + EXTRACT(MONTH FROM CAST(SBTXDATETIME AS DATE)), + EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)), + SBTXCUSTID ) SELECT - SBCUSTOMER.sbcustid AS "_id", - SBCUSTOMER.sbcustname AS name, - COALESCE("_S1".N_ROWS, 0) AS num_transactions + SBCUSTOMER.SBCUSTID AS "_id", + SBCUSTOMER.SBCUSTNAME AS name, + COALESCE("_s1".N_ROWS, 0) AS num_transactions FROM MAIN.SBCUSTOMER SBCUSTOMER -LEFT JOIN "_S1" "_S1" - ON SBCUSTOMER.sbcustid = "_S1".SBTXCUSTID - AND "_S1".MONTH_SBTXDATETIME = EXTRACT(MONTH FROM CAST(SBCUSTOMER.sbcustjoindate AS DATE)) - AND "_S1".YEAR_SBTXDATETIME = EXTRACT(YEAR FROM CAST(SBCUSTOMER.sbcustjoindate AS DATE)) +LEFT JOIN "_s1" "_s1" + ON SBCUSTOMER.SBCUSTID = "_s1".SBTXCUSTID + AND "_s1".MONTH_SBTXDATETIME = EXTRACT(MONTH FROM CAST(SBCUSTOMER.SBCUSTJOINDATE AS DATE)) + AND "_s1".YEAR_SBTXDATETIME = EXTRACT(YEAR FROM CAST(SBCUSTOMER.SBCUSTJOINDATE AS DATE)) ORDER BY 3 DESC NULLS LAST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_broker_adv11_ansi.sql b/tests/test_sql_refsols/defog_broker_adv11_ansi.sql index 296a827b2..401c07662 100644 --- a/tests/test_sql_refsols/defog_broker_adv11_ansi.sql +++ b/tests/test_sql_refsols/defog_broker_adv11_ansi.sql @@ -1,10 +1,15 @@ +WITH _s3 AS ( + SELECT + sbtransaction.sbtxcustid + FROM main.sbtransaction AS sbtransaction + JOIN main.sbticker AS sbticker + ON sbticker.sbtickerid = sbtransaction.sbtxtickerid + AND sbticker.sbtickersymbol IN ('AMZN', 'AAPL', 'GOOGL', 'META', 'NFLX') +) SELECT COUNT(*) AS n_customers FROM main.sbcustomer AS sbcustomer -JOIN main.sbtransaction AS sbtransaction - ON sbcustomer.sbcustid = sbtransaction.sbtxcustid -JOIN main.sbticker AS sbticker - ON sbticker.sbtickerid = sbtransaction.sbtxtickerid - AND sbticker.sbtickersymbol IN ('AMZN', 'AAPL', 'GOOGL', 'META', 'NFLX') +SEMI JOIN _s3 AS _s3 + ON _s3.sbtxcustid = sbcustomer.sbcustid WHERE sbcustomer.sbcustemail LIKE '%.com' diff --git a/tests/test_sql_refsols/defog_broker_adv11_mysql.sql b/tests/test_sql_refsols/defog_broker_adv11_mysql.sql index eaaded760..a0378d4d9 100644 --- a/tests/test_sql_refsols/defog_broker_adv11_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_adv11_mysql.sql @@ -1,10 +1,10 @@ WITH _u_0 AS ( SELECT - sbTransaction.sbtxcustid AS _u_1 + sbTransaction.sbTxCustId AS _u_1 FROM broker.sbTransaction AS sbTransaction JOIN broker.sbTicker AS sbTicker - ON sbTicker.sbtickerid = sbTransaction.sbtxtickerid - AND sbTicker.sbtickersymbol IN ('AMZN', 'AAPL', 'GOOGL', 'META', 'NFLX') + ON sbTicker.sbTickerId = sbTransaction.sbTxTickerId + AND sbTicker.sbTickerSymbol IN ('AMZN', 'AAPL', 'GOOGL', 'META', 'NFLX') GROUP BY 1 ) @@ -12,6 +12,6 @@ SELECT COUNT(*) AS n_customers FROM broker.sbCustomer AS sbCustomer LEFT JOIN _u_0 AS _u_0 - ON _u_0._u_1 = sbCustomer.sbcustid + ON _u_0._u_1 = sbCustomer.sbCustId WHERE - NOT _u_0._u_1 IS NULL AND sbCustomer.sbcustemail LIKE '%.com' + NOT _u_0._u_1 IS NULL AND sbCustomer.sbCustEmail LIKE '%.com' diff --git a/tests/test_sql_refsols/defog_broker_adv11_oracle.sql b/tests/test_sql_refsols/defog_broker_adv11_oracle.sql index fe0770b5e..6e97d64b2 100644 --- a/tests/test_sql_refsols/defog_broker_adv11_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_adv11_oracle.sql @@ -1,17 +1,17 @@ WITH "_u_0" AS ( SELECT - SBTRANSACTION.sbtxcustid AS "_u_1" + SBTRANSACTION.SBTXCUSTID AS "_u_1" FROM MAIN.SBTRANSACTION SBTRANSACTION JOIN MAIN.SBTICKER SBTICKER - ON SBTICKER.sbtickerid = SBTRANSACTION.sbtxtickerid - AND SBTICKER.sbtickersymbol IN ('AMZN', 'AAPL', 'GOOGL', 'META', 'NFLX') + ON SBTICKER.SBTICKERID = SBTRANSACTION.SBTXTICKERID + AND SBTICKER.SBTICKERSYMBOL IN ('AMZN', 'AAPL', 'GOOGL', 'META', 'NFLX') GROUP BY - SBTRANSACTION.sbtxcustid + SBTRANSACTION.SBTXCUSTID ) SELECT COUNT(*) AS n_customers FROM MAIN.SBCUSTOMER SBCUSTOMER LEFT JOIN "_u_0" "_u_0" - ON SBCUSTOMER.sbcustid = "_u_0"."_u_1" + ON SBCUSTOMER.SBCUSTID = "_u_0"."_u_1" WHERE - NOT "_u_0"."_u_1" IS NULL AND SBCUSTOMER.sbcustemail LIKE '%.com' + NOT "_u_0"."_u_1" IS NULL AND SBCUSTOMER.SBCUSTEMAIL LIKE '%.com' diff --git a/tests/test_sql_refsols/defog_broker_adv12_mysql.sql b/tests/test_sql_refsols/defog_broker_adv12_mysql.sql index 4b4b20747..b862f3541 100644 --- a/tests/test_sql_refsols/defog_broker_adv12_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_adv12_mysql.sql @@ -3,6 +3,6 @@ SELECT FROM broker.sbCustomer WHERE ( - LOWER(sbcustname) LIKE '%ez' OR LOWER(sbcustname) LIKE 'j%' + LOWER(sbCustName) LIKE '%ez' OR LOWER(sbCustName) LIKE 'j%' ) - AND LOWER(sbcuststate) LIKE '%a' + AND LOWER(sbCustState) LIKE '%a' diff --git a/tests/test_sql_refsols/defog_broker_adv12_oracle.sql b/tests/test_sql_refsols/defog_broker_adv12_oracle.sql index 8838d355a..a24f4e54a 100644 --- a/tests/test_sql_refsols/defog_broker_adv12_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_adv12_oracle.sql @@ -3,6 +3,6 @@ SELECT FROM MAIN.SBCUSTOMER WHERE ( - LOWER(sbcustname) LIKE '%ez' OR LOWER(sbcustname) LIKE 'j%' + LOWER(SBCUSTNAME) LIKE '%ez' OR LOWER(SBCUSTNAME) LIKE 'j%' ) - AND LOWER(sbcuststate) LIKE '%a' + AND LOWER(SBCUSTSTATE) LIKE '%a' diff --git a/tests/test_sql_refsols/defog_broker_adv13_mysql.sql b/tests/test_sql_refsols/defog_broker_adv13_mysql.sql index 6728bab19..361fb1ba2 100644 --- a/tests/test_sql_refsols/defog_broker_adv13_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_adv13_mysql.sql @@ -1,8 +1,8 @@ SELECT - sbcustcountry AS cust_country, + sbCustCountry AS cust_country, COUNT(*) AS TAC FROM broker.sbCustomer WHERE - sbcustjoindate >= CAST('2023-01-01' AS DATE) + sbCustJoinDate >= CAST('2023-01-01' AS DATE) GROUP BY 1 diff --git a/tests/test_sql_refsols/defog_broker_adv13_oracle.sql b/tests/test_sql_refsols/defog_broker_adv13_oracle.sql index 6173b1741..54558b954 100644 --- a/tests/test_sql_refsols/defog_broker_adv13_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_adv13_oracle.sql @@ -1,8 +1,8 @@ SELECT - sbcustcountry AS cust_country, + SBCUSTCOUNTRY AS cust_country, COUNT(*) AS TAC FROM MAIN.SBCUSTOMER WHERE - sbcustjoindate >= TO_DATE('2023-01-01', 'YYYY-MM-DD') + SBCUSTJOINDATE >= TO_DATE('2023-01-01', 'YYYY-MM-DD') GROUP BY - sbcustcountry + SBCUSTCOUNTRY diff --git a/tests/test_sql_refsols/defog_broker_adv14_mysql.sql b/tests/test_sql_refsols/defog_broker_adv14_mysql.sql index 73889c5a5..ebbee4ba4 100644 --- a/tests/test_sql_refsols/defog_broker_adv14_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_adv14_mysql.sql @@ -1,19 +1,19 @@ WITH _s1 AS ( SELECT - sbdptickerid AS sbDpTickerId, - COUNT(sbdpclose) AS count_sbDpClose, - SUM(sbdpclose) AS sum_sbDpClose + sbDpTickerId, + COUNT(sbDpClose) AS count_sbDpClose, + SUM(sbDpClose) AS sum_sbDpClose FROM broker.sbDailyPrice WHERE - DATEDIFF(CURRENT_TIMESTAMP(), sbdpdate) <= 7 + DATEDIFF(CURRENT_TIMESTAMP(), sbDpDate) <= 7 GROUP BY 1 ) SELECT - sbTicker.sbtickertype AS ticker_type, + sbTicker.sbTickerType AS ticker_type, SUM(_s1.sum_sbDpClose) / SUM(_s1.count_sbDpClose) AS ACP FROM broker.sbTicker AS sbTicker JOIN _s1 AS _s1 - ON _s1.sbDpTickerId = sbTicker.sbtickerid + ON _s1.sbDpTickerId = sbTicker.sbTickerId GROUP BY 1 diff --git a/tests/test_sql_refsols/defog_broker_adv14_oracle.sql b/tests/test_sql_refsols/defog_broker_adv14_oracle.sql index 3a15fbd40..ba19c8f05 100644 --- a/tests/test_sql_refsols/defog_broker_adv14_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_adv14_oracle.sql @@ -1,21 +1,21 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - sbdptickerid AS SBDPTICKERID, - COUNT(sbdpclose) AS COUNT_SBDPCLOSE, - SUM(sbdpclose) AS SUM_SBDPCLOSE + SBDPTICKERID, + COUNT(SBDPCLOSE) AS COUNT_SBDPCLOSE, + SUM(SBDPCLOSE) AS SUM_SBDPCLOSE FROM MAIN.SBDAILYPRICE WHERE ( - TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(sbdpdate AS DATE) AS DATE), 'DD') + TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(SBDPDATE AS DATE) AS DATE), 'DD') ) <= 7 GROUP BY - sbdptickerid + SBDPTICKERID ) SELECT - SBTICKER.sbtickertype AS ticker_type, - SUM("_S1".SUM_SBDPCLOSE) / SUM("_S1".COUNT_SBDPCLOSE) AS ACP + SBTICKER.SBTICKERTYPE AS ticker_type, + SUM("_s1".SUM_SBDPCLOSE) / SUM("_s1".COUNT_SBDPCLOSE) AS ACP FROM MAIN.SBTICKER SBTICKER -JOIN "_S1" "_S1" - ON SBTICKER.sbtickerid = "_S1".SBDPTICKERID +JOIN "_s1" "_s1" + ON SBTICKER.SBTICKERID = "_s1".SBDPTICKERID GROUP BY - SBTICKER.sbtickertype + SBTICKER.SBTICKERTYPE diff --git a/tests/test_sql_refsols/defog_broker_adv15_mysql.sql b/tests/test_sql_refsols/defog_broker_adv15_mysql.sql index fa60719bd..9133c3585 100644 --- a/tests/test_sql_refsols/defog_broker_adv15_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_adv15_mysql.sql @@ -1,11 +1,11 @@ SELECT - sbcustcountry AS country, + sbCustCountry AS country, 100 * ( - COALESCE(SUM(sbcuststatus = 'active'), 0) / COUNT(*) + COALESCE(SUM(sbCustStatus = 'active'), 0) / COUNT(*) ) AS ar FROM broker.sbCustomer WHERE - sbcustjoindate <= CAST('2022-12-31' AS DATE) - AND sbcustjoindate >= CAST('2022-01-01' AS DATE) + sbCustJoinDate <= CAST('2022-12-31' AS DATE) + AND sbCustJoinDate >= CAST('2022-01-01' AS DATE) GROUP BY 1 diff --git a/tests/test_sql_refsols/defog_broker_adv15_oracle.sql b/tests/test_sql_refsols/defog_broker_adv15_oracle.sql index 27e8a3575..e5b3b29f8 100644 --- a/tests/test_sql_refsols/defog_broker_adv15_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_adv15_oracle.sql @@ -1,11 +1,11 @@ SELECT - sbcustcountry AS country, + SBCUSTCOUNTRY AS country, 100 * ( - COALESCE(SUM(sbcuststatus = 'active'), 0) / COUNT(*) + COALESCE(SUM(SBCUSTSTATUS = 'active'), 0) / COUNT(*) ) AS ar FROM MAIN.SBCUSTOMER WHERE - sbcustjoindate <= TO_DATE('2022-12-31', 'YYYY-MM-DD') - AND sbcustjoindate >= TO_DATE('2022-01-01', 'YYYY-MM-DD') + SBCUSTJOINDATE <= TO_DATE('2022-12-31', 'YYYY-MM-DD') + AND SBCUSTJOINDATE >= TO_DATE('2022-01-01', 'YYYY-MM-DD') GROUP BY - sbcustcountry + SBCUSTCOUNTRY diff --git a/tests/test_sql_refsols/defog_broker_adv16_mysql.sql b/tests/test_sql_refsols/defog_broker_adv16_mysql.sql index 1d87b03b0..6f87b0fe4 100644 --- a/tests/test_sql_refsols/defog_broker_adv16_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_adv16_mysql.sql @@ -1,17 +1,17 @@ WITH _s1 AS ( SELECT - sbtxtickerid AS sbTxTickerId, - SUM(sbtxtax + sbtxcommission) AS sum_expr, - SUM(sbtxamount) AS sum_sbTxAmount + sbTxTickerId, + SUM(sbTxTax + sbTxCommission) AS sum_expr, + SUM(sbTxAmount) AS sum_sbTxAmount FROM broker.sbTransaction WHERE - sbtxdatetime >= DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL '1' MONTH) - AND sbtxtype = 'sell' + sbTxDateTime >= DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL '1' MONTH) + AND sbTxType = 'sell' GROUP BY 1 ) SELECT - sbTicker.sbtickersymbol COLLATE utf8mb4_bin AS symbol, + sbTicker.sbTickerSymbol COLLATE utf8mb4_bin AS symbol, ( 100.0 * ( COALESCE(_s1.sum_sbTxAmount, 0) - COALESCE(_s1.sum_expr, 0) @@ -19,6 +19,6 @@ SELECT ) / NULLIF(_s1.sum_sbTxAmount, 0) AS SPM FROM broker.sbTicker AS sbTicker JOIN _s1 AS _s1 - ON _s1.sbTxTickerId = sbTicker.sbtickerid + ON _s1.sbTxTickerId = sbTicker.sbTickerId ORDER BY 1 diff --git a/tests/test_sql_refsols/defog_broker_adv16_oracle.sql b/tests/test_sql_refsols/defog_broker_adv16_oracle.sql index f2dbb53c9..e3173158f 100644 --- a/tests/test_sql_refsols/defog_broker_adv16_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_adv16_oracle.sql @@ -1,24 +1,24 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - sbtxtickerid AS SBTXTICKERID, - SUM(sbtxtax + sbtxcommission) AS SUM_EXPR, - SUM(sbtxamount) AS SUM_SBTXAMOUNT + SBTXTICKERID, + SUM(SBTXTAX + SBTXCOMMISSION) AS SUM_EXPR, + SUM(SBTXAMOUNT) AS SUM_SBTXAMOUNT FROM MAIN.SBTRANSACTION WHERE - sbtxdatetime >= ADD_MONTHS(SYS_EXTRACT_UTC(SYSTIMESTAMP), -1) - AND sbtxtype = 'sell' + SBTXDATETIME >= ADD_MONTHS(SYS_EXTRACT_UTC(SYSTIMESTAMP), -1) + AND SBTXTYPE = 'sell' GROUP BY - sbtxtickerid + SBTXTICKERID ) SELECT - SBTICKER.sbtickersymbol AS symbol, + SBTICKER.SBTICKERSYMBOL AS symbol, ( 100.0 * ( - COALESCE("_S1".SUM_SBTXAMOUNT, 0) - COALESCE("_S1".SUM_EXPR, 0) + COALESCE("_s1".SUM_SBTXAMOUNT, 0) - COALESCE("_s1".SUM_EXPR, 0) ) - ) / NULLIF("_S1".SUM_SBTXAMOUNT, 0) AS SPM + ) / NULLIF("_s1".SUM_SBTXAMOUNT, 0) AS SPM FROM MAIN.SBTICKER SBTICKER -JOIN "_S1" "_S1" - ON SBTICKER.sbtickerid = "_S1".SBTXTICKERID +JOIN "_s1" "_s1" + ON SBTICKER.SBTICKERID = "_s1".SBTXTICKERID ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/defog_broker_adv16_postgres.sql b/tests/test_sql_refsols/defog_broker_adv16_postgres.sql index 9961062af..1a9d869f2 100644 --- a/tests/test_sql_refsols/defog_broker_adv16_postgres.sql +++ b/tests/test_sql_refsols/defog_broker_adv16_postgres.sql @@ -11,11 +11,11 @@ WITH _s1 AS ( ) SELECT sbticker.sbtickersymbol AS symbol, - ( + CAST(( 100.0 * ( COALESCE(_s1.sum_sbtxamount, 0) - COALESCE(_s1.sum_expr, 0) ) - ) / NULLIF(_s1.sum_sbtxamount, 0) AS SPM + ) AS DOUBLE PRECISION) / NULLIF(_s1.sum_sbtxamount, 0) AS SPM FROM main.sbticker AS sbticker JOIN _s1 AS _s1 ON _s1.sbtxtickerid = sbticker.sbtickerid diff --git a/tests/test_sql_refsols/defog_broker_adv16_trino.sql b/tests/test_sql_refsols/defog_broker_adv16_trino.sql index cdf950681..3fdc97d95 100644 --- a/tests/test_sql_refsols/defog_broker_adv16_trino.sql +++ b/tests/test_sql_refsols/defog_broker_adv16_trino.sql @@ -11,11 +11,11 @@ WITH _s1 AS ( ) SELECT sbticker.sbtickersymbol AS symbol, - ( + CAST(( 100.0 * ( COALESCE(_s1.sum_sbtxamount, 0) - COALESCE(_s1.sum_expr, 0) ) - ) / NULLIF(_s1.sum_sbtxamount, 0) AS SPM + ) AS DOUBLE) / NULLIF(_s1.sum_sbtxamount, 0) AS SPM FROM mysql.broker.sbticker AS sbticker JOIN _s1 AS _s1 ON _s1.sbtxtickerid = sbticker.sbtickerid diff --git a/tests/test_sql_refsols/defog_broker_adv1_mysql.sql b/tests/test_sql_refsols/defog_broker_adv1_mysql.sql index acd85ed59..a9abc8212 100644 --- a/tests/test_sql_refsols/defog_broker_adv1_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_adv1_mysql.sql @@ -1,17 +1,17 @@ WITH _s1 AS ( SELECT - sbtxcustid AS sbTxCustId, - SUM(sbtxamount) AS sum_sbTxAmount + sbTxCustId, + SUM(sbTxAmount) AS sum_sbTxAmount FROM broker.sbTransaction GROUP BY 1 ) SELECT - sbCustomer.sbcustname AS name, + sbCustomer.sbCustName AS name, COALESCE(_s1.sum_sbTxAmount, 0) AS total_amount FROM broker.sbCustomer AS sbCustomer LEFT JOIN _s1 AS _s1 - ON _s1.sbTxCustId = sbCustomer.sbcustid + ON _s1.sbTxCustId = sbCustomer.sbCustId ORDER BY 2 DESC LIMIT 5 diff --git a/tests/test_sql_refsols/defog_broker_adv1_oracle.sql b/tests/test_sql_refsols/defog_broker_adv1_oracle.sql index 73659f88e..86950f189 100644 --- a/tests/test_sql_refsols/defog_broker_adv1_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_adv1_oracle.sql @@ -1,17 +1,17 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - sbtxcustid AS SBTXCUSTID, - SUM(sbtxamount) AS SUM_SBTXAMOUNT + SBTXCUSTID, + SUM(SBTXAMOUNT) AS SUM_SBTXAMOUNT FROM MAIN.SBTRANSACTION GROUP BY - sbtxcustid + SBTXCUSTID ) SELECT - SBCUSTOMER.sbcustname AS name, - COALESCE("_S1".SUM_SBTXAMOUNT, 0) AS total_amount + SBCUSTOMER.SBCUSTNAME AS name, + COALESCE("_s1".SUM_SBTXAMOUNT, 0) AS total_amount FROM MAIN.SBCUSTOMER SBCUSTOMER -LEFT JOIN "_S1" "_S1" - ON SBCUSTOMER.sbcustid = "_S1".SBTXCUSTID +LEFT JOIN "_s1" "_s1" + ON SBCUSTOMER.SBCUSTID = "_s1".SBTXCUSTID ORDER BY 2 DESC NULLS LAST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_broker_adv2_databricks.sql b/tests/test_sql_refsols/defog_broker_adv2_databricks.sql index c88c1ac31..33c3f3407 100644 --- a/tests/test_sql_refsols/defog_broker_adv2_databricks.sql +++ b/tests/test_sql_refsols/defog_broker_adv2_databricks.sql @@ -4,7 +4,7 @@ WITH _s1 AS ( COUNT(*) AS n_rows FROM defog.broker.sbtransaction WHERE - sbtxdatetime >= DATE_TRUNC('DAY', DATEADD(DAY, -10, CURRENT_TIMESTAMP())) + sbtxdatetime >= DATE_TRUNC('DAY', DATE_ADD(CURRENT_TIMESTAMP(), -10)) AND sbtxtype = 'buy' GROUP BY 1 diff --git a/tests/test_sql_refsols/defog_broker_adv2_mysql.sql b/tests/test_sql_refsols/defog_broker_adv2_mysql.sql index d1d43812f..786c40f71 100644 --- a/tests/test_sql_refsols/defog_broker_adv2_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_adv2_mysql.sql @@ -1,20 +1,20 @@ WITH _s1 AS ( SELECT - sbtxtickerid AS sbTxTickerId, + sbTxTickerId, COUNT(*) AS n_rows FROM broker.sbTransaction WHERE - sbtxdatetime >= CAST(DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL '10' DAY) AS DATE) - AND sbtxtype = 'buy' + sbTxDateTime >= CAST(DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL '10' DAY) AS DATE) + AND sbTxType = 'buy' GROUP BY 1 ) SELECT - sbTicker.sbtickersymbol AS symbol, + sbTicker.sbTickerSymbol AS symbol, COALESCE(_s1.n_rows, 0) AS tx_count FROM broker.sbTicker AS sbTicker LEFT JOIN _s1 AS _s1 - ON _s1.sbTxTickerId = sbTicker.sbtickerid + ON _s1.sbTxTickerId = sbTicker.sbTickerId ORDER BY 2 DESC LIMIT 2 diff --git a/tests/test_sql_refsols/defog_broker_adv2_oracle.sql b/tests/test_sql_refsols/defog_broker_adv2_oracle.sql index fc718c212..118acc295 100644 --- a/tests/test_sql_refsols/defog_broker_adv2_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_adv2_oracle.sql @@ -1,20 +1,20 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - sbtxtickerid AS SBTXTICKERID, + SBTXTICKERID, COUNT(*) AS N_ROWS FROM MAIN.SBTRANSACTION WHERE - sbtxdatetime >= TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP) - NUMTODSINTERVAL(10, 'day'), 'DD') - AND sbtxtype = 'buy' + SBTXDATETIME >= TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP) - NUMTODSINTERVAL(10, 'day'), 'DD') + AND SBTXTYPE = 'buy' GROUP BY - sbtxtickerid + SBTXTICKERID ) SELECT - SBTICKER.sbtickersymbol AS symbol, - COALESCE("_S1".N_ROWS, 0) AS tx_count + SBTICKER.SBTICKERSYMBOL AS symbol, + COALESCE("_s1".N_ROWS, 0) AS tx_count FROM MAIN.SBTICKER SBTICKER -LEFT JOIN "_S1" "_S1" - ON SBTICKER.sbtickerid = "_S1".SBTXTICKERID +LEFT JOIN "_s1" "_s1" + ON SBTICKER.SBTICKERID = "_s1".SBTXTICKERID ORDER BY 2 DESC NULLS LAST FETCH FIRST 2 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_broker_adv3_mysql.sql b/tests/test_sql_refsols/defog_broker_adv3_mysql.sql index dcea9503d..e8e652fcc 100644 --- a/tests/test_sql_refsols/defog_broker_adv3_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_adv3_mysql.sql @@ -1,19 +1,19 @@ WITH _t1 AS ( SELECT - sbtxcustid AS sbTxCustId, + sbTxCustId, COUNT(*) AS n_rows, - SUM(sbtxstatus = 'success') AS sum_expr + SUM(sbTxStatus = 'success') AS sum_expr FROM broker.sbTransaction GROUP BY 1 ) SELECT - sbCustomer.sbcustname AS name, + sbCustomer.sbCustName AS name, ( 100.0 * COALESCE(_t1.sum_expr, 0) ) / _t1.n_rows AS success_rate FROM broker.sbCustomer AS sbCustomer JOIN _t1 AS _t1 - ON _t1.n_rows >= 5 AND _t1.sbTxCustId = sbCustomer.sbcustid + ON _t1.n_rows >= 5 AND _t1.sbTxCustId = sbCustomer.sbCustId ORDER BY 2 diff --git a/tests/test_sql_refsols/defog_broker_adv3_oracle.sql b/tests/test_sql_refsols/defog_broker_adv3_oracle.sql index 9d6861271..16daf6e2f 100644 --- a/tests/test_sql_refsols/defog_broker_adv3_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_adv3_oracle.sql @@ -1,19 +1,19 @@ -WITH "_T1" AS ( +WITH "_t1" AS ( SELECT - sbtxcustid AS SBTXCUSTID, + SBTXCUSTID, COUNT(*) AS N_ROWS, - SUM(sbtxstatus = 'success') AS SUM_EXPR + SUM(SBTXSTATUS = 'success') AS SUM_EXPR FROM MAIN.SBTRANSACTION GROUP BY - sbtxcustid + SBTXCUSTID ) SELECT - SBCUSTOMER.sbcustname AS name, + SBCUSTOMER.SBCUSTNAME AS name, ( - 100.0 * COALESCE("_T1".SUM_EXPR, 0) - ) / "_T1".N_ROWS AS success_rate + 100.0 * COALESCE("_t1".SUM_EXPR, 0) + ) / "_t1".N_ROWS AS success_rate FROM MAIN.SBCUSTOMER SBCUSTOMER -JOIN "_T1" "_T1" - ON SBCUSTOMER.sbcustid = "_T1".SBTXCUSTID AND "_T1".N_ROWS >= 5 +JOIN "_t1" "_t1" + ON SBCUSTOMER.SBCUSTID = "_t1".SBTXCUSTID AND "_t1".N_ROWS >= 5 ORDER BY 2 NULLS FIRST diff --git a/tests/test_sql_refsols/defog_broker_adv4_mysql.sql b/tests/test_sql_refsols/defog_broker_adv4_mysql.sql index da9e35e80..5b7ea103c 100644 --- a/tests/test_sql_refsols/defog_broker_adv4_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_adv4_mysql.sql @@ -1,20 +1,20 @@ WITH _s1 AS ( SELECT - sbdptickerid AS sbDpTickerId, - MAX(sbdphigh) AS max_sbDpHigh, - MIN(sbdplow) AS min_sbDpLow + sbDpTickerId, + MAX(sbDpHigh) AS max_sbDpHigh, + MIN(sbDpLow) AS min_sbDpLow FROM broker.sbDailyPrice WHERE - sbdpdate <= CAST('2023-04-04' AS DATE) AND sbdpdate >= CAST('2023-04-01' AS DATE) + sbDpDate <= CAST('2023-04-04' AS DATE) AND sbDpDate >= CAST('2023-04-01' AS DATE) GROUP BY 1 ) SELECT - sbTicker.sbtickersymbol AS symbol, + sbTicker.sbTickerSymbol AS symbol, _s1.max_sbDpHigh - _s1.min_sbDpLow AS price_change FROM broker.sbTicker AS sbTicker LEFT JOIN _s1 AS _s1 - ON _s1.sbDpTickerId = sbTicker.sbtickerid + ON _s1.sbDpTickerId = sbTicker.sbTickerId ORDER BY 2 DESC LIMIT 3 diff --git a/tests/test_sql_refsols/defog_broker_adv4_oracle.sql b/tests/test_sql_refsols/defog_broker_adv4_oracle.sql index e082d47ff..dad53cd08 100644 --- a/tests/test_sql_refsols/defog_broker_adv4_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_adv4_oracle.sql @@ -1,21 +1,21 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - sbdptickerid AS SBDPTICKERID, - MAX(sbdphigh) AS MAX_SBDPHIGH, - MIN(sbdplow) AS MIN_SBDPLOW + SBDPTICKERID, + MAX(SBDPHIGH) AS MAX_SBDPHIGH, + MIN(SBDPLOW) AS MIN_SBDPLOW FROM MAIN.SBDAILYPRICE WHERE - sbdpdate <= TO_DATE('2023-04-04', 'YYYY-MM-DD') - AND sbdpdate >= TO_DATE('2023-04-01', 'YYYY-MM-DD') + SBDPDATE <= TO_DATE('2023-04-04', 'YYYY-MM-DD') + AND SBDPDATE >= TO_DATE('2023-04-01', 'YYYY-MM-DD') GROUP BY - sbdptickerid + SBDPTICKERID ) SELECT - SBTICKER.sbtickersymbol AS symbol, - "_S1".MAX_SBDPHIGH - "_S1".MIN_SBDPLOW AS price_change + SBTICKER.SBTICKERSYMBOL AS symbol, + "_s1".MAX_SBDPHIGH - "_s1".MIN_SBDPLOW AS price_change FROM MAIN.SBTICKER SBTICKER -LEFT JOIN "_S1" "_S1" - ON SBTICKER.sbtickerid = "_S1".SBDPTICKERID +LEFT JOIN "_s1" "_s1" + ON SBTICKER.SBTICKERID = "_s1".SBDPTICKERID ORDER BY 2 DESC NULLS LAST FETCH FIRST 3 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_broker_adv5_databricks.sql b/tests/test_sql_refsols/defog_broker_adv5_databricks.sql index ceb399a17..dbb114aa7 100644 --- a/tests/test_sql_refsols/defog_broker_adv5_databricks.sql +++ b/tests/test_sql_refsols/defog_broker_adv5_databricks.sql @@ -1,10 +1,16 @@ WITH _s0 AS ( SELECT - CONCAT_WS( - '-', - EXTRACT(YEAR FROM CAST(sbdpdate AS TIMESTAMP)), - LPAD(EXTRACT(MONTH FROM CAST(sbdpdate AS TIMESTAMP)), 2, '0') - ) AS month, + CASE + WHEN '-' IS NULL + OR EXTRACT(YEAR FROM CAST(sbdpdate AS TIMESTAMP)) IS NULL + OR LPAD(EXTRACT(MONTH FROM CAST(sbdpdate AS TIMESTAMP)), 2, '0') IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + EXTRACT(YEAR FROM CAST(sbdpdate AS TIMESTAMP)), + LPAD(EXTRACT(MONTH FROM CAST(sbdpdate AS TIMESTAMP)), 2, '0') + ) + END AS month, sbdptickerid, COUNT(sbdpclose) AS count_sbdpclose, MAX(sbdphigh) AS max_sbdphigh, diff --git a/tests/test_sql_refsols/defog_broker_adv5_duckdb.sql b/tests/test_sql_refsols/defog_broker_adv5_duckdb.sql index 8280e93fb..deb949997 100644 --- a/tests/test_sql_refsols/defog_broker_adv5_duckdb.sql +++ b/tests/test_sql_refsols/defog_broker_adv5_duckdb.sql @@ -1,19 +1,34 @@ WITH _s0 AS ( SELECT - CONCAT_WS( - '-', - EXTRACT(YEAR FROM CAST(sbdpdate AS TIMESTAMP)), - CASE + CASE + WHEN '-' IS NULL + OR EXTRACT(YEAR FROM CAST(sbdpdate AS TIMESTAMP)) IS NULL + OR CASE WHEN LENGTH(CAST(EXTRACT(MONTH FROM CAST(sbdpdate AS TIMESTAMP)) AS TEXT)) >= 2 THEN SUBSTRING(CAST(EXTRACT(MONTH FROM CAST(sbdpdate AS TIMESTAMP)) AS TEXT), 1, 2) ELSE SUBSTRING( - CONCAT('00', CAST(EXTRACT(MONTH FROM CAST(sbdpdate AS TIMESTAMP)) AS TEXT)), + '00' || CAST(EXTRACT(MONTH FROM CAST(sbdpdate AS TIMESTAMP)) AS TEXT), ( 2 * -1 ) ) - END - ) AS month, + END IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + EXTRACT(YEAR FROM CAST(sbdpdate AS TIMESTAMP)), + CASE + WHEN LENGTH(CAST(EXTRACT(MONTH FROM CAST(sbdpdate AS TIMESTAMP)) AS TEXT)) >= 2 + THEN SUBSTRING(CAST(EXTRACT(MONTH FROM CAST(sbdpdate AS TIMESTAMP)) AS TEXT), 1, 2) + ELSE SUBSTRING( + '00' || CAST(EXTRACT(MONTH FROM CAST(sbdpdate AS TIMESTAMP)) AS TEXT), + ( + 2 * -1 + ) + ) + END + ) + END AS month, sbdptickerid, COUNT(sbdpclose) AS count_sbdpclose, MAX(sbdphigh) AS max_sbdphigh, diff --git a/tests/test_sql_refsols/defog_broker_adv5_mysql.sql b/tests/test_sql_refsols/defog_broker_adv5_mysql.sql index 46bd41819..6269e7b72 100644 --- a/tests/test_sql_refsols/defog_broker_adv5_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_adv5_mysql.sql @@ -2,14 +2,14 @@ WITH _s0 AS ( SELECT CONCAT_WS( '-', - EXTRACT(YEAR FROM CAST(sbdpdate AS DATETIME)), - LPAD(EXTRACT(MONTH FROM CAST(sbdpdate AS DATETIME)), 2, '0') + EXTRACT(YEAR FROM CAST(sbDpDate AS DATETIME)), + LPAD(EXTRACT(MONTH FROM CAST(sbDpDate AS DATETIME)), 2, '0') ) AS month, - sbdptickerid AS sbDpTickerId, - COUNT(sbdpclose) AS count_sbDpClose, - MAX(sbdphigh) AS max_sbDpHigh, - MIN(sbdplow) AS min_sbDpLow, - SUM(sbdpclose) AS sum_sbDpClose + sbDpTickerId, + COUNT(sbDpClose) AS count_sbDpClose, + MAX(sbDpHigh) AS max_sbDpHigh, + MIN(sbDpLow) AS min_sbDpLow, + SUM(sbDpClose) AS sum_sbDpClose FROM broker.sbDailyPrice GROUP BY 1, @@ -17,14 +17,14 @@ WITH _s0 AS ( ), _t0 AS ( SELECT _s0.month, - sbTicker.sbtickersymbol AS sbTickerSymbol, + sbTicker.sbTickerSymbol, MAX(_s0.max_sbDpHigh) AS max_max_sbDpHigh, MIN(_s0.min_sbDpLow) AS min_min_sbDpLow, SUM(_s0.count_sbDpClose) AS sum_count_sbDpClose, SUM(_s0.sum_sbDpClose) AS sum_sum_sbDpClose FROM _s0 AS _s0 JOIN broker.sbTicker AS sbTicker - ON _s0.sbDpTickerId = sbTicker.sbtickerid + ON _s0.sbDpTickerId = sbTicker.sbTickerId GROUP BY 1, 2 @@ -38,9 +38,15 @@ SELECT ( ( sum_sum_sbDpClose / sum_count_sbDpClose - ) - LAG(sum_sum_sbDpClose / sum_count_sbDpClose, 1) OVER (PARTITION BY sbTickerSymbol ORDER BY CASE WHEN month COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, month COLLATE utf8mb4_bin) + ) - LAG(sum_sum_sbDpClose / sum_count_sbDpClose, 1) OVER ( + PARTITION BY sbTickerSymbol + ORDER BY CASE WHEN month COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, month COLLATE utf8mb4_bin + ) ) / NULLIF( - LAG(sum_sum_sbDpClose / sum_count_sbDpClose, 1) OVER (PARTITION BY sbTickerSymbol ORDER BY CASE WHEN month COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, month COLLATE utf8mb4_bin), + LAG(sum_sum_sbDpClose / sum_count_sbDpClose, 1) OVER ( + PARTITION BY sbTickerSymbol + ORDER BY CASE WHEN month COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, month COLLATE utf8mb4_bin + ), 0 ) AS momc FROM _t0 diff --git a/tests/test_sql_refsols/defog_broker_adv5_oracle.sql b/tests/test_sql_refsols/defog_broker_adv5_oracle.sql index 6cd75f0ca..e0fbb12b4 100644 --- a/tests/test_sql_refsols/defog_broker_adv5_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_adv5_oracle.sql @@ -1,29 +1,29 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - NVL(EXTRACT(YEAR FROM CAST(sbdpdate AS DATE)), '') || '-' || NVL(LPAD(EXTRACT(MONTH FROM CAST(sbdpdate AS DATE)), 2, '0'), '') AS MONTH, - sbdptickerid AS SBDPTICKERID, - COUNT(sbdpclose) AS COUNT_SBDPCLOSE, - MAX(sbdphigh) AS MAX_SBDPHIGH, - MIN(sbdplow) AS MIN_SBDPLOW, - SUM(sbdpclose) AS SUM_SBDPCLOSE + NVL(EXTRACT(YEAR FROM CAST(SBDPDATE AS DATE)), '') || '-' || NVL(LPAD(EXTRACT(MONTH FROM CAST(SBDPDATE AS DATE)), 2, '0'), '') AS MONTH, + SBDPTICKERID, + COUNT(SBDPCLOSE) AS COUNT_SBDPCLOSE, + MAX(SBDPHIGH) AS MAX_SBDPHIGH, + MIN(SBDPLOW) AS MIN_SBDPLOW, + SUM(SBDPCLOSE) AS SUM_SBDPCLOSE FROM MAIN.SBDAILYPRICE GROUP BY - NVL(EXTRACT(YEAR FROM CAST(sbdpdate AS DATE)), '') || '-' || NVL(LPAD(EXTRACT(MONTH FROM CAST(sbdpdate AS DATE)), 2, '0'), ''), - sbdptickerid -), "_T0" AS ( + NVL(EXTRACT(YEAR FROM CAST(SBDPDATE AS DATE)), '') || '-' || NVL(LPAD(EXTRACT(MONTH FROM CAST(SBDPDATE AS DATE)), 2, '0'), ''), + SBDPTICKERID +), "_t0" AS ( SELECT - "_S0".MONTH, - SBTICKER.sbtickersymbol AS SBTICKERSYMBOL, - MAX("_S0".MAX_SBDPHIGH) AS MAX_MAX_SBDPHIGH, - MIN("_S0".MIN_SBDPLOW) AS MIN_MIN_SBDPLOW, - SUM("_S0".COUNT_SBDPCLOSE) AS SUM_COUNT_SBDPCLOSE, - SUM("_S0".SUM_SBDPCLOSE) AS SUM_SUM_SBDPCLOSE - FROM "_S0" "_S0" + "_s0".MONTH, + SBTICKER.SBTICKERSYMBOL, + MAX("_s0".MAX_SBDPHIGH) AS MAX_MAX_SBDPHIGH, + MIN("_s0".MIN_SBDPLOW) AS MIN_MIN_SBDPLOW, + SUM("_s0".COUNT_SBDPCLOSE) AS SUM_COUNT_SBDPCLOSE, + SUM("_s0".SUM_SBDPCLOSE) AS SUM_SUM_SBDPCLOSE + FROM "_s0" "_s0" JOIN MAIN.SBTICKER SBTICKER - ON SBTICKER.sbtickerid = "_S0".SBDPTICKERID + ON SBTICKER.SBTICKERID = "_s0".SBDPTICKERID GROUP BY - "_S0".MONTH, - SBTICKER.sbtickersymbol + "_s0".MONTH, + SBTICKER.SBTICKERSYMBOL ) SELECT SBTICKERSYMBOL AS symbol, @@ -39,4 +39,4 @@ SELECT LAG(SUM_SUM_SBDPCLOSE / SUM_COUNT_SBDPCLOSE, 1) OVER (PARTITION BY SBTICKERSYMBOL ORDER BY MONTH), 0 ) AS momc -FROM "_T0" +FROM "_t0" diff --git a/tests/test_sql_refsols/defog_broker_adv5_postgres.sql b/tests/test_sql_refsols/defog_broker_adv5_postgres.sql index 517d5547b..47ef0752a 100644 --- a/tests/test_sql_refsols/defog_broker_adv5_postgres.sql +++ b/tests/test_sql_refsols/defog_broker_adv5_postgres.sql @@ -1,10 +1,16 @@ WITH _s0 AS ( SELECT - CONCAT_WS( - '-', - EXTRACT(YEAR FROM CAST(sbdpdate AS TIMESTAMP)), - LPAD(CAST(EXTRACT(MONTH FROM CAST(sbdpdate AS TIMESTAMP)) AS TEXT), 2, '0') - ) AS month, + CASE + WHEN '-' IS NULL + OR EXTRACT(YEAR FROM CAST(sbdpdate AS TIMESTAMP)) IS NULL + OR LPAD(CAST(EXTRACT(MONTH FROM CAST(sbdpdate AS TIMESTAMP)) AS TEXT), 2, '0') IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + EXTRACT(YEAR FROM CAST(sbdpdate AS TIMESTAMP)), + LPAD(CAST(EXTRACT(MONTH FROM CAST(sbdpdate AS TIMESTAMP)) AS TEXT), 2, '0') + ) + END AS month, sbdptickerid, COUNT(sbdpclose) AS count_sbdpclose, MAX(sbdphigh) AS max_sbdphigh, @@ -35,11 +41,11 @@ SELECT CAST(sum_sum_sbdpclose AS DOUBLE PRECISION) / sum_count_sbdpclose AS avg_close, max_max_sbdphigh AS max_high, min_min_sbdplow AS min_low, - CAST(( + ( ( CAST(sum_sum_sbdpclose AS DOUBLE PRECISION) / sum_count_sbdpclose ) - LAG(CAST(sum_sum_sbdpclose AS DOUBLE PRECISION) / sum_count_sbdpclose, 1) OVER (PARTITION BY sbtickersymbol ORDER BY month) - ) AS DOUBLE PRECISION) / NULLIF( + ) / NULLIF( LAG(CAST(sum_sum_sbdpclose AS DOUBLE PRECISION) / sum_count_sbdpclose, 1) OVER (PARTITION BY sbtickersymbol ORDER BY month), 0 ) AS momc diff --git a/tests/test_sql_refsols/defog_broker_adv5_sqlite.sql b/tests/test_sql_refsols/defog_broker_adv5_sqlite.sql index 901d3755e..313b214c7 100644 --- a/tests/test_sql_refsols/defog_broker_adv5_sqlite.sql +++ b/tests/test_sql_refsols/defog_broker_adv5_sqlite.sql @@ -41,11 +41,11 @@ SELECT CAST(sum_sum_sbdpclose AS REAL) / sum_count_sbdpclose AS avg_close, max_max_sbdphigh AS max_high, min_min_sbdplow AS min_low, - CAST(( + ( ( CAST(sum_sum_sbdpclose AS REAL) / sum_count_sbdpclose ) - LAG(CAST(sum_sum_sbdpclose AS REAL) / sum_count_sbdpclose, 1) OVER (PARTITION BY sbtickersymbol ORDER BY month) - ) AS REAL) / NULLIF( + ) / NULLIF( LAG(CAST(sum_sum_sbdpclose AS REAL) / sum_count_sbdpclose, 1) OVER (PARTITION BY sbtickersymbol ORDER BY month), 0 ) AS momc diff --git a/tests/test_sql_refsols/defog_broker_adv5_trino.sql b/tests/test_sql_refsols/defog_broker_adv5_trino.sql index c0813540d..dec2a785a 100644 --- a/tests/test_sql_refsols/defog_broker_adv5_trino.sql +++ b/tests/test_sql_refsols/defog_broker_adv5_trino.sql @@ -1,10 +1,16 @@ WITH _s0 AS ( SELECT - CONCAT_WS( - '-', - CAST(YEAR(CAST(sbdpdate AS TIMESTAMP)) AS VARCHAR), - CAST(LPAD(CAST(MONTH(CAST(sbdpdate AS TIMESTAMP)) AS VARCHAR), 2, '0') AS VARCHAR) - ) AS month, + CASE + WHEN '-' IS NULL + OR CAST(YEAR(CAST(sbdpdate AS TIMESTAMP)) AS VARCHAR) IS NULL + OR CAST(LPAD(CAST(MONTH(CAST(sbdpdate AS TIMESTAMP)) AS VARCHAR), 2, '0') AS VARCHAR) IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + CAST(YEAR(CAST(sbdpdate AS TIMESTAMP)) AS VARCHAR), + CAST(LPAD(CAST(MONTH(CAST(sbdpdate AS TIMESTAMP)) AS VARCHAR), 2, '0') AS VARCHAR) + ) + END AS month, sbdptickerid, COUNT(sbdpclose) AS count_sbdpclose, MAX(sbdphigh) AS max_sbdphigh, @@ -35,11 +41,11 @@ SELECT CAST(sum_sum_sbdpclose AS DOUBLE) / sum_count_sbdpclose AS avg_close, max_max_sbdphigh AS max_high, min_min_sbdplow AS min_low, - CAST(( + ( ( CAST(sum_sum_sbdpclose AS DOUBLE) / sum_count_sbdpclose ) - LAG(CAST(sum_sum_sbdpclose AS DOUBLE) / sum_count_sbdpclose, 1) OVER (PARTITION BY sbtickersymbol ORDER BY month) - ) AS DOUBLE) / NULLIF( + ) / NULLIF( LAG(CAST(sum_sum_sbdpclose AS DOUBLE) / sum_count_sbdpclose, 1) OVER (PARTITION BY sbtickersymbol ORDER BY month), 0 ) AS momc diff --git a/tests/test_sql_refsols/defog_broker_adv6_mysql.sql b/tests/test_sql_refsols/defog_broker_adv6_mysql.sql index b590aaad2..b3579f6a5 100644 --- a/tests/test_sql_refsols/defog_broker_adv6_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_adv6_mysql.sql @@ -1,17 +1,17 @@ WITH _s1 AS ( SELECT - sbtxcustid AS sbTxCustId, + sbTxCustId, COUNT(*) AS n_rows, - SUM(sbtxamount) AS sum_sbTxAmount + SUM(sbTxAmount) AS sum_sbTxAmount FROM broker.sbTransaction GROUP BY 1 ) SELECT - sbCustomer.sbcustname AS name, + sbCustomer.sbCustName AS name, _s1.n_rows AS num_tx, COALESCE(_s1.sum_sbTxAmount, 0) AS total_amount, RANK() OVER (ORDER BY COALESCE(_s1.sum_sbTxAmount, 0) DESC) AS cust_rank FROM broker.sbCustomer AS sbCustomer JOIN _s1 AS _s1 - ON _s1.sbTxCustId = sbCustomer.sbcustid + ON _s1.sbTxCustId = sbCustomer.sbCustId diff --git a/tests/test_sql_refsols/defog_broker_adv6_oracle.sql b/tests/test_sql_refsols/defog_broker_adv6_oracle.sql index 688af7536..cc02ad646 100644 --- a/tests/test_sql_refsols/defog_broker_adv6_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_adv6_oracle.sql @@ -1,17 +1,17 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - sbtxcustid AS SBTXCUSTID, + SBTXCUSTID, COUNT(*) AS N_ROWS, - SUM(sbtxamount) AS SUM_SBTXAMOUNT + SUM(SBTXAMOUNT) AS SUM_SBTXAMOUNT FROM MAIN.SBTRANSACTION GROUP BY - sbtxcustid + SBTXCUSTID ) SELECT - SBCUSTOMER.sbcustname AS name, - "_S1".N_ROWS AS num_tx, - COALESCE("_S1".SUM_SBTXAMOUNT, 0) AS total_amount, - RANK() OVER (ORDER BY COALESCE("_S1".SUM_SBTXAMOUNT, 0) DESC) AS cust_rank + SBCUSTOMER.SBCUSTNAME AS name, + "_s1".N_ROWS AS num_tx, + COALESCE("_s1".SUM_SBTXAMOUNT, 0) AS total_amount, + RANK() OVER (ORDER BY COALESCE("_s1".SUM_SBTXAMOUNT, 0) DESC) AS cust_rank FROM MAIN.SBCUSTOMER SBCUSTOMER -JOIN "_S1" "_S1" - ON SBCUSTOMER.sbcustid = "_S1".SBTXCUSTID +JOIN "_s1" "_s1" + ON SBCUSTOMER.SBCUSTID = "_s1".SBTXCUSTID diff --git a/tests/test_sql_refsols/defog_broker_adv7_databricks.sql b/tests/test_sql_refsols/defog_broker_adv7_databricks.sql index 788bc88bd..0fdbbb1c2 100644 --- a/tests/test_sql_refsols/defog_broker_adv7_databricks.sql +++ b/tests/test_sql_refsols/defog_broker_adv7_databricks.sql @@ -1,10 +1,16 @@ WITH _s2 AS ( SELECT - CONCAT_WS( - '-', - EXTRACT(YEAR FROM CAST(sbcustjoindate AS TIMESTAMP)), - LPAD(EXTRACT(MONTH FROM CAST(sbcustjoindate AS TIMESTAMP)), 2, '0') - ) AS month, + CASE + WHEN '-' IS NULL + OR EXTRACT(YEAR FROM CAST(sbcustjoindate AS TIMESTAMP)) IS NULL + OR LPAD(EXTRACT(MONTH FROM CAST(sbcustjoindate AS TIMESTAMP)), 2, '0') IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + EXTRACT(YEAR FROM CAST(sbcustjoindate AS TIMESTAMP)), + LPAD(EXTRACT(MONTH FROM CAST(sbcustjoindate AS TIMESTAMP)), 2, '0') + ) + END AS month, COUNT(*) AS n_rows FROM defog.broker.sbcustomer WHERE @@ -14,11 +20,17 @@ WITH _s2 AS ( 1 ), _s3 AS ( SELECT - CONCAT_WS( - '-', - EXTRACT(YEAR FROM CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)), - LPAD(EXTRACT(MONTH FROM CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)), 2, '0') - ) AS month, + CASE + WHEN '-' IS NULL + OR EXTRACT(YEAR FROM CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)) IS NULL + OR LPAD(EXTRACT(MONTH FROM CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)), 2, '0') IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + EXTRACT(YEAR FROM CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)), + LPAD(EXTRACT(MONTH FROM CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)), 2, '0') + ) + END AS month, AVG(sbtransaction.sbtxamount) AS avg_sbtxamount FROM defog.broker.sbcustomer AS sbcustomer JOIN defog.broker.sbtransaction AS sbtransaction diff --git a/tests/test_sql_refsols/defog_broker_adv7_duckdb.sql b/tests/test_sql_refsols/defog_broker_adv7_duckdb.sql index 696da6a6d..2814b08ed 100644 --- a/tests/test_sql_refsols/defog_broker_adv7_duckdb.sql +++ b/tests/test_sql_refsols/defog_broker_adv7_duckdb.sql @@ -1,19 +1,34 @@ WITH _s2 AS ( SELECT - CONCAT_WS( - '-', - EXTRACT(YEAR FROM CAST(sbcustjoindate AS TIMESTAMP)), - CASE + CASE + WHEN '-' IS NULL + OR EXTRACT(YEAR FROM CAST(sbcustjoindate AS TIMESTAMP)) IS NULL + OR CASE WHEN LENGTH(CAST(EXTRACT(MONTH FROM CAST(sbcustjoindate AS TIMESTAMP)) AS TEXT)) >= 2 THEN SUBSTRING(CAST(EXTRACT(MONTH FROM CAST(sbcustjoindate AS TIMESTAMP)) AS TEXT), 1, 2) ELSE SUBSTRING( - CONCAT('00', CAST(EXTRACT(MONTH FROM CAST(sbcustjoindate AS TIMESTAMP)) AS TEXT)), + '00' || CAST(EXTRACT(MONTH FROM CAST(sbcustjoindate AS TIMESTAMP)) AS TEXT), ( 2 * -1 ) ) - END - ) AS month, + END IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + EXTRACT(YEAR FROM CAST(sbcustjoindate AS TIMESTAMP)), + CASE + WHEN LENGTH(CAST(EXTRACT(MONTH FROM CAST(sbcustjoindate AS TIMESTAMP)) AS TEXT)) >= 2 + THEN SUBSTRING(CAST(EXTRACT(MONTH FROM CAST(sbcustjoindate AS TIMESTAMP)) AS TEXT), 1, 2) + ELSE SUBSTRING( + '00' || CAST(EXTRACT(MONTH FROM CAST(sbcustjoindate AS TIMESTAMP)) AS TEXT), + ( + 2 * -1 + ) + ) + END + ) + END AS month, COUNT(*) AS n_rows FROM main.sbcustomer WHERE @@ -26,23 +41,35 @@ WITH _s2 AS ( 1 ), _s3 AS ( SELECT - CONCAT_WS( - '-', - EXTRACT(YEAR FROM CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)), - CASE + CASE + WHEN '-' IS NULL + OR EXTRACT(YEAR FROM CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)) IS NULL + OR CASE WHEN LENGTH(CAST(EXTRACT(MONTH FROM CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)) AS TEXT)) >= 2 THEN SUBSTRING(CAST(EXTRACT(MONTH FROM CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)) AS TEXT), 1, 2) ELSE SUBSTRING( - CONCAT( - '00', - CAST(EXTRACT(MONTH FROM CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)) AS TEXT) - ), + '00' || CAST(EXTRACT(MONTH FROM CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)) AS TEXT), ( 2 * -1 ) ) - END - ) AS month, + END IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + EXTRACT(YEAR FROM CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)), + CASE + WHEN LENGTH(CAST(EXTRACT(MONTH FROM CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)) AS TEXT)) >= 2 + THEN SUBSTRING(CAST(EXTRACT(MONTH FROM CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)) AS TEXT), 1, 2) + ELSE SUBSTRING( + '00' || CAST(EXTRACT(MONTH FROM CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)) AS TEXT), + ( + 2 * -1 + ) + ) + END + ) + END AS month, AVG(sbtransaction.sbtxamount) AS avg_sbtxamount FROM main.sbcustomer AS sbcustomer JOIN main.sbtransaction AS sbtransaction diff --git a/tests/test_sql_refsols/defog_broker_adv7_mysql.sql b/tests/test_sql_refsols/defog_broker_adv7_mysql.sql index 1d7a3a29f..4beb258cc 100644 --- a/tests/test_sql_refsols/defog_broker_adv7_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_adv7_mysql.sql @@ -2,17 +2,17 @@ WITH _s2 AS ( SELECT CONCAT_WS( '-', - EXTRACT(YEAR FROM CAST(sbcustjoindate AS DATETIME)), - LPAD(EXTRACT(MONTH FROM CAST(sbcustjoindate AS DATETIME)), 2, '0') + EXTRACT(YEAR FROM CAST(sbCustJoinDate AS DATETIME)), + LPAD(EXTRACT(MONTH FROM CAST(sbCustJoinDate AS DATETIME)), 2, '0') ) AS month, COUNT(*) AS n_rows FROM broker.sbCustomer WHERE - sbcustjoindate < STR_TO_DATE( + sbCustJoinDate < STR_TO_DATE( CONCAT(YEAR(CURRENT_TIMESTAMP()), ' ', MONTH(CURRENT_TIMESTAMP()), ' 1'), '%Y %c %e' ) - AND sbcustjoindate >= STR_TO_DATE( + AND sbCustJoinDate >= STR_TO_DATE( CONCAT( YEAR(DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL '6' MONTH)), ' ', @@ -27,21 +27,21 @@ WITH _s2 AS ( SELECT CONCAT_WS( '-', - EXTRACT(YEAR FROM CAST(sbCustomer.sbcustjoindate AS DATETIME)), - LPAD(EXTRACT(MONTH FROM CAST(sbCustomer.sbcustjoindate AS DATETIME)), 2, '0') + EXTRACT(YEAR FROM CAST(sbCustomer.sbCustJoinDate AS DATETIME)), + LPAD(EXTRACT(MONTH FROM CAST(sbCustomer.sbCustJoinDate AS DATETIME)), 2, '0') ) AS month, - AVG(sbTransaction.sbtxamount) AS avg_sbTxAmount + AVG(sbTransaction.sbTxAmount) AS avg_sbTxAmount FROM broker.sbCustomer AS sbCustomer JOIN broker.sbTransaction AS sbTransaction - ON EXTRACT(MONTH FROM CAST(sbCustomer.sbcustjoindate AS DATETIME)) = EXTRACT(MONTH FROM CAST(sbTransaction.sbtxdatetime AS DATETIME)) - AND EXTRACT(YEAR FROM CAST(sbCustomer.sbcustjoindate AS DATETIME)) = EXTRACT(YEAR FROM CAST(sbTransaction.sbtxdatetime AS DATETIME)) - AND sbCustomer.sbcustid = sbTransaction.sbtxcustid + ON EXTRACT(MONTH FROM CAST(sbCustomer.sbCustJoinDate AS DATETIME)) = EXTRACT(MONTH FROM CAST(sbTransaction.sbTxDateTime AS DATETIME)) + AND EXTRACT(YEAR FROM CAST(sbCustomer.sbCustJoinDate AS DATETIME)) = EXTRACT(YEAR FROM CAST(sbTransaction.sbTxDateTime AS DATETIME)) + AND sbCustomer.sbCustId = sbTransaction.sbTxCustId WHERE - sbCustomer.sbcustjoindate < STR_TO_DATE( + sbCustomer.sbCustJoinDate < STR_TO_DATE( CONCAT(YEAR(CURRENT_TIMESTAMP()), ' ', MONTH(CURRENT_TIMESTAMP()), ' 1'), '%Y %c %e' ) - AND sbCustomer.sbcustjoindate >= STR_TO_DATE( + AND sbCustomer.sbCustJoinDate >= STR_TO_DATE( CONCAT( YEAR(DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL '6' MONTH)), ' ', diff --git a/tests/test_sql_refsols/defog_broker_adv7_oracle.sql b/tests/test_sql_refsols/defog_broker_adv7_oracle.sql index d2d933436..63275f1ad 100644 --- a/tests/test_sql_refsols/defog_broker_adv7_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_adv7_oracle.sql @@ -1,32 +1,32 @@ -WITH "_S2" AS ( +WITH "_s2" AS ( SELECT - NVL(EXTRACT(YEAR FROM CAST(sbcustjoindate AS DATE)), '') || '-' || NVL(LPAD(EXTRACT(MONTH FROM CAST(sbcustjoindate AS DATE)), 2, '0'), '') AS MONTH, + NVL(EXTRACT(YEAR FROM CAST(SBCUSTJOINDATE AS DATE)), '') || '-' || NVL(LPAD(EXTRACT(MONTH FROM CAST(SBCUSTJOINDATE AS DATE)), 2, '0'), '') AS MONTH, COUNT(*) AS N_ROWS FROM MAIN.SBCUSTOMER WHERE - sbcustjoindate < TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH') - AND sbcustjoindate >= TRUNC(ADD_MONTHS(SYS_EXTRACT_UTC(SYSTIMESTAMP), -6), 'MONTH') + SBCUSTJOINDATE < TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH') + AND SBCUSTJOINDATE >= TRUNC(ADD_MONTHS(SYS_EXTRACT_UTC(SYSTIMESTAMP), -6), 'MONTH') GROUP BY - NVL(EXTRACT(YEAR FROM CAST(sbcustjoindate AS DATE)), '') || '-' || NVL(LPAD(EXTRACT(MONTH FROM CAST(sbcustjoindate AS DATE)), 2, '0'), '') -), "_S3" AS ( + NVL(EXTRACT(YEAR FROM CAST(SBCUSTJOINDATE AS DATE)), '') || '-' || NVL(LPAD(EXTRACT(MONTH FROM CAST(SBCUSTJOINDATE AS DATE)), 2, '0'), '') +), "_s3" AS ( SELECT - NVL(EXTRACT(YEAR FROM CAST(SBCUSTOMER.sbcustjoindate AS DATE)), '') || '-' || NVL(LPAD(EXTRACT(MONTH FROM CAST(SBCUSTOMER.sbcustjoindate AS DATE)), 2, '0'), '') AS MONTH, - AVG(SBTRANSACTION.sbtxamount) AS AVG_SBTXAMOUNT + NVL(EXTRACT(YEAR FROM CAST(SBCUSTOMER.SBCUSTJOINDATE AS DATE)), '') || '-' || NVL(LPAD(EXTRACT(MONTH FROM CAST(SBCUSTOMER.SBCUSTJOINDATE AS DATE)), 2, '0'), '') AS MONTH, + AVG(SBTRANSACTION.SBTXAMOUNT) AS AVG_SBTXAMOUNT FROM MAIN.SBCUSTOMER SBCUSTOMER JOIN MAIN.SBTRANSACTION SBTRANSACTION - ON EXTRACT(MONTH FROM CAST(SBCUSTOMER.sbcustjoindate AS DATE)) = EXTRACT(MONTH FROM CAST(SBTRANSACTION.sbtxdatetime AS DATE)) - AND EXTRACT(YEAR FROM CAST(SBCUSTOMER.sbcustjoindate AS DATE)) = EXTRACT(YEAR FROM CAST(SBTRANSACTION.sbtxdatetime AS DATE)) - AND SBCUSTOMER.sbcustid = SBTRANSACTION.sbtxcustid + ON EXTRACT(MONTH FROM CAST(SBCUSTOMER.SBCUSTJOINDATE AS DATE)) = EXTRACT(MONTH FROM CAST(SBTRANSACTION.SBTXDATETIME AS DATE)) + AND EXTRACT(YEAR FROM CAST(SBCUSTOMER.SBCUSTJOINDATE AS DATE)) = EXTRACT(YEAR FROM CAST(SBTRANSACTION.SBTXDATETIME AS DATE)) + AND SBCUSTOMER.SBCUSTID = SBTRANSACTION.SBTXCUSTID WHERE - SBCUSTOMER.sbcustjoindate < TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH') - AND SBCUSTOMER.sbcustjoindate >= TRUNC(ADD_MONTHS(SYS_EXTRACT_UTC(SYSTIMESTAMP), -6), 'MONTH') + SBCUSTOMER.SBCUSTJOINDATE < TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH') + AND SBCUSTOMER.SBCUSTJOINDATE >= TRUNC(ADD_MONTHS(SYS_EXTRACT_UTC(SYSTIMESTAMP), -6), 'MONTH') GROUP BY - NVL(EXTRACT(YEAR FROM CAST(SBCUSTOMER.sbcustjoindate AS DATE)), '') || '-' || NVL(LPAD(EXTRACT(MONTH FROM CAST(SBCUSTOMER.sbcustjoindate AS DATE)), 2, '0'), '') + NVL(EXTRACT(YEAR FROM CAST(SBCUSTOMER.SBCUSTJOINDATE AS DATE)), '') || '-' || NVL(LPAD(EXTRACT(MONTH FROM CAST(SBCUSTOMER.SBCUSTJOINDATE AS DATE)), 2, '0'), '') ) SELECT - "_S2".MONTH AS month, - "_S2".N_ROWS AS customer_signups, - "_S3".AVG_SBTXAMOUNT AS avg_tx_amount -FROM "_S2" "_S2" -LEFT JOIN "_S3" "_S3" - ON "_S2".MONTH = "_S3".MONTH + "_s2".MONTH AS month, + "_s2".N_ROWS AS customer_signups, + "_s3".AVG_SBTXAMOUNT AS avg_tx_amount +FROM "_s2" "_s2" +LEFT JOIN "_s3" "_s3" + ON "_s2".MONTH = "_s3".MONTH diff --git a/tests/test_sql_refsols/defog_broker_adv7_postgres.sql b/tests/test_sql_refsols/defog_broker_adv7_postgres.sql index 60e6a1449..6289f440a 100644 --- a/tests/test_sql_refsols/defog_broker_adv7_postgres.sql +++ b/tests/test_sql_refsols/defog_broker_adv7_postgres.sql @@ -1,10 +1,16 @@ WITH _s2 AS ( SELECT - CONCAT_WS( - '-', - EXTRACT(YEAR FROM CAST(sbcustjoindate AS TIMESTAMP)), - LPAD(CAST(EXTRACT(MONTH FROM CAST(sbcustjoindate AS TIMESTAMP)) AS TEXT), 2, '0') - ) AS month, + CASE + WHEN '-' IS NULL + OR EXTRACT(YEAR FROM CAST(sbcustjoindate AS TIMESTAMP)) IS NULL + OR LPAD(CAST(EXTRACT(MONTH FROM CAST(sbcustjoindate AS TIMESTAMP)) AS TEXT), 2, '0') IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + EXTRACT(YEAR FROM CAST(sbcustjoindate AS TIMESTAMP)), + LPAD(CAST(EXTRACT(MONTH FROM CAST(sbcustjoindate AS TIMESTAMP)) AS TEXT), 2, '0') + ) + END AS month, COUNT(*) AS n_rows FROM main.sbcustomer WHERE @@ -14,15 +20,25 @@ WITH _s2 AS ( 1 ), _s3 AS ( SELECT - CONCAT_WS( - '-', - EXTRACT(YEAR FROM CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)), - LPAD( + CASE + WHEN '-' IS NULL + OR EXTRACT(YEAR FROM CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)) IS NULL + OR LPAD( CAST(EXTRACT(MONTH FROM CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)) AS TEXT), 2, '0' + ) IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + EXTRACT(YEAR FROM CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)), + LPAD( + CAST(EXTRACT(MONTH FROM CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)) AS TEXT), + 2, + '0' + ) ) - ) AS month, + END AS month, AVG(CAST(sbtransaction.sbtxamount AS DECIMAL)) AS avg_sbtxamount FROM main.sbcustomer AS sbcustomer JOIN main.sbtransaction AS sbtransaction diff --git a/tests/test_sql_refsols/defog_broker_adv7_trino.sql b/tests/test_sql_refsols/defog_broker_adv7_trino.sql index f508e1087..ab89bc185 100644 --- a/tests/test_sql_refsols/defog_broker_adv7_trino.sql +++ b/tests/test_sql_refsols/defog_broker_adv7_trino.sql @@ -1,10 +1,16 @@ WITH _s2 AS ( SELECT - CONCAT_WS( - '-', - CAST(YEAR(CAST(sbcustjoindate AS TIMESTAMP)) AS VARCHAR), - CAST(LPAD(CAST(MONTH(CAST(sbcustjoindate AS TIMESTAMP)) AS VARCHAR), 2, '0') AS VARCHAR) - ) AS month, + CASE + WHEN '-' IS NULL + OR CAST(YEAR(CAST(sbcustjoindate AS TIMESTAMP)) AS VARCHAR) IS NULL + OR CAST(LPAD(CAST(MONTH(CAST(sbcustjoindate AS TIMESTAMP)) AS VARCHAR), 2, '0') AS VARCHAR) IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + CAST(YEAR(CAST(sbcustjoindate AS TIMESTAMP)) AS VARCHAR), + CAST(LPAD(CAST(MONTH(CAST(sbcustjoindate AS TIMESTAMP)) AS VARCHAR), 2, '0') AS VARCHAR) + ) + END AS month, COUNT(*) AS n_rows FROM mongo.defog.sbcustomer WHERE @@ -14,11 +20,17 @@ WITH _s2 AS ( 1 ), _s3 AS ( SELECT - CONCAT_WS( - '-', - CAST(YEAR(CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)) AS VARCHAR), - CAST(LPAD(CAST(MONTH(CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)) AS VARCHAR), 2, '0') AS VARCHAR) - ) AS month, + CASE + WHEN '-' IS NULL + OR CAST(YEAR(CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)) AS VARCHAR) IS NULL + OR CAST(LPAD(CAST(MONTH(CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)) AS VARCHAR), 2, '0') AS VARCHAR) IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + CAST(YEAR(CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)) AS VARCHAR), + CAST(LPAD(CAST(MONTH(CAST(sbcustomer.sbcustjoindate AS TIMESTAMP)) AS VARCHAR), 2, '0') AS VARCHAR) + ) + END AS month, AVG(sbtransaction.sbtxamount) AS avg_sbtxamount FROM mongo.defog.sbcustomer AS sbcustomer JOIN mysql.broker.sbtransaction AS sbtransaction diff --git a/tests/test_sql_refsols/defog_broker_adv8_databricks.sql b/tests/test_sql_refsols/defog_broker_adv8_databricks.sql index 022b5ab34..bb54b1ac3 100644 --- a/tests/test_sql_refsols/defog_broker_adv8_databricks.sql +++ b/tests/test_sql_refsols/defog_broker_adv8_databricks.sql @@ -6,25 +6,22 @@ JOIN defog.broker.sbcustomer AS sbcustomer ON LOWER(sbcustomer.sbcustcountry) = 'usa' AND sbcustomer.sbcustid = sbtransaction.sbtxcustid WHERE - sbtransaction.sbtxdatetime < DATEADD( - DAY, + sbtransaction.sbtxdatetime < DATE_ADD( + CAST(CURRENT_TIMESTAMP() AS DATE), -( ( - DAYOFWEEK(TO_DATE(CURRENT_TIMESTAMP())) + 5 + DAYOFWEEK(CURRENT_TIMESTAMP()) + 5 ) % 7 - ), - CAST(CURRENT_TIMESTAMP() AS DATE) + ) ) - AND sbtransaction.sbtxdatetime >= DATEADD( - DAY, - -7, - DATEADD( - DAY, + AND sbtransaction.sbtxdatetime >= DATE_ADD( + DATE_ADD( + CAST(CURRENT_TIMESTAMP() AS DATE), -( ( - DAYOFWEEK(TO_DATE(CURRENT_TIMESTAMP())) + 5 + DAYOFWEEK(CURRENT_TIMESTAMP()) + 5 ) % 7 - ), - CAST(CURRENT_TIMESTAMP() AS DATE) - ) + ) + ), + -7 ) diff --git a/tests/test_sql_refsols/defog_broker_adv8_duckdb.sql b/tests/test_sql_refsols/defog_broker_adv8_duckdb.sql index d08363480..08fbbe6fd 100644 --- a/tests/test_sql_refsols/defog_broker_adv8_duckdb.sql +++ b/tests/test_sql_refsols/defog_broker_adv8_duckdb.sql @@ -17,4 +17,4 @@ WHERE ( DAYOFWEEK(CAST(CURRENT_TIMESTAMP AT TIME ZONE 'UTC' AS TIMESTAMP)) + 6 ) % 7 - ) AS INT) - 7 * INTERVAL '1' DAY + ) AS INT) - INTERVAL '1' WEEK diff --git a/tests/test_sql_refsols/defog_broker_adv8_mysql.sql b/tests/test_sql_refsols/defog_broker_adv8_mysql.sql index d187c0581..5c2263725 100644 --- a/tests/test_sql_refsols/defog_broker_adv8_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_adv8_mysql.sql @@ -1,12 +1,12 @@ SELECT NULLIF(COUNT(*), 0) AS n_transactions, - COALESCE(SUM(sbTransaction.sbtxamount), 0) AS total_amount + COALESCE(SUM(sbTransaction.sbTxAmount), 0) AS total_amount FROM broker.sbTransaction AS sbTransaction JOIN broker.sbCustomer AS sbCustomer - ON LOWER(sbCustomer.sbcustcountry) = 'usa' - AND sbCustomer.sbcustid = sbTransaction.sbtxcustid + ON LOWER(sbCustomer.sbCustCountry) = 'usa' + AND sbCustomer.sbCustId = sbTransaction.sbTxCustId WHERE - sbTransaction.sbtxdatetime < CAST(DATE_SUB( + sbTransaction.sbTxDateTime < CAST(DATE_SUB( CURRENT_TIMESTAMP(), INTERVAL ( ( @@ -14,7 +14,7 @@ WHERE ) % 7 ) DAY ) AS DATE) - AND sbTransaction.sbtxdatetime >= DATE_SUB( + AND sbTransaction.sbTxDateTime >= DATE_SUB( CAST(DATE_SUB( CURRENT_TIMESTAMP(), INTERVAL ( diff --git a/tests/test_sql_refsols/defog_broker_adv8_oracle.sql b/tests/test_sql_refsols/defog_broker_adv8_oracle.sql index df89f9c3f..1bba00434 100644 --- a/tests/test_sql_refsols/defog_broker_adv8_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_adv8_oracle.sql @@ -1,18 +1,18 @@ SELECT NULLIF(COUNT(*), 0) AS n_transactions, - COALESCE(SUM(SBTRANSACTION.sbtxamount), 0) AS total_amount + COALESCE(SUM(SBTRANSACTION.SBTXAMOUNT), 0) AS total_amount FROM MAIN.SBTRANSACTION SBTRANSACTION JOIN MAIN.SBCUSTOMER SBCUSTOMER - ON LOWER(SBCUSTOMER.sbcustcountry) = 'usa' - AND SBCUSTOMER.sbcustid = SBTRANSACTION.sbtxcustid + ON LOWER(SBCUSTOMER.SBCUSTCOUNTRY) = 'usa' + AND SBCUSTOMER.SBCUSTID = SBTRANSACTION.SBTXCUSTID WHERE - SBTRANSACTION.sbtxdatetime < TRUNC( + SBTRANSACTION.SBTXDATETIME < TRUNC( SYS_EXTRACT_UTC(SYSTIMESTAMP) - MOD(( TO_CHAR(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'D') + 5 ), 7), 'DD' ) - AND SBTRANSACTION.sbtxdatetime >= ( + AND SBTRANSACTION.SBTXDATETIME >= ( TRUNC( SYS_EXTRACT_UTC(SYSTIMESTAMP) - MOD(( TO_CHAR(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'D') + 5 diff --git a/tests/test_sql_refsols/defog_broker_adv9_databricks.sql b/tests/test_sql_refsols/defog_broker_adv9_databricks.sql index 2918362e3..77990875c 100644 --- a/tests/test_sql_refsols/defog_broker_adv9_databricks.sql +++ b/tests/test_sql_refsols/defog_broker_adv9_databricks.sql @@ -1,18 +1,17 @@ SELECT - DATEADD( - DAY, + DATE_ADD( + CAST(CAST(sbtransaction.sbtxdatetime AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST(sbtransaction.sbtxdatetime AS TIMESTAMP))) + 5 + DAYOFWEEK(CAST(sbtransaction.sbtxdatetime AS TIMESTAMP)) + 5 ) % 7 - ), - CAST(CAST(sbtransaction.sbtxdatetime AS TIMESTAMP) AS DATE) + ) ) AS week, COUNT(*) AS num_transactions, COALESCE( COUNT_IF(( ( - DAYOFWEEK(TO_DATE(sbtransaction.sbtxdatetime)) + 5 + DAYOFWEEK(sbtransaction.sbtxdatetime) + 5 ) % 7 ) IN (5, 6)), 0 @@ -22,27 +21,24 @@ JOIN defog.broker.sbticker AS sbticker ON sbticker.sbtickerid = sbtransaction.sbtxtickerid AND sbticker.sbtickertype = 'stock' WHERE - sbtransaction.sbtxdatetime < DATEADD( - DAY, + sbtransaction.sbtxdatetime < DATE_ADD( + CAST(CURRENT_TIMESTAMP() AS DATE), -( ( - DAYOFWEEK(TO_DATE(CURRENT_TIMESTAMP())) + 5 + DAYOFWEEK(CURRENT_TIMESTAMP()) + 5 ) % 7 - ), - CAST(CURRENT_TIMESTAMP() AS DATE) + ) ) - AND sbtransaction.sbtxdatetime >= DATEADD( - DAY, - -56, - DATEADD( - DAY, + AND sbtransaction.sbtxdatetime >= DATE_ADD( + DATE_ADD( + CAST(CURRENT_TIMESTAMP() AS DATE), -( ( - DAYOFWEEK(TO_DATE(CURRENT_TIMESTAMP())) + 5 + DAYOFWEEK(CURRENT_TIMESTAMP()) + 5 ) % 7 - ), - CAST(CURRENT_TIMESTAMP() AS DATE) - ) + ) + ), + -56 ) GROUP BY 1 diff --git a/tests/test_sql_refsols/defog_broker_adv9_duckdb.sql b/tests/test_sql_refsols/defog_broker_adv9_duckdb.sql index af7e8930d..34ebd70a1 100644 --- a/tests/test_sql_refsols/defog_broker_adv9_duckdb.sql +++ b/tests/test_sql_refsols/defog_broker_adv9_duckdb.sql @@ -29,6 +29,6 @@ WHERE ( DAYOFWEEK(CAST(CURRENT_TIMESTAMP AT TIME ZONE 'UTC' AS TIMESTAMP)) + 6 ) % 7 - ) AS INT) - 7 * INTERVAL '8' DAY + ) AS INT) - INTERVAL '8' WEEK GROUP BY 1 diff --git a/tests/test_sql_refsols/defog_broker_adv9_mysql.sql b/tests/test_sql_refsols/defog_broker_adv9_mysql.sql index 953631895..30d6ed5a6 100644 --- a/tests/test_sql_refsols/defog_broker_adv9_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_adv9_mysql.sql @@ -1,24 +1,24 @@ SELECT CAST(DATE_SUB( - CAST(sbTransaction.sbtxdatetime AS DATETIME), + CAST(sbTransaction.sbTxDateTime AS DATETIME), INTERVAL ( ( - DAYOFWEEK(CAST(sbTransaction.sbtxdatetime AS DATETIME)) + 5 + DAYOFWEEK(CAST(sbTransaction.sbTxDateTime AS DATETIME)) + 5 ) % 7 ) DAY ) AS DATE) AS week, COUNT(*) AS num_transactions, COALESCE(SUM(( ( - DAYOFWEEK(sbTransaction.sbtxdatetime) + 5 + DAYOFWEEK(sbTransaction.sbTxDateTime) + 5 ) % 7 ) IN (5, 6)), 0) AS weekend_transactions FROM broker.sbTransaction AS sbTransaction JOIN broker.sbTicker AS sbTicker - ON sbTicker.sbtickerid = sbTransaction.sbtxtickerid - AND sbTicker.sbtickertype = 'stock' + ON sbTicker.sbTickerId = sbTransaction.sbTxTickerId + AND sbTicker.sbTickerType = 'stock' WHERE - sbTransaction.sbtxdatetime < CAST(DATE_SUB( + sbTransaction.sbTxDateTime < CAST(DATE_SUB( CURRENT_TIMESTAMP(), INTERVAL ( ( @@ -26,7 +26,7 @@ WHERE ) % 7 ) DAY ) AS DATE) - AND sbTransaction.sbtxdatetime >= DATE_SUB( + AND sbTransaction.sbTxDateTime >= DATE_SUB( CAST(DATE_SUB( CURRENT_TIMESTAMP(), INTERVAL ( diff --git a/tests/test_sql_refsols/defog_broker_adv9_oracle.sql b/tests/test_sql_refsols/defog_broker_adv9_oracle.sql index 61543341f..14276eb79 100644 --- a/tests/test_sql_refsols/defog_broker_adv9_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_adv9_oracle.sql @@ -1,7 +1,7 @@ SELECT TRUNC( - CAST(CAST(SBTRANSACTION.sbtxdatetime AS DATE) - MOD(( - TO_CHAR(CAST(SBTRANSACTION.sbtxdatetime AS DATE), 'D') + 5 + CAST(CAST(SBTRANSACTION.SBTXDATETIME AS DATE) - MOD(( + TO_CHAR(CAST(SBTRANSACTION.SBTXDATETIME AS DATE), 'D') + 5 ), 7) AS DATE), 'DD' ) AS week, @@ -9,23 +9,23 @@ SELECT COALESCE( SUM(( MOD(( - TO_CHAR(SBTRANSACTION.sbtxdatetime, 'D') + 5 + TO_CHAR(SBTRANSACTION.SBTXDATETIME, 'D') + 5 ), 7) ) IN (5, 6)), 0 ) AS weekend_transactions FROM MAIN.SBTRANSACTION SBTRANSACTION JOIN MAIN.SBTICKER SBTICKER - ON SBTICKER.sbtickerid = SBTRANSACTION.sbtxtickerid - AND SBTICKER.sbtickertype = 'stock' + ON SBTICKER.SBTICKERID = SBTRANSACTION.SBTXTICKERID + AND SBTICKER.SBTICKERTYPE = 'stock' WHERE - SBTRANSACTION.sbtxdatetime < TRUNC( + SBTRANSACTION.SBTXDATETIME < TRUNC( SYS_EXTRACT_UTC(SYSTIMESTAMP) - MOD(( TO_CHAR(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'D') + 5 ), 7), 'DD' ) - AND SBTRANSACTION.sbtxdatetime >= ( + AND SBTRANSACTION.SBTXDATETIME >= ( TRUNC( SYS_EXTRACT_UTC(SYSTIMESTAMP) - MOD(( TO_CHAR(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'D') + 5 @@ -35,8 +35,8 @@ WHERE ) GROUP BY TRUNC( - CAST(CAST(SBTRANSACTION.sbtxdatetime AS DATE) - MOD(( - TO_CHAR(CAST(SBTRANSACTION.sbtxdatetime AS DATE), 'D') + 5 + CAST(CAST(SBTRANSACTION.SBTXDATETIME AS DATE) - MOD(( + TO_CHAR(CAST(SBTRANSACTION.SBTXDATETIME AS DATE), 'D') + 5 ), 7) AS DATE), 'DD' ) diff --git a/tests/test_sql_refsols/defog_broker_basic10_ansi.sql b/tests/test_sql_refsols/defog_broker_basic10_ansi.sql index c241e7b2b..cf442b4d1 100644 --- a/tests/test_sql_refsols/defog_broker_basic10_ansi.sql +++ b/tests/test_sql_refsols/defog_broker_basic10_ansi.sql @@ -1,6 +1,11 @@ +WITH _s1 AS ( + SELECT + sbdptickerid + FROM main.sbdailyprice +) SELECT sbticker.sbtickerid AS _id, sbticker.sbtickersymbol AS symbol FROM main.sbticker AS sbticker -JOIN main.sbdailyprice AS sbdailyprice - ON sbdailyprice.sbdptickerid = sbticker.sbtickerid +ANTI JOIN _s1 AS _s1 + ON _s1.sbdptickerid = sbticker.sbtickerid diff --git a/tests/test_sql_refsols/defog_broker_basic10_mysql.sql b/tests/test_sql_refsols/defog_broker_basic10_mysql.sql index 32d1978e3..5d5c819bf 100644 --- a/tests/test_sql_refsols/defog_broker_basic10_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_basic10_mysql.sql @@ -1,15 +1,15 @@ WITH _u_0 AS ( SELECT - sbdptickerid AS _u_1 + sbDpTickerId AS _u_1 FROM broker.sbDailyPrice GROUP BY 1 ) SELECT - sbTicker.sbtickerid AS _id, - sbTicker.sbtickersymbol AS symbol + sbTicker.sbTickerId AS _id, + sbTicker.sbTickerSymbol AS symbol FROM broker.sbTicker AS sbTicker LEFT JOIN _u_0 AS _u_0 - ON _u_0._u_1 = sbTicker.sbtickerid + ON _u_0._u_1 = sbTicker.sbTickerId WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_broker_basic10_oracle.sql b/tests/test_sql_refsols/defog_broker_basic10_oracle.sql index ddd74032e..4724dadfa 100644 --- a/tests/test_sql_refsols/defog_broker_basic10_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_basic10_oracle.sql @@ -1,15 +1,15 @@ WITH "_u_0" AS ( SELECT - sbdptickerid AS "_u_1" + SBDPTICKERID AS "_u_1" FROM MAIN.SBDAILYPRICE GROUP BY - sbdptickerid + SBDPTICKERID ) SELECT - SBTICKER.sbtickerid AS "_id", - SBTICKER.sbtickersymbol AS symbol + SBTICKER.SBTICKERID AS "_id", + SBTICKER.SBTICKERSYMBOL AS symbol FROM MAIN.SBTICKER SBTICKER LEFT JOIN "_u_0" "_u_0" - ON SBTICKER.sbtickerid = "_u_0"."_u_1" + ON SBTICKER.SBTICKERID = "_u_0"."_u_1" WHERE "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/defog_broker_basic10_sqlite.sql b/tests/test_sql_refsols/defog_broker_basic10_sqlite.sql index 1b3a16cf5..ae17d55cc 100644 --- a/tests/test_sql_refsols/defog_broker_basic10_sqlite.sql +++ b/tests/test_sql_refsols/defog_broker_basic10_sqlite.sql @@ -12,4 +12,4 @@ FROM main.sbticker AS sbticker LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = sbticker.sbtickerid WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_broker_basic1_databricks.sql b/tests/test_sql_refsols/defog_broker_basic1_databricks.sql index 4986d000d..b879353d0 100644 --- a/tests/test_sql_refsols/defog_broker_basic1_databricks.sql +++ b/tests/test_sql_refsols/defog_broker_basic1_databricks.sql @@ -5,7 +5,7 @@ WITH _s1 AS ( SUM(sbtxamount) AS sum_sbtxamount FROM defog.broker.sbtransaction WHERE - sbtxdatetime >= DATE_TRUNC('DAY', DATEADD(DAY, -30, CURRENT_TIMESTAMP())) + sbtxdatetime >= DATE_TRUNC('DAY', DATE_ADD(CURRENT_TIMESTAMP(), -30)) GROUP BY 1 ) diff --git a/tests/test_sql_refsols/defog_broker_basic1_mysql.sql b/tests/test_sql_refsols/defog_broker_basic1_mysql.sql index 750c19488..1ab5b9d35 100644 --- a/tests/test_sql_refsols/defog_broker_basic1_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_basic1_mysql.sql @@ -1,20 +1,20 @@ WITH _s1 AS ( SELECT - sbtxcustid AS sbTxCustId, + sbTxCustId, COUNT(*) AS n_rows, - SUM(sbtxamount) AS sum_sbTxAmount + SUM(sbTxAmount) AS sum_sbTxAmount FROM broker.sbTransaction WHERE - sbtxdatetime >= CAST(DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL '30' DAY) AS DATE) + sbTxDateTime >= CAST(DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL '30' DAY) AS DATE) GROUP BY 1 ) SELECT - sbCustomer.sbcustcountry AS country, + sbCustomer.sbCustCountry AS country, COALESCE(SUM(_s1.n_rows), 0) AS num_transactions, COALESCE(SUM(_s1.sum_sbTxAmount), 0) AS total_amount FROM broker.sbCustomer AS sbCustomer LEFT JOIN _s1 AS _s1 - ON _s1.sbTxCustId = sbCustomer.sbcustid + ON _s1.sbTxCustId = sbCustomer.sbCustId GROUP BY 1 diff --git a/tests/test_sql_refsols/defog_broker_basic1_oracle.sql b/tests/test_sql_refsols/defog_broker_basic1_oracle.sql index cfbf91605..021e9e0a6 100644 --- a/tests/test_sql_refsols/defog_broker_basic1_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_basic1_oracle.sql @@ -1,20 +1,20 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - sbtxcustid AS SBTXCUSTID, + SBTXCUSTID, COUNT(*) AS N_ROWS, - SUM(sbtxamount) AS SUM_SBTXAMOUNT + SUM(SBTXAMOUNT) AS SUM_SBTXAMOUNT FROM MAIN.SBTRANSACTION WHERE - sbtxdatetime >= TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP) - NUMTODSINTERVAL(30, 'day'), 'DD') + SBTXDATETIME >= TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP) - NUMTODSINTERVAL(30, 'day'), 'DD') GROUP BY - sbtxcustid + SBTXCUSTID ) SELECT - SBCUSTOMER.sbcustcountry AS country, - COALESCE(SUM("_S1".N_ROWS), 0) AS num_transactions, - COALESCE(SUM("_S1".SUM_SBTXAMOUNT), 0) AS total_amount + SBCUSTOMER.SBCUSTCOUNTRY AS country, + COALESCE(SUM("_s1".N_ROWS), 0) AS num_transactions, + COALESCE(SUM("_s1".SUM_SBTXAMOUNT), 0) AS total_amount FROM MAIN.SBCUSTOMER SBCUSTOMER -LEFT JOIN "_S1" "_S1" - ON SBCUSTOMER.sbcustid = "_S1".SBTXCUSTID +LEFT JOIN "_s1" "_s1" + ON SBCUSTOMER.SBCUSTID = "_s1".SBTXCUSTID GROUP BY - SBCUSTOMER.sbcustcountry + SBCUSTOMER.SBCUSTCOUNTRY diff --git a/tests/test_sql_refsols/defog_broker_basic2_mysql.sql b/tests/test_sql_refsols/defog_broker_basic2_mysql.sql index 53e52b774..213d8c6fc 100644 --- a/tests/test_sql_refsols/defog_broker_basic2_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_basic2_mysql.sql @@ -1,11 +1,11 @@ SELECT - sbtxtype COLLATE utf8mb4_bin AS transaction_type, - COUNT(DISTINCT sbtxcustid) AS num_customers, - AVG(sbtxshares) AS avg_shares + sbTxType COLLATE utf8mb4_bin AS transaction_type, + COUNT(DISTINCT sbTxCustId) AS num_customers, + AVG(sbTxShares) AS avg_shares FROM broker.sbTransaction WHERE - sbtxdatetime <= CAST('2023-03-31' AS DATE) - AND sbtxdatetime >= CAST('2023-01-01' AS DATE) + sbTxDateTime <= CAST('2023-03-31' AS DATE) + AND sbTxDateTime >= CAST('2023-01-01' AS DATE) GROUP BY 1 ORDER BY diff --git a/tests/test_sql_refsols/defog_broker_basic2_oracle.sql b/tests/test_sql_refsols/defog_broker_basic2_oracle.sql index 6f963cb54..0e20a67ce 100644 --- a/tests/test_sql_refsols/defog_broker_basic2_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_basic2_oracle.sql @@ -1,13 +1,13 @@ SELECT - sbtxtype AS transaction_type, - COUNT(DISTINCT sbtxcustid) AS num_customers, - AVG(sbtxshares) AS avg_shares + SBTXTYPE AS transaction_type, + COUNT(DISTINCT SBTXCUSTID) AS num_customers, + AVG(SBTXSHARES) AS avg_shares FROM MAIN.SBTRANSACTION WHERE - sbtxdatetime <= TO_DATE('2023-03-31', 'YYYY-MM-DD') - AND sbtxdatetime >= TO_DATE('2023-01-01', 'YYYY-MM-DD') + SBTXDATETIME <= TO_DATE('2023-03-31', 'YYYY-MM-DD') + AND SBTXDATETIME >= TO_DATE('2023-01-01', 'YYYY-MM-DD') GROUP BY - sbtxtype + SBTXTYPE ORDER BY 2 DESC NULLS LAST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/defog_broker_basic3_mysql.sql b/tests/test_sql_refsols/defog_broker_basic3_mysql.sql index 198f0d154..f068c94ec 100644 --- a/tests/test_sql_refsols/defog_broker_basic3_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_basic3_mysql.sql @@ -1,19 +1,19 @@ WITH _s1 AS ( SELECT - sbtxtickerid AS sbTxTickerId, + sbTxTickerId, COUNT(*) AS n_rows, - SUM(sbtxamount) AS sum_sbTxAmount + SUM(sbTxAmount) AS sum_sbTxAmount FROM broker.sbTransaction GROUP BY 1 ) SELECT - sbTicker.sbtickersymbol AS symbol, + sbTicker.sbTickerSymbol AS symbol, COALESCE(_s1.n_rows, 0) AS num_transactions, COALESCE(_s1.sum_sbTxAmount, 0) AS total_amount FROM broker.sbTicker AS sbTicker LEFT JOIN _s1 AS _s1 - ON _s1.sbTxTickerId = sbTicker.sbtickerid + ON _s1.sbTxTickerId = sbTicker.sbTickerId ORDER BY 3 DESC LIMIT 10 diff --git a/tests/test_sql_refsols/defog_broker_basic3_oracle.sql b/tests/test_sql_refsols/defog_broker_basic3_oracle.sql index 1ea7dea87..b2ff84d3d 100644 --- a/tests/test_sql_refsols/defog_broker_basic3_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_basic3_oracle.sql @@ -1,19 +1,19 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - sbtxtickerid AS SBTXTICKERID, + SBTXTICKERID, COUNT(*) AS N_ROWS, - SUM(sbtxamount) AS SUM_SBTXAMOUNT + SUM(SBTXAMOUNT) AS SUM_SBTXAMOUNT FROM MAIN.SBTRANSACTION GROUP BY - sbtxtickerid + SBTXTICKERID ) SELECT - SBTICKER.sbtickersymbol AS symbol, - COALESCE("_S1".N_ROWS, 0) AS num_transactions, - COALESCE("_S1".SUM_SBTXAMOUNT, 0) AS total_amount + SBTICKER.SBTICKERSYMBOL AS symbol, + COALESCE("_s1".N_ROWS, 0) AS num_transactions, + COALESCE("_s1".SUM_SBTXAMOUNT, 0) AS total_amount FROM MAIN.SBTICKER SBTICKER -LEFT JOIN "_S1" "_S1" - ON SBTICKER.sbtickerid = "_S1".SBTXTICKERID +LEFT JOIN "_s1" "_s1" + ON SBTICKER.SBTICKERID = "_s1".SBTXTICKERID ORDER BY 3 DESC NULLS LAST FETCH FIRST 10 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_broker_basic4_mysql.sql b/tests/test_sql_refsols/defog_broker_basic4_mysql.sql index 912ae2076..ba8ea09e1 100644 --- a/tests/test_sql_refsols/defog_broker_basic4_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_basic4_mysql.sql @@ -1,7 +1,7 @@ WITH _s0 AS ( SELECT - sbtxcustid AS sbTxCustId, - sbtxtickerid AS sbTxTickerId, + sbTxCustId, + sbTxTickerId, COUNT(*) AS n_rows FROM broker.sbTransaction GROUP BY @@ -9,23 +9,23 @@ WITH _s0 AS ( 2 ), _s2 AS ( SELECT - sbTicker.sbtickertype AS sbTickerType, + sbTicker.sbTickerType, _s0.sbTxCustId, SUM(_s0.n_rows) AS sum_n_rows FROM _s0 AS _s0 JOIN broker.sbTicker AS sbTicker - ON _s0.sbTxTickerId = sbTicker.sbtickerid + ON _s0.sbTxTickerId = sbTicker.sbTickerId GROUP BY 1, 2 ) SELECT - sbCustomer.sbcuststate AS state, + sbCustomer.sbCustState AS state, _s2.sbTickerType AS ticker_type, SUM(_s2.sum_n_rows) AS num_transactions FROM _s2 AS _s2 JOIN broker.sbCustomer AS sbCustomer - ON _s2.sbTxCustId = sbCustomer.sbcustid + ON _s2.sbTxCustId = sbCustomer.sbCustId GROUP BY 1, 2 diff --git a/tests/test_sql_refsols/defog_broker_basic4_oracle.sql b/tests/test_sql_refsols/defog_broker_basic4_oracle.sql index d301c4449..cbf37a831 100644 --- a/tests/test_sql_refsols/defog_broker_basic4_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_basic4_oracle.sql @@ -1,34 +1,34 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - sbtxcustid AS SBTXCUSTID, - sbtxtickerid AS SBTXTICKERID, + SBTXCUSTID, + SBTXTICKERID, COUNT(*) AS N_ROWS FROM MAIN.SBTRANSACTION GROUP BY - sbtxcustid, - sbtxtickerid -), "_S2" AS ( + SBTXCUSTID, + SBTXTICKERID +), "_s2" AS ( SELECT - SBTICKER.sbtickertype AS SBTICKERTYPE, - "_S0".SBTXCUSTID, - SUM("_S0".N_ROWS) AS SUM_N_ROWS - FROM "_S0" "_S0" + SBTICKER.SBTICKERTYPE, + "_s0".SBTXCUSTID, + SUM("_s0".N_ROWS) AS SUM_N_ROWS + FROM "_s0" "_s0" JOIN MAIN.SBTICKER SBTICKER - ON SBTICKER.sbtickerid = "_S0".SBTXTICKERID + ON SBTICKER.SBTICKERID = "_s0".SBTXTICKERID GROUP BY - SBTICKER.sbtickertype, - "_S0".SBTXCUSTID + SBTICKER.SBTICKERTYPE, + "_s0".SBTXCUSTID ) SELECT - SBCUSTOMER.sbcuststate AS state, - "_S2".SBTICKERTYPE AS ticker_type, - SUM("_S2".SUM_N_ROWS) AS num_transactions -FROM "_S2" "_S2" + SBCUSTOMER.SBCUSTSTATE AS state, + "_s2".SBTICKERTYPE AS ticker_type, + SUM("_s2".SUM_N_ROWS) AS num_transactions +FROM "_s2" "_s2" JOIN MAIN.SBCUSTOMER SBCUSTOMER - ON SBCUSTOMER.sbcustid = "_S2".SBTXCUSTID + ON SBCUSTOMER.SBCUSTID = "_s2".SBTXCUSTID GROUP BY - SBCUSTOMER.sbcuststate, - "_S2".SBTICKERTYPE + SBCUSTOMER.SBCUSTSTATE, + "_s2".SBTICKERTYPE ORDER BY 3 DESC NULLS LAST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_broker_basic5_ansi.sql b/tests/test_sql_refsols/defog_broker_basic5_ansi.sql index c10e1f661..e506f9ef3 100644 --- a/tests/test_sql_refsols/defog_broker_basic5_ansi.sql +++ b/tests/test_sql_refsols/defog_broker_basic5_ansi.sql @@ -1,5 +1,12 @@ +WITH _s1 AS ( + SELECT + sbtxcustid + FROM main.sbtransaction + WHERE + sbtxtype = 'buy' +) SELECT sbcustomer.sbcustid AS _id FROM main.sbcustomer AS sbcustomer -JOIN main.sbtransaction AS sbtransaction - ON sbcustomer.sbcustid = sbtransaction.sbtxcustid AND sbtransaction.sbtxtype = 'buy' +SEMI JOIN _s1 AS _s1 + ON _s1.sbtxcustid = sbcustomer.sbcustid diff --git a/tests/test_sql_refsols/defog_broker_basic5_mysql.sql b/tests/test_sql_refsols/defog_broker_basic5_mysql.sql index 0c4636eb2..9ffb0b42e 100644 --- a/tests/test_sql_refsols/defog_broker_basic5_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_basic5_mysql.sql @@ -1,16 +1,16 @@ WITH _u_0 AS ( SELECT - sbtxcustid AS _u_1 + sbTxCustId AS _u_1 FROM broker.sbTransaction WHERE - sbtxtype = 'buy' + sbTxType = 'buy' GROUP BY 1 ) SELECT - sbCustomer.sbcustid AS _id + sbCustomer.sbCustId AS _id FROM broker.sbCustomer AS sbCustomer LEFT JOIN _u_0 AS _u_0 - ON _u_0._u_1 = sbCustomer.sbcustid + ON _u_0._u_1 = sbCustomer.sbCustId WHERE NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_broker_basic5_oracle.sql b/tests/test_sql_refsols/defog_broker_basic5_oracle.sql index 70cf23747..ad82ce88c 100644 --- a/tests/test_sql_refsols/defog_broker_basic5_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_basic5_oracle.sql @@ -1,16 +1,16 @@ WITH "_u_0" AS ( SELECT - sbtxcustid AS "_u_1" + SBTXCUSTID AS "_u_1" FROM MAIN.SBTRANSACTION WHERE - sbtxtype = 'buy' + SBTXTYPE = 'buy' GROUP BY - sbtxcustid + SBTXCUSTID ) SELECT - SBCUSTOMER.sbcustid AS "_id" + SBCUSTOMER.SBCUSTID AS "_id" FROM MAIN.SBCUSTOMER SBCUSTOMER LEFT JOIN "_u_0" "_u_0" - ON SBCUSTOMER.sbcustid = "_u_0"."_u_1" + ON SBCUSTOMER.SBCUSTID = "_u_0"."_u_1" WHERE NOT "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/defog_broker_basic6_ansi.sql b/tests/test_sql_refsols/defog_broker_basic6_ansi.sql index 2da031248..16a5ddd2f 100644 --- a/tests/test_sql_refsols/defog_broker_basic6_ansi.sql +++ b/tests/test_sql_refsols/defog_broker_basic6_ansi.sql @@ -1,6 +1,12 @@ +WITH _s1 AS ( + SELECT + sbdptickerid + FROM main.sbdailyprice + WHERE + sbdpdate >= CAST('2023-04-01' AS DATE) +) SELECT sbticker.sbtickerid AS _id FROM main.sbticker AS sbticker -JOIN main.sbdailyprice AS sbdailyprice - ON sbdailyprice.sbdpdate >= CAST('2023-04-01' AS DATE) - AND sbdailyprice.sbdptickerid = sbticker.sbtickerid +SEMI JOIN _s1 AS _s1 + ON _s1.sbdptickerid = sbticker.sbtickerid diff --git a/tests/test_sql_refsols/defog_broker_basic6_mysql.sql b/tests/test_sql_refsols/defog_broker_basic6_mysql.sql index 09eb3d881..42f4d01ce 100644 --- a/tests/test_sql_refsols/defog_broker_basic6_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_basic6_mysql.sql @@ -1,16 +1,16 @@ WITH _u_0 AS ( SELECT - sbdptickerid AS _u_1 + sbDpTickerId AS _u_1 FROM broker.sbDailyPrice WHERE - sbdpdate >= CAST('2023-04-01' AS DATE) + sbDpDate >= CAST('2023-04-01' AS DATE) GROUP BY 1 ) SELECT - sbTicker.sbtickerid AS _id + sbTicker.sbTickerId AS _id FROM broker.sbTicker AS sbTicker LEFT JOIN _u_0 AS _u_0 - ON _u_0._u_1 = sbTicker.sbtickerid + ON _u_0._u_1 = sbTicker.sbTickerId WHERE NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_broker_basic6_oracle.sql b/tests/test_sql_refsols/defog_broker_basic6_oracle.sql index fcbc32619..1ecb9c8c0 100644 --- a/tests/test_sql_refsols/defog_broker_basic6_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_basic6_oracle.sql @@ -1,16 +1,16 @@ WITH "_u_0" AS ( SELECT - sbdptickerid AS "_u_1" + SBDPTICKERID AS "_u_1" FROM MAIN.SBDAILYPRICE WHERE - sbdpdate >= TO_DATE('2023-04-01', 'YYYY-MM-DD') + SBDPDATE >= TO_DATE('2023-04-01', 'YYYY-MM-DD') GROUP BY - sbdptickerid + SBDPTICKERID ) SELECT - SBTICKER.sbtickerid AS "_id" + SBTICKER.SBTICKERID AS "_id" FROM MAIN.SBTICKER SBTICKER LEFT JOIN "_u_0" "_u_0" - ON SBTICKER.sbtickerid = "_u_0"."_u_1" + ON SBTICKER.SBTICKERID = "_u_0"."_u_1" WHERE NOT "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/defog_broker_basic7_mysql.sql b/tests/test_sql_refsols/defog_broker_basic7_mysql.sql index 3207996e3..6e7f1b26c 100644 --- a/tests/test_sql_refsols/defog_broker_basic7_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_basic7_mysql.sql @@ -1,5 +1,5 @@ SELECT - sbtxstatus AS status, + sbTxStatus AS status, COUNT(*) AS num_transactions FROM broker.sbTransaction GROUP BY diff --git a/tests/test_sql_refsols/defog_broker_basic7_oracle.sql b/tests/test_sql_refsols/defog_broker_basic7_oracle.sql index 2ff35b8be..4bec48e33 100644 --- a/tests/test_sql_refsols/defog_broker_basic7_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_basic7_oracle.sql @@ -1,9 +1,9 @@ SELECT - sbtxstatus AS status, + SBTXSTATUS AS status, COUNT(*) AS num_transactions FROM MAIN.SBTRANSACTION GROUP BY - sbtxstatus + SBTXSTATUS ORDER BY 2 DESC NULLS LAST FETCH FIRST 3 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_broker_basic8_mysql.sql b/tests/test_sql_refsols/defog_broker_basic8_mysql.sql index 0728a43e5..335a0244c 100644 --- a/tests/test_sql_refsols/defog_broker_basic8_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_basic8_mysql.sql @@ -1,5 +1,5 @@ SELECT - sbcustcountry AS country, + sbCustCountry AS country, COUNT(*) AS num_customers FROM broker.sbCustomer GROUP BY diff --git a/tests/test_sql_refsols/defog_broker_basic8_oracle.sql b/tests/test_sql_refsols/defog_broker_basic8_oracle.sql index bc7fec654..4289601d9 100644 --- a/tests/test_sql_refsols/defog_broker_basic8_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_basic8_oracle.sql @@ -1,9 +1,9 @@ SELECT - sbcustcountry AS country, + SBCUSTCOUNTRY AS country, COUNT(*) AS num_customers FROM MAIN.SBCUSTOMER GROUP BY - sbcustcountry + SBCUSTCOUNTRY ORDER BY 2 DESC NULLS LAST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_broker_basic9_ansi.sql b/tests/test_sql_refsols/defog_broker_basic9_ansi.sql index b1d447858..6970e296a 100644 --- a/tests/test_sql_refsols/defog_broker_basic9_ansi.sql +++ b/tests/test_sql_refsols/defog_broker_basic9_ansi.sql @@ -1,6 +1,11 @@ +WITH _s1 AS ( + SELECT + sbtxcustid + FROM main.sbtransaction +) SELECT sbcustomer.sbcustid AS _id, sbcustomer.sbcustname AS name FROM main.sbcustomer AS sbcustomer -JOIN main.sbtransaction AS sbtransaction - ON sbcustomer.sbcustid = sbtransaction.sbtxcustid +ANTI JOIN _s1 AS _s1 + ON _s1.sbtxcustid = sbcustomer.sbcustid diff --git a/tests/test_sql_refsols/defog_broker_basic9_mysql.sql b/tests/test_sql_refsols/defog_broker_basic9_mysql.sql index 2d7a5d7a1..866af7dad 100644 --- a/tests/test_sql_refsols/defog_broker_basic9_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_basic9_mysql.sql @@ -1,15 +1,15 @@ WITH _u_0 AS ( SELECT - sbtxcustid AS _u_1 + sbTxCustId AS _u_1 FROM broker.sbTransaction GROUP BY 1 ) SELECT - sbCustomer.sbcustid AS _id, - sbCustomer.sbcustname AS name + sbCustomer.sbCustId AS _id, + sbCustomer.sbCustName AS name FROM broker.sbCustomer AS sbCustomer LEFT JOIN _u_0 AS _u_0 - ON _u_0._u_1 = sbCustomer.sbcustid + ON _u_0._u_1 = sbCustomer.sbCustId WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_broker_basic9_oracle.sql b/tests/test_sql_refsols/defog_broker_basic9_oracle.sql index dbffc9064..f1cdd678b 100644 --- a/tests/test_sql_refsols/defog_broker_basic9_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_basic9_oracle.sql @@ -1,15 +1,15 @@ WITH "_u_0" AS ( SELECT - sbtxcustid AS "_u_1" + SBTXCUSTID AS "_u_1" FROM MAIN.SBTRANSACTION GROUP BY - sbtxcustid + SBTXCUSTID ) SELECT - SBCUSTOMER.sbcustid AS "_id", - SBCUSTOMER.sbcustname AS name + SBCUSTOMER.SBCUSTID AS "_id", + SBCUSTOMER.SBCUSTNAME AS name FROM MAIN.SBCUSTOMER SBCUSTOMER LEFT JOIN "_u_0" "_u_0" - ON SBCUSTOMER.sbcustid = "_u_0"."_u_1" + ON SBCUSTOMER.SBCUSTID = "_u_0"."_u_1" WHERE "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/defog_broker_basic9_sqlite.sql b/tests/test_sql_refsols/defog_broker_basic9_sqlite.sql index f96baada7..1551b258d 100644 --- a/tests/test_sql_refsols/defog_broker_basic9_sqlite.sql +++ b/tests/test_sql_refsols/defog_broker_basic9_sqlite.sql @@ -12,4 +12,4 @@ FROM main.sbcustomer AS sbcustomer LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = sbcustomer.sbcustid WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_broker_gen1_mysql.sql b/tests/test_sql_refsols/defog_broker_gen1_mysql.sql index 54f24c1a2..a54017341 100644 --- a/tests/test_sql_refsols/defog_broker_gen1_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_gen1_mysql.sql @@ -1,8 +1,8 @@ SELECT - MIN(sbDailyPrice.sbdpclose) AS lowest_price + MIN(sbDailyPrice.sbDpClose) AS lowest_price FROM broker.sbDailyPrice AS sbDailyPrice JOIN broker.sbTicker AS sbTicker - ON sbDailyPrice.sbdptickerid = sbTicker.sbtickerid - AND sbTicker.sbtickersymbol = 'VTI' + ON sbDailyPrice.sbDpTickerId = sbTicker.sbTickerId + AND sbTicker.sbTickerSymbol = 'VTI' WHERE - DATEDIFF(CURRENT_TIMESTAMP(), sbDailyPrice.sbdpdate) <= 7 + DATEDIFF(CURRENT_TIMESTAMP(), sbDailyPrice.sbDpDate) <= 7 diff --git a/tests/test_sql_refsols/defog_broker_gen1_oracle.sql b/tests/test_sql_refsols/defog_broker_gen1_oracle.sql index 6d5cbd5a6..a16130290 100644 --- a/tests/test_sql_refsols/defog_broker_gen1_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_gen1_oracle.sql @@ -1,10 +1,10 @@ SELECT - MIN(SBDAILYPRICE.sbdpclose) AS lowest_price + MIN(SBDAILYPRICE.SBDPCLOSE) AS lowest_price FROM MAIN.SBDAILYPRICE SBDAILYPRICE JOIN MAIN.SBTICKER SBTICKER - ON SBDAILYPRICE.sbdptickerid = SBTICKER.sbtickerid - AND SBTICKER.sbtickersymbol = 'VTI' + ON SBDAILYPRICE.SBDPTICKERID = SBTICKER.SBTICKERID + AND SBTICKER.SBTICKERSYMBOL = 'VTI' WHERE ( - TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(SBDAILYPRICE.sbdpdate AS DATE) AS DATE), 'DD') + TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(SBDAILYPRICE.SBDPDATE AS DATE) AS DATE), 'DD') ) <= 7 diff --git a/tests/test_sql_refsols/defog_broker_gen2_databricks.sql b/tests/test_sql_refsols/defog_broker_gen2_databricks.sql index 22b1cc03d..59149e4c3 100644 --- a/tests/test_sql_refsols/defog_broker_gen2_databricks.sql +++ b/tests/test_sql_refsols/defog_broker_gen2_databricks.sql @@ -3,4 +3,4 @@ SELECT FROM defog.broker.sbtransaction AS sbtransaction JOIN defog.broker.sbcustomer AS sbcustomer ON sbcustomer.sbcustid = sbtransaction.sbtxcustid - AND sbcustomer.sbcustjoindate >= DATE_TRUNC('DAY', DATEADD(DAY, -70, CURRENT_TIMESTAMP())) + AND sbcustomer.sbcustjoindate >= DATE_TRUNC('DAY', DATE_ADD(CURRENT_TIMESTAMP(), -70)) diff --git a/tests/test_sql_refsols/defog_broker_gen2_mysql.sql b/tests/test_sql_refsols/defog_broker_gen2_mysql.sql index b80e7193f..71ec95a8f 100644 --- a/tests/test_sql_refsols/defog_broker_gen2_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_gen2_mysql.sql @@ -2,5 +2,5 @@ SELECT COUNT(*) AS transaction_count FROM broker.sbTransaction AS sbTransaction JOIN broker.sbCustomer AS sbCustomer - ON sbCustomer.sbcustid = sbTransaction.sbtxcustid - AND sbCustomer.sbcustjoindate >= CAST(DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL '70' DAY) AS DATE) + ON sbCustomer.sbCustId = sbTransaction.sbTxCustId + AND sbCustomer.sbCustJoinDate >= CAST(DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL '70' DAY) AS DATE) diff --git a/tests/test_sql_refsols/defog_broker_gen2_oracle.sql b/tests/test_sql_refsols/defog_broker_gen2_oracle.sql index 1d1b396a6..da473c6c0 100644 --- a/tests/test_sql_refsols/defog_broker_gen2_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_gen2_oracle.sql @@ -2,5 +2,5 @@ SELECT COUNT(*) AS transaction_count FROM MAIN.SBTRANSACTION SBTRANSACTION JOIN MAIN.SBCUSTOMER SBCUSTOMER - ON SBCUSTOMER.sbcustid = SBTRANSACTION.sbtxcustid - AND SBCUSTOMER.sbcustjoindate >= TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP) - NUMTODSINTERVAL(70, 'day'), 'DD') + ON SBCUSTOMER.SBCUSTID = SBTRANSACTION.SBTXCUSTID + AND SBCUSTOMER.SBCUSTJOINDATE >= TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP) - NUMTODSINTERVAL(70, 'day'), 'DD') diff --git a/tests/test_sql_refsols/defog_broker_gen3_mysql.sql b/tests/test_sql_refsols/defog_broker_gen3_mysql.sql index 584db95d7..4b4556a86 100644 --- a/tests/test_sql_refsols/defog_broker_gen3_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_gen3_mysql.sql @@ -1,14 +1,14 @@ WITH _s1 AS ( SELECT - sbtxcustid AS sbTxCustId, - MIN(sbtxdatetime) AS min_sbTxDateTime + sbTxCustId, + MIN(sbTxDateTime) AS min_sbTxDateTime FROM broker.sbTransaction GROUP BY 1 ) SELECT - sbCustomer.sbcustid AS cust_id, - TIMESTAMPDIFF(SECOND, sbCustomer.sbcustjoindate, _s1.min_sbTxDateTime) / 86400.0 AS DaysFromJoinToFirstTransaction + sbCustomer.sbCustId AS cust_id, + TIMESTAMPDIFF(SECOND, sbCustomer.sbCustJoinDate, _s1.min_sbTxDateTime) / 86400.0 AS DaysFromJoinToFirstTransaction FROM broker.sbCustomer AS sbCustomer JOIN _s1 AS _s1 - ON _s1.sbTxCustId = sbCustomer.sbcustid + ON _s1.sbTxCustId = sbCustomer.sbCustId diff --git a/tests/test_sql_refsols/defog_broker_gen3_oracle.sql b/tests/test_sql_refsols/defog_broker_gen3_oracle.sql index f9e3d8d2d..f897089c0 100644 --- a/tests/test_sql_refsols/defog_broker_gen3_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_gen3_oracle.sql @@ -1,18 +1,18 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - sbtxcustid AS SBTXCUSTID, - MIN(sbtxdatetime) AS MIN_SBTXDATETIME + SBTXCUSTID, + MIN(SBTXDATETIME) AS MIN_SBTXDATETIME FROM MAIN.SBTRANSACTION GROUP BY - sbtxcustid + SBTXCUSTID ) SELECT - SBCUSTOMER.sbcustid AS cust_id, + SBCUSTOMER.SBCUSTID AS cust_id, ( ( - CAST("_S1".MIN_SBTXDATETIME AS DATE) - CAST(SBCUSTOMER.sbcustjoindate AS DATE) + CAST("_s1".MIN_SBTXDATETIME AS DATE) - CAST(SBCUSTOMER.SBCUSTJOINDATE AS DATE) ) * 86400 ) / 86400.0 AS DaysFromJoinToFirstTransaction FROM MAIN.SBCUSTOMER SBCUSTOMER -JOIN "_S1" "_S1" - ON SBCUSTOMER.sbcustid = "_S1".SBTXCUSTID +JOIN "_s1" "_s1" + ON SBCUSTOMER.SBCUSTID = "_s1".SBTXCUSTID diff --git a/tests/test_sql_refsols/defog_broker_gen4_mysql.sql b/tests/test_sql_refsols/defog_broker_gen4_mysql.sql index f5c621e05..1d41a8099 100644 --- a/tests/test_sql_refsols/defog_broker_gen4_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_gen4_mysql.sql @@ -1,21 +1,21 @@ WITH _s1 AS ( SELECT - sbtxcustid AS sbTxCustId, + sbTxCustId, COUNT(*) AS n_rows FROM broker.sbTransaction WHERE - CAST(CAST(sbtxdatetime AS DATETIME) AS DATE) = CAST('2023-04-01' AS DATE) - AND sbtxtype = 'sell' + CAST(CAST(sbTxDateTime AS DATETIME) AS DATE) = CAST('2023-04-01' AS DATE) + AND sbTxType = 'sell' GROUP BY 1 ) SELECT - sbCustomer.sbcustid AS _id, - sbCustomer.sbcustname AS name, + sbCustomer.sbCustId AS _id, + sbCustomer.sbCustName AS name, COALESCE(_s1.n_rows, 0) AS num_tx FROM broker.sbCustomer AS sbCustomer LEFT JOIN _s1 AS _s1 - ON _s1.sbTxCustId = sbCustomer.sbcustid + ON _s1.sbTxCustId = sbCustomer.sbCustId ORDER BY 3 DESC LIMIT 1 diff --git a/tests/test_sql_refsols/defog_broker_gen4_oracle.sql b/tests/test_sql_refsols/defog_broker_gen4_oracle.sql index 8b1fb08fe..7dac57cf1 100644 --- a/tests/test_sql_refsols/defog_broker_gen4_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_gen4_oracle.sql @@ -1,21 +1,21 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - sbtxcustid AS SBTXCUSTID, + SBTXCUSTID, COUNT(*) AS N_ROWS FROM MAIN.SBTRANSACTION WHERE - TRUNC(CAST(CAST(sbtxdatetime AS DATE) AS DATE), 'DD') = TO_DATE('2023-04-01', 'YYYY-MM-DD') - AND sbtxtype = 'sell' + TRUNC(CAST(CAST(SBTXDATETIME AS DATE) AS DATE), 'DD') = TO_DATE('2023-04-01', 'YYYY-MM-DD') + AND SBTXTYPE = 'sell' GROUP BY - sbtxcustid + SBTXCUSTID ) SELECT - SBCUSTOMER.sbcustid AS "_id", - SBCUSTOMER.sbcustname AS name, - COALESCE("_S1".N_ROWS, 0) AS num_tx + SBCUSTOMER.SBCUSTID AS "_id", + SBCUSTOMER.SBCUSTNAME AS name, + COALESCE("_s1".N_ROWS, 0) AS num_tx FROM MAIN.SBCUSTOMER SBCUSTOMER -LEFT JOIN "_S1" "_S1" - ON SBCUSTOMER.sbcustid = "_S1".SBTXCUSTID +LEFT JOIN "_s1" "_s1" + ON SBCUSTOMER.SBCUSTID = "_s1".SBTXCUSTID ORDER BY 3 DESC NULLS LAST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_broker_gen5_mysql.sql b/tests/test_sql_refsols/defog_broker_gen5_mysql.sql index 3bb7d8bc6..36904305c 100644 --- a/tests/test_sql_refsols/defog_broker_gen5_mysql.sql +++ b/tests/test_sql_refsols/defog_broker_gen5_mysql.sql @@ -1,14 +1,14 @@ SELECT STR_TO_DATE( - CONCAT(YEAR(CAST(sbtxdatetime AS DATETIME)), ' ', MONTH(CAST(sbtxdatetime AS DATETIME)), ' 1'), + CONCAT(YEAR(CAST(sbTxDateTime AS DATETIME)), ' ', MONTH(CAST(sbTxDateTime AS DATETIME)), ' 1'), '%Y %c %e' ) AS month, - AVG(sbtxprice) AS avg_price + AVG(sbTxPrice) AS avg_price FROM broker.sbTransaction WHERE - EXTRACT(MONTH FROM CAST(sbtxdatetime AS DATETIME)) IN (1, 2, 3) - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) = 2023 - AND sbtxstatus = 'success' + EXTRACT(MONTH FROM CAST(sbTxDateTime AS DATETIME)) IN (1, 2, 3) + AND EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) = 2023 + AND sbTxStatus = 'success' GROUP BY 1 ORDER BY diff --git a/tests/test_sql_refsols/defog_broker_gen5_oracle.sql b/tests/test_sql_refsols/defog_broker_gen5_oracle.sql index 694a27f2e..2511bc685 100644 --- a/tests/test_sql_refsols/defog_broker_gen5_oracle.sql +++ b/tests/test_sql_refsols/defog_broker_gen5_oracle.sql @@ -1,12 +1,12 @@ SELECT - TRUNC(CAST(sbtxdatetime AS DATE), 'MONTH') AS month, - AVG(sbtxprice) AS avg_price + TRUNC(CAST(SBTXDATETIME AS DATE), 'MONTH') AS month, + AVG(SBTXPRICE) AS avg_price FROM MAIN.SBTRANSACTION WHERE - EXTRACT(MONTH FROM CAST(sbtxdatetime AS DATE)) IN (1, 2, 3) - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) = 2023 - AND sbtxstatus = 'success' + EXTRACT(MONTH FROM CAST(SBTXDATETIME AS DATE)) IN (1, 2, 3) + AND EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) = 2023 + AND SBTXSTATUS = 'success' GROUP BY - TRUNC(CAST(sbtxdatetime AS DATE), 'MONTH') + TRUNC(CAST(SBTXDATETIME AS DATE), 'MONTH') ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/defog_dealership_adv10_oracle.sql b/tests/test_sql_refsols/defog_dealership_adv10_oracle.sql index 566612f27..2437128b6 100644 --- a/tests/test_sql_refsols/defog_dealership_adv10_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_adv10_oracle.sql @@ -1,18 +1,18 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - sale_id AS SALE_ID, - MAX(payment_date) AS MAX_PAYMENT_DATE + SALE_ID, + MAX(PAYMENT_DATE) AS MAX_PAYMENT_DATE FROM MAIN.PAYMENTS_RECEIVED GROUP BY - sale_id + SALE_ID ) SELECT ROUND( AVG( - TRUNC(CAST(CAST("_S1".MAX_PAYMENT_DATE AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(SALES.sale_date AS DATE) AS DATE), 'DD') + TRUNC(CAST(CAST("_s1".MAX_PAYMENT_DATE AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(SALES.SALE_DATE AS DATE) AS DATE), 'DD') ), 2 ) AS avg_days_to_payment FROM MAIN.SALES SALES -LEFT JOIN "_S1" "_S1" - ON SALES."_id" = "_S1".SALE_ID +LEFT JOIN "_s1" "_s1" + ON SALES."_id" = "_s1".SALE_ID diff --git a/tests/test_sql_refsols/defog_dealership_adv11_oracle.sql b/tests/test_sql_refsols/defog_dealership_adv11_oracle.sql index 754884217..21cd869e4 100644 --- a/tests/test_sql_refsols/defog_dealership_adv11_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_adv11_oracle.sql @@ -1,19 +1,19 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - car_id AS CAR_ID, - SUM(sale_price) AS SUM_SALE_PRICE + CAR_ID, + SUM(SALE_PRICE) AS SUM_SALE_PRICE FROM MAIN.SALES WHERE - EXTRACT(YEAR FROM CAST(sale_date AS DATE)) = 2023 + EXTRACT(YEAR FROM CAST(SALE_DATE AS DATE)) = 2023 GROUP BY - car_id + CAR_ID ) SELECT ( ( - COALESCE(SUM("_S0".SUM_SALE_PRICE), 0) - COALESCE(SUM(CARS.cost), 0) - ) / NULLIF(SUM(CARS.cost), 0) + COALESCE(SUM("_s0".SUM_SALE_PRICE), 0) - COALESCE(SUM(CARS.COST), 0) + ) / NULLIF(SUM(CARS.COST), 0) ) * 100 AS GPM -FROM "_S0" "_S0" +FROM "_s0" "_s0" JOIN MAIN.CARS CARS - ON CARS."_id" = "_S0".CAR_ID + ON CARS."_id" = "_s0".CAR_ID diff --git a/tests/test_sql_refsols/defog_dealership_adv12_oracle.sql b/tests/test_sql_refsols/defog_dealership_adv12_oracle.sql index 51a389dea..881f7926a 100644 --- a/tests/test_sql_refsols/defog_dealership_adv12_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_adv12_oracle.sql @@ -1,14 +1,14 @@ SELECT - CARS.make, - CARS.model, - SALES.sale_price + CARS.MAKE AS make, + CARS.MODEL AS model, + SALES.SALE_PRICE AS sale_price FROM MAIN.SALES SALES JOIN MAIN.CARS CARS - ON CARS."_id" = SALES.car_id + ON CARS."_id" = SALES.CAR_ID JOIN MAIN.INVENTORY_SNAPSHOTS INVENTORY_SNAPSHOTS - ON CARS."_id" = INVENTORY_SNAPSHOTS.car_id - AND INVENTORY_SNAPSHOTS.snapshot_date = SALES.sale_date - AND NOT INVENTORY_SNAPSHOTS.is_in_inventory + ON CARS."_id" = INVENTORY_SNAPSHOTS.CAR_ID + AND INVENTORY_SNAPSHOTS.SNAPSHOT_DATE = SALES.SALE_DATE + AND NOT INVENTORY_SNAPSHOTS.IS_IN_INVENTORY ORDER BY 3 DESC NULLS LAST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_dealership_adv13_databricks.sql b/tests/test_sql_refsols/defog_dealership_adv13_databricks.sql index 592cec537..a7a3a9822 100644 --- a/tests/test_sql_refsols/defog_dealership_adv13_databricks.sql +++ b/tests/test_sql_refsols/defog_dealership_adv13_databricks.sql @@ -7,7 +7,7 @@ WITH _s1 AS ( 1 ), _t0 AS ( SELECT - DATEADD(MONTH, months.n, _s1.start_month) AS dt, + DATE_ADD(MONTH, months.n, _s1.start_month) AS dt, SUM(IF(months.n > 0, 0, COALESCE(_s1.sum_payment_amount, 0))) AS sum_payment FROM VALUES (0), @@ -25,7 +25,7 @@ WITH _s1 AS ( JOIN _s1 AS _s1 ON ( TRUNC(CURRENT_TIMESTAMP(), 'MONTH') + INTERVAL '1' HOUR - ) >= DATEADD(MONTH, months.n, _s1.start_month) + ) >= DATE_ADD(MONTH, months.n, _s1.start_month) GROUP BY 1 ) diff --git a/tests/test_sql_refsols/defog_dealership_adv13_oracle.sql b/tests/test_sql_refsols/defog_dealership_adv13_oracle.sql index 2cc6a7e96..da61cb724 100644 --- a/tests/test_sql_refsols/defog_dealership_adv13_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_adv13_oracle.sql @@ -1,14 +1,14 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - TRUNC(CAST(payment_date AS DATE), 'MONTH') AS START_MONTH, - SUM(payment_amount) AS SUM_PAYMENT_AMOUNT + TRUNC(CAST(PAYMENT_DATE AS DATE), 'MONTH') AS START_MONTH, + SUM(PAYMENT_AMOUNT) AS SUM_PAYMENT_AMOUNT FROM MAIN.PAYMENTS_RECEIVED GROUP BY - TRUNC(CAST(payment_date AS DATE), 'MONTH') -), "_T0" AS ( + TRUNC(CAST(PAYMENT_DATE AS DATE), 'MONTH') +), "_t0" AS ( SELECT - DATETIME("_S1".START_MONTH, MONTHS.N || ' months') AS DT, - SUM(CASE WHEN MONTHS.N > 0 THEN 0 ELSE COALESCE("_S1".SUM_PAYMENT_AMOUNT, 0) END) AS SUM_PAYMENT + DATETIME("_s1".START_MONTH, MONTHS.N || ' months') AS DT, + SUM(CASE WHEN MONTHS.N > 0 THEN 0 ELSE COALESCE("_s1".SUM_PAYMENT_AMOUNT, 0) END) AS SUM_PAYMENT FROM (VALUES (0), (1), @@ -22,17 +22,17 @@ WITH "_S1" AS ( (9), (10), (11)) AS MONTHS(N) - JOIN "_S1" "_S1" + JOIN "_s1" "_s1" ON ( TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH') + NUMTODSINTERVAL(1, 'hour') - ) >= DATETIME("_S1".START_MONTH, MONTHS.N || ' months') + ) >= DATETIME("_s1".START_MONTH, MONTHS.N || ' months') GROUP BY - DATETIME("_S1".START_MONTH, MONTHS.N || ' months') + DATETIME("_s1".START_MONTH, MONTHS.N || ' months') ) SELECT DT AS dt, SUM_PAYMENT AS total_payments, SUM_PAYMENT - LAG(SUM_PAYMENT, 1) OVER (ORDER BY DT) AS MoM_change -FROM "_T0" +FROM "_t0" ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/defog_dealership_adv13_snowflake.sql b/tests/test_sql_refsols/defog_dealership_adv13_snowflake.sql index 558485a9c..c68672433 100644 --- a/tests/test_sql_refsols/defog_dealership_adv13_snowflake.sql +++ b/tests/test_sql_refsols/defog_dealership_adv13_snowflake.sql @@ -1,7 +1,7 @@ WITH months AS ( SELECT SEQ4() AS n - FROM TABLE(GENERATOR(ROWCOUNT => 12)) + FROM TABLE(GENERATOR(ROWCOUNT => 12)) AS _0 ), _s1 AS ( SELECT DATE_TRUNC('MONTH', CAST(payment_date AS TIMESTAMP)) AS start_month, diff --git a/tests/test_sql_refsols/defog_dealership_adv14_oracle.sql b/tests/test_sql_refsols/defog_dealership_adv14_oracle.sql index 9630ed94d..6af33ac98 100644 --- a/tests/test_sql_refsols/defog_dealership_adv14_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_adv14_oracle.sql @@ -3,5 +3,5 @@ SELECT FROM MAIN.SALES WHERE ( - TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(sale_date AS DATE) AS DATE), 'DD') + TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(SALE_DATE AS DATE) AS DATE), 'DD') ) <= 7 diff --git a/tests/test_sql_refsols/defog_dealership_adv15_oracle.sql b/tests/test_sql_refsols/defog_dealership_adv15_oracle.sql index 1af15049a..4aa165c09 100644 --- a/tests/test_sql_refsols/defog_dealership_adv15_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_adv15_oracle.sql @@ -1,18 +1,18 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - salesperson_id AS SALESPERSON_ID, - AVG(sale_price) AS AVG_SALE_PRICE + SALESPERSON_ID, + AVG(SALE_PRICE) AS AVG_SALE_PRICE FROM MAIN.SALES GROUP BY - salesperson_id + SALESPERSON_ID ) SELECT - SALESPERSONS.first_name, - SALESPERSONS.last_name, - "_S1".AVG_SALE_PRICE AS ASP + SALESPERSONS.FIRST_NAME AS first_name, + SALESPERSONS.LAST_NAME AS last_name, + "_s1".AVG_SALE_PRICE AS ASP FROM MAIN.SALESPERSONS SALESPERSONS -LEFT JOIN "_S1" "_S1" - ON SALESPERSONS."_id" = "_S1".SALESPERSON_ID +LEFT JOIN "_s1" "_s1" + ON SALESPERSONS."_id" = "_s1".SALESPERSON_ID ORDER BY 3 DESC NULLS LAST FETCH FIRST 3 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_dealership_adv16_oracle.sql b/tests/test_sql_refsols/defog_dealership_adv16_oracle.sql index ddbb439ad..cb62f9d46 100644 --- a/tests/test_sql_refsols/defog_dealership_adv16_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_adv16_oracle.sql @@ -1,19 +1,19 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - salesperson_id AS SALESPERSON_ID, - SUM(sale_price) AS SUM_SALE_PRICE + SALESPERSON_ID, + SUM(SALE_PRICE) AS SUM_SALE_PRICE FROM MAIN.SALES GROUP BY - salesperson_id + SALESPERSON_ID ) SELECT SALESPERSONS."_id", - SALESPERSONS.first_name, - SALESPERSONS.last_name, - COALESCE("_S1".SUM_SALE_PRICE, 0) AS total + SALESPERSONS.FIRST_NAME AS first_name, + SALESPERSONS.LAST_NAME AS last_name, + COALESCE("_s1".SUM_SALE_PRICE, 0) AS total FROM MAIN.SALESPERSONS SALESPERSONS -LEFT JOIN "_S1" "_S1" - ON SALESPERSONS."_id" = "_S1".SALESPERSON_ID +LEFT JOIN "_s1" "_s1" + ON SALESPERSONS."_id" = "_s1".SALESPERSON_ID ORDER BY 4 DESC NULLS LAST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_dealership_adv1_databricks.sql b/tests/test_sql_refsols/defog_dealership_adv1_databricks.sql index b23edefa9..cd5cfcff8 100644 --- a/tests/test_sql_refsols/defog_dealership_adv1_databricks.sql +++ b/tests/test_sql_refsols/defog_dealership_adv1_databricks.sql @@ -1,22 +1,19 @@ SELECT - DATEADD( - DAY, + DATE_ADD( + CAST(CAST(payments_received.payment_date AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST(payments_received.payment_date AS TIMESTAMP))) + 5 + DAYOFWEEK(CAST(payments_received.payment_date AS TIMESTAMP)) + 5 ) % 7 - ), - CAST(CAST(payments_received.payment_date AS TIMESTAMP) AS DATE) + ) ) AS payment_week, COUNT(*) AS total_payments, COALESCE( - COUNT_IF( + COUNT_IF(( ( - ( - DAYOFWEEK(TO_DATE(payments_received.payment_date)) + 5 - ) % 7 - ) IN (5, 6) - ), + DAYOFWEEK(payments_received.payment_date) + 5 + ) % 7 + ) IN (5, 6)), 0 ) AS weekend_payments FROM defog.dealership.payments_received AS payments_received @@ -25,44 +22,40 @@ JOIN defog.dealership.sales AS sales WHERE CAST(DATEDIFF( DAY, - DATEADD( - DAY, + DATE_ADD( + CAST(payments_received.payment_date AS DATE), -( ( - DAYOFWEEK(TO_DATE(payments_received.payment_date)) + 5 + DAYOFWEEK(payments_received.payment_date) + 5 ) % 7 - ), - CAST(payments_received.payment_date AS DATE) + ) ), - DATEADD( - DAY, + DATE_ADD( + CAST(CURRENT_TIMESTAMP() AS DATE), -( ( - DAYOFWEEK(TO_DATE(CURRENT_TIMESTAMP())) + 5 + DAYOFWEEK(CURRENT_TIMESTAMP()) + 5 ) % 7 - ), - CAST(CURRENT_TIMESTAMP() AS DATE) + ) ) ) / 7 AS BIGINT) <= 8 AND CAST(DATEDIFF( DAY, - DATEADD( - DAY, + DATE_ADD( + CAST(payments_received.payment_date AS DATE), -( ( - DAYOFWEEK(TO_DATE(payments_received.payment_date)) + 5 + DAYOFWEEK(payments_received.payment_date) + 5 ) % 7 - ), - CAST(payments_received.payment_date AS DATE) + ) ), - DATEADD( - DAY, + DATE_ADD( + CAST(CURRENT_TIMESTAMP() AS DATE), -( ( - DAYOFWEEK(TO_DATE(CURRENT_TIMESTAMP())) + 5 + DAYOFWEEK(CURRENT_TIMESTAMP()) + 5 ) % 7 - ), - CAST(CURRENT_TIMESTAMP() AS DATE) + ) ) ) / 7 AS BIGINT) >= 1 GROUP BY diff --git a/tests/test_sql_refsols/defog_dealership_adv1_oracle.sql b/tests/test_sql_refsols/defog_dealership_adv1_oracle.sql index 80c7273d0..342d7c6c2 100644 --- a/tests/test_sql_refsols/defog_dealership_adv1_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_adv1_oracle.sql @@ -1,7 +1,7 @@ SELECT TRUNC( - CAST(CAST(PAYMENTS_RECEIVED.payment_date AS DATE) - MOD(( - TO_CHAR(CAST(PAYMENTS_RECEIVED.payment_date AS DATE), 'D') + 5 + CAST(CAST(PAYMENTS_RECEIVED.PAYMENT_DATE AS DATE) - MOD(( + TO_CHAR(CAST(PAYMENTS_RECEIVED.PAYMENT_DATE AS DATE), 'D') + 5 ), 7) AS DATE), 'DD' ) AS payment_week, @@ -10,7 +10,7 @@ SELECT SUM( ( MOD(( - TO_CHAR(PAYMENTS_RECEIVED.payment_date, 'D') + 5 + TO_CHAR(PAYMENTS_RECEIVED.PAYMENT_DATE, 'D') + 5 ), 7) ) IN (5, 6) ), @@ -18,13 +18,13 @@ SELECT ) AS weekend_payments FROM MAIN.PAYMENTS_RECEIVED PAYMENTS_RECEIVED JOIN MAIN.SALES SALES - ON PAYMENTS_RECEIVED.sale_id = SALES."_id" AND SALES.sale_price > 30000 + ON PAYMENTS_RECEIVED.SALE_ID = SALES."_id" AND SALES.SALE_PRICE > 30000 WHERE FLOOR( ( - TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(PAYMENTS_RECEIVED.payment_date AS DATE) AS DATE), 'DD') + ( + TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(PAYMENTS_RECEIVED.PAYMENT_DATE AS DATE) AS DATE), 'DD') + ( MOD(( - TO_CHAR(CAST(PAYMENTS_RECEIVED.payment_date AS DATE), 'D') + 5 + TO_CHAR(CAST(PAYMENTS_RECEIVED.PAYMENT_DATE AS DATE), 'D') + 5 ), 7) ) - ( MOD(( @@ -35,9 +35,9 @@ WHERE ) <= 8 AND FLOOR( ( - TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(PAYMENTS_RECEIVED.payment_date AS DATE) AS DATE), 'DD') + ( + TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(PAYMENTS_RECEIVED.PAYMENT_DATE AS DATE) AS DATE), 'DD') + ( MOD(( - TO_CHAR(CAST(PAYMENTS_RECEIVED.payment_date AS DATE), 'D') + 5 + TO_CHAR(CAST(PAYMENTS_RECEIVED.PAYMENT_DATE AS DATE), 'D') + 5 ), 7) ) - ( MOD(( @@ -48,8 +48,8 @@ WHERE ) >= 1 GROUP BY TRUNC( - CAST(CAST(PAYMENTS_RECEIVED.payment_date AS DATE) - MOD(( - TO_CHAR(CAST(PAYMENTS_RECEIVED.payment_date AS DATE), 'D') + 5 + CAST(CAST(PAYMENTS_RECEIVED.PAYMENT_DATE AS DATE) - MOD(( + TO_CHAR(CAST(PAYMENTS_RECEIVED.PAYMENT_DATE AS DATE), 'D') + 5 ), 7) AS DATE), 'DD' ) diff --git a/tests/test_sql_refsols/defog_dealership_adv2_oracle.sql b/tests/test_sql_refsols/defog_dealership_adv2_oracle.sql index c9ee54ad4..c52ac5d54 100644 --- a/tests/test_sql_refsols/defog_dealership_adv2_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_adv2_oracle.sql @@ -1,23 +1,23 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - salesperson_id AS SALESPERSON_ID, + SALESPERSON_ID, COUNT(*) AS N_ROWS FROM MAIN.SALES WHERE ( - TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(sale_date AS DATE) AS DATE), 'DD') + TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(SALE_DATE AS DATE) AS DATE), 'DD') ) <= 30 GROUP BY - salesperson_id + SALESPERSON_ID ) SELECT SALESPERSONS."_id", - SALESPERSONS.first_name, - SALESPERSONS.last_name, - "_S1".N_ROWS AS num_sales + SALESPERSONS.FIRST_NAME AS first_name, + SALESPERSONS.LAST_NAME AS last_name, + "_s1".N_ROWS AS num_sales FROM MAIN.SALESPERSONS SALESPERSONS -JOIN "_S1" "_S1" - ON SALESPERSONS."_id" = "_S1".SALESPERSON_ID +JOIN "_s1" "_s1" + ON SALESPERSONS."_id" = "_s1".SALESPERSON_ID ORDER BY 4 DESC NULLS LAST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/defog_dealership_adv3_oracle.sql b/tests/test_sql_refsols/defog_dealership_adv3_oracle.sql index f7886bed4..10308ee6f 100644 --- a/tests/test_sql_refsols/defog_dealership_adv3_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_adv3_oracle.sql @@ -1,13 +1,13 @@ -WITH "_T1" AS ( +WITH "_t1" AS ( SELECT - ANY_VALUE(CARS.make) AS ANYTHING_MAKE, - ANY_VALUE(CARS.model) AS ANYTHING_MODEL, - COUNT(SALES.car_id) AS COUNT_CAR_ID + ANY_VALUE(CARS.MAKE) AS ANYTHING_MAKE, + ANY_VALUE(CARS.MODEL) AS ANYTHING_MODEL, + COUNT(SALES.CAR_ID) AS COUNT_CAR_ID FROM MAIN.CARS CARS LEFT JOIN MAIN.SALES SALES - ON CARS."_id" = SALES.car_id + ON CARS."_id" = SALES.CAR_ID WHERE - LOWER(CARS.vin_number) LIKE '%m5%' + LOWER(CARS.VIN_NUMBER) LIKE '%m5%' GROUP BY CARS."_id" ) @@ -15,7 +15,7 @@ SELECT ANYTHING_MAKE AS make, ANYTHING_MODEL AS model, COALESCE(SUM(COUNT_CAR_ID), 0) AS num_sales -FROM "_T1" +FROM "_t1" GROUP BY ANYTHING_MAKE, ANYTHING_MODEL diff --git a/tests/test_sql_refsols/defog_dealership_adv3_postgres.sql b/tests/test_sql_refsols/defog_dealership_adv3_postgres.sql index 7fc3cc4b3..a14e5f434 100644 --- a/tests/test_sql_refsols/defog_dealership_adv3_postgres.sql +++ b/tests/test_sql_refsols/defog_dealership_adv3_postgres.sql @@ -1,7 +1,7 @@ WITH _t1 AS ( SELECT - MAX(cars.make) AS anything_make, - MAX(cars.model) AS anything_model, + ANY_VALUE(cars.make) AS anything_make, + ANY_VALUE(cars.model) AS anything_model, COUNT(sales.car_id) AS count_car_id FROM main.cars AS cars LEFT JOIN main.sales AS sales diff --git a/tests/test_sql_refsols/defog_dealership_adv4_databricks.sql b/tests/test_sql_refsols/defog_dealership_adv4_databricks.sql index 446687fd5..7ef0936ce 100644 --- a/tests/test_sql_refsols/defog_dealership_adv4_databricks.sql +++ b/tests/test_sql_refsols/defog_dealership_adv4_databricks.sql @@ -3,7 +3,6 @@ SELECT CASE WHEN COUNT(*) <> 0 THEN COALESCE(SUM(sales.sale_price), 0) ELSE NULL END AS total_revenue FROM defog.dealership.cars AS cars JOIN defog.dealership.sales AS sales - ON cars.id = sales.car_id - AND sales.sale_date >= DATEADD(DAY, -30, CURRENT_TIMESTAMP()) + ON cars.id = sales.car_id AND sales.sale_date >= DATE_ADD(CURRENT_TIMESTAMP(), -30) WHERE CONTAINS(LOWER(cars.make), 'toyota') diff --git a/tests/test_sql_refsols/defog_dealership_adv4_oracle.sql b/tests/test_sql_refsols/defog_dealership_adv4_oracle.sql index 6f5ad39ef..80b3865f3 100644 --- a/tests/test_sql_refsols/defog_dealership_adv4_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_adv4_oracle.sql @@ -1,11 +1,11 @@ SELECT COUNT(*) AS num_sales, - CASE WHEN COUNT(*) <> 0 THEN COALESCE(SUM(SALES.sale_price), 0) ELSE NULL END AS total_revenue + CASE WHEN COUNT(*) <> 0 THEN COALESCE(SUM(SALES.SALE_PRICE), 0) ELSE NULL END AS total_revenue FROM MAIN.CARS CARS JOIN MAIN.SALES SALES - ON CARS."_id" = SALES.car_id - AND SALES.sale_date >= ( + ON CARS."_id" = SALES.CAR_ID + AND SALES.SALE_DATE >= ( SYS_EXTRACT_UTC(SYSTIMESTAMP) - NUMTODSINTERVAL(30, 'day') ) WHERE - LOWER(CARS.make) LIKE '%toyota%' + LOWER(CARS.MAKE) LIKE '%toyota%' diff --git a/tests/test_sql_refsols/defog_dealership_adv5_oracle.sql b/tests/test_sql_refsols/defog_dealership_adv5_oracle.sql index 387400d35..c4912de93 100644 --- a/tests/test_sql_refsols/defog_dealership_adv5_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_adv5_oracle.sql @@ -1,20 +1,20 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - salesperson_id AS SALESPERSON_ID, + SALESPERSON_ID, COUNT(*) AS N_ROWS, - SUM(sale_price) AS SUM_SALE_PRICE + SUM(SALE_PRICE) AS SUM_SALE_PRICE FROM MAIN.SALES GROUP BY - salesperson_id + SALESPERSON_ID ) SELECT - SALESPERSONS.first_name, - SALESPERSONS.last_name, - COALESCE("_S1".SUM_SALE_PRICE, 0) AS total_sales, - "_S1".N_ROWS AS num_sales, - RANK() OVER (ORDER BY COALESCE("_S1".SUM_SALE_PRICE, 0) DESC) AS sales_rank + SALESPERSONS.FIRST_NAME AS first_name, + SALESPERSONS.LAST_NAME AS last_name, + COALESCE("_s1".SUM_SALE_PRICE, 0) AS total_sales, + "_s1".N_ROWS AS num_sales, + RANK() OVER (ORDER BY COALESCE("_s1".SUM_SALE_PRICE, 0) DESC) AS sales_rank FROM MAIN.SALESPERSONS SALESPERSONS -JOIN "_S1" "_S1" - ON SALESPERSONS."_id" = "_S1".SALESPERSON_ID +JOIN "_s1" "_s1" + ON SALESPERSONS."_id" = "_s1".SALESPERSON_ID ORDER BY 3 DESC NULLS LAST diff --git a/tests/test_sql_refsols/defog_dealership_adv6_mysql.sql b/tests/test_sql_refsols/defog_dealership_adv6_mysql.sql index ccd2bc950..1a0704026 100644 --- a/tests/test_sql_refsols/defog_dealership_adv6_mysql.sql +++ b/tests/test_sql_refsols/defog_dealership_adv6_mysql.sql @@ -2,7 +2,10 @@ WITH _t AS ( SELECT car_id, is_in_inventory, - ROW_NUMBER() OVER (PARTITION BY car_id ORDER BY CASE WHEN snapshot_date IS NULL THEN 1 ELSE 0 END DESC, snapshot_date DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY car_id + ORDER BY CASE WHEN snapshot_date IS NULL THEN 1 ELSE 0 END DESC, snapshot_date DESC + ) AS _w FROM dealership.inventory_snapshots ) SELECT diff --git a/tests/test_sql_refsols/defog_dealership_adv6_oracle.sql b/tests/test_sql_refsols/defog_dealership_adv6_oracle.sql index db2736f0c..20db3c403 100644 --- a/tests/test_sql_refsols/defog_dealership_adv6_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_adv6_oracle.sql @@ -1,19 +1,19 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - car_id AS CAR_ID, - is_in_inventory AS IS_IN_INVENTORY, - ROW_NUMBER() OVER (PARTITION BY car_id ORDER BY snapshot_date DESC) AS "_W" + CAR_ID, + IS_IN_INVENTORY, + ROW_NUMBER() OVER (PARTITION BY CAR_ID ORDER BY SNAPSHOT_DATE DESC) AS "_w" FROM MAIN.INVENTORY_SNAPSHOTS ) SELECT - ANY_VALUE(CARS.make) AS make, - ANY_VALUE(CARS.model) AS model, - MAX(SALES.sale_price) AS highest_sale_price + ANY_VALUE(CARS.MAKE) AS make, + ANY_VALUE(CARS.MODEL) AS model, + MAX(SALES.SALE_PRICE) AS highest_sale_price FROM MAIN.CARS CARS -JOIN "_T" "_T" - ON CARS."_id" = "_T".CAR_ID AND NOT "_T".IS_IN_INVENTORY AND "_T"."_W" = 1 +JOIN "_t" "_t" + ON CARS."_id" = "_t".CAR_ID AND NOT "_t".IS_IN_INVENTORY AND "_t"."_w" = 1 LEFT JOIN MAIN.SALES SALES - ON CARS."_id" = SALES.car_id + ON CARS."_id" = SALES.CAR_ID GROUP BY CARS."_id" ORDER BY diff --git a/tests/test_sql_refsols/defog_dealership_adv6_postgres.sql b/tests/test_sql_refsols/defog_dealership_adv6_postgres.sql index afd34c12e..ef728fa9e 100644 --- a/tests/test_sql_refsols/defog_dealership_adv6_postgres.sql +++ b/tests/test_sql_refsols/defog_dealership_adv6_postgres.sql @@ -6,8 +6,8 @@ WITH _t AS ( FROM main.inventory_snapshots ) SELECT - MAX(cars.make) AS make, - MAX(cars.model) AS model, + ANY_VALUE(cars.make) AS make, + ANY_VALUE(cars.model) AS model, MAX(sales.sale_price) AS highest_sale_price FROM main.cars AS cars JOIN _t AS _t diff --git a/tests/test_sql_refsols/defog_dealership_adv7_oracle.sql b/tests/test_sql_refsols/defog_dealership_adv7_oracle.sql index c9b4087aa..826fd89ff 100644 --- a/tests/test_sql_refsols/defog_dealership_adv7_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_adv7_oracle.sql @@ -1,20 +1,20 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - car_id AS CAR_ID, - AVG(sale_price) AS AVG_SALE_PRICE + CAR_ID, + AVG(SALE_PRICE) AS AVG_SALE_PRICE FROM MAIN.SALES GROUP BY - car_id + CAR_ID ) SELECT - CARS.make, - CARS.model, - CARS.year, - CARS.color, - CARS.vin_number, - "_S1".AVG_SALE_PRICE AS avg_sale_price + CARS.MAKE AS make, + CARS.MODEL AS model, + CARS.YEAR AS year, + CARS.COLOR AS color, + CARS.VIN_NUMBER AS vin_number, + "_s1".AVG_SALE_PRICE AS avg_sale_price FROM MAIN.CARS CARS -LEFT JOIN "_S1" "_S1" - ON CARS."_id" = "_S1".CAR_ID +LEFT JOIN "_s1" "_s1" + ON CARS."_id" = "_s1".CAR_ID WHERE - LOWER(CARS.make) LIKE '%fords%' OR LOWER(CARS.model) LIKE '%mustang%' + LOWER(CARS.MAKE) LIKE '%fords%' OR LOWER(CARS.MODEL) LIKE '%mustang%' diff --git a/tests/test_sql_refsols/defog_dealership_adv8_oracle.sql b/tests/test_sql_refsols/defog_dealership_adv8_oracle.sql index 390e81a91..7930fa173 100644 --- a/tests/test_sql_refsols/defog_dealership_adv8_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_adv8_oracle.sql @@ -1,20 +1,20 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - TRUNC(CAST(SALES.sale_date AS DATE), 'MONTH') AS SALE_MONTH, + TRUNC(CAST(SALES.SALE_DATE AS DATE), 'MONTH') AS SALE_MONTH, COUNT(*) AS N_ROWS, - SUM(SALES.sale_price) AS SUM_SALE_PRICE + SUM(SALES.SALE_PRICE) AS SUM_SALE_PRICE FROM MAIN.SALES SALES JOIN MAIN.SALESPERSONS SALESPERSONS - ON EXTRACT(YEAR FROM CAST(SALESPERSONS.hire_date AS DATE)) <= 2023 - AND EXTRACT(YEAR FROM CAST(SALESPERSONS.hire_date AS DATE)) >= 2022 - AND SALES.salesperson_id = SALESPERSONS."_id" + ON EXTRACT(YEAR FROM CAST(SALESPERSONS.HIRE_DATE AS DATE)) <= 2023 + AND EXTRACT(YEAR FROM CAST(SALESPERSONS.HIRE_DATE AS DATE)) >= 2022 + AND SALES.SALESPERSON_ID = SALESPERSONS."_id" GROUP BY - TRUNC(CAST(SALES.sale_date AS DATE), 'MONTH') + TRUNC(CAST(SALES.SALE_DATE AS DATE), 'MONTH') ) SELECT TO_CHAR(TRUNC(MONTHS_RANGE.DT, 'MONTH'), 'YYYY-MM-DD') AS month, - COALESCE("_S3".N_ROWS, 0) AS PMSPS, - COALESCE("_S3".SUM_SALE_PRICE, 0) AS PMSR + COALESCE("_s3".N_ROWS, 0) AS PMSPS, + COALESCE("_s3".SUM_SALE_PRICE, 0) AS PMSR FROM (VALUES (TO_DATE('2025-10-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')), (TO_DATE('2025-11-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')), @@ -22,7 +22,7 @@ FROM (VALUES (TO_DATE('2026-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')), (TO_DATE('2026-02-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')), (TO_DATE('2026-03-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS'))) AS MONTHS_RANGE(DT) -LEFT JOIN "_S3" "_S3" - ON "_S3".SALE_MONTH = TRUNC(MONTHS_RANGE.DT, 'MONTH') +LEFT JOIN "_s3" "_s3" + ON "_s3".SALE_MONTH = TRUNC(MONTHS_RANGE.DT, 'MONTH') ORDER BY TRUNC(MONTHS_RANGE.DT, 'MONTH') NULLS FIRST diff --git a/tests/test_sql_refsols/defog_dealership_adv8_snowflake.sql b/tests/test_sql_refsols/defog_dealership_adv8_snowflake.sql index 86307a6cb..45f1883f2 100644 --- a/tests/test_sql_refsols/defog_dealership_adv8_snowflake.sql +++ b/tests/test_sql_refsols/defog_dealership_adv8_snowflake.sql @@ -12,17 +12,17 @@ WITH _s3 AS ( 1 ) SELECT - TO_CHAR(CAST(DATE_TRUNC('MONTH', months_range.dt) AS TIMESTAMP), 'yyyy-mm-DD') AS month, + TO_CHAR(DATE_TRUNC('MONTH', CAST(months_range.dt AS TIMESTAMP)), 'yyyy-mm-DD') AS month, COALESCE(_s3.n_rows, 0) AS PMSPS, COALESCE(_s3.sum_sale_price, 0) AS PMSR FROM (VALUES - (CAST('2025-10-01 00:00:00' AS TIMESTAMP)), - (CAST('2025-11-01 00:00:00' AS TIMESTAMP)), - (CAST('2025-12-01 00:00:00' AS TIMESTAMP)), - (CAST('2026-01-01 00:00:00' AS TIMESTAMP)), - (CAST('2026-02-01 00:00:00' AS TIMESTAMP)), - (CAST('2026-03-01 00:00:00' AS TIMESTAMP))) AS months_range(dt) + (CAST('2025-10-01 00:00:00' AS TIMESTAMPNTZ)), + (CAST('2025-11-01 00:00:00' AS TIMESTAMPNTZ)), + (CAST('2025-12-01 00:00:00' AS TIMESTAMPNTZ)), + (CAST('2026-01-01 00:00:00' AS TIMESTAMPNTZ)), + (CAST('2026-02-01 00:00:00' AS TIMESTAMPNTZ)), + (CAST('2026-03-01 00:00:00' AS TIMESTAMPNTZ))) AS months_range(dt) LEFT JOIN _s3 AS _s3 - ON _s3.sale_month = DATE_TRUNC('MONTH', months_range.dt) + ON _s3.sale_month = DATE_TRUNC('MONTH', CAST(months_range.dt AS TIMESTAMP)) ORDER BY - DATE_TRUNC('MONTH', months_range.dt) NULLS FIRST + DATE_TRUNC('MONTH', CAST(months_range.dt AS TIMESTAMP)) NULLS FIRST diff --git a/tests/test_sql_refsols/defog_dealership_adv9_oracle.sql b/tests/test_sql_refsols/defog_dealership_adv9_oracle.sql index 27040b869..7c00af1c1 100644 --- a/tests/test_sql_refsols/defog_dealership_adv9_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_adv9_oracle.sql @@ -1,6 +1,6 @@ SELECT - AVG(sale_price) AS ASP + AVG(SALE_PRICE) AS ASP FROM MAIN.SALES WHERE - sale_date <= TO_DATE('2023-03-31', 'YYYY-MM-DD') - AND sale_date >= TO_DATE('2023-01-01', 'YYYY-MM-DD') + SALE_DATE <= TO_DATE('2023-03-31', 'YYYY-MM-DD') + AND SALE_DATE >= TO_DATE('2023-01-01', 'YYYY-MM-DD') diff --git a/tests/test_sql_refsols/defog_dealership_basic10_oracle.sql b/tests/test_sql_refsols/defog_dealership_basic10_oracle.sql index 2118a6099..598bdd1c6 100644 --- a/tests/test_sql_refsols/defog_dealership_basic10_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_basic10_oracle.sql @@ -1,22 +1,22 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - salesperson_id AS SALESPERSON_ID, + SALESPERSON_ID, COUNT(*) AS N_ROWS, - SUM(sale_price) AS SUM_SALE_PRICE + SUM(SALE_PRICE) AS SUM_SALE_PRICE FROM MAIN.SALES WHERE - sale_date >= ADD_MONTHS(SYS_EXTRACT_UTC(SYSTIMESTAMP), -3) + SALE_DATE >= ADD_MONTHS(SYS_EXTRACT_UTC(SYSTIMESTAMP), -3) GROUP BY - salesperson_id + SALESPERSON_ID ) SELECT - SALESPERSONS.first_name, - SALESPERSONS.last_name, - COALESCE("_S1".N_ROWS, 0) AS total_sales, - COALESCE("_S1".SUM_SALE_PRICE, 0) AS total_revenue + SALESPERSONS.FIRST_NAME AS first_name, + SALESPERSONS.LAST_NAME AS last_name, + COALESCE("_s1".N_ROWS, 0) AS total_sales, + COALESCE("_s1".SUM_SALE_PRICE, 0) AS total_revenue FROM MAIN.SALESPERSONS SALESPERSONS -LEFT JOIN "_S1" "_S1" - ON SALESPERSONS."_id" = "_S1".SALESPERSON_ID +LEFT JOIN "_s1" "_s1" + ON SALESPERSONS."_id" = "_s1".SALESPERSON_ID ORDER BY 4 DESC NULLS LAST FETCH FIRST 3 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_dealership_basic1_ansi.sql b/tests/test_sql_refsols/defog_dealership_basic1_ansi.sql index 989d9cff0..d029dd4b3 100644 --- a/tests/test_sql_refsols/defog_dealership_basic1_ansi.sql +++ b/tests/test_sql_refsols/defog_dealership_basic1_ansi.sql @@ -1,8 +1,13 @@ +WITH _s1 AS ( + SELECT + car_id + FROM main.sales +) SELECT cars._id, cars.make, cars.model, cars.year FROM main.cars AS cars -JOIN main.sales AS sales - ON cars._id = sales.car_id +ANTI JOIN _s1 AS _s1 + ON _s1.car_id = cars._id diff --git a/tests/test_sql_refsols/defog_dealership_basic1_mysql.sql b/tests/test_sql_refsols/defog_dealership_basic1_mysql.sql index 60538d8ca..7f9544e8f 100644 --- a/tests/test_sql_refsols/defog_dealership_basic1_mysql.sql +++ b/tests/test_sql_refsols/defog_dealership_basic1_mysql.sql @@ -14,4 +14,4 @@ FROM dealership.cars AS cars LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = cars._id WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_dealership_basic1_oracle.sql b/tests/test_sql_refsols/defog_dealership_basic1_oracle.sql index e81d1523f..3033f7909 100644 --- a/tests/test_sql_refsols/defog_dealership_basic1_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_basic1_oracle.sql @@ -1,15 +1,15 @@ WITH "_u_0" AS ( SELECT - car_id AS "_u_1" + CAR_ID AS "_u_1" FROM MAIN.SALES GROUP BY - car_id + CAR_ID ) SELECT CARS."_id", - CARS.make, - CARS.model, - CARS.year + CARS.MAKE AS make, + CARS.MODEL AS model, + CARS.YEAR AS year FROM MAIN.CARS CARS LEFT JOIN "_u_0" "_u_0" ON CARS."_id" = "_u_0"."_u_1" diff --git a/tests/test_sql_refsols/defog_dealership_basic1_sqlite.sql b/tests/test_sql_refsols/defog_dealership_basic1_sqlite.sql index bbd756397..97cc3aa29 100644 --- a/tests/test_sql_refsols/defog_dealership_basic1_sqlite.sql +++ b/tests/test_sql_refsols/defog_dealership_basic1_sqlite.sql @@ -14,4 +14,4 @@ FROM main.cars AS cars LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = cars._id WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_dealership_basic2_ansi.sql b/tests/test_sql_refsols/defog_dealership_basic2_ansi.sql index a5986c275..e588992a2 100644 --- a/tests/test_sql_refsols/defog_dealership_basic2_ansi.sql +++ b/tests/test_sql_refsols/defog_dealership_basic2_ansi.sql @@ -1,5 +1,10 @@ +WITH _s1 AS ( + SELECT + customer_id + FROM main.sales +) SELECT customers._id FROM main.customers AS customers -JOIN main.sales AS sales - ON customers._id = sales.customer_id +SEMI JOIN _s1 AS _s1 + ON _s1.customer_id = customers._id diff --git a/tests/test_sql_refsols/defog_dealership_basic2_oracle.sql b/tests/test_sql_refsols/defog_dealership_basic2_oracle.sql index 0226adadc..f9e90bf44 100644 --- a/tests/test_sql_refsols/defog_dealership_basic2_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_basic2_oracle.sql @@ -1,9 +1,9 @@ WITH "_u_0" AS ( SELECT - customer_id AS "_u_1" + CUSTOMER_ID AS "_u_1" FROM MAIN.SALES GROUP BY - customer_id + CUSTOMER_ID ) SELECT CUSTOMERS."_id" diff --git a/tests/test_sql_refsols/defog_dealership_basic3_ansi.sql b/tests/test_sql_refsols/defog_dealership_basic3_ansi.sql index 04f650379..1dec51210 100644 --- a/tests/test_sql_refsols/defog_dealership_basic3_ansi.sql +++ b/tests/test_sql_refsols/defog_dealership_basic3_ansi.sql @@ -1,8 +1,13 @@ +WITH _s3 AS ( + SELECT + sales.salesperson_id + FROM main.sales AS sales + JOIN main.payments_received AS payments_received + ON payments_received.payment_method = 'cash' + AND payments_received.sale_id = sales._id +) SELECT salespersons._id AS salesperson_id FROM main.salespersons AS salespersons -JOIN main.sales AS sales - ON sales.salesperson_id = salespersons._id -JOIN main.payments_received AS payments_received - ON payments_received.payment_method = 'cash' - AND payments_received.sale_id = sales._id +SEMI JOIN _s3 AS _s3 + ON _s3.salesperson_id = salespersons._id diff --git a/tests/test_sql_refsols/defog_dealership_basic3_oracle.sql b/tests/test_sql_refsols/defog_dealership_basic3_oracle.sql index 765d7a83c..2c0aaa0ae 100644 --- a/tests/test_sql_refsols/defog_dealership_basic3_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_basic3_oracle.sql @@ -1,12 +1,12 @@ WITH "_u_0" AS ( SELECT - SALES.salesperson_id AS "_u_1" + SALES.SALESPERSON_ID AS "_u_1" FROM MAIN.SALES SALES JOIN MAIN.PAYMENTS_RECEIVED PAYMENTS_RECEIVED - ON PAYMENTS_RECEIVED.payment_method = 'cash' - AND PAYMENTS_RECEIVED.sale_id = SALES."_id" + ON PAYMENTS_RECEIVED.PAYMENT_METHOD = 'cash' + AND PAYMENTS_RECEIVED.SALE_ID = SALES."_id" GROUP BY - SALES.salesperson_id + SALES.SALESPERSON_ID ) SELECT SALESPERSONS."_id" AS salesperson_id diff --git a/tests/test_sql_refsols/defog_dealership_basic4_ansi.sql b/tests/test_sql_refsols/defog_dealership_basic4_ansi.sql index 9d0ce87c8..4fa653e27 100644 --- a/tests/test_sql_refsols/defog_dealership_basic4_ansi.sql +++ b/tests/test_sql_refsols/defog_dealership_basic4_ansi.sql @@ -1,7 +1,12 @@ +WITH _s1 AS ( + SELECT + salesperson_id + FROM main.sales +) SELECT salespersons._id, salespersons.first_name, salespersons.last_name FROM main.salespersons AS salespersons -JOIN main.sales AS sales - ON sales.salesperson_id = salespersons._id +ANTI JOIN _s1 AS _s1 + ON _s1.salesperson_id = salespersons._id diff --git a/tests/test_sql_refsols/defog_dealership_basic4_mysql.sql b/tests/test_sql_refsols/defog_dealership_basic4_mysql.sql index 5bb9f1184..82f8c55a1 100644 --- a/tests/test_sql_refsols/defog_dealership_basic4_mysql.sql +++ b/tests/test_sql_refsols/defog_dealership_basic4_mysql.sql @@ -13,4 +13,4 @@ FROM dealership.salespersons AS salespersons LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = salespersons._id WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_dealership_basic4_oracle.sql b/tests/test_sql_refsols/defog_dealership_basic4_oracle.sql index deb8447da..59722dedb 100644 --- a/tests/test_sql_refsols/defog_dealership_basic4_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_basic4_oracle.sql @@ -1,14 +1,14 @@ WITH "_u_0" AS ( SELECT - salesperson_id AS "_u_1" + SALESPERSON_ID AS "_u_1" FROM MAIN.SALES GROUP BY - salesperson_id + SALESPERSON_ID ) SELECT SALESPERSONS."_id", - SALESPERSONS.first_name, - SALESPERSONS.last_name + SALESPERSONS.FIRST_NAME AS first_name, + SALESPERSONS.LAST_NAME AS last_name FROM MAIN.SALESPERSONS SALESPERSONS LEFT JOIN "_u_0" "_u_0" ON SALESPERSONS."_id" = "_u_0"."_u_1" diff --git a/tests/test_sql_refsols/defog_dealership_basic4_sqlite.sql b/tests/test_sql_refsols/defog_dealership_basic4_sqlite.sql index 8d94ed4be..b4ed3cbd6 100644 --- a/tests/test_sql_refsols/defog_dealership_basic4_sqlite.sql +++ b/tests/test_sql_refsols/defog_dealership_basic4_sqlite.sql @@ -13,4 +13,4 @@ FROM main.salespersons AS salespersons LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = salespersons._id WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_dealership_basic5_oracle.sql b/tests/test_sql_refsols/defog_dealership_basic5_oracle.sql index b21122f4e..999b79e22 100644 --- a/tests/test_sql_refsols/defog_dealership_basic5_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_basic5_oracle.sql @@ -1,24 +1,24 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - salesperson_id AS SALESPERSON_ID, + SALESPERSON_ID, COUNT(*) AS N_ROWS, - SUM(sale_price) AS SUM_SALE_PRICE + SUM(SALE_PRICE) AS SUM_SALE_PRICE FROM MAIN.SALES WHERE ( - TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(sale_date AS DATE) AS DATE), 'DD') + TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(SALE_DATE AS DATE) AS DATE), 'DD') ) <= 30 GROUP BY - salesperson_id + SALESPERSON_ID ) SELECT - SALESPERSONS.first_name, - SALESPERSONS.last_name, - "_S1".N_ROWS AS total_sales, - COALESCE("_S1".SUM_SALE_PRICE, 0) AS total_revenue + SALESPERSONS.FIRST_NAME AS first_name, + SALESPERSONS.LAST_NAME AS last_name, + "_s1".N_ROWS AS total_sales, + COALESCE("_s1".SUM_SALE_PRICE, 0) AS total_revenue FROM MAIN.SALESPERSONS SALESPERSONS -JOIN "_S1" "_S1" - ON SALESPERSONS."_id" = "_S1".SALESPERSON_ID +JOIN "_s1" "_s1" + ON SALESPERSONS."_id" = "_s1".SALESPERSON_ID ORDER BY 3 DESC NULLS LAST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_dealership_basic6_oracle.sql b/tests/test_sql_refsols/defog_dealership_basic6_oracle.sql index e571e96ca..9d295bee5 100644 --- a/tests/test_sql_refsols/defog_dealership_basic6_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_basic6_oracle.sql @@ -1,12 +1,12 @@ SELECT - CUSTOMERS.state, - COUNT(DISTINCT SALES.customer_id) AS unique_customers, - COALESCE(SUM(SALES.sale_price), 0) AS total_revenue + CUSTOMERS.STATE AS state, + COUNT(DISTINCT SALES.CUSTOMER_ID) AS unique_customers, + COALESCE(SUM(SALES.SALE_PRICE), 0) AS total_revenue FROM MAIN.SALES SALES JOIN MAIN.CUSTOMERS CUSTOMERS - ON CUSTOMERS."_id" = SALES.customer_id + ON CUSTOMERS."_id" = SALES.CUSTOMER_ID GROUP BY - CUSTOMERS.state + CUSTOMERS.STATE ORDER BY 3 DESC NULLS LAST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_dealership_basic7_oracle.sql b/tests/test_sql_refsols/defog_dealership_basic7_oracle.sql index 9bb734c78..d54ea0f73 100644 --- a/tests/test_sql_refsols/defog_dealership_basic7_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_basic7_oracle.sql @@ -1,10 +1,10 @@ SELECT - payment_method, + PAYMENT_METHOD AS payment_method, COUNT(*) AS total_payments, - COALESCE(SUM(payment_amount), 0) AS total_amount + COALESCE(SUM(PAYMENT_AMOUNT), 0) AS total_amount FROM MAIN.PAYMENTS_RECEIVED GROUP BY - payment_method + PAYMENT_METHOD ORDER BY 3 DESC NULLS LAST FETCH FIRST 3 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_dealership_basic8_oracle.sql b/tests/test_sql_refsols/defog_dealership_basic8_oracle.sql index 5d99b226b..e4821e78c 100644 --- a/tests/test_sql_refsols/defog_dealership_basic8_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_basic8_oracle.sql @@ -1,20 +1,20 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - car_id AS CAR_ID, + CAR_ID, COUNT(*) AS N_ROWS, - SUM(sale_price) AS SUM_SALE_PRICE + SUM(SALE_PRICE) AS SUM_SALE_PRICE FROM MAIN.SALES GROUP BY - car_id + CAR_ID ) SELECT - CARS.make, - CARS.model, - COALESCE("_S1".N_ROWS, 0) AS total_sales, - COALESCE("_S1".SUM_SALE_PRICE, 0) AS total_revenue + CARS.MAKE AS make, + CARS.MODEL AS model, + COALESCE("_s1".N_ROWS, 0) AS total_sales, + COALESCE("_s1".SUM_SALE_PRICE, 0) AS total_revenue FROM MAIN.CARS CARS -LEFT JOIN "_S1" "_S1" - ON CARS."_id" = "_S1".CAR_ID +LEFT JOIN "_s1" "_s1" + ON CARS."_id" = "_s1".CAR_ID ORDER BY 4 DESC NULLS LAST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_dealership_basic9_oracle.sql b/tests/test_sql_refsols/defog_dealership_basic9_oracle.sql index f0051b3fd..7541a4f12 100644 --- a/tests/test_sql_refsols/defog_dealership_basic9_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_basic9_oracle.sql @@ -1,9 +1,9 @@ SELECT - state, + STATE AS state, COUNT(*) AS total_signups FROM MAIN.CUSTOMERS GROUP BY - state + STATE ORDER BY 2 DESC NULLS LAST FETCH FIRST 2 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_dealership_gen1_oracle.sql b/tests/test_sql_refsols/defog_dealership_gen1_oracle.sql index cabb783ea..25ce67d2d 100644 --- a/tests/test_sql_refsols/defog_dealership_gen1_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_gen1_oracle.sql @@ -1,11 +1,11 @@ SELECT - first_name, - last_name, - phone, - TRUNC(CAST(CAST(termination_date AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(hire_date AS DATE) AS DATE), 'DD') AS days_employed + FIRST_NAME AS first_name, + LAST_NAME AS last_name, + PHONE AS phone, + TRUNC(CAST(CAST(TERMINATION_DATE AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(HIRE_DATE AS DATE) AS DATE), 'DD') AS days_employed FROM MAIN.SALESPERSONS WHERE - NOT termination_date IS NULL + NOT TERMINATION_DATE IS NULL ORDER BY 4 NULLS FIRST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_dealership_gen2_databricks.sql b/tests/test_sql_refsols/defog_dealership_gen2_databricks.sql index 623b86a7b..eb3fc2165 100644 --- a/tests/test_sql_refsols/defog_dealership_gen2_databricks.sql +++ b/tests/test_sql_refsols/defog_dealership_gen2_databricks.sql @@ -4,7 +4,7 @@ FROM defog.dealership.payments_made WHERE ( ( - DAYOFWEEK(TO_DATE(payment_date)) + 5 + DAYOFWEEK(payment_date) + 5 ) % 7 ) IN (5, 6) AND vendor_name = 'Utility Company' diff --git a/tests/test_sql_refsols/defog_dealership_gen2_oracle.sql b/tests/test_sql_refsols/defog_dealership_gen2_oracle.sql index 488d5af69..31c5f96da 100644 --- a/tests/test_sql_refsols/defog_dealership_gen2_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_gen2_oracle.sql @@ -4,7 +4,7 @@ FROM MAIN.PAYMENTS_MADE WHERE ( MOD(( - TO_CHAR(payment_date, 'D') + 5 + TO_CHAR(PAYMENT_DATE, 'D') + 5 ), 7) ) IN (5, 6) - AND vendor_name = 'Utility Company' + AND VENDOR_NAME = 'Utility Company' diff --git a/tests/test_sql_refsols/defog_dealership_gen3_databricks.sql b/tests/test_sql_refsols/defog_dealership_gen3_databricks.sql index 98b01e1e4..3dc5be637 100644 --- a/tests/test_sql_refsols/defog_dealership_gen3_databricks.sql +++ b/tests/test_sql_refsols/defog_dealership_gen3_databricks.sql @@ -6,23 +6,18 @@ FROM defog.dealership.payments_received WHERE CAST(DATEDIFF( DAY, - DATEADD( - DAY, + DATE_ADD(CAST(payment_date AS DATE), -( + ( + DAYOFWEEK(payment_date) + 5 + ) % 7 + )), + DATE_ADD( + CAST(CURRENT_TIMESTAMP() AS DATE), -( ( - DAYOFWEEK(TO_DATE(payment_date)) + 5 + DAYOFWEEK(CURRENT_TIMESTAMP()) + 5 ) % 7 - ), - CAST(payment_date AS DATE) - ), - DATEADD( - DAY, - -( - ( - DAYOFWEEK(TO_DATE(CURRENT_TIMESTAMP())) + 5 - ) % 7 - ), - CAST(CURRENT_TIMESTAMP() AS DATE) + ) ) ) / 7 AS BIGINT) = 1 GROUP BY diff --git a/tests/test_sql_refsols/defog_dealership_gen3_oracle.sql b/tests/test_sql_refsols/defog_dealership_gen3_oracle.sql index 1e118cc68..a1eb84c72 100644 --- a/tests/test_sql_refsols/defog_dealership_gen3_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_gen3_oracle.sql @@ -1,14 +1,14 @@ SELECT - payment_date, - payment_method, - COALESCE(SUM(payment_amount), 0) AS total_amount + PAYMENT_DATE AS payment_date, + PAYMENT_METHOD AS payment_method, + COALESCE(SUM(PAYMENT_AMOUNT), 0) AS total_amount FROM MAIN.PAYMENTS_RECEIVED WHERE FLOOR( ( - TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(payment_date AS DATE) AS DATE), 'DD') + ( + TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(PAYMENT_DATE AS DATE) AS DATE), 'DD') + ( MOD(( - TO_CHAR(CAST(payment_date AS DATE), 'D') + 5 + TO_CHAR(CAST(PAYMENT_DATE AS DATE), 'D') + 5 ), 7) ) - ( MOD(( @@ -18,8 +18,8 @@ WHERE ) / 7 ) = 1 GROUP BY - payment_date, - payment_method + PAYMENT_DATE, + PAYMENT_METHOD ORDER BY 1 DESC NULLS LAST, 2 NULLS FIRST diff --git a/tests/test_sql_refsols/defog_dealership_gen4_oracle.sql b/tests/test_sql_refsols/defog_dealership_gen4_oracle.sql index d98130421..3f309a3fc 100644 --- a/tests/test_sql_refsols/defog_dealership_gen4_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_gen4_oracle.sql @@ -1,31 +1,31 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - TRUNC(CAST(CAST(sale_date AS DATE) AS DATE), 'Q') AS QUARTER, - customer_id AS CUSTOMER_ID, - SUM(sale_price) AS SUM_SALE_PRICE + TRUNC(CAST(CAST(SALE_DATE AS DATE) AS DATE), 'Q') AS QUARTER, + CUSTOMER_ID, + SUM(SALE_PRICE) AS SUM_SALE_PRICE FROM MAIN.SALES WHERE - EXTRACT(YEAR FROM CAST(sale_date AS DATE)) = 2023 + EXTRACT(YEAR FROM CAST(SALE_DATE AS DATE)) = 2023 GROUP BY - TRUNC(CAST(CAST(sale_date AS DATE) AS DATE), 'Q'), - customer_id -), "_T1" AS ( + TRUNC(CAST(CAST(SALE_DATE AS DATE) AS DATE), 'Q'), + CUSTOMER_ID +), "_t1" AS ( SELECT - "_S0".QUARTER, - CUSTOMERS.state AS STATE, - SUM("_S0".SUM_SALE_PRICE) AS SUM_SUM_SALE_PRICE - FROM "_S0" "_S0" + "_s0".QUARTER, + CUSTOMERS.STATE, + SUM("_s0".SUM_SALE_PRICE) AS SUM_SUM_SALE_PRICE + FROM "_s0" "_s0" JOIN MAIN.CUSTOMERS CUSTOMERS - ON CUSTOMERS."_id" = "_S0".CUSTOMER_ID + ON CUSTOMERS."_id" = "_s0".CUSTOMER_ID GROUP BY - "_S0".QUARTER, - CUSTOMERS.state + "_s0".QUARTER, + CUSTOMERS.STATE ) SELECT QUARTER AS quarter, STATE AS customer_state, SUM_SUM_SALE_PRICE AS total_sales -FROM "_T1" +FROM "_t1" WHERE NOT SUM_SUM_SALE_PRICE IS NULL AND SUM_SUM_SALE_PRICE > 0 ORDER BY diff --git a/tests/test_sql_refsols/defog_dealership_gen5_mysql.sql b/tests/test_sql_refsols/defog_dealership_gen5_mysql.sql index bb77547cf..6bccf9470 100644 --- a/tests/test_sql_refsols/defog_dealership_gen5_mysql.sql +++ b/tests/test_sql_refsols/defog_dealership_gen5_mysql.sql @@ -2,7 +2,9 @@ WITH _t AS ( SELECT car_id, is_in_inventory, - RANK() OVER (ORDER BY CASE WHEN snapshot_date IS NULL THEN 1 ELSE 0 END DESC, snapshot_date DESC) AS _w + RANK() OVER ( + ORDER BY CASE WHEN snapshot_date IS NULL THEN 1 ELSE 0 END DESC, snapshot_date DESC + ) AS _w FROM dealership.inventory_snapshots WHERE EXTRACT(MONTH FROM CAST(snapshot_date AS DATETIME)) = 3 diff --git a/tests/test_sql_refsols/defog_dealership_gen5_oracle.sql b/tests/test_sql_refsols/defog_dealership_gen5_oracle.sql index 815788cfa..cafe5c3a3 100644 --- a/tests/test_sql_refsols/defog_dealership_gen5_oracle.sql +++ b/tests/test_sql_refsols/defog_dealership_gen5_oracle.sql @@ -1,20 +1,20 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - car_id AS CAR_ID, - is_in_inventory AS IS_IN_INVENTORY, - RANK() OVER (ORDER BY snapshot_date DESC) AS "_W" + CAR_ID, + IS_IN_INVENTORY, + RANK() OVER (ORDER BY SNAPSHOT_DATE DESC) AS "_w" FROM MAIN.INVENTORY_SNAPSHOTS WHERE - EXTRACT(MONTH FROM CAST(snapshot_date AS DATE)) = 3 - AND EXTRACT(YEAR FROM CAST(snapshot_date AS DATE)) = 2023 + EXTRACT(MONTH FROM CAST(SNAPSHOT_DATE AS DATE)) = 3 + AND EXTRACT(YEAR FROM CAST(SNAPSHOT_DATE AS DATE)) = 2023 ) SELECT CARS."_id", - CARS.make, - CARS.model, - CARS.year -FROM "_T" "_T" + CARS.MAKE AS make, + CARS.MODEL AS model, + CARS.YEAR AS year +FROM "_t" "_t" JOIN MAIN.CARS CARS - ON CARS."_id" = "_T".CAR_ID + ON CARS."_id" = "_t".CAR_ID WHERE - "_T".IS_IN_INVENTORY AND "_T"."_W" = 1 + "_t".IS_IN_INVENTORY AND "_t"."_w" = 1 diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv10_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_adv10_oracle.sql index f277dc356..b758cc7bf 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv10_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv10_oracle.sql @@ -1,21 +1,21 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - TREATMENTS.drug_id AS DRUG_ID, + TREATMENTS.DRUG_ID, COUNT(*) AS N_ROWS FROM MAIN.TREATMENTS TREATMENTS JOIN MAIN.ADVERSE_EVENTS ADVERSE_EVENTS - ON ADVERSE_EVENTS.treatment_id = TREATMENTS.treatment_id - AND TRUNC(CAST(ADVERSE_EVENTS.reported_dt AS DATE), 'MONTH') = TRUNC(CAST(TREATMENTS.start_dt AS DATE), 'MONTH') + ON ADVERSE_EVENTS.TREATMENT_ID = TREATMENTS.TREATMENT_ID + AND TRUNC(CAST(ADVERSE_EVENTS.REPORTED_DT AS DATE), 'MONTH') = TRUNC(CAST(TREATMENTS.START_DT AS DATE), 'MONTH') GROUP BY - TREATMENTS.drug_id + TREATMENTS.DRUG_ID ) SELECT - DRUGS.drug_id, - DRUGS.drug_name, - "_S3".N_ROWS AS num_adverse_events + DRUGS.DRUG_ID AS drug_id, + DRUGS.DRUG_NAME AS drug_name, + "_s3".N_ROWS AS num_adverse_events FROM MAIN.DRUGS DRUGS -JOIN "_S3" "_S3" - ON DRUGS.drug_id = "_S3".DRUG_ID +JOIN "_s3" "_s3" + ON DRUGS.DRUG_ID = "_s3".DRUG_ID ORDER BY 3 DESC NULLS LAST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv11_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_adv11_oracle.sql index 0dcf91911..2bf929664 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv11_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv11_oracle.sql @@ -2,4 +2,4 @@ SELECT COUNT(*) AS num_patients_with_gmail_or_yahoo FROM MAIN.PATIENTS WHERE - email LIKE '%@gmail.com' OR email LIKE '%@yahoo.com' + EMAIL LIKE '%@gmail.com' OR EMAIL LIKE '%@yahoo.com' diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv12_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_adv12_oracle.sql index 7eca7d159..d6c7c870f 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv12_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv12_oracle.sql @@ -1,7 +1,7 @@ SELECT - first_name, - last_name, - specialty + FIRST_NAME AS first_name, + LAST_NAME AS last_name, + SPECIALTY AS specialty FROM MAIN.DOCTORS WHERE - LOWER(first_name) LIKE 'j%' OR LOWER(last_name) LIKE '%son%' + LOWER(FIRST_NAME) LIKE 'j%' OR LOWER(LAST_NAME) LIKE '%son%' diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv13_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_adv13_oracle.sql index f63887b27..7b6dd6ace 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv13_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv13_oracle.sql @@ -2,4 +2,4 @@ SELECT COUNT(*) AS PIC_female FROM MAIN.PATIENTS WHERE - gender = 'Female' AND ins_type = 'private' + GENDER = 'Female' AND INS_TYPE = 'private' diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv14_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_adv14_oracle.sql index 482c93660..91131ccd2 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv14_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv14_oracle.sql @@ -1,5 +1,5 @@ SELECT - AVG(weight_kg) AS CAW_male + AVG(WEIGHT_KG) AS CAW_male FROM MAIN.PATIENTS WHERE - gender = 'Male' + GENDER = 'Male' diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv15_ansi.sql b/tests/test_sql_refsols/defog_dermtreatment_adv15_ansi.sql index 88abd7b0b..81188b529 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv15_ansi.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv15_ansi.sql @@ -1,4 +1,10 @@ -WITH _s3 AS ( +WITH _s1 AS ( + SELECT + drug_id + FROM main.treatments + WHERE + NOT end_dt IS NULL +), _s3 AS ( SELECT drug_id, AVG( @@ -14,7 +20,7 @@ SELECT drugs.drug_name, _s3.avg_ddd FROM main.drugs AS drugs -JOIN main.treatments AS treatments - ON NOT treatments.end_dt IS NULL AND drugs.drug_id = treatments.drug_id +SEMI JOIN _s1 AS _s1 + ON _s1.drug_id = drugs.drug_id LEFT JOIN _s3 AS _s3 ON _s3.drug_id = drugs.drug_id diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv15_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_adv15_oracle.sql index 4ea39b25b..d0a656b11 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv15_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv15_oracle.sql @@ -1,36 +1,36 @@ WITH "_u_0" AS ( SELECT - drug_id AS "_u_1" + DRUG_ID AS "_u_1" FROM MAIN.TREATMENTS WHERE - NOT end_dt IS NULL + NOT END_DT IS NULL GROUP BY - drug_id -), "_S3" AS ( + DRUG_ID +), "_s3" AS ( SELECT - drug_id AS DRUG_ID, + DRUG_ID, AVG( - tot_drug_amt / CASE + TOT_DRUG_AMT / CASE WHEN ( - TRUNC(CAST(CAST(end_dt AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(start_dt AS DATE) AS DATE), 'DD') + TRUNC(CAST(CAST(END_DT AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(START_DT AS DATE) AS DATE), 'DD') ) <> 0 - THEN TRUNC(CAST(CAST(end_dt AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(start_dt AS DATE) AS DATE), 'DD') + THEN TRUNC(CAST(CAST(END_DT AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(START_DT AS DATE) AS DATE), 'DD') ELSE NULL END ) AS AVG_DDD FROM MAIN.TREATMENTS WHERE - NOT end_dt IS NULL + NOT END_DT IS NULL GROUP BY - drug_id + DRUG_ID ) SELECT - DRUGS.drug_name, - "_S3".AVG_DDD AS avg_ddd + DRUGS.DRUG_NAME AS drug_name, + "_s3".AVG_DDD AS avg_ddd FROM MAIN.DRUGS DRUGS LEFT JOIN "_u_0" "_u_0" - ON DRUGS.drug_id = "_u_0"."_u_1" -LEFT JOIN "_S3" "_S3" - ON DRUGS.drug_id = "_S3".DRUG_ID + ON DRUGS.DRUG_ID = "_u_0"."_u_1" +LEFT JOIN "_s3" "_s3" + ON DRUGS.DRUG_ID = "_s3".DRUG_ID WHERE NOT "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv16_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_adv16_oracle.sql index c793e71a6..bb4b2ac83 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv16_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv16_oracle.sql @@ -1,9 +1,9 @@ SELECT ( ( - AVG(CAST(day100_pasi_score AS DOUBLE PRECISION)) - AVG(CAST(day7_pasi_score AS DOUBLE PRECISION)) - ) / NULLIF(AVG(CAST(day7_pasi_score AS DOUBLE PRECISION)), 0) + AVG(CAST(DAY100_PASI_SCORE AS DOUBLE PRECISION)) - AVG(CAST(DAY7_PASI_SCORE AS DOUBLE PRECISION)) + ) / NULLIF(AVG(CAST(DAY7_PASI_SCORE AS DOUBLE PRECISION)), 0) ) * 100 AS d7d100pir FROM MAIN.OUTCOMES WHERE - NOT day100_pasi_score IS NULL AND NOT day7_pasi_score IS NULL + NOT DAY100_PASI_SCORE IS NULL AND NOT DAY7_PASI_SCORE IS NULL diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv1_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_adv1_oracle.sql index 78e84803c..2b7479433 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv1_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv1_oracle.sql @@ -1,7 +1,7 @@ SELECT DISTINCT - DOCTORS.loc_state AS state + DOCTORS.LOC_STATE AS state FROM MAIN.TREATMENTS TREATMENTS JOIN MAIN.DRUGS DRUGS - ON DRUGS.drug_id = TREATMENTS.drug_id AND DRUGS.drug_type = 'biologic' + ON DRUGS.DRUG_ID = TREATMENTS.DRUG_ID AND DRUGS.DRUG_TYPE = 'biologic' JOIN MAIN.DOCTORS DOCTORS - ON DOCTORS.doc_id = TREATMENTS.doc_id + ON DOCTORS.DOC_ID = TREATMENTS.DOC_ID diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv2_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_adv2_oracle.sql index 58f79825c..633648813 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv2_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv2_oracle.sql @@ -1,7 +1,7 @@ SELECT - AVG(PATIENTS.weight_kg) AS avg_weight + AVG(PATIENTS.WEIGHT_KG) AS avg_weight FROM MAIN.TREATMENTS TREATMENTS JOIN MAIN.DRUGS DRUGS - ON DRUGS.drug_id = TREATMENTS.drug_id AND LOWER(DRUGS.drug_name) = 'drugalin' + ON DRUGS.DRUG_ID = TREATMENTS.DRUG_ID AND LOWER(DRUGS.DRUG_NAME) = 'drugalin' JOIN MAIN.PATIENTS PATIENTS - ON PATIENTS.patient_id = TREATMENTS.patient_id + ON PATIENTS.PATIENT_ID = TREATMENTS.PATIENT_ID diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv3_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_adv3_oracle.sql index 9c576f138..59387fcd1 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv3_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv3_oracle.sql @@ -1,10 +1,10 @@ SELECT - ADVERSE_EVENTS.description, - ADVERSE_EVENTS.treatment_id, - DRUGS.drug_id, - DRUGS.drug_name + ADVERSE_EVENTS.DESCRIPTION AS description, + ADVERSE_EVENTS.TREATMENT_ID AS treatment_id, + DRUGS.DRUG_ID AS drug_id, + DRUGS.DRUG_NAME AS drug_name FROM MAIN.ADVERSE_EVENTS ADVERSE_EVENTS JOIN MAIN.TREATMENTS TREATMENTS - ON ADVERSE_EVENTS.treatment_id = TREATMENTS.treatment_id + ON ADVERSE_EVENTS.TREATMENT_ID = TREATMENTS.TREATMENT_ID JOIN MAIN.DRUGS DRUGS - ON DRUGS.drug_id = TREATMENTS.drug_id AND DRUGS.drug_type = 'topical' + ON DRUGS.DRUG_ID = TREATMENTS.DRUG_ID AND DRUGS.DRUG_TYPE = 'topical' diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv4_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_adv4_oracle.sql index ff925bd6d..ed68aa18b 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv4_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv4_oracle.sql @@ -1,8 +1,8 @@ SELECT - COUNT(DISTINCT TREATMENTS.patient_id) AS patient_count + COUNT(DISTINCT TREATMENTS.PATIENT_ID) AS patient_count FROM MAIN.TREATMENTS TREATMENTS JOIN MAIN.DIAGNOSES DIAGNOSES - ON DIAGNOSES.diag_id = TREATMENTS.diag_id - AND LOWER(DIAGNOSES.diag_name) = 'psoriasis vulgaris' + ON DIAGNOSES.DIAG_ID = TREATMENTS.DIAG_ID + AND LOWER(DIAGNOSES.DIAG_NAME) = 'psoriasis vulgaris' JOIN MAIN.DRUGS DRUGS - ON DRUGS.drug_id = TREATMENTS.drug_id AND LOWER(DRUGS.drug_type) = 'biologic' + ON DRUGS.DRUG_ID = TREATMENTS.DRUG_ID AND LOWER(DRUGS.DRUG_TYPE) = 'biologic' diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv5_ansi.sql b/tests/test_sql_refsols/defog_dermtreatment_adv5_ansi.sql index a099cd460..7a77b350b 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv5_ansi.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv5_ansi.sql @@ -1,11 +1,15 @@ -WITH _t1 AS ( +WITH _s1 AS ( SELECT - MIN(EXTRACT(YEAR FROM CAST(treatments_2.start_dt AS DATETIME))) AS min_year_start_dt + patient_id + FROM main.treatments +), _t1 AS ( + SELECT + MIN(EXTRACT(YEAR FROM CAST(treatments.start_dt AS DATETIME))) AS min_year_start_dt FROM main.patients AS patients - JOIN main.treatments AS treatments + SEMI JOIN _s1 AS _s1 + ON _s1.patient_id = patients.patient_id + LEFT JOIN main.treatments AS treatments ON patients.patient_id = treatments.patient_id - LEFT JOIN main.treatments AS treatments_2 - ON patients.patient_id = treatments_2.patient_id GROUP BY patients.patient_id ), _t0 AS ( diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv5_mysql.sql b/tests/test_sql_refsols/defog_dermtreatment_adv5_mysql.sql index 526f6ba94..7655c35f2 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv5_mysql.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv5_mysql.sql @@ -27,7 +27,9 @@ WITH _u_0 AS ( SELECT CAST(min_year_start_dt AS CHAR) COLLATE utf8mb4_bin AS year, n_rows AS number_of_new_patients, - n_rows - LAG(n_rows, 1) OVER (ORDER BY CASE WHEN min_year_start_dt IS NULL THEN 1 ELSE 0 END, min_year_start_dt) AS npi + n_rows - LAG(n_rows, 1) OVER ( + ORDER BY CASE WHEN min_year_start_dt IS NULL THEN 1 ELSE 0 END, min_year_start_dt + ) AS npi FROM _t0 ORDER BY 1 diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv5_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_adv5_oracle.sql index 0022157c0..5a8f47576 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv5_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv5_oracle.sql @@ -1,26 +1,26 @@ WITH "_u_0" AS ( SELECT - patient_id AS "_u_1" + PATIENT_ID AS "_u_1" FROM MAIN.TREATMENTS GROUP BY - patient_id -), "_T1" AS ( + PATIENT_ID +), "_t1" AS ( SELECT - MIN(EXTRACT(YEAR FROM CAST(TREATMENTS.start_dt AS DATE))) AS MIN_YEAR_START_DT + MIN(EXTRACT(YEAR FROM CAST(TREATMENTS.START_DT AS DATE))) AS MIN_YEAR_START_DT FROM MAIN.PATIENTS PATIENTS LEFT JOIN "_u_0" "_u_0" - ON PATIENTS.patient_id = "_u_0"."_u_1" + ON PATIENTS.PATIENT_ID = "_u_0"."_u_1" LEFT JOIN MAIN.TREATMENTS TREATMENTS - ON PATIENTS.patient_id = TREATMENTS.patient_id + ON PATIENTS.PATIENT_ID = TREATMENTS.PATIENT_ID WHERE NOT "_u_0"."_u_1" IS NULL GROUP BY - PATIENTS.patient_id -), "_T0" AS ( + PATIENTS.PATIENT_ID +), "_t0" AS ( SELECT MIN_YEAR_START_DT, COUNT(*) AS N_ROWS - FROM "_T1" + FROM "_t1" GROUP BY MIN_YEAR_START_DT ) @@ -28,6 +28,6 @@ SELECT TO_CHAR(MIN_YEAR_START_DT) AS year, N_ROWS AS number_of_new_patients, N_ROWS - LAG(N_ROWS, 1) OVER (ORDER BY MIN_YEAR_START_DT) AS npi -FROM "_T0" +FROM "_t0" ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv5_snowflake.sql b/tests/test_sql_refsols/defog_dermtreatment_adv5_snowflake.sql index 9b0f85728..09262583a 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv5_snowflake.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv5_snowflake.sql @@ -25,7 +25,7 @@ WITH _u_0 AS ( 1 ) SELECT - CAST(min_year_start_dt AS TEXT) AS year, + CAST(min_year_start_dt AS VARCHAR) AS year, n_rows AS number_of_new_patients, n_rows - LAG(n_rows, 1) OVER (ORDER BY min_year_start_dt) AS npi FROM _t0 diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv6_mysql.sql b/tests/test_sql_refsols/defog_dermtreatment_adv6_mysql.sql index 4335fd710..6f01a7688 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv6_mysql.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv6_mysql.sql @@ -10,7 +10,10 @@ SELECT doctors.doc_id, doctors.specialty, _s1.ndistinct_drug_id AS num_distinct_drugs, - DENSE_RANK() OVER (PARTITION BY doctors.specialty ORDER BY CASE WHEN _s1.ndistinct_drug_id IS NULL THEN 1 ELSE 0 END DESC, _s1.ndistinct_drug_id DESC) AS SDRSDR + DENSE_RANK() OVER ( + PARTITION BY doctors.specialty + ORDER BY CASE WHEN _s1.ndistinct_drug_id IS NULL THEN 1 ELSE 0 END DESC, _s1.ndistinct_drug_id DESC + ) AS SDRSDR FROM doctors AS doctors JOIN _s1 AS _s1 ON _s1.doc_id = doctors.doc_id diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv6_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_adv6_oracle.sql index 46c7b7aca..6ebec4291 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv6_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv6_oracle.sql @@ -1,16 +1,16 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - doc_id AS DOC_ID, - COUNT(DISTINCT drug_id) AS NDISTINCT_DRUG_ID + DOC_ID, + COUNT(DISTINCT DRUG_ID) AS NDISTINCT_DRUG_ID FROM MAIN.TREATMENTS GROUP BY - doc_id + DOC_ID ) SELECT - DOCTORS.doc_id, - DOCTORS.specialty, - "_S1".NDISTINCT_DRUG_ID AS num_distinct_drugs, - DENSE_RANK() OVER (PARTITION BY DOCTORS.specialty ORDER BY "_S1".NDISTINCT_DRUG_ID DESC) AS SDRSDR + DOCTORS.DOC_ID AS doc_id, + DOCTORS.SPECIALTY AS specialty, + "_s1".NDISTINCT_DRUG_ID AS num_distinct_drugs, + DENSE_RANK() OVER (PARTITION BY DOCTORS.SPECIALTY ORDER BY "_s1".NDISTINCT_DRUG_ID DESC) AS SDRSDR FROM MAIN.DOCTORS DOCTORS -JOIN "_S1" "_S1" - ON DOCTORS.doc_id = "_S1".DOC_ID +JOIN "_s1" "_s1" + ON DOCTORS.DOC_ID = "_s1".DOC_ID diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv7_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_adv7_oracle.sql index 517536534..022d4d00d 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv7_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv7_oracle.sql @@ -2,8 +2,8 @@ SELECT COUNT(*) AS num_treatments FROM MAIN.TREATMENTS TREATMENTS JOIN MAIN.PATIENTS PATIENTS - ON LOWER(PATIENTS.first_name) = 'alice' - AND PATIENTS.patient_id = TREATMENTS.patient_id + ON LOWER(PATIENTS.FIRST_NAME) = 'alice' + AND PATIENTS.PATIENT_ID = TREATMENTS.PATIENT_ID WHERE - TREATMENTS.start_dt < TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH') - AND TREATMENTS.start_dt >= ADD_MONTHS(TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH'), -6) + TREATMENTS.START_DT < TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH') + AND TREATMENTS.START_DT >= ADD_MONTHS(TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH'), -6) diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv8_databricks.sql b/tests/test_sql_refsols/defog_dermtreatment_adv8_databricks.sql index ee5b6020d..ab4bc70cb 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv8_databricks.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv8_databricks.sql @@ -11,7 +11,12 @@ WITH _t0 AS ( 1 ) SELECT - CONCAT_WS('-', EXTRACT(YEAR FROM start_month), LPAD(EXTRACT(MONTH FROM start_month), 2, '0')) AS start_month, + CASE + WHEN EXTRACT(YEAR FROM start_month) IS NULL + OR LPAD(EXTRACT(MONTH FROM start_month), 2, '0') IS NULL + THEN NULL + ELSE CONCAT_WS('-', EXTRACT(YEAR FROM start_month), LPAD(EXTRACT(MONTH FROM start_month), 2, '0')) + END AS start_month, ndistinct_diag_id AS PMPD, n_rows AS PMTC FROM _t0 diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv8_duckdb.sql b/tests/test_sql_refsols/defog_dermtreatment_adv8_duckdb.sql index 45f850bfb..8baacdcbc 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv8_duckdb.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv8_duckdb.sql @@ -11,15 +11,24 @@ WITH _t0 AS ( 1 ) SELECT - CONCAT_WS( - '-', - EXTRACT(YEAR FROM CAST(start_month AS TIMESTAMP)), - CASE + CASE + WHEN CASE WHEN LENGTH(CAST(EXTRACT(MONTH FROM CAST(start_month AS TIMESTAMP)) AS TEXT)) >= 2 THEN SUBSTRING(CAST(EXTRACT(MONTH FROM CAST(start_month AS TIMESTAMP)) AS TEXT), 1, 2) - ELSE SUBSTRING(CONCAT('00', CAST(EXTRACT(MONTH FROM CAST(start_month AS TIMESTAMP)) AS TEXT)), -2) - END - ) AS start_month, + ELSE SUBSTRING('00' || CAST(EXTRACT(MONTH FROM CAST(start_month AS TIMESTAMP)) AS TEXT), -2) + END IS NULL + OR EXTRACT(YEAR FROM CAST(start_month AS TIMESTAMP)) IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + EXTRACT(YEAR FROM CAST(start_month AS TIMESTAMP)), + CASE + WHEN LENGTH(CAST(EXTRACT(MONTH FROM CAST(start_month AS TIMESTAMP)) AS TEXT)) >= 2 + THEN SUBSTRING(CAST(EXTRACT(MONTH FROM CAST(start_month AS TIMESTAMP)) AS TEXT), 1, 2) + ELSE SUBSTRING('00' || CAST(EXTRACT(MONTH FROM CAST(start_month AS TIMESTAMP)) AS TEXT), -2) + END + ) + END AS start_month, ndistinct_diag_id AS PMPD, n_rows AS PMTC FROM _t0 diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv8_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_adv8_oracle.sql index db0643505..966b8304e 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv8_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv8_oracle.sql @@ -1,19 +1,19 @@ -WITH "_T0" AS ( +WITH "_t0" AS ( SELECT - TRUNC(CAST(start_dt AS DATE), 'MONTH') AS START_MONTH, + TRUNC(CAST(START_DT AS DATE), 'MONTH') AS START_MONTH, COUNT(*) AS N_ROWS, - COUNT(DISTINCT diag_id) AS NDISTINCT_DIAG_ID + COUNT(DISTINCT DIAG_ID) AS NDISTINCT_DIAG_ID FROM MAIN.TREATMENTS WHERE - ADD_MONTHS(TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH'), -12) <= TRUNC(CAST(start_dt AS DATE), 'MONTH') - AND TRUNC(CAST(start_dt AS DATE), 'MONTH') < TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH') + ADD_MONTHS(TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH'), -12) <= TRUNC(CAST(START_DT AS DATE), 'MONTH') + AND TRUNC(CAST(START_DT AS DATE), 'MONTH') < TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH') GROUP BY - TRUNC(CAST(start_dt AS DATE), 'MONTH') + TRUNC(CAST(START_DT AS DATE), 'MONTH') ) SELECT NVL(EXTRACT(YEAR FROM START_MONTH), '') || '-' || NVL(LPAD(EXTRACT(MONTH FROM START_MONTH), 2, '0'), '') AS start_month, NDISTINCT_DIAG_ID AS PMPD, N_ROWS AS PMTC -FROM "_T0" +FROM "_t0" ORDER BY 1 DESC NULLS LAST diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv8_postgres.sql b/tests/test_sql_refsols/defog_dermtreatment_adv8_postgres.sql index aaae5fe4f..1f4d17e27 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv8_postgres.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv8_postgres.sql @@ -11,11 +11,16 @@ WITH _t0 AS ( 1 ) SELECT - CONCAT_WS( - '-', - EXTRACT(YEAR FROM CAST(start_month AS TIMESTAMP)), - LPAD(CAST(EXTRACT(MONTH FROM CAST(start_month AS TIMESTAMP)) AS TEXT), 2, '0') - ) AS start_month, + CASE + WHEN EXTRACT(YEAR FROM CAST(start_month AS TIMESTAMP)) IS NULL + OR LPAD(CAST(EXTRACT(MONTH FROM CAST(start_month AS TIMESTAMP)) AS TEXT), 2, '0') IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + EXTRACT(YEAR FROM CAST(start_month AS TIMESTAMP)), + LPAD(CAST(EXTRACT(MONTH FROM CAST(start_month AS TIMESTAMP)) AS TEXT), 2, '0') + ) + END AS start_month, ndistinct_diag_id AS PMPD, n_rows AS PMTC FROM _t0 diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv8_snowflake.sql b/tests/test_sql_refsols/defog_dermtreatment_adv8_snowflake.sql index b6511215d..ba9745d31 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv8_snowflake.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv8_snowflake.sql @@ -15,11 +15,7 @@ WITH _t0 AS ( 1 ) SELECT - CONCAT_WS( - '-', - YEAR(CAST(start_month AS TIMESTAMP)), - LPAD(MONTH(CAST(start_month AS TIMESTAMP)), 2, '0') - ) AS start_month, + CONCAT_WS('-', YEAR(start_month), LPAD(MONTH(start_month), 2, '0')) AS start_month, ndistinct_diag_id AS PMPD, n_rows AS PMTC FROM _t0 diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv8_trino.sql b/tests/test_sql_refsols/defog_dermtreatment_adv8_trino.sql index e0e7f458e..d52e4b92b 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv8_trino.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv8_trino.sql @@ -11,11 +11,16 @@ WITH _t0 AS ( 1 ) SELECT - CONCAT_WS( - '-', - CAST(YEAR(CAST(start_month AS TIMESTAMP)) AS VARCHAR), - CAST(LPAD(CAST(MONTH(CAST(start_month AS TIMESTAMP)) AS VARCHAR), 2, '0') AS VARCHAR) - ) AS start_month, + CASE + WHEN CAST(LPAD(CAST(MONTH(CAST(start_month AS TIMESTAMP)) AS VARCHAR), 2, '0') AS VARCHAR) IS NULL + OR CAST(YEAR(CAST(start_month AS TIMESTAMP)) AS VARCHAR) IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + CAST(YEAR(CAST(start_month AS TIMESTAMP)) AS VARCHAR), + CAST(LPAD(CAST(MONTH(CAST(start_month AS TIMESTAMP)) AS VARCHAR), 2, '0') AS VARCHAR) + ) + END AS start_month, ndistinct_diag_id AS PMPD, n_rows AS PMTC FROM _t0 diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv9_databricks.sql b/tests/test_sql_refsols/defog_dermtreatment_adv9_databricks.sql index 93ea86869..07f57d071 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv9_databricks.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv9_databricks.sql @@ -1,10 +1,16 @@ WITH _s2 AS ( SELECT - CONCAT_WS( - '-', - EXTRACT(YEAR FROM CAST(start_dt AS TIMESTAMP)), - LPAD(EXTRACT(MONTH FROM CAST(start_dt AS TIMESTAMP)), 2, '0') - ) AS treatment_month, + CASE + WHEN '-' IS NULL + OR EXTRACT(YEAR FROM CAST(start_dt AS TIMESTAMP)) IS NULL + OR LPAD(EXTRACT(MONTH FROM CAST(start_dt AS TIMESTAMP)), 2, '0') IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + EXTRACT(YEAR FROM CAST(start_dt AS TIMESTAMP)), + LPAD(EXTRACT(MONTH FROM CAST(start_dt AS TIMESTAMP)), 2, '0') + ) + END AS treatment_month, COUNT(DISTINCT patient_id) AS ndistinct_patient_id FROM defog.dermtreatment.treatments WHERE @@ -14,11 +20,17 @@ WITH _s2 AS ( 1 ), _s3 AS ( SELECT - CONCAT_WS( - '-', - EXTRACT(YEAR FROM CAST(treatments.start_dt AS TIMESTAMP)), - LPAD(EXTRACT(MONTH FROM CAST(treatments.start_dt AS TIMESTAMP)), 2, '0') - ) AS treatment_month, + CASE + WHEN '-' IS NULL + OR EXTRACT(YEAR FROM CAST(treatments.start_dt AS TIMESTAMP)) IS NULL + OR LPAD(EXTRACT(MONTH FROM CAST(treatments.start_dt AS TIMESTAMP)), 2, '0') IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + EXTRACT(YEAR FROM CAST(treatments.start_dt AS TIMESTAMP)), + LPAD(EXTRACT(MONTH FROM CAST(treatments.start_dt AS TIMESTAMP)), 2, '0') + ) + END AS treatment_month, COUNT(DISTINCT treatments.patient_id) AS ndistinct_patient_id FROM defog.dermtreatment.treatments AS treatments JOIN defog.dermtreatment.drugs AS drugs diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv9_duckdb.sql b/tests/test_sql_refsols/defog_dermtreatment_adv9_duckdb.sql index d1e8f0552..f9072fcf1 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv9_duckdb.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv9_duckdb.sql @@ -1,19 +1,34 @@ WITH _s2 AS ( SELECT - CONCAT_WS( - '-', - EXTRACT(YEAR FROM CAST(start_dt AS TIMESTAMP)), - CASE + CASE + WHEN '-' IS NULL + OR EXTRACT(YEAR FROM CAST(start_dt AS TIMESTAMP)) IS NULL + OR CASE WHEN LENGTH(CAST(EXTRACT(MONTH FROM CAST(start_dt AS TIMESTAMP)) AS TEXT)) >= 2 THEN SUBSTRING(CAST(EXTRACT(MONTH FROM CAST(start_dt AS TIMESTAMP)) AS TEXT), 1, 2) ELSE SUBSTRING( - CONCAT('00', CAST(EXTRACT(MONTH FROM CAST(start_dt AS TIMESTAMP)) AS TEXT)), + '00' || CAST(EXTRACT(MONTH FROM CAST(start_dt AS TIMESTAMP)) AS TEXT), ( 2 * -1 ) ) - END - ) AS treatment_month, + END IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + EXTRACT(YEAR FROM CAST(start_dt AS TIMESTAMP)), + CASE + WHEN LENGTH(CAST(EXTRACT(MONTH FROM CAST(start_dt AS TIMESTAMP)) AS TEXT)) >= 2 + THEN SUBSTRING(CAST(EXTRACT(MONTH FROM CAST(start_dt AS TIMESTAMP)) AS TEXT), 1, 2) + ELSE SUBSTRING( + '00' || CAST(EXTRACT(MONTH FROM CAST(start_dt AS TIMESTAMP)) AS TEXT), + ( + 2 * -1 + ) + ) + END + ) + END AS treatment_month, COUNT(DISTINCT patient_id) AS ndistinct_patient_id FROM main.treatments WHERE @@ -23,20 +38,35 @@ WITH _s2 AS ( 1 ), _s3 AS ( SELECT - CONCAT_WS( - '-', - EXTRACT(YEAR FROM CAST(treatments.start_dt AS TIMESTAMP)), - CASE + CASE + WHEN '-' IS NULL + OR EXTRACT(YEAR FROM CAST(treatments.start_dt AS TIMESTAMP)) IS NULL + OR CASE WHEN LENGTH(CAST(EXTRACT(MONTH FROM CAST(treatments.start_dt AS TIMESTAMP)) AS TEXT)) >= 2 THEN SUBSTRING(CAST(EXTRACT(MONTH FROM CAST(treatments.start_dt AS TIMESTAMP)) AS TEXT), 1, 2) ELSE SUBSTRING( - CONCAT('00', CAST(EXTRACT(MONTH FROM CAST(treatments.start_dt AS TIMESTAMP)) AS TEXT)), + '00' || CAST(EXTRACT(MONTH FROM CAST(treatments.start_dt AS TIMESTAMP)) AS TEXT), ( 2 * -1 ) ) - END - ) AS treatment_month, + END IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + EXTRACT(YEAR FROM CAST(treatments.start_dt AS TIMESTAMP)), + CASE + WHEN LENGTH(CAST(EXTRACT(MONTH FROM CAST(treatments.start_dt AS TIMESTAMP)) AS TEXT)) >= 2 + THEN SUBSTRING(CAST(EXTRACT(MONTH FROM CAST(treatments.start_dt AS TIMESTAMP)) AS TEXT), 1, 2) + ELSE SUBSTRING( + '00' || CAST(EXTRACT(MONTH FROM CAST(treatments.start_dt AS TIMESTAMP)) AS TEXT), + ( + 2 * -1 + ) + ) + END + ) + END AS treatment_month, COUNT(DISTINCT treatments.patient_id) AS ndistinct_patient_id FROM main.treatments AS treatments JOIN main.drugs AS drugs diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv9_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_adv9_oracle.sql index a1c251ea5..bce8891ae 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv9_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv9_oracle.sql @@ -1,32 +1,32 @@ -WITH "_S2" AS ( +WITH "_s2" AS ( SELECT - NVL(EXTRACT(YEAR FROM CAST(start_dt AS DATE)), '') || '-' || NVL(LPAD(EXTRACT(MONTH FROM CAST(start_dt AS DATE)), 2, '0'), '') AS TREATMENT_MONTH, - COUNT(DISTINCT patient_id) AS NDISTINCT_PATIENT_ID + NVL(EXTRACT(YEAR FROM CAST(START_DT AS DATE)), '') || '-' || NVL(LPAD(EXTRACT(MONTH FROM CAST(START_DT AS DATE)), 2, '0'), '') AS TREATMENT_MONTH, + COUNT(DISTINCT PATIENT_ID) AS NDISTINCT_PATIENT_ID FROM MAIN.TREATMENTS WHERE - start_dt < TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH') - AND start_dt >= ADD_MONTHS(TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH'), -3) + START_DT < TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH') + AND START_DT >= ADD_MONTHS(TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH'), -3) GROUP BY - NVL(EXTRACT(YEAR FROM CAST(start_dt AS DATE)), '') || '-' || NVL(LPAD(EXTRACT(MONTH FROM CAST(start_dt AS DATE)), 2, '0'), '') -), "_S3" AS ( + NVL(EXTRACT(YEAR FROM CAST(START_DT AS DATE)), '') || '-' || NVL(LPAD(EXTRACT(MONTH FROM CAST(START_DT AS DATE)), 2, '0'), '') +), "_s3" AS ( SELECT - NVL(EXTRACT(YEAR FROM CAST(TREATMENTS.start_dt AS DATE)), '') || '-' || NVL(LPAD(EXTRACT(MONTH FROM CAST(TREATMENTS.start_dt AS DATE)), 2, '0'), '') AS TREATMENT_MONTH, - COUNT(DISTINCT TREATMENTS.patient_id) AS NDISTINCT_PATIENT_ID + NVL(EXTRACT(YEAR FROM CAST(TREATMENTS.START_DT AS DATE)), '') || '-' || NVL(LPAD(EXTRACT(MONTH FROM CAST(TREATMENTS.START_DT AS DATE)), 2, '0'), '') AS TREATMENT_MONTH, + COUNT(DISTINCT TREATMENTS.PATIENT_ID) AS NDISTINCT_PATIENT_ID FROM MAIN.TREATMENTS TREATMENTS JOIN MAIN.DRUGS DRUGS - ON DRUGS.drug_id = TREATMENTS.drug_id AND DRUGS.drug_type = 'biologic' + ON DRUGS.DRUG_ID = TREATMENTS.DRUG_ID AND DRUGS.DRUG_TYPE = 'biologic' WHERE - TREATMENTS.start_dt < TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH') - AND TREATMENTS.start_dt >= ADD_MONTHS(TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH'), -3) + TREATMENTS.START_DT < TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH') + AND TREATMENTS.START_DT >= ADD_MONTHS(TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH'), -3) GROUP BY - NVL(EXTRACT(YEAR FROM CAST(TREATMENTS.start_dt AS DATE)), '') || '-' || NVL(LPAD(EXTRACT(MONTH FROM CAST(TREATMENTS.start_dt AS DATE)), 2, '0'), '') + NVL(EXTRACT(YEAR FROM CAST(TREATMENTS.START_DT AS DATE)), '') || '-' || NVL(LPAD(EXTRACT(MONTH FROM CAST(TREATMENTS.START_DT AS DATE)), 2, '0'), '') ) SELECT - "_S2".TREATMENT_MONTH AS month, - "_S2".NDISTINCT_PATIENT_ID AS patient_count, - COALESCE("_S3".NDISTINCT_PATIENT_ID, 0) AS biologic_treatment_count -FROM "_S2" "_S2" -LEFT JOIN "_S3" "_S3" - ON "_S2".TREATMENT_MONTH = "_S3".TREATMENT_MONTH + "_s2".TREATMENT_MONTH AS month, + "_s2".NDISTINCT_PATIENT_ID AS patient_count, + COALESCE("_s3".NDISTINCT_PATIENT_ID, 0) AS biologic_treatment_count +FROM "_s2" "_s2" +LEFT JOIN "_s3" "_s3" + ON "_s2".TREATMENT_MONTH = "_s3".TREATMENT_MONTH ORDER BY 1 DESC NULLS LAST diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv9_postgres.sql b/tests/test_sql_refsols/defog_dermtreatment_adv9_postgres.sql index e941f283f..57c2c0f4a 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv9_postgres.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv9_postgres.sql @@ -1,10 +1,16 @@ WITH _s2 AS ( SELECT - CONCAT_WS( - '-', - EXTRACT(YEAR FROM CAST(start_dt AS TIMESTAMP)), - LPAD(CAST(EXTRACT(MONTH FROM CAST(start_dt AS TIMESTAMP)) AS TEXT), 2, '0') - ) AS treatment_month, + CASE + WHEN '-' IS NULL + OR EXTRACT(YEAR FROM CAST(start_dt AS TIMESTAMP)) IS NULL + OR LPAD(CAST(EXTRACT(MONTH FROM CAST(start_dt AS TIMESTAMP)) AS TEXT), 2, '0') IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + EXTRACT(YEAR FROM CAST(start_dt AS TIMESTAMP)), + LPAD(CAST(EXTRACT(MONTH FROM CAST(start_dt AS TIMESTAMP)) AS TEXT), 2, '0') + ) + END AS treatment_month, COUNT(DISTINCT patient_id) AS ndistinct_patient_id FROM main.treatments WHERE @@ -14,11 +20,17 @@ WITH _s2 AS ( 1 ), _s3 AS ( SELECT - CONCAT_WS( - '-', - EXTRACT(YEAR FROM CAST(treatments.start_dt AS TIMESTAMP)), - LPAD(CAST(EXTRACT(MONTH FROM CAST(treatments.start_dt AS TIMESTAMP)) AS TEXT), 2, '0') - ) AS treatment_month, + CASE + WHEN '-' IS NULL + OR EXTRACT(YEAR FROM CAST(treatments.start_dt AS TIMESTAMP)) IS NULL + OR LPAD(CAST(EXTRACT(MONTH FROM CAST(treatments.start_dt AS TIMESTAMP)) AS TEXT), 2, '0') IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + EXTRACT(YEAR FROM CAST(treatments.start_dt AS TIMESTAMP)), + LPAD(CAST(EXTRACT(MONTH FROM CAST(treatments.start_dt AS TIMESTAMP)) AS TEXT), 2, '0') + ) + END AS treatment_month, COUNT(DISTINCT treatments.patient_id) AS ndistinct_patient_id FROM main.treatments AS treatments JOIN main.drugs AS drugs diff --git a/tests/test_sql_refsols/defog_dermtreatment_adv9_trino.sql b/tests/test_sql_refsols/defog_dermtreatment_adv9_trino.sql index 58daf7e7d..7f34e840f 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_adv9_trino.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_adv9_trino.sql @@ -1,10 +1,16 @@ WITH _s2 AS ( SELECT - CONCAT_WS( - '-', - CAST(YEAR(CAST(start_dt AS TIMESTAMP)) AS VARCHAR), - CAST(LPAD(CAST(MONTH(CAST(start_dt AS TIMESTAMP)) AS VARCHAR), 2, '0') AS VARCHAR) - ) AS treatment_month, + CASE + WHEN '-' IS NULL + OR CAST(YEAR(CAST(start_dt AS TIMESTAMP)) AS VARCHAR) IS NULL + OR CAST(LPAD(CAST(MONTH(CAST(start_dt AS TIMESTAMP)) AS VARCHAR), 2, '0') AS VARCHAR) IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + CAST(YEAR(CAST(start_dt AS TIMESTAMP)) AS VARCHAR), + CAST(LPAD(CAST(MONTH(CAST(start_dt AS TIMESTAMP)) AS VARCHAR), 2, '0') AS VARCHAR) + ) + END AS treatment_month, COUNT(DISTINCT patient_id) AS ndistinct_patient_id FROM cassandra.defog.treatments WHERE @@ -14,11 +20,17 @@ WITH _s2 AS ( 1 ), _s3 AS ( SELECT - CONCAT_WS( - '-', - CAST(YEAR(CAST(treatments.start_dt AS TIMESTAMP)) AS VARCHAR), - CAST(LPAD(CAST(MONTH(CAST(treatments.start_dt AS TIMESTAMP)) AS VARCHAR), 2, '0') AS VARCHAR) - ) AS treatment_month, + CASE + WHEN '-' IS NULL + OR CAST(YEAR(CAST(treatments.start_dt AS TIMESTAMP)) AS VARCHAR) IS NULL + OR CAST(LPAD(CAST(MONTH(CAST(treatments.start_dt AS TIMESTAMP)) AS VARCHAR), 2, '0') AS VARCHAR) IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + CAST(YEAR(CAST(treatments.start_dt AS TIMESTAMP)) AS VARCHAR), + CAST(LPAD(CAST(MONTH(CAST(treatments.start_dt AS TIMESTAMP)) AS VARCHAR), 2, '0') AS VARCHAR) + ) + END AS treatment_month, COUNT(DISTINCT treatments.patient_id) AS ndistinct_patient_id FROM cassandra.defog.treatments AS treatments JOIN postgres.main.drugs AS drugs diff --git a/tests/test_sql_refsols/defog_dermtreatment_basic10_ansi.sql b/tests/test_sql_refsols/defog_dermtreatment_basic10_ansi.sql index 6d6652145..70883c102 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_basic10_ansi.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_basic10_ansi.sql @@ -1,6 +1,11 @@ +WITH _s1 AS ( + SELECT + drug_id + FROM main.treatments +) SELECT drugs.drug_id, drugs.drug_name FROM main.drugs AS drugs -JOIN main.treatments AS treatments - ON drugs.drug_id = treatments.drug_id +ANTI JOIN _s1 AS _s1 + ON _s1.drug_id = drugs.drug_id diff --git a/tests/test_sql_refsols/defog_dermtreatment_basic10_mysql.sql b/tests/test_sql_refsols/defog_dermtreatment_basic10_mysql.sql index 122802fab..31f427bb5 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_basic10_mysql.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_basic10_mysql.sql @@ -12,4 +12,4 @@ FROM drugs AS drugs LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = drugs.drug_id WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_dermtreatment_basic10_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_basic10_oracle.sql index 9ed9076d2..acc0f5ce2 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_basic10_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_basic10_oracle.sql @@ -1,15 +1,15 @@ WITH "_u_0" AS ( SELECT - drug_id AS "_u_1" + DRUG_ID AS "_u_1" FROM MAIN.TREATMENTS GROUP BY - drug_id + DRUG_ID ) SELECT - DRUGS.drug_id, - DRUGS.drug_name + DRUGS.DRUG_ID AS drug_id, + DRUGS.DRUG_NAME AS drug_name FROM MAIN.DRUGS DRUGS LEFT JOIN "_u_0" "_u_0" - ON DRUGS.drug_id = "_u_0"."_u_1" + ON DRUGS.DRUG_ID = "_u_0"."_u_1" WHERE "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/defog_dermtreatment_basic10_sqlite.sql b/tests/test_sql_refsols/defog_dermtreatment_basic10_sqlite.sql index f8775f649..66f5ac28b 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_basic10_sqlite.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_basic10_sqlite.sql @@ -12,4 +12,4 @@ FROM main.drugs AS drugs LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = drugs.drug_id WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_dermtreatment_basic1_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_basic1_oracle.sql index 6ee8534ea..a4c96e07a 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_basic1_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_basic1_oracle.sql @@ -1,29 +1,29 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - doc_id AS DOC_ID, + DOC_ID, COUNT(*) AS N_ROWS, - SUM(tot_drug_amt) AS SUM_TOT_DRUG_AMT + SUM(TOT_DRUG_AMT) AS SUM_TOT_DRUG_AMT FROM MAIN.TREATMENTS WHERE - start_dt >= TRUNC(ADD_MONTHS(SYS_EXTRACT_UTC(SYSTIMESTAMP), -6), 'DD') + START_DT >= TRUNC(ADD_MONTHS(SYS_EXTRACT_UTC(SYSTIMESTAMP), -6), 'DD') GROUP BY - doc_id -), "_T1" AS ( + DOC_ID +), "_t1" AS ( SELECT - DOCTORS.specialty AS SPECIALTY, - SUM("_S1".N_ROWS) AS SUM_N_ROWS, - SUM("_S1".SUM_TOT_DRUG_AMT) AS SUM_SUM_TOT_DRUG_AMT + DOCTORS.SPECIALTY, + SUM("_s1".N_ROWS) AS SUM_N_ROWS, + SUM("_s1".SUM_TOT_DRUG_AMT) AS SUM_SUM_TOT_DRUG_AMT FROM MAIN.DOCTORS DOCTORS - LEFT JOIN "_S1" "_S1" - ON DOCTORS.doc_id = "_S1".DOC_ID + LEFT JOIN "_s1" "_s1" + ON DOCTORS.DOC_ID = "_s1".DOC_ID GROUP BY - DOCTORS.specialty + DOCTORS.SPECIALTY ) SELECT SPECIALTY AS specialty, SUM_N_ROWS AS num_treatments, COALESCE(SUM_SUM_TOT_DRUG_AMT, 0) AS total_drug_amount -FROM "_T1" +FROM "_t1" WHERE SUM_N_ROWS <> 0 ORDER BY diff --git a/tests/test_sql_refsols/defog_dermtreatment_basic2_ansi.sql b/tests/test_sql_refsols/defog_dermtreatment_basic2_ansi.sql index 212edfb9c..e88347338 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_basic2_ansi.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_basic2_ansi.sql @@ -13,6 +13,10 @@ WITH _t2 AS ( FROM main.outcomes WHERE NOT day100_pasi_score IS NULL +), _s1 AS ( + SELECT + treatment_id + FROM _t3 ), _s3 AS ( SELECT ins_type, @@ -23,12 +27,16 @@ WITH _t2 AS ( _s3.ins_type, COUNT(DISTINCT _t2.patient_id) AS ndistinct_patient_id FROM _t2 AS _t2 - JOIN _t3 AS _t3 - ON _t2.treatment_id = _t3.treatment_id + SEMI JOIN _s1 AS _s1 + ON _s1.treatment_id = _t2.treatment_id JOIN _s3 AS _s3 ON _s3.patient_id = _t2.patient_id GROUP BY 1 +), _s5 AS ( + SELECT + treatment_id + FROM _t3 ), _s9 AS ( SELECT treatment_id, @@ -42,8 +50,8 @@ WITH _t2 AS ( SUM(_s9.sum_day100_pasi_score) / SUM(_s9.count_day100_pasi_score) AS avg_day100_pasi_score, _s7.ins_type FROM _t2 AS _t6 - JOIN _t3 AS _t7 - ON _t6.treatment_id = _t7.treatment_id + SEMI JOIN _s5 AS _s5 + ON _s5.treatment_id = _t6.treatment_id JOIN _s3 AS _s7 ON _s7.patient_id = _t6.patient_id JOIN _s9 AS _s9 diff --git a/tests/test_sql_refsols/defog_dermtreatment_basic2_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_basic2_oracle.sql index 0c6016235..944ffcd7b 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_basic2_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_basic2_oracle.sql @@ -1,79 +1,79 @@ -WITH "_T2" AS ( +WITH "_t2" AS ( SELECT - end_dt AS END_DT, - patient_id AS PATIENT_ID, - treatment_id AS TREATMENT_ID + END_DT, + PATIENT_ID, + TREATMENT_ID FROM MAIN.TREATMENTS WHERE - EXTRACT(YEAR FROM CAST(end_dt AS DATE)) = 2022 -), "_T3" AS ( + EXTRACT(YEAR FROM CAST(END_DT AS DATE)) = 2022 +), "_t3" AS ( SELECT - day100_pasi_score AS DAY100_PASI_SCORE, - treatment_id AS TREATMENT_ID + DAY100_PASI_SCORE, + TREATMENT_ID FROM MAIN.OUTCOMES WHERE - NOT day100_pasi_score IS NULL + NOT DAY100_PASI_SCORE IS NULL ), "_u_0" AS ( SELECT TREATMENT_ID AS "_u_1" - FROM "_T3" + FROM "_t3" GROUP BY TREATMENT_ID -), "_S3" AS ( +), "_s3" AS ( SELECT - ins_type AS INS_TYPE, - patient_id AS PATIENT_ID + INS_TYPE, + PATIENT_ID FROM MAIN.PATIENTS -), "_S10" AS ( +), "_s10" AS ( SELECT - "_S3".INS_TYPE, - COUNT(DISTINCT "_T2".PATIENT_ID) AS NDISTINCT_PATIENT_ID - FROM "_T2" "_T2" + "_s3".INS_TYPE, + COUNT(DISTINCT "_t2".PATIENT_ID) AS NDISTINCT_PATIENT_ID + FROM "_t2" "_t2" LEFT JOIN "_u_0" "_u_0" - ON "_T2".TREATMENT_ID = "_u_0"."_u_1" - JOIN "_S3" "_S3" - ON "_S3".PATIENT_ID = "_T2".PATIENT_ID + ON "_t2".TREATMENT_ID = "_u_0"."_u_1" + JOIN "_s3" "_s3" + ON "_s3".PATIENT_ID = "_t2".PATIENT_ID WHERE NOT "_u_0"."_u_1" IS NULL GROUP BY - "_S3".INS_TYPE + "_s3".INS_TYPE ), "_u_2" AS ( SELECT TREATMENT_ID AS "_u_3" - FROM "_T3" + FROM "_t3" GROUP BY TREATMENT_ID -), "_S9" AS ( +), "_s9" AS ( SELECT - treatment_id AS TREATMENT_ID, - COUNT(day100_pasi_score) AS COUNT_DAY100_PASI_SCORE, - SUM(day100_pasi_score) AS SUM_DAY100_PASI_SCORE + TREATMENT_ID, + COUNT(DAY100_PASI_SCORE) AS COUNT_DAY100_PASI_SCORE, + SUM(DAY100_PASI_SCORE) AS SUM_DAY100_PASI_SCORE FROM MAIN.OUTCOMES GROUP BY - treatment_id -), "_S11" AS ( + TREATMENT_ID +), "_s11" AS ( SELECT - SUM("_S9".SUM_DAY100_PASI_SCORE) / SUM("_S9".COUNT_DAY100_PASI_SCORE) AS AVG_DAY100_PASI_SCORE, - "_S7".INS_TYPE - FROM "_T2" "_T6" + SUM("_s9".SUM_DAY100_PASI_SCORE) / SUM("_s9".COUNT_DAY100_PASI_SCORE) AS AVG_DAY100_PASI_SCORE, + "_s7".INS_TYPE + FROM "_t2" "_t6" LEFT JOIN "_u_2" "_u_2" - ON "_T6".TREATMENT_ID = "_u_2"."_u_3" - JOIN "_S3" "_S7" - ON "_S7".PATIENT_ID = "_T6".PATIENT_ID - JOIN "_S9" "_S9" - ON "_S9".TREATMENT_ID = "_T6".TREATMENT_ID + ON "_t6".TREATMENT_ID = "_u_2"."_u_3" + JOIN "_s3" "_s7" + ON "_s7".PATIENT_ID = "_t6".PATIENT_ID + JOIN "_s9" "_s9" + ON "_s9".TREATMENT_ID = "_t6".TREATMENT_ID WHERE NOT "_u_2"."_u_3" IS NULL GROUP BY - "_S7".INS_TYPE + "_s7".INS_TYPE ) SELECT - "_S10".INS_TYPE AS insurance_type, - "_S10".NDISTINCT_PATIENT_ID AS num_distinct_patients, - "_S11".AVG_DAY100_PASI_SCORE AS avg_pasi_score_day100 -FROM "_S10" "_S10" -LEFT JOIN "_S11" "_S11" - ON "_S10".INS_TYPE = "_S11".INS_TYPE + "_s10".INS_TYPE AS insurance_type, + "_s10".NDISTINCT_PATIENT_ID AS num_distinct_patients, + "_s11".AVG_DAY100_PASI_SCORE AS avg_pasi_score_day100 +FROM "_s10" "_s10" +LEFT JOIN "_s11" "_s11" + ON "_s10".INS_TYPE = "_s11".INS_TYPE ORDER BY 3 NULLS FIRST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_dermtreatment_basic3_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_basic3_oracle.sql index ba66491d8..146f3f287 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_basic3_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_basic3_oracle.sql @@ -1,19 +1,19 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - drug_id AS DRUG_ID, - AVG(tot_drug_amt) AS AVG_TOT_DRUG_AMT, + DRUG_ID, + AVG(TOT_DRUG_AMT) AS AVG_TOT_DRUG_AMT, COUNT(*) AS N_ROWS FROM MAIN.TREATMENTS GROUP BY - drug_id + DRUG_ID ) SELECT - DRUGS.drug_name, - COALESCE("_S1".N_ROWS, 0) AS num_treatments, - "_S1".AVG_TOT_DRUG_AMT AS avg_drug_amount + DRUGS.DRUG_NAME AS drug_name, + COALESCE("_s1".N_ROWS, 0) AS num_treatments, + "_s1".AVG_TOT_DRUG_AMT AS avg_drug_amount FROM MAIN.DRUGS DRUGS -LEFT JOIN "_S1" "_S1" - ON DRUGS.drug_id = "_S1".DRUG_ID +LEFT JOIN "_s1" "_s1" + ON DRUGS.DRUG_ID = "_s1".DRUG_ID ORDER BY 2 DESC NULLS LAST, 3 DESC NULLS LAST, diff --git a/tests/test_sql_refsols/defog_dermtreatment_basic4_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_basic4_oracle.sql index 8268f4b01..c92bc1c23 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_basic4_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_basic4_oracle.sql @@ -1,29 +1,29 @@ -WITH "_T1" AS ( +WITH "_t1" AS ( SELECT - ANY_VALUE(TREATMENTS.diag_id) AS ANYTHING_DIAG_ID, - ANY_VALUE(TREATMENTS.patient_id) AS ANYTHING_PATIENT_ID, - MAX(OUTCOMES.day100_itch_vas) AS MAX_DAY100_ITCH_VAS + ANY_VALUE(TREATMENTS.DIAG_ID) AS ANYTHING_DIAG_ID, + ANY_VALUE(TREATMENTS.PATIENT_ID) AS ANYTHING_PATIENT_ID, + MAX(OUTCOMES.DAY100_ITCH_VAS) AS MAX_DAY100_ITCH_VAS FROM MAIN.TREATMENTS TREATMENTS JOIN MAIN.OUTCOMES OUTCOMES - ON OUTCOMES.treatment_id = TREATMENTS.treatment_id + ON OUTCOMES.TREATMENT_ID = TREATMENTS.TREATMENT_ID GROUP BY - OUTCOMES.treatment_id -), "_S3" AS ( + OUTCOMES.TREATMENT_ID +), "_s3" AS ( SELECT ANYTHING_DIAG_ID, MAX(MAX_DAY100_ITCH_VAS) AS MAX_MAX_DAY100_ITCH_VAS, COUNT(DISTINCT ANYTHING_PATIENT_ID) AS NDISTINCT_ANYTHING_PATIENT_ID - FROM "_T1" + FROM "_t1" GROUP BY ANYTHING_DIAG_ID ) SELECT - DIAGNOSES.diag_name AS diagnosis_name, - "_S3".NDISTINCT_ANYTHING_PATIENT_ID AS num_patients, - "_S3".MAX_MAX_DAY100_ITCH_VAS AS max_itch_score + DIAGNOSES.DIAG_NAME AS diagnosis_name, + "_s3".NDISTINCT_ANYTHING_PATIENT_ID AS num_patients, + "_s3".MAX_MAX_DAY100_ITCH_VAS AS max_itch_score FROM MAIN.DIAGNOSES DIAGNOSES -JOIN "_S3" "_S3" - ON DIAGNOSES.diag_id = "_S3".ANYTHING_DIAG_ID +JOIN "_s3" "_s3" + ON DIAGNOSES.DIAG_ID = "_s3".ANYTHING_DIAG_ID ORDER BY 3 DESC NULLS LAST, 2 DESC NULLS LAST diff --git a/tests/test_sql_refsols/defog_dermtreatment_basic4_postgres.sql b/tests/test_sql_refsols/defog_dermtreatment_basic4_postgres.sql index cc72c3961..460b8dd84 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_basic4_postgres.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_basic4_postgres.sql @@ -1,7 +1,7 @@ WITH _t1 AS ( SELECT - MAX(treatments.diag_id) AS anything_diag_id, - MAX(treatments.patient_id) AS anything_patient_id, + ANY_VALUE(treatments.diag_id) AS anything_diag_id, + ANY_VALUE(treatments.patient_id) AS anything_patient_id, MAX(outcomes.day100_itch_vas) AS max_day100_itch_vas FROM main.treatments AS treatments JOIN main.outcomes AS outcomes diff --git a/tests/test_sql_refsols/defog_dermtreatment_basic5_ansi.sql b/tests/test_sql_refsols/defog_dermtreatment_basic5_ansi.sql index 3c7775b42..466216453 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_basic5_ansi.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_basic5_ansi.sql @@ -1,7 +1,12 @@ +WITH _s1 AS ( + SELECT + doc_id + FROM main.treatments +) SELECT doctors.doc_id, doctors.first_name, doctors.last_name FROM main.doctors AS doctors -JOIN main.treatments AS treatments - ON doctors.doc_id = treatments.doc_id +SEMI JOIN _s1 AS _s1 + ON _s1.doc_id = doctors.doc_id diff --git a/tests/test_sql_refsols/defog_dermtreatment_basic5_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_basic5_oracle.sql index e14d6a2a5..516421637 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_basic5_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_basic5_oracle.sql @@ -1,16 +1,16 @@ WITH "_u_0" AS ( SELECT - doc_id AS "_u_1" + DOC_ID AS "_u_1" FROM MAIN.TREATMENTS GROUP BY - doc_id + DOC_ID ) SELECT - DOCTORS.doc_id, - DOCTORS.first_name, - DOCTORS.last_name + DOCTORS.DOC_ID AS doc_id, + DOCTORS.FIRST_NAME AS first_name, + DOCTORS.LAST_NAME AS last_name FROM MAIN.DOCTORS DOCTORS LEFT JOIN "_u_0" "_u_0" - ON DOCTORS.doc_id = "_u_0"."_u_1" + ON DOCTORS.DOC_ID = "_u_0"."_u_1" WHERE NOT "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/defog_dermtreatment_basic6_ansi.sql b/tests/test_sql_refsols/defog_dermtreatment_basic6_ansi.sql index 909349816..1a3ec1e36 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_basic6_ansi.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_basic6_ansi.sql @@ -1,9 +1,14 @@ +WITH _s3 AS ( + SELECT + treatments.patient_id + FROM main.treatments AS treatments + JOIN main.outcomes AS outcomes + ON outcomes.treatment_id = treatments.treatment_id +) SELECT patients.patient_id, patients.first_name, patients.last_name FROM main.patients AS patients -JOIN main.treatments AS treatments - ON patients.patient_id = treatments.patient_id -JOIN main.outcomes AS outcomes - ON outcomes.treatment_id = treatments.treatment_id +SEMI JOIN _s3 AS _s3 + ON _s3.patient_id = patients.patient_id diff --git a/tests/test_sql_refsols/defog_dermtreatment_basic6_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_basic6_oracle.sql index 5c2425013..3bedb7e7c 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_basic6_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_basic6_oracle.sql @@ -1,18 +1,18 @@ WITH "_u_0" AS ( SELECT - TREATMENTS.patient_id AS "_u_1" + TREATMENTS.PATIENT_ID AS "_u_1" FROM MAIN.TREATMENTS TREATMENTS JOIN MAIN.OUTCOMES OUTCOMES - ON OUTCOMES.treatment_id = TREATMENTS.treatment_id + ON OUTCOMES.TREATMENT_ID = TREATMENTS.TREATMENT_ID GROUP BY - TREATMENTS.patient_id + TREATMENTS.PATIENT_ID ) SELECT - PATIENTS.patient_id, - PATIENTS.first_name, - PATIENTS.last_name + PATIENTS.PATIENT_ID AS patient_id, + PATIENTS.FIRST_NAME AS first_name, + PATIENTS.LAST_NAME AS last_name FROM MAIN.PATIENTS PATIENTS LEFT JOIN "_u_0" "_u_0" - ON PATIENTS.patient_id = "_u_0"."_u_1" + ON PATIENTS.PATIENT_ID = "_u_0"."_u_1" WHERE NOT "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/defog_dermtreatment_basic7_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_basic7_oracle.sql index c1015336f..a93aa2308 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_basic7_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_basic7_oracle.sql @@ -1,10 +1,10 @@ SELECT - ins_type AS insurance_type, - AVG(height_cm) AS avg_height, - AVG(weight_kg) AS avg_weight + INS_TYPE AS insurance_type, + AVG(HEIGHT_CM) AS avg_height, + AVG(WEIGHT_KG) AS avg_weight FROM MAIN.PATIENTS GROUP BY - ins_type + INS_TYPE ORDER BY 2 DESC NULLS LAST FETCH FIRST 3 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_dermtreatment_basic8_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_basic8_oracle.sql index 0a21cc8de..dae1643f2 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_basic8_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_basic8_oracle.sql @@ -1,9 +1,9 @@ SELECT - specialty, + SPECIALTY AS specialty, COUNT(*) AS num_doctors FROM MAIN.DOCTORS GROUP BY - specialty + SPECIALTY ORDER BY 2 DESC NULLS LAST FETCH FIRST 2 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_dermtreatment_basic9_ansi.sql b/tests/test_sql_refsols/defog_dermtreatment_basic9_ansi.sql index c53417119..867bf43b5 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_basic9_ansi.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_basic9_ansi.sql @@ -1,7 +1,12 @@ +WITH _s1 AS ( + SELECT + patient_id + FROM main.treatments +) SELECT patients.patient_id, patients.first_name, patients.last_name FROM main.patients AS patients -JOIN main.treatments AS treatments - ON patients.patient_id = treatments.patient_id +ANTI JOIN _s1 AS _s1 + ON _s1.patient_id = patients.patient_id diff --git a/tests/test_sql_refsols/defog_dermtreatment_basic9_mysql.sql b/tests/test_sql_refsols/defog_dermtreatment_basic9_mysql.sql index aacdaa4ac..dbec8f2b8 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_basic9_mysql.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_basic9_mysql.sql @@ -13,4 +13,4 @@ FROM patients AS patients LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = patients.patient_id WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_dermtreatment_basic9_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_basic9_oracle.sql index 5dfffa6c4..063cbf761 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_basic9_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_basic9_oracle.sql @@ -1,16 +1,16 @@ WITH "_u_0" AS ( SELECT - patient_id AS "_u_1" + PATIENT_ID AS "_u_1" FROM MAIN.TREATMENTS GROUP BY - patient_id + PATIENT_ID ) SELECT - PATIENTS.patient_id, - PATIENTS.first_name, - PATIENTS.last_name + PATIENTS.PATIENT_ID AS patient_id, + PATIENTS.FIRST_NAME AS first_name, + PATIENTS.LAST_NAME AS last_name FROM MAIN.PATIENTS PATIENTS LEFT JOIN "_u_0" "_u_0" - ON PATIENTS.patient_id = "_u_0"."_u_1" + ON PATIENTS.PATIENT_ID = "_u_0"."_u_1" WHERE "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/defog_dermtreatment_basic9_sqlite.sql b/tests/test_sql_refsols/defog_dermtreatment_basic9_sqlite.sql index 4d0660da7..c9a879da4 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_basic9_sqlite.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_basic9_sqlite.sql @@ -13,4 +13,4 @@ FROM main.patients AS patients LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = patients.patient_id WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_dermtreatment_gen1_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_gen1_oracle.sql index 804754c54..0db5c4248 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_gen1_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_gen1_oracle.sql @@ -1,11 +1,11 @@ SELECT - ADVERSE_EVENTS.treatment_id, - TREATMENTS.start_dt AS treatment_start_date, - ADVERSE_EVENTS.reported_dt AS adverse_event_date, - ADVERSE_EVENTS.description + ADVERSE_EVENTS.TREATMENT_ID AS treatment_id, + TREATMENTS.START_DT AS treatment_start_date, + ADVERSE_EVENTS.REPORTED_DT AS adverse_event_date, + ADVERSE_EVENTS.DESCRIPTION AS description FROM MAIN.ADVERSE_EVENTS ADVERSE_EVENTS JOIN MAIN.TREATMENTS TREATMENTS ON ( - TRUNC(CAST(CAST(ADVERSE_EVENTS.reported_dt AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(TREATMENTS.start_dt AS DATE) AS DATE), 'DD') + TRUNC(CAST(CAST(ADVERSE_EVENTS.REPORTED_DT AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(TREATMENTS.START_DT AS DATE) AS DATE), 'DD') ) <= 10 - AND ADVERSE_EVENTS.treatment_id = TREATMENTS.treatment_id + AND ADVERSE_EVENTS.TREATMENT_ID = TREATMENTS.TREATMENT_ID diff --git a/tests/test_sql_refsols/defog_dermtreatment_gen2_databricks.sql b/tests/test_sql_refsols/defog_dermtreatment_gen2_databricks.sql index 4c10aa3fa..4a76e46ad 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_gen2_databricks.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_gen2_databricks.sql @@ -16,4 +16,4 @@ FROM defog.dermtreatment.doctors AS doctors LEFT JOIN _t1 AS _t1 ON _t1.doc_id = doctors.doc_id WHERE - doctors.year_reg = EXTRACT(YEAR FROM CAST(ADD_MONTHS(CURRENT_TIMESTAMP(), -24) AS TIMESTAMP)) + doctors.year_reg = EXTRACT(YEAR FROM ADD_MONTHS(CURRENT_TIMESTAMP(), -24)) diff --git a/tests/test_sql_refsols/defog_dermtreatment_gen2_mysql.sql b/tests/test_sql_refsols/defog_dermtreatment_gen2_mysql.sql index 4a3ca4678..9b0f3a86e 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_gen2_mysql.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_gen2_mysql.sql @@ -3,7 +3,10 @@ WITH _t AS ( doc_id, start_dt, treatment_id, - ROW_NUMBER() OVER (PARTITION BY doc_id ORDER BY CASE WHEN start_dt IS NULL THEN 1 ELSE 0 END, start_dt) AS _w + ROW_NUMBER() OVER ( + PARTITION BY doc_id + ORDER BY CASE WHEN start_dt IS NULL THEN 1 ELSE 0 END, start_dt + ) AS _w FROM treatments ), _s1 AS ( SELECT diff --git a/tests/test_sql_refsols/defog_dermtreatment_gen2_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_gen2_oracle.sql index c43c42ec6..de07af7f3 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_gen2_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_gen2_oracle.sql @@ -1,26 +1,26 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - doc_id AS DOC_ID, - start_dt AS START_DT, - treatment_id AS TREATMENT_ID, - ROW_NUMBER() OVER (PARTITION BY doc_id ORDER BY start_dt) AS "_W" + DOC_ID, + START_DT, + TREATMENT_ID, + ROW_NUMBER() OVER (PARTITION BY DOC_ID ORDER BY START_DT) AS "_w" FROM MAIN.TREATMENTS -), "_S1" AS ( +), "_s1" AS ( SELECT DOC_ID, START_DT, TREATMENT_ID - FROM "_T" + FROM "_t" WHERE - "_W" = 1 + "_w" = 1 ) SELECT - DOCTORS.last_name, - DOCTORS.year_reg, - "_S1".START_DT AS first_treatment_date, - "_S1".TREATMENT_ID AS first_treatment_id + DOCTORS.LAST_NAME AS last_name, + DOCTORS.YEAR_REG AS year_reg, + "_s1".START_DT AS first_treatment_date, + "_s1".TREATMENT_ID AS first_treatment_id FROM MAIN.DOCTORS DOCTORS -LEFT JOIN "_S1" "_S1" - ON DOCTORS.doc_id = "_S1".DOC_ID +LEFT JOIN "_s1" "_s1" + ON DOCTORS.DOC_ID = "_s1".DOC_ID WHERE - DOCTORS.year_reg = EXTRACT(YEAR FROM CAST(ADD_MONTHS(SYS_EXTRACT_UTC(SYSTIMESTAMP), -24) AS DATE)) + DOCTORS.YEAR_REG = EXTRACT(YEAR FROM CAST(ADD_MONTHS(SYS_EXTRACT_UTC(SYSTIMESTAMP), -24) AS DATE)) diff --git a/tests/test_sql_refsols/defog_dermtreatment_gen3_databricks.sql b/tests/test_sql_refsols/defog_dermtreatment_gen3_databricks.sql index a429fac64..20b0ea7c3 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_gen3_databricks.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_gen3_databricks.sql @@ -1,5 +1,5 @@ SELECT - AVG(YEAR(TO_DATE(CURRENT_TIMESTAMP())) - YEAR(TO_DATE(date_of_birth))) AS average_age + AVG(YEAR(CURRENT_TIMESTAMP()) - YEAR(date_of_birth)) AS average_age FROM defog.dermtreatment.patients WHERE gender = 'Male' AND ins_type = 'private' diff --git a/tests/test_sql_refsols/defog_dermtreatment_gen3_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_gen3_oracle.sql index 5d476b173..d6d20f58f 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_gen3_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_gen3_oracle.sql @@ -1,7 +1,7 @@ SELECT AVG( - EXTRACT(YEAR FROM CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE)) - EXTRACT(YEAR FROM CAST(date_of_birth AS DATE)) + EXTRACT(YEAR FROM CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE)) - EXTRACT(YEAR FROM CAST(DATE_OF_BIRTH AS DATE)) ) AS average_age FROM MAIN.PATIENTS WHERE - gender = 'Male' AND ins_type = 'private' + GENDER = 'Male' AND INS_TYPE = 'private' diff --git a/tests/test_sql_refsols/defog_dermtreatment_gen4_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_gen4_oracle.sql index c63b88eda..88220f353 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_gen4_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_gen4_oracle.sql @@ -1,17 +1,17 @@ SELECT - TREATMENTS_2.treatment_id, - TREATMENTS_2.start_dt AS treatment_start_date, - TREATMENTS_2.end_dt AS treatment_end_date, - CONCOMITANT_MEDS.start_dt AS concomitant_med_start_date, - CONCOMITANT_MEDS.end_dt AS concomitant_med_end_date + TREATMENTS_2.TREATMENT_ID AS treatment_id, + TREATMENTS_2.START_DT AS treatment_start_date, + TREATMENTS_2.END_DT AS treatment_end_date, + CONCOMITANT_MEDS.START_DT AS concomitant_med_start_date, + CONCOMITANT_MEDS.END_DT AS concomitant_med_end_date FROM MAIN.TREATMENTS TREATMENTS JOIN MAIN.CONCOMITANT_MEDS CONCOMITANT_MEDS - ON CONCOMITANT_MEDS.treatment_id = TREATMENTS.treatment_id + ON CONCOMITANT_MEDS.TREATMENT_ID = TREATMENTS.TREATMENT_ID JOIN MAIN.TREATMENTS TREATMENTS_2 ON ( - TRUNC(CAST(CAST(CONCOMITANT_MEDS.start_dt AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(TREATMENTS_2.start_dt AS DATE) AS DATE), 'DD') + TRUNC(CAST(CAST(CONCOMITANT_MEDS.START_DT AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(TREATMENTS_2.START_DT AS DATE) AS DATE), 'DD') ) <= 14 - AND CONCOMITANT_MEDS.treatment_id = TREATMENTS_2.treatment_id - AND TREATMENTS_2.is_placebo + AND CONCOMITANT_MEDS.TREATMENT_ID = TREATMENTS_2.TREATMENT_ID + AND TREATMENTS_2.IS_PLACEBO WHERE - TREATMENTS.is_placebo = TRUE + TREATMENTS.IS_PLACEBO = TRUE diff --git a/tests/test_sql_refsols/defog_dermtreatment_gen5_oracle.sql b/tests/test_sql_refsols/defog_dermtreatment_gen5_oracle.sql index 6707dc193..33e5422b6 100644 --- a/tests/test_sql_refsols/defog_dermtreatment_gen5_oracle.sql +++ b/tests/test_sql_refsols/defog_dermtreatment_gen5_oracle.sql @@ -2,10 +2,10 @@ SELECT COUNT(*) AS num_treatments FROM MAIN.TREATMENTS TREATMENTS JOIN MAIN.DIAGNOSES DIAGNOSES - ON DIAGNOSES.diag_id = TREATMENTS.diag_id - AND LOWER(DIAGNOSES.diag_name) LIKE '%psoriasis%' + ON DIAGNOSES.DIAG_ID = TREATMENTS.DIAG_ID + AND LOWER(DIAGNOSES.DIAG_NAME) LIKE '%psoriasis%' JOIN MAIN.DRUGS DRUGS - ON DRUGS.drug_id = TREATMENTS.drug_id AND NOT DRUGS.fda_appr_dt IS NULL + ON DRUGS.DRUG_ID = TREATMENTS.DRUG_ID AND NOT DRUGS.FDA_APPR_DT IS NULL WHERE - NOT TREATMENTS.end_dt IS NULL - AND TREATMENTS.end_dt >= TRUNC(ADD_MONTHS(SYS_EXTRACT_UTC(SYSTIMESTAMP), -6), 'DD') + NOT TREATMENTS.END_DT IS NULL + AND TREATMENTS.END_DT >= TRUNC(ADD_MONTHS(SYS_EXTRACT_UTC(SYSTIMESTAMP), -6), 'DD') diff --git a/tests/test_sql_refsols/defog_ewallet_adv10_oracle.sql b/tests/test_sql_refsols/defog_ewallet_adv10_oracle.sql index 6fee26cc1..7400d6c69 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv10_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv10_oracle.sql @@ -1,9 +1,9 @@ SELECT - WALLET_TRANSACTIONS_DAILY.sender_id AS user_id, + WALLET_TRANSACTIONS_DAILY.SENDER_ID AS user_id, COUNT(*) AS total_transactions FROM MAIN.USERS USERS JOIN MAIN.WALLET_TRANSACTIONS_DAILY WALLET_TRANSACTIONS_DAILY - ON USERS.uid = WALLET_TRANSACTIONS_DAILY.sender_id - AND WALLET_TRANSACTIONS_DAILY.sender_type = 0 + ON USERS.UID = WALLET_TRANSACTIONS_DAILY.SENDER_ID + AND WALLET_TRANSACTIONS_DAILY.SENDER_TYPE = 0 GROUP BY - WALLET_TRANSACTIONS_DAILY.sender_id + WALLET_TRANSACTIONS_DAILY.SENDER_ID diff --git a/tests/test_sql_refsols/defog_ewallet_adv11_oracle.sql b/tests/test_sql_refsols/defog_ewallet_adv11_oracle.sql index bbfc650e3..0080d16bc 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv11_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv11_oracle.sql @@ -1,16 +1,16 @@ SELECT - USER_SESSIONS.user_id AS uid, + USER_SESSIONS.USER_ID AS uid, SUM( ( - CAST(USER_SESSIONS.session_end_ts AS DATE) - CAST(USER_SESSIONS.session_start_ts AS DATE) + CAST(USER_SESSIONS.SESSION_END_TS AS DATE) - CAST(USER_SESSIONS.SESSION_START_TS AS DATE) ) * 86400 ) AS total_duration FROM MAIN.USERS USERS JOIN MAIN.USER_SESSIONS USER_SESSIONS - ON USERS.uid = USER_SESSIONS.user_id - AND USER_SESSIONS.session_end_ts < TO_DATE('2023-06-08', 'YYYY-MM-DD') - AND USER_SESSIONS.session_start_ts >= TO_DATE('2023-06-01', 'YYYY-MM-DD') + ON USERS.UID = USER_SESSIONS.USER_ID + AND USER_SESSIONS.SESSION_END_TS < TO_DATE('2023-06-08', 'YYYY-MM-DD') + AND USER_SESSIONS.SESSION_START_TS >= TO_DATE('2023-06-01', 'YYYY-MM-DD') GROUP BY - USER_SESSIONS.user_id + USER_SESSIONS.USER_ID ORDER BY 2 DESC NULLS LAST diff --git a/tests/test_sql_refsols/defog_ewallet_adv12_oracle.sql b/tests/test_sql_refsols/defog_ewallet_adv12_oracle.sql index 64308fb31..fade954e7 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv12_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv12_oracle.sql @@ -1,10 +1,10 @@ SELECT - COUPONS.cid AS coupon_id, - COALESCE(SUM(WALLET_TRANSACTIONS_DAILY.amount), 0) AS total_discount + COUPONS.CID AS coupon_id, + COALESCE(SUM(WALLET_TRANSACTIONS_DAILY.AMOUNT), 0) AS total_discount FROM MAIN.COUPONS COUPONS LEFT JOIN MAIN.WALLET_TRANSACTIONS_DAILY WALLET_TRANSACTIONS_DAILY - ON COUPONS.cid = WALLET_TRANSACTIONS_DAILY.coupon_id + ON COUPONS.CID = WALLET_TRANSACTIONS_DAILY.COUPON_ID WHERE - COUPONS.merchant_id = 1 + COUPONS.MERCHANT_ID = 1 GROUP BY - COUPONS.cid + COUPONS.CID diff --git a/tests/test_sql_refsols/defog_ewallet_adv13_oracle.sql b/tests/test_sql_refsols/defog_ewallet_adv13_oracle.sql index 1e8417ea8..c072b04e2 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv13_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv13_oracle.sql @@ -2,5 +2,5 @@ SELECT COUNT(*) AS TUC FROM MAIN.USER_SESSIONS WHERE - session_end_ts >= TRUNC(ADD_MONTHS(SYS_EXTRACT_UTC(SYSTIMESTAMP), -1), 'DD') - OR session_start_ts >= TRUNC(ADD_MONTHS(SYS_EXTRACT_UTC(SYSTIMESTAMP), -1), 'DD') + SESSION_END_TS >= TRUNC(ADD_MONTHS(SYS_EXTRACT_UTC(SYSTIMESTAMP), -1), 'DD') + OR SESSION_START_TS >= TRUNC(ADD_MONTHS(SYS_EXTRACT_UTC(SYSTIMESTAMP), -1), 'DD') diff --git a/tests/test_sql_refsols/defog_ewallet_adv14_databricks.sql b/tests/test_sql_refsols/defog_ewallet_adv14_databricks.sql index 83b0c7fe1..011ba0cb0 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv14_databricks.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv14_databricks.sql @@ -4,6 +4,6 @@ FROM defog.ewallet.wallet_transactions_daily WHERE ( ( - YEAR(TO_DATE(CURRENT_TIMESTAMP())) - YEAR(TO_DATE(created_at)) - ) * 12 + MONTH(TO_DATE(CURRENT_TIMESTAMP())) - MONTH(TO_DATE(created_at)) + YEAR(CURRENT_TIMESTAMP()) - YEAR(created_at) + ) * 12 + MONTH(CURRENT_TIMESTAMP()) - MONTH(created_at) ) = 1 diff --git a/tests/test_sql_refsols/defog_ewallet_adv14_oracle.sql b/tests/test_sql_refsols/defog_ewallet_adv14_oracle.sql index 869fb10c4..1696e748b 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv14_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv14_oracle.sql @@ -1,11 +1,11 @@ SELECT - COALESCE(SUM(status = 'success'), 0) / NULLIF(COUNT(*), 0) AS "_expr0" + COALESCE(SUM(STATUS = 'success'), 0) / NULLIF(COUNT(*), 0) AS "_expr0" FROM MAIN.WALLET_TRANSACTIONS_DAILY WHERE ( ( - EXTRACT(YEAR FROM CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE)) - EXTRACT(YEAR FROM CAST(created_at AS DATE)) + EXTRACT(YEAR FROM CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE)) - EXTRACT(YEAR FROM CAST(CREATED_AT AS DATE)) ) * 12 + ( - EXTRACT(MONTH FROM CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE)) - EXTRACT(MONTH FROM CAST(created_at AS DATE)) + EXTRACT(MONTH FROM CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE)) - EXTRACT(MONTH FROM CAST(CREATED_AT AS DATE)) ) ) = 1 diff --git a/tests/test_sql_refsols/defog_ewallet_adv15_databricks.sql b/tests/test_sql_refsols/defog_ewallet_adv15_databricks.sql index c939c4770..4e0bf53db 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv15_databricks.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv15_databricks.sql @@ -6,8 +6,8 @@ WITH _s3 AS ( JOIN defog.ewallet.merchants AS merchants ON ( ( - YEAR(TO_DATE(coupons.created_at)) - YEAR(TO_DATE(merchants.created_at)) - ) * 12 + MONTH(TO_DATE(coupons.created_at)) - MONTH(TO_DATE(merchants.created_at)) + YEAR(coupons.created_at) - YEAR(merchants.created_at) + ) * 12 + MONTH(coupons.created_at) - MONTH(merchants.created_at) ) = 0 AND coupons.merchant_id = merchants.mid GROUP BY diff --git a/tests/test_sql_refsols/defog_ewallet_adv15_oracle.sql b/tests/test_sql_refsols/defog_ewallet_adv15_oracle.sql index 2721473af..91dca129a 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv15_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv15_oracle.sql @@ -1,27 +1,27 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - COUPONS.merchant_id AS MERCHANT_ID, + COUPONS.MERCHANT_ID, COUNT(*) AS N_ROWS FROM MAIN.COUPONS COUPONS JOIN MAIN.MERCHANTS MERCHANTS ON ( ( - EXTRACT(YEAR FROM CAST(COUPONS.created_at AS DATE)) - EXTRACT(YEAR FROM CAST(MERCHANTS.created_at AS DATE)) + EXTRACT(YEAR FROM CAST(COUPONS.CREATED_AT AS DATE)) - EXTRACT(YEAR FROM CAST(MERCHANTS.CREATED_AT AS DATE)) ) * 12 + ( - EXTRACT(MONTH FROM CAST(COUPONS.created_at AS DATE)) - EXTRACT(MONTH FROM CAST(MERCHANTS.created_at AS DATE)) + EXTRACT(MONTH FROM CAST(COUPONS.CREATED_AT AS DATE)) - EXTRACT(MONTH FROM CAST(MERCHANTS.CREATED_AT AS DATE)) ) ) = 0 - AND COUPONS.merchant_id = MERCHANTS.mid + AND COUPONS.MERCHANT_ID = MERCHANTS.MID GROUP BY - COUPONS.merchant_id + COUPONS.MERCHANT_ID ) SELECT - MERCHANTS.mid AS merchant_id, - MERCHANTS.name AS merchant_name, - COALESCE("_S3".N_ROWS, 0) AS coupons_per_merchant + MERCHANTS.MID AS merchant_id, + MERCHANTS.NAME AS merchant_name, + COALESCE("_s3".N_ROWS, 0) AS coupons_per_merchant FROM MAIN.MERCHANTS MERCHANTS -LEFT JOIN "_S3" "_S3" - ON MERCHANTS.mid = "_S3".MERCHANT_ID +LEFT JOIN "_s3" "_s3" + ON MERCHANTS.MID = "_s3".MERCHANT_ID ORDER BY 3 DESC NULLS LAST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_ewallet_adv16_oracle.sql b/tests/test_sql_refsols/defog_ewallet_adv16_oracle.sql index 46759086c..ec5e5a8b8 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv16_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv16_oracle.sql @@ -1,12 +1,12 @@ SELECT - ANY_VALUE(USERS.username) AS username, + ANY_VALUE(USERS.USERNAME) AS username, COUNT(*) AS total_unread_notifs FROM MAIN.USERS USERS JOIN MAIN.NOTIFICATIONS NOTIFICATIONS - ON NOTIFICATIONS.status = 'unread' - AND NOTIFICATIONS.type = 'promotion' - AND NOTIFICATIONS.user_id = USERS.uid + ON NOTIFICATIONS.STATUS = 'unread' + AND NOTIFICATIONS.TYPE = 'promotion' + AND NOTIFICATIONS.USER_ID = USERS.UID WHERE - LOWER(USERS.country) = 'us' + LOWER(USERS.COUNTRY) = 'us' GROUP BY - NOTIFICATIONS.user_id + NOTIFICATIONS.USER_ID diff --git a/tests/test_sql_refsols/defog_ewallet_adv16_postgres.sql b/tests/test_sql_refsols/defog_ewallet_adv16_postgres.sql index 8ea047239..6ec5b8cb9 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv16_postgres.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv16_postgres.sql @@ -1,5 +1,5 @@ SELECT - MAX(users.username) AS username, + ANY_VALUE(users.username) AS username, COUNT(*) AS total_unread_notifs FROM main.users AS users JOIN main.notifications AS notifications diff --git a/tests/test_sql_refsols/defog_ewallet_adv1_oracle.sql b/tests/test_sql_refsols/defog_ewallet_adv1_oracle.sql index 0d2ca987c..a63ad1561 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv1_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv1_oracle.sql @@ -1,9 +1,9 @@ SELECT - ANY_VALUE(MERCHANTS.name) AS name, - COUNT(DISTINCT WALLET_TRANSACTIONS_DAILY.coupon_id) / NULLIF(COUNT(DISTINCT WALLET_TRANSACTIONS_DAILY.txid), 0) AS CPUR + ANY_VALUE(MERCHANTS.NAME) AS name, + COUNT(DISTINCT WALLET_TRANSACTIONS_DAILY.COUPON_ID) / NULLIF(COUNT(DISTINCT WALLET_TRANSACTIONS_DAILY.TXID), 0) AS CPUR FROM MAIN.MERCHANTS MERCHANTS JOIN MAIN.WALLET_TRANSACTIONS_DAILY WALLET_TRANSACTIONS_DAILY - ON MERCHANTS.mid = WALLET_TRANSACTIONS_DAILY.receiver_id - AND WALLET_TRANSACTIONS_DAILY.status = 'success' + ON MERCHANTS.MID = WALLET_TRANSACTIONS_DAILY.RECEIVER_ID + AND WALLET_TRANSACTIONS_DAILY.STATUS = 'success' GROUP BY - WALLET_TRANSACTIONS_DAILY.receiver_id + WALLET_TRANSACTIONS_DAILY.RECEIVER_ID diff --git a/tests/test_sql_refsols/defog_ewallet_adv1_postgres.sql b/tests/test_sql_refsols/defog_ewallet_adv1_postgres.sql index 07f44e218..9c6955039 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv1_postgres.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv1_postgres.sql @@ -1,5 +1,5 @@ SELECT - MAX(merchants.name) AS name, + ANY_VALUE(merchants.name) AS name, CAST(COUNT(DISTINCT wallet_transactions_daily.coupon_id) AS DOUBLE PRECISION) / NULLIF(COUNT(DISTINCT wallet_transactions_daily.txid), 0) AS CPUR FROM main.merchants AS merchants JOIN main.wallet_transactions_daily AS wallet_transactions_daily diff --git a/tests/test_sql_refsols/defog_ewallet_adv2_databricks.sql b/tests/test_sql_refsols/defog_ewallet_adv2_databricks.sql index 6a3a6e088..f395ed070 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv2_databricks.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv2_databricks.sql @@ -1,44 +1,40 @@ SELECT - DATEADD( - DAY, + DATE_ADD( + CAST(CAST(notifications.created_at AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST(notifications.created_at AS TIMESTAMP))) + 5 + DAYOFWEEK(CAST(notifications.created_at AS TIMESTAMP)) + 5 ) % 7 - ), - CAST(CAST(notifications.created_at AS TIMESTAMP) AS DATE) + ) ) AS week, COUNT(*) AS num_notifs, COUNT_IF(( ( - DAYOFWEEK(TO_DATE(notifications.created_at)) + 5 + DAYOFWEEK(notifications.created_at) + 5 ) % 7 ) IN (5, 6)) AS weekend_notifs FROM defog.ewallet.notifications AS notifications JOIN defog.ewallet.users AS users ON notifications.user_id = users.uid AND users.country IN ('US', 'CA') WHERE - notifications.created_at < DATEADD( - DAY, + notifications.created_at < DATE_ADD( + CAST(CURRENT_TIMESTAMP() AS DATE), -( ( - DAYOFWEEK(TO_DATE(CURRENT_TIMESTAMP())) + 5 + DAYOFWEEK(CURRENT_TIMESTAMP()) + 5 ) % 7 - ), - CAST(CURRENT_TIMESTAMP() AS DATE) + ) ) - AND notifications.created_at >= DATEADD( - DAY, - -21, - DATEADD( - DAY, + AND notifications.created_at >= DATE_ADD( + DATE_ADD( + CAST(CURRENT_TIMESTAMP() AS DATE), -( ( - DAYOFWEEK(TO_DATE(CURRENT_TIMESTAMP())) + 5 + DAYOFWEEK(CURRENT_TIMESTAMP()) + 5 ) % 7 - ), - CAST(CURRENT_TIMESTAMP() AS DATE) - ) + ) + ), + -21 ) GROUP BY 1 diff --git a/tests/test_sql_refsols/defog_ewallet_adv2_duckdb.sql b/tests/test_sql_refsols/defog_ewallet_adv2_duckdb.sql index 423b13b7c..bf8beb6b7 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv2_duckdb.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv2_duckdb.sql @@ -25,6 +25,6 @@ WHERE ( DAYOFWEEK(CAST(CURRENT_TIMESTAMP AT TIME ZONE 'UTC' AS TIMESTAMP)) + 6 ) % 7 - ) AS INT) - 7 * INTERVAL '3' DAY + ) AS INT) - INTERVAL '3' WEEK GROUP BY 1 diff --git a/tests/test_sql_refsols/defog_ewallet_adv2_oracle.sql b/tests/test_sql_refsols/defog_ewallet_adv2_oracle.sql index dac97790e..58f1c5d8f 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv2_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv2_oracle.sql @@ -1,27 +1,27 @@ SELECT TRUNC( - CAST(CAST(NOTIFICATIONS.created_at AS DATE) - MOD(( - TO_CHAR(CAST(NOTIFICATIONS.created_at AS DATE), 'D') + 5 + CAST(CAST(NOTIFICATIONS.CREATED_AT AS DATE) - MOD(( + TO_CHAR(CAST(NOTIFICATIONS.CREATED_AT AS DATE), 'D') + 5 ), 7) AS DATE), 'DD' ) AS week, COUNT(*) AS num_notifs, SUM(( MOD(( - TO_CHAR(NOTIFICATIONS.created_at, 'D') + 5 + TO_CHAR(NOTIFICATIONS.CREATED_AT, 'D') + 5 ), 7) ) IN (5, 6)) AS weekend_notifs FROM MAIN.NOTIFICATIONS NOTIFICATIONS JOIN MAIN.USERS USERS - ON NOTIFICATIONS.user_id = USERS.uid AND USERS.country IN ('US', 'CA') + ON NOTIFICATIONS.USER_ID = USERS.UID AND USERS.COUNTRY IN ('US', 'CA') WHERE - NOTIFICATIONS.created_at < TRUNC( + NOTIFICATIONS.CREATED_AT < TRUNC( SYS_EXTRACT_UTC(SYSTIMESTAMP) - MOD(( TO_CHAR(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'D') + 5 ), 7), 'DD' ) - AND NOTIFICATIONS.created_at >= ( + AND NOTIFICATIONS.CREATED_AT >= ( TRUNC( SYS_EXTRACT_UTC(SYSTIMESTAMP) - MOD(( TO_CHAR(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'D') + 5 @@ -31,8 +31,8 @@ WHERE ) GROUP BY TRUNC( - CAST(CAST(NOTIFICATIONS.created_at AS DATE) - MOD(( - TO_CHAR(CAST(NOTIFICATIONS.created_at AS DATE), 'D') + 5 + CAST(CAST(NOTIFICATIONS.CREATED_AT AS DATE) - MOD(( + TO_CHAR(CAST(NOTIFICATIONS.CREATED_AT AS DATE), 'D') + 5 ), 7) AS DATE), 'DD' ) diff --git a/tests/test_sql_refsols/defog_ewallet_adv3_oracle.sql b/tests/test_sql_refsols/defog_ewallet_adv3_oracle.sql index 65a45ff17..1437fb621 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv3_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv3_oracle.sql @@ -1,10 +1,10 @@ SELECT - ANY_VALUE(MERCHANTS.name) AS merchant_name, + ANY_VALUE(MERCHANTS.NAME) AS merchant_name, COUNT(*) AS total_coupons FROM MAIN.MERCHANTS MERCHANTS JOIN MAIN.COUPONS COUPONS - ON COUPONS.merchant_id = MERCHANTS.mid + ON COUPONS.MERCHANT_ID = MERCHANTS.MID WHERE - LOWER(MERCHANTS.category) LIKE '%retail%' AND MERCHANTS.status = 'active' + LOWER(MERCHANTS.CATEGORY) LIKE '%retail%' AND MERCHANTS.STATUS = 'active' GROUP BY - COUPONS.merchant_id + COUPONS.MERCHANT_ID diff --git a/tests/test_sql_refsols/defog_ewallet_adv3_postgres.sql b/tests/test_sql_refsols/defog_ewallet_adv3_postgres.sql index ed5902569..e7cd13330 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv3_postgres.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv3_postgres.sql @@ -1,5 +1,5 @@ SELECT - MAX(merchants.name) AS merchant_name, + ANY_VALUE(merchants.name) AS merchant_name, COUNT(*) AS total_coupons FROM main.merchants AS merchants JOIN main.coupons AS coupons diff --git a/tests/test_sql_refsols/defog_ewallet_adv4_oracle.sql b/tests/test_sql_refsols/defog_ewallet_adv4_oracle.sql index ce6911baa..37c6b7182 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv4_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv4_oracle.sql @@ -2,13 +2,13 @@ SELECT COUNT(*) AS num_transactions, CASE WHEN COUNT(*) <> 0 - THEN COALESCE(SUM(WALLET_TRANSACTIONS_DAILY.amount), 0) + THEN COALESCE(SUM(WALLET_TRANSACTIONS_DAILY.AMOUNT), 0) ELSE NULL END AS total_amount FROM MAIN.WALLET_TRANSACTIONS_DAILY WALLET_TRANSACTIONS_DAILY JOIN MAIN.USERS USERS - ON USERS.country = 'US' AND USERS.uid = WALLET_TRANSACTIONS_DAILY.sender_id + ON USERS.COUNTRY = 'US' AND USERS.UID = WALLET_TRANSACTIONS_DAILY.SENDER_ID WHERE ( - TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(WALLET_TRANSACTIONS_DAILY.created_at AS DATE) AS DATE), 'DD') + TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(WALLET_TRANSACTIONS_DAILY.CREATED_AT AS DATE) AS DATE), 'DD') ) <= 7 diff --git a/tests/test_sql_refsols/defog_ewallet_adv5_oracle.sql b/tests/test_sql_refsols/defog_ewallet_adv5_oracle.sql index eaea85d51..f5f860bd3 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv5_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv5_oracle.sql @@ -1,7 +1,7 @@ SELECT - AVG(balance) AS AMB + AVG(BALANCE) AS AMB FROM MAIN.WALLET_USER_BALANCE_DAILY WHERE ( - TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(updated_at AS DATE) AS DATE), 'DD') + TRUNC(CAST(CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST(UPDATED_AT AS DATE) AS DATE), 'DD') ) <= 7 diff --git a/tests/test_sql_refsols/defog_ewallet_adv6_mysql.sql b/tests/test_sql_refsols/defog_ewallet_adv6_mysql.sql index d51784963..730e0b830 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv6_mysql.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv6_mysql.sql @@ -2,7 +2,10 @@ WITH _t AS ( SELECT balance, user_id, - ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY CASE WHEN updated_at IS NULL THEN 1 ELSE 0 END DESC, updated_at DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY user_id + ORDER BY CASE WHEN updated_at IS NULL THEN 1 ELSE 0 END DESC, updated_at DESC + ) AS _w FROM ewallet.wallet_user_balance_daily ) SELECT diff --git a/tests/test_sql_refsols/defog_ewallet_adv6_oracle.sql b/tests/test_sql_refsols/defog_ewallet_adv6_oracle.sql index c68ff399e..62932f698 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv6_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv6_oracle.sql @@ -1,13 +1,13 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - balance AS BALANCE, - user_id AS USER_ID, - ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY updated_at DESC) AS "_W" + BALANCE, + USER_ID, + ROW_NUMBER() OVER (PARTITION BY USER_ID ORDER BY UPDATED_AT DESC) AS "_w" FROM MAIN.WALLET_USER_BALANCE_DAILY ) SELECT USER_ID AS user_id, BALANCE AS latest_balance -FROM "_T" +FROM "_t" WHERE - "_W" = 1 + "_w" = 1 diff --git a/tests/test_sql_refsols/defog_ewallet_adv7_mysql.sql b/tests/test_sql_refsols/defog_ewallet_adv7_mysql.sql index a9c87c97b..763f09a9c 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv7_mysql.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv7_mysql.sql @@ -2,7 +2,10 @@ WITH _t AS ( SELECT marketing_opt_in, user_id, - ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY CASE WHEN created_at IS NULL THEN 1 ELSE 0 END DESC, created_at DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY user_id + ORDER BY CASE WHEN created_at IS NULL THEN 1 ELSE 0 END DESC, created_at DESC + ) AS _w FROM ewallet.user_setting_snapshot ) SELECT diff --git a/tests/test_sql_refsols/defog_ewallet_adv7_oracle.sql b/tests/test_sql_refsols/defog_ewallet_adv7_oracle.sql index 1de2c9b86..5f5c59243 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv7_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv7_oracle.sql @@ -1,13 +1,13 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - marketing_opt_in AS MARKETING_OPT_IN, - user_id AS USER_ID, - ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY created_at DESC) AS "_W" + MARKETING_OPT_IN, + USER_ID, + ROW_NUMBER() OVER (PARTITION BY USER_ID ORDER BY CREATED_AT DESC) AS "_w" FROM MAIN.USER_SETTING_SNAPSHOT ) SELECT - USERS.uid, - "_T".MARKETING_OPT_IN AS marketing_opt_in + USERS.UID AS uid, + "_t".MARKETING_OPT_IN AS marketing_opt_in FROM MAIN.USERS USERS -JOIN "_T" "_T" - ON USERS.uid = "_T".USER_ID AND "_T"."_W" = 1 +JOIN "_t" "_t" + ON USERS.UID = "_t".USER_ID AND "_t"."_w" = 1 diff --git a/tests/test_sql_refsols/defog_ewallet_adv8_oracle.sql b/tests/test_sql_refsols/defog_ewallet_adv8_oracle.sql index 551e3fcdc..6c16195e6 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv8_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv8_oracle.sql @@ -1,13 +1,13 @@ SELECT - WALLET_TRANSACTIONS_DAILY.receiver_id AS merchants_id, - ANY_VALUE(MERCHANTS.name) AS merchants_name, - ANY_VALUE(MERCHANTS.category) AS category, - COALESCE(SUM(WALLET_TRANSACTIONS_DAILY.amount), 0) AS total_revenue, - ROW_NUMBER() OVER (ORDER BY COALESCE(SUM(WALLET_TRANSACTIONS_DAILY.amount), 0) DESC) AS mrr + WALLET_TRANSACTIONS_DAILY.RECEIVER_ID AS merchants_id, + ANY_VALUE(MERCHANTS.NAME) AS merchants_name, + ANY_VALUE(MERCHANTS.CATEGORY) AS category, + COALESCE(SUM(WALLET_TRANSACTIONS_DAILY.AMOUNT), 0) AS total_revenue, + ROW_NUMBER() OVER (ORDER BY COALESCE(SUM(WALLET_TRANSACTIONS_DAILY.AMOUNT), 0) DESC) AS mrr FROM MAIN.MERCHANTS MERCHANTS JOIN MAIN.WALLET_TRANSACTIONS_DAILY WALLET_TRANSACTIONS_DAILY - ON MERCHANTS.mid = WALLET_TRANSACTIONS_DAILY.receiver_id - AND WALLET_TRANSACTIONS_DAILY.receiver_type = 1 - AND WALLET_TRANSACTIONS_DAILY.status = 'success' + ON MERCHANTS.MID = WALLET_TRANSACTIONS_DAILY.RECEIVER_ID + AND WALLET_TRANSACTIONS_DAILY.RECEIVER_TYPE = 1 + AND WALLET_TRANSACTIONS_DAILY.STATUS = 'success' GROUP BY - WALLET_TRANSACTIONS_DAILY.receiver_id + WALLET_TRANSACTIONS_DAILY.RECEIVER_ID diff --git a/tests/test_sql_refsols/defog_ewallet_adv8_postgres.sql b/tests/test_sql_refsols/defog_ewallet_adv8_postgres.sql index 33e2f6661..8519016f7 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv8_postgres.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv8_postgres.sql @@ -1,7 +1,7 @@ SELECT wallet_transactions_daily.receiver_id AS merchants_id, - MAX(merchants.name) AS merchants_name, - MAX(merchants.category) AS category, + ANY_VALUE(merchants.name) AS merchants_name, + ANY_VALUE(merchants.category) AS category, COALESCE(SUM(wallet_transactions_daily.amount), 0) AS total_revenue, ROW_NUMBER() OVER (ORDER BY COALESCE(SUM(wallet_transactions_daily.amount), 0) DESC) AS mrr FROM main.merchants AS merchants diff --git a/tests/test_sql_refsols/defog_ewallet_adv9_oracle.sql b/tests/test_sql_refsols/defog_ewallet_adv9_oracle.sql index 225ded5c7..85fd8f754 100644 --- a/tests/test_sql_refsols/defog_ewallet_adv9_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_adv9_oracle.sql @@ -1,10 +1,10 @@ SELECT - TRUNC(CAST(created_at AS DATE), 'MONTH') AS year_month, - COUNT(DISTINCT sender_id) AS active_users + TRUNC(CAST(CREATED_AT AS DATE), 'MONTH') AS year_month, + COUNT(DISTINCT SENDER_ID) AS active_users FROM MAIN.WALLET_TRANSACTIONS_DAILY WHERE - created_at < TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH') - AND created_at >= ADD_MONTHS(TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH'), -2) - AND sender_type = 0 + CREATED_AT < TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH') + AND CREATED_AT >= ADD_MONTHS(TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'MONTH'), -2) + AND SENDER_TYPE = 0 GROUP BY - TRUNC(CAST(created_at AS DATE), 'MONTH') + TRUNC(CAST(CREATED_AT AS DATE), 'MONTH') diff --git a/tests/test_sql_refsols/defog_ewallet_basic10_databricks.sql b/tests/test_sql_refsols/defog_ewallet_basic10_databricks.sql index 46a902619..f3aba0817 100644 --- a/tests/test_sql_refsols/defog_ewallet_basic10_databricks.sql +++ b/tests/test_sql_refsols/defog_ewallet_basic10_databricks.sql @@ -4,7 +4,7 @@ WITH _s1 AS ( receiver_id FROM defog.ewallet.wallet_transactions_daily WHERE - created_at >= DATE_TRUNC('DAY', DATEADD(DAY, -150, CURRENT_TIMESTAMP())) + created_at >= DATE_TRUNC('DAY', DATE_ADD(CURRENT_TIMESTAMP(), -150)) AND receiver_type = 1 ) SELECT diff --git a/tests/test_sql_refsols/defog_ewallet_basic10_oracle.sql b/tests/test_sql_refsols/defog_ewallet_basic10_oracle.sql index b70006ebc..742701b20 100644 --- a/tests/test_sql_refsols/defog_ewallet_basic10_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_basic10_oracle.sql @@ -1,21 +1,21 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - amount AS AMOUNT, - receiver_id AS RECEIVER_ID + AMOUNT, + RECEIVER_ID FROM MAIN.WALLET_TRANSACTIONS_DAILY WHERE - created_at >= TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP) - NUMTODSINTERVAL(150, 'day'), 'DD') - AND receiver_type = 1 + CREATED_AT >= TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP) - NUMTODSINTERVAL(150, 'day'), 'DD') + AND RECEIVER_TYPE = 1 ) SELECT - ANY_VALUE(MERCHANTS.name) AS merchant_name, - COUNT("_S1".RECEIVER_ID) AS total_transactions, - COALESCE(SUM("_S1".AMOUNT), 0) AS total_amount + ANY_VALUE(MERCHANTS.NAME) AS merchant_name, + COUNT("_s1".RECEIVER_ID) AS total_transactions, + COALESCE(SUM("_s1".AMOUNT), 0) AS total_amount FROM MAIN.MERCHANTS MERCHANTS -LEFT JOIN "_S1" "_S1" - ON MERCHANTS.mid = "_S1".RECEIVER_ID +LEFT JOIN "_s1" "_s1" + ON MERCHANTS.MID = "_s1".RECEIVER_ID GROUP BY - MERCHANTS.mid + MERCHANTS.MID ORDER BY 3 DESC NULLS LAST FETCH FIRST 2 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_ewallet_basic10_postgres.sql b/tests/test_sql_refsols/defog_ewallet_basic10_postgres.sql index 1c7b93bbe..3c2c4b495 100644 --- a/tests/test_sql_refsols/defog_ewallet_basic10_postgres.sql +++ b/tests/test_sql_refsols/defog_ewallet_basic10_postgres.sql @@ -8,7 +8,7 @@ WITH _s1 AS ( AND receiver_type = 1 ) SELECT - MAX(merchants.name) AS merchant_name, + ANY_VALUE(merchants.name) AS merchant_name, COUNT(_s1.receiver_id) AS total_transactions, COALESCE(SUM(_s1.amount), 0) AS total_amount FROM main.merchants AS merchants diff --git a/tests/test_sql_refsols/defog_ewallet_basic1_oracle.sql b/tests/test_sql_refsols/defog_ewallet_basic1_oracle.sql index 7b5b817b2..1b4e0ac48 100644 --- a/tests/test_sql_refsols/defog_ewallet_basic1_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_basic1_oracle.sql @@ -1,12 +1,12 @@ SELECT - TRUNC(CAST(WALLET_TRANSACTIONS_DAILY.created_at AS DATE), 'MONTH') AS month, - COUNT(DISTINCT WALLET_TRANSACTIONS_DAILY.sender_id) AS active_users + TRUNC(CAST(WALLET_TRANSACTIONS_DAILY.CREATED_AT AS DATE), 'MONTH') AS month, + COUNT(DISTINCT WALLET_TRANSACTIONS_DAILY.SENDER_ID) AS active_users FROM MAIN.WALLET_TRANSACTIONS_DAILY WALLET_TRANSACTIONS_DAILY JOIN MAIN.USERS USERS - ON USERS.status = 'active' AND USERS.uid = WALLET_TRANSACTIONS_DAILY.sender_id + ON USERS.STATUS = 'active' AND USERS.UID = WALLET_TRANSACTIONS_DAILY.SENDER_ID WHERE - EXTRACT(YEAR FROM CAST(WALLET_TRANSACTIONS_DAILY.created_at AS DATE)) = 2023 - AND WALLET_TRANSACTIONS_DAILY.sender_type = 0 - AND WALLET_TRANSACTIONS_DAILY.status = 'success' + EXTRACT(YEAR FROM CAST(WALLET_TRANSACTIONS_DAILY.CREATED_AT AS DATE)) = 2023 + AND WALLET_TRANSACTIONS_DAILY.SENDER_TYPE = 0 + AND WALLET_TRANSACTIONS_DAILY.STATUS = 'success' GROUP BY - TRUNC(CAST(WALLET_TRANSACTIONS_DAILY.created_at AS DATE), 'MONTH') + TRUNC(CAST(WALLET_TRANSACTIONS_DAILY.CREATED_AT AS DATE), 'MONTH') diff --git a/tests/test_sql_refsols/defog_ewallet_basic2_ansi.sql b/tests/test_sql_refsols/defog_ewallet_basic2_ansi.sql index a9d80af14..62d4c3304 100644 --- a/tests/test_sql_refsols/defog_ewallet_basic2_ansi.sql +++ b/tests/test_sql_refsols/defog_ewallet_basic2_ansi.sql @@ -1,6 +1,11 @@ +WITH _s1 AS ( + SELECT + merchant_id + FROM main.coupons +) SELECT merchants.mid AS merchant_id, merchants.name AS merchant_name FROM main.merchants AS merchants -JOIN main.coupons AS coupons - ON coupons.merchant_id = merchants.mid +ANTI JOIN _s1 AS _s1 + ON _s1.merchant_id = merchants.mid diff --git a/tests/test_sql_refsols/defog_ewallet_basic2_mysql.sql b/tests/test_sql_refsols/defog_ewallet_basic2_mysql.sql index 3ff005c03..53ed870c2 100644 --- a/tests/test_sql_refsols/defog_ewallet_basic2_mysql.sql +++ b/tests/test_sql_refsols/defog_ewallet_basic2_mysql.sql @@ -12,4 +12,4 @@ FROM ewallet.merchants AS merchants LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = merchants.mid WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_ewallet_basic2_oracle.sql b/tests/test_sql_refsols/defog_ewallet_basic2_oracle.sql index 04ff871d4..dcde01180 100644 --- a/tests/test_sql_refsols/defog_ewallet_basic2_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_basic2_oracle.sql @@ -1,15 +1,15 @@ WITH "_u_0" AS ( SELECT - merchant_id AS "_u_1" + MERCHANT_ID AS "_u_1" FROM MAIN.COUPONS GROUP BY - merchant_id + MERCHANT_ID ) SELECT - MERCHANTS.mid AS merchant_id, - MERCHANTS.name AS merchant_name + MERCHANTS.MID AS merchant_id, + MERCHANTS.NAME AS merchant_name FROM MAIN.MERCHANTS MERCHANTS LEFT JOIN "_u_0" "_u_0" - ON MERCHANTS.mid = "_u_0"."_u_1" + ON MERCHANTS.MID = "_u_0"."_u_1" WHERE "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/defog_ewallet_basic2_sqlite.sql b/tests/test_sql_refsols/defog_ewallet_basic2_sqlite.sql index 9ca419d96..90c38fc3a 100644 --- a/tests/test_sql_refsols/defog_ewallet_basic2_sqlite.sql +++ b/tests/test_sql_refsols/defog_ewallet_basic2_sqlite.sql @@ -12,4 +12,4 @@ FROM main.merchants AS merchants LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = merchants.mid WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_ewallet_basic3_ansi.sql b/tests/test_sql_refsols/defog_ewallet_basic3_ansi.sql index ed5e5d632..3b2638e3b 100644 --- a/tests/test_sql_refsols/defog_ewallet_basic3_ansi.sql +++ b/tests/test_sql_refsols/defog_ewallet_basic3_ansi.sql @@ -1,6 +1,12 @@ +WITH _s1 AS ( + SELECT + receiver_id + FROM main.wallet_transactions_daily + WHERE + receiver_type = 1 +) SELECT merchants.mid AS merchant FROM main.merchants AS merchants -JOIN main.wallet_transactions_daily AS wallet_transactions_daily - ON merchants.mid = wallet_transactions_daily.receiver_id - AND wallet_transactions_daily.receiver_type = 1 +SEMI JOIN _s1 AS _s1 + ON _s1.receiver_id = merchants.mid diff --git a/tests/test_sql_refsols/defog_ewallet_basic3_oracle.sql b/tests/test_sql_refsols/defog_ewallet_basic3_oracle.sql index ab9c12081..4720a1ecb 100644 --- a/tests/test_sql_refsols/defog_ewallet_basic3_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_basic3_oracle.sql @@ -1,16 +1,16 @@ WITH "_u_0" AS ( SELECT - receiver_id AS "_u_1" + RECEIVER_ID AS "_u_1" FROM MAIN.WALLET_TRANSACTIONS_DAILY WHERE - receiver_type = 1 + RECEIVER_TYPE = 1 GROUP BY - receiver_id + RECEIVER_ID ) SELECT - MERCHANTS.mid AS merchant + MERCHANTS.MID AS merchant FROM MAIN.MERCHANTS MERCHANTS LEFT JOIN "_u_0" "_u_0" - ON MERCHANTS.mid = "_u_0"."_u_1" + ON MERCHANTS.MID = "_u_0"."_u_1" WHERE NOT "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/defog_ewallet_basic4_ansi.sql b/tests/test_sql_refsols/defog_ewallet_basic4_ansi.sql index c6c00d779..2597ba177 100644 --- a/tests/test_sql_refsols/defog_ewallet_basic4_ansi.sql +++ b/tests/test_sql_refsols/defog_ewallet_basic4_ansi.sql @@ -1,5 +1,12 @@ +WITH _s1 AS ( + SELECT + user_id + FROM main.notifications + WHERE + type = 'transaction' +) SELECT users.uid AS user_id FROM main.users AS users -JOIN main.notifications AS notifications - ON notifications.type = 'transaction' AND notifications.user_id = users.uid +SEMI JOIN _s1 AS _s1 + ON _s1.user_id = users.uid diff --git a/tests/test_sql_refsols/defog_ewallet_basic4_oracle.sql b/tests/test_sql_refsols/defog_ewallet_basic4_oracle.sql index 46556c698..4e98184fb 100644 --- a/tests/test_sql_refsols/defog_ewallet_basic4_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_basic4_oracle.sql @@ -1,16 +1,16 @@ WITH "_u_0" AS ( SELECT - user_id AS "_u_1" + USER_ID AS "_u_1" FROM MAIN.NOTIFICATIONS WHERE - type = 'transaction' + TYPE = 'transaction' GROUP BY - user_id + USER_ID ) SELECT - USERS.uid AS user_id + USERS.UID AS user_id FROM MAIN.USERS USERS LEFT JOIN "_u_0" "_u_0" - ON USERS.uid = "_u_0"."_u_1" + ON USERS.UID = "_u_0"."_u_1" WHERE NOT "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/defog_ewallet_basic5_ansi.sql b/tests/test_sql_refsols/defog_ewallet_basic5_ansi.sql index dff11a488..9c50c3cc1 100644 --- a/tests/test_sql_refsols/defog_ewallet_basic5_ansi.sql +++ b/tests/test_sql_refsols/defog_ewallet_basic5_ansi.sql @@ -1,6 +1,11 @@ +WITH _s1 AS ( + SELECT + user_id + FROM main.notifications +) SELECT users.uid, users.username FROM main.users AS users -JOIN main.notifications AS notifications - ON notifications.user_id = users.uid +ANTI JOIN _s1 AS _s1 + ON _s1.user_id = users.uid diff --git a/tests/test_sql_refsols/defog_ewallet_basic5_mysql.sql b/tests/test_sql_refsols/defog_ewallet_basic5_mysql.sql index 6187587e2..813c4bd5f 100644 --- a/tests/test_sql_refsols/defog_ewallet_basic5_mysql.sql +++ b/tests/test_sql_refsols/defog_ewallet_basic5_mysql.sql @@ -12,4 +12,4 @@ FROM ewallet.users AS users LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = users.uid WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_ewallet_basic5_oracle.sql b/tests/test_sql_refsols/defog_ewallet_basic5_oracle.sql index 6d65082a9..12681fb9d 100644 --- a/tests/test_sql_refsols/defog_ewallet_basic5_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_basic5_oracle.sql @@ -1,15 +1,15 @@ WITH "_u_0" AS ( SELECT - user_id AS "_u_1" + USER_ID AS "_u_1" FROM MAIN.NOTIFICATIONS GROUP BY - user_id + USER_ID ) SELECT - USERS.uid, - USERS.username + USERS.UID AS uid, + USERS.USERNAME AS username FROM MAIN.USERS USERS LEFT JOIN "_u_0" "_u_0" - ON USERS.uid = "_u_0"."_u_1" + ON USERS.UID = "_u_0"."_u_1" WHERE "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/defog_ewallet_basic5_sqlite.sql b/tests/test_sql_refsols/defog_ewallet_basic5_sqlite.sql index b1a33dd01..c1da676a6 100644 --- a/tests/test_sql_refsols/defog_ewallet_basic5_sqlite.sql +++ b/tests/test_sql_refsols/defog_ewallet_basic5_sqlite.sql @@ -12,4 +12,4 @@ FROM main.users AS users LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = users.uid WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_ewallet_basic6_oracle.sql b/tests/test_sql_refsols/defog_ewallet_basic6_oracle.sql index 1fad261a8..40c400c43 100644 --- a/tests/test_sql_refsols/defog_ewallet_basic6_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_basic6_oracle.sql @@ -1,9 +1,9 @@ SELECT - device_type, + DEVICE_TYPE AS device_type, COUNT(*) AS count FROM MAIN.USER_SESSIONS GROUP BY - device_type + DEVICE_TYPE ORDER BY 2 DESC NULLS LAST FETCH FIRST 2 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_ewallet_basic7_oracle.sql b/tests/test_sql_refsols/defog_ewallet_basic7_oracle.sql index 641290b6c..379b9b492 100644 --- a/tests/test_sql_refsols/defog_ewallet_basic7_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_basic7_oracle.sql @@ -1,9 +1,9 @@ SELECT - status, + STATUS AS status, COUNT(*) AS count FROM MAIN.WALLET_TRANSACTIONS_DAILY GROUP BY - status + STATUS ORDER BY 2 DESC NULLS LAST FETCH FIRST 3 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_ewallet_basic8_oracle.sql b/tests/test_sql_refsols/defog_ewallet_basic8_oracle.sql index 919f60a5a..b67ea3123 100644 --- a/tests/test_sql_refsols/defog_ewallet_basic8_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_basic8_oracle.sql @@ -1,12 +1,12 @@ SELECT - ANY_VALUE(COUPONS.code) AS coupon_code, - COUNT(WALLET_TRANSACTIONS_DAILY.txid) AS redemption_count, - COALESCE(SUM(WALLET_TRANSACTIONS_DAILY.amount), 0) AS total_discount + ANY_VALUE(COUPONS.CODE) AS coupon_code, + COUNT(WALLET_TRANSACTIONS_DAILY.TXID) AS redemption_count, + COALESCE(SUM(WALLET_TRANSACTIONS_DAILY.AMOUNT), 0) AS total_discount FROM MAIN.COUPONS COUPONS LEFT JOIN MAIN.WALLET_TRANSACTIONS_DAILY WALLET_TRANSACTIONS_DAILY - ON COUPONS.cid = WALLET_TRANSACTIONS_DAILY.coupon_id + ON COUPONS.CID = WALLET_TRANSACTIONS_DAILY.COUPON_ID GROUP BY - COUPONS.cid + COUPONS.CID ORDER BY 2 DESC NULLS LAST FETCH FIRST 3 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_ewallet_basic8_postgres.sql b/tests/test_sql_refsols/defog_ewallet_basic8_postgres.sql index a2ac158c4..f2308b204 100644 --- a/tests/test_sql_refsols/defog_ewallet_basic8_postgres.sql +++ b/tests/test_sql_refsols/defog_ewallet_basic8_postgres.sql @@ -1,5 +1,5 @@ SELECT - MAX(coupons.code) AS coupon_code, + ANY_VALUE(coupons.code) AS coupon_code, COUNT(wallet_transactions_daily.txid) AS redemption_count, COALESCE(SUM(wallet_transactions_daily.amount), 0) AS total_discount FROM main.coupons AS coupons diff --git a/tests/test_sql_refsols/defog_ewallet_basic9_oracle.sql b/tests/test_sql_refsols/defog_ewallet_basic9_oracle.sql index 2b419d7b8..5d460017d 100644 --- a/tests/test_sql_refsols/defog_ewallet_basic9_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_basic9_oracle.sql @@ -1,14 +1,14 @@ SELECT - USERS.country, - COUNT(DISTINCT WALLET_TRANSACTIONS_DAILY.sender_id) AS user_count, - COALESCE(SUM(WALLET_TRANSACTIONS_DAILY.amount), 0) AS total_amount + USERS.COUNTRY AS country, + COUNT(DISTINCT WALLET_TRANSACTIONS_DAILY.SENDER_ID) AS user_count, + COALESCE(SUM(WALLET_TRANSACTIONS_DAILY.AMOUNT), 0) AS total_amount FROM MAIN.WALLET_TRANSACTIONS_DAILY WALLET_TRANSACTIONS_DAILY LEFT JOIN MAIN.USERS USERS - ON USERS.uid = WALLET_TRANSACTIONS_DAILY.sender_id + ON USERS.UID = WALLET_TRANSACTIONS_DAILY.SENDER_ID WHERE - WALLET_TRANSACTIONS_DAILY.sender_type = 0 + WALLET_TRANSACTIONS_DAILY.SENDER_TYPE = 0 GROUP BY - USERS.country + USERS.COUNTRY ORDER BY 3 DESC NULLS LAST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_ewallet_gen1_oracle.sql b/tests/test_sql_refsols/defog_ewallet_gen1_oracle.sql index e98b8a4b5..e7d5e7346 100644 --- a/tests/test_sql_refsols/defog_ewallet_gen1_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_gen1_oracle.sql @@ -1,26 +1,26 @@ -WITH "_T0" AS ( +WITH "_t0" AS ( SELECT CASE WHEN ABS( ( - ROW_NUMBER() OVER (ORDER BY WALLET_MERCHANT_BALANCE_DAILY.balance DESC NULLS LAST) - 1.0 + ROW_NUMBER() OVER (ORDER BY WALLET_MERCHANT_BALANCE_DAILY.BALANCE DESC NULLS LAST) - 1.0 ) - ( ( - COUNT(WALLET_MERCHANT_BALANCE_DAILY.balance) OVER () - 1.0 + COUNT(WALLET_MERCHANT_BALANCE_DAILY.BALANCE) OVER () - 1.0 ) / 2.0 ) ) < 1.0 - THEN WALLET_MERCHANT_BALANCE_DAILY.balance + THEN WALLET_MERCHANT_BALANCE_DAILY.BALANCE ELSE NULL END AS EXPR_1 FROM MAIN.WALLET_MERCHANT_BALANCE_DAILY WALLET_MERCHANT_BALANCE_DAILY JOIN MAIN.MERCHANTS MERCHANTS - ON LOWER(MERCHANTS.category) LIKE '%retail%' - AND MERCHANTS.mid = WALLET_MERCHANT_BALANCE_DAILY.merchant_id - AND MERCHANTS.status = 'active' + ON LOWER(MERCHANTS.CATEGORY) LIKE '%retail%' + AND MERCHANTS.MID = WALLET_MERCHANT_BALANCE_DAILY.MERCHANT_ID + AND MERCHANTS.STATUS = 'active' WHERE - TRUNC(CAST(CAST(WALLET_MERCHANT_BALANCE_DAILY.updated_at AS DATE) AS DATE), 'DD') = TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'DD') + TRUNC(CAST(CAST(WALLET_MERCHANT_BALANCE_DAILY.UPDATED_AT AS DATE) AS DATE), 'DD') = TRUNC(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'DD') ) SELECT AVG(EXPR_1) AS "_expr0" -FROM "_T0" +FROM "_t0" diff --git a/tests/test_sql_refsols/defog_ewallet_gen1_trino.sql b/tests/test_sql_refsols/defog_ewallet_gen1_trino.sql index fdb7f437e..8d38fa563 100644 --- a/tests/test_sql_refsols/defog_ewallet_gen1_trino.sql +++ b/tests/test_sql_refsols/defog_ewallet_gen1_trino.sql @@ -5,9 +5,9 @@ WITH _t0 AS ( ( ROW_NUMBER() OVER (ORDER BY wallet_merchant_balance_daily.balance DESC) - 1.0 ) - ( - CAST(( + ( COUNT(wallet_merchant_balance_daily.balance) OVER () - 1.0 - ) AS DOUBLE) / 2.0 + ) / 2.0 ) ) < 1.0 THEN wallet_merchant_balance_daily.balance diff --git a/tests/test_sql_refsols/defog_ewallet_gen2_oracle.sql b/tests/test_sql_refsols/defog_ewallet_gen2_oracle.sql index 4206306c5..a116d1c55 100644 --- a/tests/test_sql_refsols/defog_ewallet_gen2_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_gen2_oracle.sql @@ -1,23 +1,23 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - MIN(snapshot_date) AS MIN_SNAPSHOT_DATE + MIN(SNAPSHOT_DATE) AS MIN_SNAPSHOT_DATE FROM MAIN.USER_SETTING_SNAPSHOT WHERE - EXTRACT(YEAR FROM CAST(snapshot_date AS DATE)) = 2023 -), "_S1" AS ( + EXTRACT(YEAR FROM CAST(SNAPSHOT_DATE AS DATE)) = 2023 +), "_s1" AS ( SELECT - snapshot_date AS SNAPSHOT_DATE, - AVG(tx_limit_daily) AS AVG_TX_LIMIT_DAILY, - AVG(tx_limit_monthly) AS AVG_TX_LIMIT_MONTHLY + SNAPSHOT_DATE, + AVG(TX_LIMIT_DAILY) AS AVG_TX_LIMIT_DAILY, + AVG(TX_LIMIT_MONTHLY) AS AVG_TX_LIMIT_MONTHLY FROM MAIN.USER_SETTING_SNAPSHOT WHERE - EXTRACT(YEAR FROM CAST(snapshot_date AS DATE)) = 2023 + EXTRACT(YEAR FROM CAST(SNAPSHOT_DATE AS DATE)) = 2023 GROUP BY - snapshot_date + SNAPSHOT_DATE ) SELECT - "_S1".AVG_TX_LIMIT_DAILY AS avg_daily_limit, - "_S1".AVG_TX_LIMIT_MONTHLY AS avg_monthly_limit -FROM "_S0" "_S0" -LEFT JOIN "_S1" "_S1" - ON "_S0".MIN_SNAPSHOT_DATE = "_S1".SNAPSHOT_DATE + "_s1".AVG_TX_LIMIT_DAILY AS avg_daily_limit, + "_s1".AVG_TX_LIMIT_MONTHLY AS avg_monthly_limit +FROM "_s0" "_s0" +LEFT JOIN "_s1" "_s1" + ON "_s0".MIN_SNAPSHOT_DATE = "_s1".SNAPSHOT_DATE diff --git a/tests/test_sql_refsols/defog_ewallet_gen3_oracle.sql b/tests/test_sql_refsols/defog_ewallet_gen3_oracle.sql index 0a5c52c5a..b223f2895 100644 --- a/tests/test_sql_refsols/defog_ewallet_gen3_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_gen3_oracle.sql @@ -1,8 +1,8 @@ SELECT - device_type, + DEVICE_TYPE AS device_type, AVG(( - CAST(session_end_ts AS DATE) - CAST(session_start_ts AS DATE) + CAST(SESSION_END_TS AS DATE) - CAST(SESSION_START_TS AS DATE) ) * 86400) AS avg_session_duration_seconds FROM MAIN.USER_SESSIONS GROUP BY - device_type + DEVICE_TYPE diff --git a/tests/test_sql_refsols/defog_ewallet_gen4_databricks.sql b/tests/test_sql_refsols/defog_ewallet_gen4_databricks.sql index 56d13f6e5..78c20f9e8 100644 --- a/tests/test_sql_refsols/defog_ewallet_gen4_databricks.sql +++ b/tests/test_sql_refsols/defog_ewallet_gen4_databricks.sql @@ -33,4 +33,4 @@ SELECT FROM _s4 AS _s4 JOIN _t1 AS _s5 ON _s4.merchant_id = _s5.merchant_id - AND _s5.start_date <= DATEADD(YEAR, 1, CAST(_s4.anything_created_at AS TIMESTAMP)) + AND _s5.start_date <= DATE_ADD(YEAR, 1, CAST(_s4.anything_created_at AS TIMESTAMP)) diff --git a/tests/test_sql_refsols/defog_ewallet_gen4_oracle.sql b/tests/test_sql_refsols/defog_ewallet_gen4_oracle.sql index f2af3fdc4..4f3ed2750 100644 --- a/tests/test_sql_refsols/defog_ewallet_gen4_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_gen4_oracle.sql @@ -1,36 +1,36 @@ -WITH "_T1" AS ( +WITH "_t1" AS ( SELECT - merchant_id AS MERCHANT_ID, - start_date AS START_DATE + MERCHANT_ID, + START_DATE FROM MAIN.COUPONS -), "_S1" AS ( +), "_s1" AS ( SELECT MERCHANT_ID, MIN(START_DATE) AS MIN_START_DATE - FROM "_T1" + FROM "_t1" GROUP BY MERCHANT_ID -), "_S4" AS ( +), "_s4" AS ( SELECT - MERCHANTS.mid AS MERCHANT_ID, - "_S1".MIN_START_DATE, - ANY_VALUE(MERCHANTS.created_at) AS ANYTHING_CREATED_AT, - MAX(COUPONS.cid) AS MAX_CID + MERCHANTS.MID AS MERCHANT_ID, + "_s1".MIN_START_DATE, + ANY_VALUE(MERCHANTS.CREATED_AT) AS ANYTHING_CREATED_AT, + MAX(COUPONS.CID) AS MAX_CID FROM MAIN.MERCHANTS MERCHANTS - LEFT JOIN "_S1" "_S1" - ON MERCHANTS.mid = "_S1".MERCHANT_ID + LEFT JOIN "_s1" "_s1" + ON MERCHANTS.MID = "_s1".MERCHANT_ID LEFT JOIN MAIN.COUPONS COUPONS - ON COUPONS.merchant_id = MERCHANTS.mid AND COUPONS.start_date = "_S1".MIN_START_DATE + ON COUPONS.MERCHANT_ID = MERCHANTS.MID AND COUPONS.START_DATE = "_s1".MIN_START_DATE GROUP BY - MERCHANTS.mid, - "_S1".MIN_START_DATE + MERCHANTS.MID, + "_s1".MIN_START_DATE ) SELECT - "_S4".MERCHANT_ID AS merchants_id, - "_S4".ANYTHING_CREATED_AT AS merchant_registration_date, - "_S4".MIN_START_DATE AS earliest_coupon_start_date, - "_S4".MAX_CID AS earliest_coupon_id -FROM "_S4" "_S4" -JOIN "_T1" "_S5" - ON "_S4".MERCHANT_ID = "_S5".MERCHANT_ID - AND "_S5".START_DATE <= ADD_MONTHS(CAST("_S4".ANYTHING_CREATED_AT AS DATE), 12) + "_s4".MERCHANT_ID AS merchants_id, + "_s4".ANYTHING_CREATED_AT AS merchant_registration_date, + "_s4".MIN_START_DATE AS earliest_coupon_start_date, + "_s4".MAX_CID AS earliest_coupon_id +FROM "_s4" "_s4" +JOIN "_t1" "_s5" + ON "_s4".MERCHANT_ID = "_s5".MERCHANT_ID + AND "_s5".START_DATE <= ADD_MONTHS(CAST("_s4".ANYTHING_CREATED_AT AS DATE), 12) diff --git a/tests/test_sql_refsols/defog_ewallet_gen4_postgres.sql b/tests/test_sql_refsols/defog_ewallet_gen4_postgres.sql index 97c8fbb6b..cf7de1a67 100644 --- a/tests/test_sql_refsols/defog_ewallet_gen4_postgres.sql +++ b/tests/test_sql_refsols/defog_ewallet_gen4_postgres.sql @@ -14,7 +14,7 @@ WITH _t1 AS ( SELECT merchants.mid AS merchant_id, _s1.min_start_date, - MAX(merchants.created_at) AS anything_created_at, + ANY_VALUE(merchants.created_at) AS anything_created_at, MAX(coupons.cid) AS max_cid FROM main.merchants AS merchants LEFT JOIN _s1 AS _s1 diff --git a/tests/test_sql_refsols/defog_ewallet_gen5_ansi.sql b/tests/test_sql_refsols/defog_ewallet_gen5_ansi.sql index d14b826f2..8e3900595 100644 --- a/tests/test_sql_refsols/defog_ewallet_gen5_ansi.sql +++ b/tests/test_sql_refsols/defog_ewallet_gen5_ansi.sql @@ -1,11 +1,16 @@ +WITH _s3 AS ( + SELECT + notifications.user_id + FROM main.notifications AS notifications + JOIN main.users AS users + ON notifications.created_at <= DATE_ADD(CAST(users.created_at AS TIMESTAMP), 1, 'YEAR') + AND notifications.created_at >= users.created_at + AND notifications.user_id = users.uid +) SELECT users.username, users.email, users.created_at FROM main.users AS users -JOIN main.notifications AS notifications - ON notifications.user_id = users.uid -JOIN main.users AS users_2 - ON notifications.created_at <= DATE_ADD(CAST(users_2.created_at AS TIMESTAMP), 1, 'YEAR') - AND notifications.created_at >= users_2.created_at - AND notifications.user_id = users_2.uid +ANTI JOIN _s3 AS _s3 + ON _s3.user_id = users.uid diff --git a/tests/test_sql_refsols/defog_ewallet_gen5_databricks.sql b/tests/test_sql_refsols/defog_ewallet_gen5_databricks.sql index 1cfbc3e59..1312f1fa0 100644 --- a/tests/test_sql_refsols/defog_ewallet_gen5_databricks.sql +++ b/tests/test_sql_refsols/defog_ewallet_gen5_databricks.sql @@ -3,7 +3,7 @@ WITH _u_0 AS ( notifications.user_id AS _u_1 FROM defog.ewallet.notifications AS notifications JOIN defog.ewallet.users AS users - ON notifications.created_at <= DATEADD(YEAR, 1, CAST(users.created_at AS TIMESTAMP)) + ON notifications.created_at <= DATE_ADD(YEAR, 1, CAST(users.created_at AS TIMESTAMP)) AND notifications.created_at >= users.created_at AND notifications.user_id = users.uid GROUP BY diff --git a/tests/test_sql_refsols/defog_ewallet_gen5_mysql.sql b/tests/test_sql_refsols/defog_ewallet_gen5_mysql.sql index 0f89f8d05..6b771478b 100644 --- a/tests/test_sql_refsols/defog_ewallet_gen5_mysql.sql +++ b/tests/test_sql_refsols/defog_ewallet_gen5_mysql.sql @@ -17,4 +17,4 @@ FROM ewallet.users AS users LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = users.uid WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_ewallet_gen5_oracle.sql b/tests/test_sql_refsols/defog_ewallet_gen5_oracle.sql index 860d41dff..d8e23544b 100644 --- a/tests/test_sql_refsols/defog_ewallet_gen5_oracle.sql +++ b/tests/test_sql_refsols/defog_ewallet_gen5_oracle.sql @@ -1,20 +1,20 @@ WITH "_u_0" AS ( SELECT - NOTIFICATIONS.user_id AS "_u_1" + NOTIFICATIONS.USER_ID AS "_u_1" FROM MAIN.NOTIFICATIONS NOTIFICATIONS JOIN MAIN.USERS USERS - ON NOTIFICATIONS.created_at <= ADD_MONTHS(CAST(USERS.created_at AS DATE), 12) - AND NOTIFICATIONS.created_at >= USERS.created_at - AND NOTIFICATIONS.user_id = USERS.uid + ON NOTIFICATIONS.CREATED_AT <= ADD_MONTHS(CAST(USERS.CREATED_AT AS DATE), 12) + AND NOTIFICATIONS.CREATED_AT >= USERS.CREATED_AT + AND NOTIFICATIONS.USER_ID = USERS.UID GROUP BY - NOTIFICATIONS.user_id + NOTIFICATIONS.USER_ID ) SELECT - USERS.username, - USERS.email, - USERS.created_at + USERS.USERNAME AS username, + USERS.EMAIL AS email, + USERS.CREATED_AT AS created_at FROM MAIN.USERS USERS LEFT JOIN "_u_0" "_u_0" - ON USERS.uid = "_u_0"."_u_1" + ON USERS.UID = "_u_0"."_u_1" WHERE "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/defog_ewallet_gen5_sqlite.sql b/tests/test_sql_refsols/defog_ewallet_gen5_sqlite.sql index efcb8f8ad..934bee8c9 100644 --- a/tests/test_sql_refsols/defog_ewallet_gen5_sqlite.sql +++ b/tests/test_sql_refsols/defog_ewallet_gen5_sqlite.sql @@ -17,4 +17,4 @@ FROM main.users AS users LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = users.uid WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/defog_restaurants_gen10_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen10_oracle.sql index 3b989280f..b14d1eb77 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen10_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen10_oracle.sql @@ -1,6 +1,6 @@ SELECT - name, - rating + NAME AS name, + RATING AS rating FROM MAIN.RESTAURANT ORDER BY 2 DESC NULLS LAST, diff --git a/tests/test_sql_refsols/defog_restaurants_gen11_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen11_oracle.sql index ecb606335..b75554127 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen11_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen11_oracle.sql @@ -1,3 +1,3 @@ SELECT - SUM(rating > 4.5) / NULLIF(COUNT(*), 0) AS ratio + SUM(RATING > 4.5) / NULLIF(COUNT(*), 0) AS ratio FROM MAIN.RESTAURANT diff --git a/tests/test_sql_refsols/defog_restaurants_gen12_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen12_oracle.sql index 145f7169e..322691509 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen12_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen12_oracle.sql @@ -1,3 +1,3 @@ SELECT - COALESCE(SUM(rating > 4.0), 0) / NULLIF(SUM(rating < 4.0), 0) AS ratio + COALESCE(SUM(RATING > 4.0), 0) / NULLIF(SUM(RATING < 4.0), 0) AS ratio FROM MAIN.RESTAURANT diff --git a/tests/test_sql_refsols/defog_restaurants_gen13_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen13_oracle.sql index 082b6d399..b1eee406c 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen13_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen13_oracle.sql @@ -1,5 +1,5 @@ SELECT - COALESCE(SUM(rating > 4.0), 0) / NULLIF(SUM(rating < 4.0), 0) AS ratio + COALESCE(SUM(RATING > 4.0), 0) / NULLIF(SUM(RATING < 4.0), 0) AS ratio FROM MAIN.RESTAURANT WHERE - LOWER(city_name) = 'new york' + LOWER(CITY_NAME) = 'new york' diff --git a/tests/test_sql_refsols/defog_restaurants_gen14_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen14_oracle.sql index 442a90119..c8639e685 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen14_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen14_oracle.sql @@ -1,8 +1,8 @@ SELECT - SUM(LOWER(food_type) = 'vegan') / NULLIF(SUM(LOWER(food_type) <> 'vegan'), 0) AS ratio + SUM(LOWER(FOOD_TYPE) = 'vegan') / NULLIF(SUM(LOWER(FOOD_TYPE) <> 'vegan'), 0) AS ratio FROM MAIN.RESTAURANT WHERE - LOWER(city_name) = 'san francisco' + LOWER(CITY_NAME) = 'san francisco' AND ( - LOWER(food_type) <> 'vegan' OR LOWER(food_type) = 'vegan' + LOWER(FOOD_TYPE) <> 'vegan' OR LOWER(FOOD_TYPE) = 'vegan' ) diff --git a/tests/test_sql_refsols/defog_restaurants_gen15_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen15_oracle.sql index 575d4a461..1f9b25ea1 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen15_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen15_oracle.sql @@ -1,5 +1,5 @@ SELECT - SUM(LOWER(food_type) = 'italian') / NULLIF(COUNT(*), 0) AS ratio + SUM(LOWER(FOOD_TYPE) = 'italian') / NULLIF(COUNT(*), 0) AS ratio FROM MAIN.RESTAURANT WHERE - LOWER(city_name) = 'los angeles' + LOWER(CITY_NAME) = 'los angeles' diff --git a/tests/test_sql_refsols/defog_restaurants_gen16_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen16_oracle.sql index 07da2b0a3..79a863310 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen16_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen16_oracle.sql @@ -1,17 +1,17 @@ -WITH "_T0" AS ( +WITH "_t0" AS ( SELECT - city_name AS CITY_NAME, - name AS NAME, + CITY_NAME, + NAME, COUNT(*) AS N_ROWS FROM MAIN.RESTAURANT GROUP BY - city_name, - name + CITY_NAME, + NAME ) SELECT CITY_NAME AS city_name, NAME AS name, N_ROWS AS n_restaurants -FROM "_T0" +FROM "_t0" WHERE N_ROWS > 1 diff --git a/tests/test_sql_refsols/defog_restaurants_gen17_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen17_oracle.sql index af6d498f2..8555636bd 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen17_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen17_oracle.sql @@ -1,8 +1,8 @@ SELECT - city_name, - AVG(rating) AS avg_rating + CITY_NAME AS city_name, + AVG(RATING) AS avg_rating FROM MAIN.RESTAURANT WHERE - LOWER(food_type) = 'mexican' + LOWER(FOOD_TYPE) = 'mexican' GROUP BY - city_name + CITY_NAME diff --git a/tests/test_sql_refsols/defog_restaurants_gen18_ansi.sql b/tests/test_sql_refsols/defog_restaurants_gen18_ansi.sql index c12293c26..0662a07f3 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen18_ansi.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen18_ansi.sql @@ -11,7 +11,7 @@ WITH _s0 AS ( SELECT DISTINCT _s0.region FROM _s0 AS _s0 - JOIN _s1 AS _s1 + SEMI JOIN _s1 AS _s1 ON _s0.city_name = _s1.city_name ), _s5 AS ( SELECT @@ -26,7 +26,7 @@ WITH _s0 AS ( SUM(_s5.sum_rating) / SUM(_s5.count_rating) AS avg_rating, _s2.region FROM _s0 AS _s2 - JOIN _s1 AS _s3 + SEMI JOIN _s1 AS _s3 ON _s2.city_name = _s3.city_name JOIN _s5 AS _s5 ON _s2.city_name = _s5.city_name diff --git a/tests/test_sql_refsols/defog_restaurants_gen18_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen18_oracle.sql index 63f68c3d5..e36169f7b 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen18_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen18_oracle.sql @@ -1,59 +1,59 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - city_name AS CITY_NAME, - region AS REGION + CITY_NAME, + REGION FROM MAIN.GEOGRAPHIC -), "_S1" AS ( +), "_s1" AS ( SELECT - city_name AS CITY_NAME + CITY_NAME FROM MAIN.RESTAURANT ), "_u_0" AS ( SELECT CITY_NAME AS "_u_1" - FROM "_S1" + FROM "_s1" GROUP BY CITY_NAME -), "_S6" AS ( +), "_s6" AS ( SELECT DISTINCT - "_S0".REGION - FROM "_S0" "_S0" + "_s0".REGION + FROM "_s0" "_s0" LEFT JOIN "_u_0" "_u_0" - ON "_S0".CITY_NAME = "_u_0"."_u_1" + ON "_s0".CITY_NAME = "_u_0"."_u_1" WHERE NOT "_u_0"."_u_1" IS NULL ), "_u_2" AS ( SELECT CITY_NAME AS "_u_3" - FROM "_S1" + FROM "_s1" GROUP BY CITY_NAME -), "_S5" AS ( +), "_s5" AS ( SELECT - city_name AS CITY_NAME, - COUNT(rating) AS COUNT_RATING, - SUM(rating) AS SUM_RATING + CITY_NAME, + COUNT(RATING) AS COUNT_RATING, + SUM(RATING) AS SUM_RATING FROM MAIN.RESTAURANT GROUP BY - city_name -), "_S7" AS ( + CITY_NAME +), "_s7" AS ( SELECT - SUM("_S5".SUM_RATING) / SUM("_S5".COUNT_RATING) AS AVG_RATING, - "_S2".REGION - FROM "_S0" "_S2" + SUM("_s5".SUM_RATING) / SUM("_s5".COUNT_RATING) AS AVG_RATING, + "_s2".REGION + FROM "_s0" "_s2" LEFT JOIN "_u_2" "_u_2" - ON "_S2".CITY_NAME = "_u_2"."_u_3" - JOIN "_S5" "_S5" - ON "_S2".CITY_NAME = "_S5".CITY_NAME + ON "_s2".CITY_NAME = "_u_2"."_u_3" + JOIN "_s5" "_s5" + ON "_s2".CITY_NAME = "_s5".CITY_NAME WHERE NOT "_u_2"."_u_3" IS NULL GROUP BY - "_S2".REGION + "_s2".REGION ) SELECT - "_S6".REGION AS rest_region, - "_S7".AVG_RATING AS avg_rating -FROM "_S6" "_S6" -LEFT JOIN "_S7" "_S7" - ON "_S6".REGION = "_S7".REGION + "_s6".REGION AS rest_region, + "_s7".AVG_RATING AS avg_rating +FROM "_s6" "_s6" +LEFT JOIN "_s7" "_s7" + ON "_s6".REGION = "_s7".REGION ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/defog_restaurants_gen19_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen19_oracle.sql index d0bdf54fd..b5c893427 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen19_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen19_oracle.sql @@ -1,21 +1,21 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - city_name AS CITY_NAME, + CITY_NAME, COUNT(*) AS N_ROWS FROM MAIN.RESTAURANT WHERE - LOWER(food_type) = 'italian' + LOWER(FOOD_TYPE) = 'italian' GROUP BY - city_name + CITY_NAME ) SELECT - GEOGRAPHIC.region AS rest_region, - SUM("_S0".N_ROWS) AS n_restaurants -FROM "_S0" "_S0" + GEOGRAPHIC.REGION AS rest_region, + SUM("_s0".N_ROWS) AS n_restaurants +FROM "_s0" "_s0" JOIN MAIN.GEOGRAPHIC GEOGRAPHIC - ON GEOGRAPHIC.city_name = "_S0".CITY_NAME + ON GEOGRAPHIC.CITY_NAME = "_s0".CITY_NAME GROUP BY - GEOGRAPHIC.region + GEOGRAPHIC.REGION ORDER BY 2 DESC NULLS LAST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/defog_restaurants_gen1_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen1_oracle.sql index d75957d8f..b2002e6e3 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen1_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen1_oracle.sql @@ -1,6 +1,6 @@ SELECT - food_type, + FOOD_TYPE AS food_type, COUNT(*) AS restaurants FROM MAIN.RESTAURANT GROUP BY - food_type + FOOD_TYPE diff --git a/tests/test_sql_refsols/defog_restaurants_gen20_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen20_oracle.sql index bb6f0c403..9d1856617 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen20_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen20_oracle.sql @@ -1,19 +1,19 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - city_name AS CITY_NAME, + CITY_NAME, COUNT(*) AS N_ROWS FROM MAIN.RESTAURANT GROUP BY - city_name + CITY_NAME ) SELECT - GEOGRAPHIC.region AS rest_region, - SUM("_S0".N_ROWS) AS n_restaurants -FROM "_S0" "_S0" + GEOGRAPHIC.REGION AS rest_region, + SUM("_s0".N_ROWS) AS n_restaurants +FROM "_s0" "_s0" JOIN MAIN.GEOGRAPHIC GEOGRAPHIC - ON GEOGRAPHIC.city_name = "_S0".CITY_NAME + ON GEOGRAPHIC.CITY_NAME = "_s0".CITY_NAME GROUP BY - GEOGRAPHIC.region + GEOGRAPHIC.REGION ORDER BY 2 DESC NULLS LAST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/defog_restaurants_gen21_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen21_oracle.sql index 7ee13cbdd..61a22b651 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen21_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen21_oracle.sql @@ -1,6 +1,6 @@ SELECT - city_name + CITY_NAME AS city_name FROM MAIN.RESTAURANT ORDER BY - rating DESC NULLS LAST + RATING DESC NULLS LAST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_restaurants_gen22_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen22_oracle.sql index 47cfd7ec6..d0609afce 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen22_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen22_oracle.sql @@ -1,6 +1,6 @@ SELECT - name, - rating + NAME AS name, + RATING AS rating FROM MAIN.RESTAURANT WHERE - LOWER(city_name) = 'new york' AND rating > 4 + LOWER(CITY_NAME) = 'new york' AND RATING > 4 diff --git a/tests/test_sql_refsols/defog_restaurants_gen23_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen23_oracle.sql index 765fb6c80..f5cbf75eb 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen23_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen23_oracle.sql @@ -1,9 +1,9 @@ SELECT - RESTAURANT.name, - RESTAURANT.food_type + RESTAURANT.NAME AS name, + RESTAURANT.FOOD_TYPE AS food_type FROM MAIN.LOCATION LOCATION JOIN MAIN.RESTAURANT RESTAURANT - ON LOCATION.restaurant_id = RESTAURANT.id + ON LOCATION.RESTAURANT_ID = RESTAURANT.ID WHERE - LOWER(LOCATION.city_name) = 'san francisco' - AND LOWER(LOCATION.street_name) = 'market st' + LOWER(LOCATION.CITY_NAME) = 'san francisco' + AND LOWER(LOCATION.STREET_NAME) = 'market st' diff --git a/tests/test_sql_refsols/defog_restaurants_gen24_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen24_oracle.sql index f1628a159..e2cb72396 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen24_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen24_oracle.sql @@ -1,5 +1,5 @@ SELECT - name + NAME AS name FROM MAIN.RESTAURANT WHERE - LOWER(food_type) = 'italian' + LOWER(FOOD_TYPE) = 'italian' diff --git a/tests/test_sql_refsols/defog_restaurants_gen25_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen25_oracle.sql index b88818312..1a261973a 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen25_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen25_oracle.sql @@ -1,5 +1,5 @@ SELECT - name + NAME AS name FROM MAIN.RESTAURANT WHERE - LOWER(city_name) = 'los angeles' AND rating > 4 + LOWER(CITY_NAME) = 'los angeles' AND RATING > 4 diff --git a/tests/test_sql_refsols/defog_restaurants_gen2_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen2_oracle.sql index c4ec51cdf..be91c7374 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen2_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen2_oracle.sql @@ -1,6 +1,6 @@ SELECT - city_name, + CITY_NAME AS city_name, COUNT(*) AS total_count FROM MAIN.LOCATION GROUP BY - city_name + CITY_NAME diff --git a/tests/test_sql_refsols/defog_restaurants_gen3_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen3_oracle.sql index edb9bf11b..7ceb72c00 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen3_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen3_oracle.sql @@ -1,9 +1,9 @@ SELECT - food_type, - AVG(rating) AS avg_rating + FOOD_TYPE AS food_type, + AVG(RATING) AS avg_rating FROM MAIN.RESTAURANT GROUP BY - food_type + FOOD_TYPE ORDER BY 2 DESC NULLS LAST, 1 DESC NULLS LAST diff --git a/tests/test_sql_refsols/defog_restaurants_gen4_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen4_oracle.sql index be1d37312..946a8a977 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen4_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen4_oracle.sql @@ -1,11 +1,11 @@ SELECT - city_name, + CITY_NAME AS city_name, COUNT(*) AS num_restaurants FROM MAIN.RESTAURANT WHERE - LOWER(food_type) = 'italian' + LOWER(FOOD_TYPE) = 'italian' GROUP BY - city_name + CITY_NAME ORDER BY 2 DESC NULLS LAST, 1 DESC NULLS LAST diff --git a/tests/test_sql_refsols/defog_restaurants_gen5_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen5_oracle.sql index d9d423edc..6f5313433 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen5_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen5_oracle.sql @@ -1,9 +1,9 @@ SELECT - city_name, + CITY_NAME AS city_name, COUNT(*) AS num_restaurants FROM MAIN.LOCATION GROUP BY - city_name + CITY_NAME ORDER BY 2 DESC NULLS LAST, 1 DESC NULLS LAST diff --git a/tests/test_sql_refsols/defog_restaurants_gen6_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen6_oracle.sql index e1eda430d..ae0ed668f 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen6_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen6_oracle.sql @@ -1,8 +1,8 @@ SELECT - street_name + STREET_NAME AS street_name FROM MAIN.LOCATION GROUP BY - street_name + STREET_NAME ORDER BY COUNT(*) DESC NULLS LAST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/defog_restaurants_gen7_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen7_oracle.sql index 2dd5e2521..f2935c45d 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen7_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen7_oracle.sql @@ -1,5 +1,5 @@ SELECT - name + NAME AS name FROM MAIN.RESTAURANT WHERE - LOWER(city_name) = 'new york' OR LOWER(food_type) = 'italian' + LOWER(CITY_NAME) = 'new york' OR LOWER(FOOD_TYPE) = 'italian' diff --git a/tests/test_sql_refsols/defog_restaurants_gen8_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen8_oracle.sql index bec2c68df..d41731922 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen8_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen8_oracle.sql @@ -1,33 +1,33 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - city_name AS CITY_NAME, - region AS REGION + CITY_NAME, + REGION FROM MAIN.GEOGRAPHIC -), "_S6" AS ( +), "_s6" AS ( SELECT DISTINCT - "_S1".REGION + "_s1".REGION FROM MAIN.LOCATION LOCATION - LEFT JOIN "_S1" "_S1" - ON LOCATION.city_name = "_S1".CITY_NAME -), "_S7" AS ( + LEFT JOIN "_s1" "_s1" + ON LOCATION.CITY_NAME = "_s1".CITY_NAME +), "_s7" AS ( SELECT - "_S3".REGION, - SUM(NOT RESTAURANT.rating IS NULL) AS SUM_EXPR, - SUM(RESTAURANT.rating) AS SUM_RATING + "_s3".REGION, + SUM(NOT RESTAURANT.RATING IS NULL) AS SUM_EXPR, + SUM(RESTAURANT.RATING) AS SUM_RATING FROM MAIN.LOCATION LOCATION - LEFT JOIN "_S1" "_S3" - ON LOCATION.city_name = "_S3".CITY_NAME + LEFT JOIN "_s1" "_s3" + ON LOCATION.CITY_NAME = "_s3".CITY_NAME JOIN MAIN.RESTAURANT RESTAURANT - ON LOCATION.restaurant_id = RESTAURANT.id + ON LOCATION.RESTAURANT_ID = RESTAURANT.ID GROUP BY - "_S3".REGION + "_s3".REGION ) SELECT - "_S6".REGION AS region_name, - "_S7".SUM_RATING / "_S7".SUM_EXPR AS avg_rating -FROM "_S6" "_S6" -JOIN "_S7" "_S7" - ON "_S6".REGION = "_S7".REGION + "_s6".REGION AS region_name, + "_s7".SUM_RATING / "_s7".SUM_EXPR AS avg_rating +FROM "_s6" "_s6" +JOIN "_s7" "_s7" + ON "_s6".REGION = "_s7".REGION ORDER BY 1 NULLS FIRST, 2 DESC NULLS LAST diff --git a/tests/test_sql_refsols/defog_restaurants_gen9_oracle.sql b/tests/test_sql_refsols/defog_restaurants_gen9_oracle.sql index 9f8c97897..f9a301bbe 100644 --- a/tests/test_sql_refsols/defog_restaurants_gen9_oracle.sql +++ b/tests/test_sql_refsols/defog_restaurants_gen9_oracle.sql @@ -1,7 +1,7 @@ SELECT - name + NAME AS name FROM MAIN.RESTAURANT ORDER BY - rating DESC NULLS LAST, + RATING DESC NULLS LAST, 1 DESC NULLS LAST FETCH FIRST 3 ROWS ONLY diff --git a/tests/test_sql_refsols/division_by_zero_database_oracle.sql b/tests/test_sql_refsols/division_by_zero_database_oracle.sql index 287e452c4..67b1f10ef 100644 --- a/tests/test_sql_refsols/division_by_zero_database_oracle.sql +++ b/tests/test_sql_refsols/division_by_zero_database_oracle.sql @@ -1,6 +1,6 @@ SELECT - l_extendedprice / l_discount AS computed_value + L_EXTENDEDPRICE / L_DISCOUNT AS computed_value FROM TPCH.LINEITEM ORDER BY - l_discount NULLS FIRST + L_DISCOUNT NULLS FIRST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/division_by_zero_null_oracle.sql b/tests/test_sql_refsols/division_by_zero_null_oracle.sql index eb5f0dfe1..584c1f9eb 100644 --- a/tests/test_sql_refsols/division_by_zero_null_oracle.sql +++ b/tests/test_sql_refsols/division_by_zero_null_oracle.sql @@ -1,6 +1,6 @@ SELECT - l_extendedprice / NULLIF(l_discount, 0) AS computed_value + L_EXTENDEDPRICE / NULLIF(L_DISCOUNT, 0) AS computed_value FROM TPCH.LINEITEM ORDER BY - l_discount NULLS FIRST + L_DISCOUNT NULLS FIRST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/division_by_zero_zero_oracle.sql b/tests/test_sql_refsols/division_by_zero_zero_oracle.sql index 0e5c54870..3dd06f92b 100644 --- a/tests/test_sql_refsols/division_by_zero_zero_oracle.sql +++ b/tests/test_sql_refsols/division_by_zero_zero_oracle.sql @@ -1,6 +1,6 @@ SELECT - CASE WHEN l_discount = 0 THEN 0 ELSE l_extendedprice / l_discount END AS computed_value + CASE WHEN L_DISCOUNT = 0 THEN 0 ELSE L_EXTENDEDPRICE / L_DISCOUNT END AS computed_value FROM TPCH.LINEITEM ORDER BY - l_discount NULLS FIRST + L_DISCOUNT NULLS FIRST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/division_complex_operands_null_oracle.sql b/tests/test_sql_refsols/division_complex_operands_null_oracle.sql index 0696e224a..6dd844430 100644 --- a/tests/test_sql_refsols/division_complex_operands_null_oracle.sql +++ b/tests/test_sql_refsols/division_complex_operands_null_oracle.sql @@ -1,10 +1,10 @@ SELECT ( - l_extendedprice + l_tax + L_EXTENDEDPRICE + L_TAX ) / CASE WHEN ( - l_discount * 2 - ) <> 0 THEN l_discount * 2 ELSE NULL END AS computed_value + L_DISCOUNT * 2 + ) <> 0 THEN L_DISCOUNT * 2 ELSE NULL END AS computed_value FROM TPCH.LINEITEM ORDER BY - l_discount NULLS FIRST + L_DISCOUNT NULLS FIRST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/division_complex_operands_zero_oracle.sql b/tests/test_sql_refsols/division_complex_operands_zero_oracle.sql index 63d073001..98299e41c 100644 --- a/tests/test_sql_refsols/division_complex_operands_zero_oracle.sql +++ b/tests/test_sql_refsols/division_complex_operands_zero_oracle.sql @@ -1,16 +1,16 @@ SELECT CASE WHEN ( - l_discount * 2 + L_DISCOUNT * 2 ) = 0 THEN 0 ELSE ( - l_extendedprice + l_tax + L_EXTENDEDPRICE + L_TAX ) / ( - l_discount * 2 + L_DISCOUNT * 2 ) END AS computed_value FROM TPCH.LINEITEM ORDER BY - l_discount NULLS FIRST + L_DISCOUNT NULLS FIRST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/division_iff_false_branch_null_oracle.sql b/tests/test_sql_refsols/division_iff_false_branch_null_oracle.sql index a98e9c6c5..89bbc37e4 100644 --- a/tests/test_sql_refsols/division_iff_false_branch_null_oracle.sql +++ b/tests/test_sql_refsols/division_iff_false_branch_null_oracle.sql @@ -1,6 +1,6 @@ SELECT - l_extendedprice / NULLIF(CASE WHEN l_discount > 0 THEN 1 ELSE l_discount END, 0) AS computed_value + L_EXTENDEDPRICE / NULLIF(CASE WHEN L_DISCOUNT > 0 THEN 1 ELSE L_DISCOUNT END, 0) AS computed_value FROM TPCH.LINEITEM ORDER BY - l_discount NULLS FIRST + L_DISCOUNT NULLS FIRST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/division_iff_false_branch_zero_oracle.sql b/tests/test_sql_refsols/division_iff_false_branch_zero_oracle.sql index ece4043e9..790395786 100644 --- a/tests/test_sql_refsols/division_iff_false_branch_zero_oracle.sql +++ b/tests/test_sql_refsols/division_iff_false_branch_zero_oracle.sql @@ -1,10 +1,10 @@ SELECT CASE - WHEN CASE WHEN l_discount > 0 THEN 1 ELSE l_discount END = 0 + WHEN CASE WHEN L_DISCOUNT > 0 THEN 1 ELSE L_DISCOUNT END = 0 THEN 0 - ELSE l_extendedprice / CASE WHEN l_discount > 0 THEN 1 ELSE l_discount END + ELSE L_EXTENDEDPRICE / CASE WHEN L_DISCOUNT > 0 THEN 1 ELSE L_DISCOUNT END END AS computed_value FROM TPCH.LINEITEM ORDER BY - l_discount NULLS FIRST + L_DISCOUNT NULLS FIRST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/division_iff_true_branch_null_oracle.sql b/tests/test_sql_refsols/division_iff_true_branch_null_oracle.sql index 9c4943f91..93dfc9128 100644 --- a/tests/test_sql_refsols/division_iff_true_branch_null_oracle.sql +++ b/tests/test_sql_refsols/division_iff_true_branch_null_oracle.sql @@ -1,6 +1,6 @@ SELECT - l_extendedprice / NULLIF(CASE WHEN l_discount > 0 THEN l_discount ELSE 1 END, 0) AS computed_value + L_EXTENDEDPRICE / NULLIF(CASE WHEN L_DISCOUNT > 0 THEN L_DISCOUNT ELSE 1 END, 0) AS computed_value FROM TPCH.LINEITEM ORDER BY - l_discount NULLS FIRST + L_DISCOUNT NULLS FIRST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/division_iff_true_branch_zero_oracle.sql b/tests/test_sql_refsols/division_iff_true_branch_zero_oracle.sql index e5c7063f7..9f2f6102f 100644 --- a/tests/test_sql_refsols/division_iff_true_branch_zero_oracle.sql +++ b/tests/test_sql_refsols/division_iff_true_branch_zero_oracle.sql @@ -1,10 +1,10 @@ SELECT CASE - WHEN CASE WHEN l_discount > 0 THEN l_discount ELSE 1 END = 0 + WHEN CASE WHEN L_DISCOUNT > 0 THEN L_DISCOUNT ELSE 1 END = 0 THEN 0 - ELSE l_extendedprice / CASE WHEN l_discount > 0 THEN l_discount ELSE 1 END + ELSE L_EXTENDEDPRICE / CASE WHEN L_DISCOUNT > 0 THEN L_DISCOUNT ELSE 1 END END AS computed_value FROM TPCH.LINEITEM ORDER BY - l_discount NULLS FIRST + L_DISCOUNT NULLS FIRST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/division_keep_if_denom_null_oracle.sql b/tests/test_sql_refsols/division_keep_if_denom_null_oracle.sql index 8e1612dfe..ea77000e0 100644 --- a/tests/test_sql_refsols/division_keep_if_denom_null_oracle.sql +++ b/tests/test_sql_refsols/division_keep_if_denom_null_oracle.sql @@ -1,6 +1,6 @@ SELECT - l_extendedprice / NULLIF(CASE WHEN l_discount > 0.05 THEN l_discount ELSE NULL END, 0) AS computed_value + L_EXTENDEDPRICE / NULLIF(CASE WHEN L_DISCOUNT > 0.05 THEN L_DISCOUNT ELSE NULL END, 0) AS computed_value FROM TPCH.LINEITEM ORDER BY - l_discount NULLS FIRST + L_DISCOUNT NULLS FIRST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/division_keep_if_denom_zero_oracle.sql b/tests/test_sql_refsols/division_keep_if_denom_zero_oracle.sql index be5e38844..7ff779968 100644 --- a/tests/test_sql_refsols/division_keep_if_denom_zero_oracle.sql +++ b/tests/test_sql_refsols/division_keep_if_denom_zero_oracle.sql @@ -1,10 +1,10 @@ SELECT CASE - WHEN CASE WHEN l_discount > 0.05 THEN l_discount ELSE NULL END = 0 + WHEN CASE WHEN L_DISCOUNT > 0.05 THEN L_DISCOUNT ELSE NULL END = 0 THEN 0 - ELSE l_extendedprice / CASE WHEN l_discount > 0.05 THEN l_discount ELSE NULL END + ELSE L_EXTENDEDPRICE / CASE WHEN L_DISCOUNT > 0.05 THEN L_DISCOUNT ELSE NULL END END AS computed_value FROM TPCH.LINEITEM ORDER BY - l_discount NULLS FIRST + L_DISCOUNT NULLS FIRST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/division_multiple_ops_null_oracle.sql b/tests/test_sql_refsols/division_multiple_ops_null_oracle.sql index 125ff1aed..af359b2f4 100644 --- a/tests/test_sql_refsols/division_multiple_ops_null_oracle.sql +++ b/tests/test_sql_refsols/division_multiple_ops_null_oracle.sql @@ -1,9 +1,9 @@ SELECT - l_quantity * ( - l_extendedprice / NULLIF(l_discount, 0) - ) + l_tax AS computed_value + L_QUANTITY * ( + L_EXTENDEDPRICE / NULLIF(L_DISCOUNT, 0) + ) + L_TAX AS computed_value FROM TPCH.LINEITEM ORDER BY - l_discount NULLS FIRST, - l_tax NULLS FIRST + L_DISCOUNT NULLS FIRST, + L_TAX NULLS FIRST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/division_multiple_ops_zero_oracle.sql b/tests/test_sql_refsols/division_multiple_ops_zero_oracle.sql index c3e4ba169..1dae74875 100644 --- a/tests/test_sql_refsols/division_multiple_ops_zero_oracle.sql +++ b/tests/test_sql_refsols/division_multiple_ops_zero_oracle.sql @@ -1,7 +1,7 @@ SELECT - l_quantity * CASE WHEN l_discount = 0 THEN 0 ELSE l_extendedprice / l_discount END + l_tax AS computed_value + L_QUANTITY * CASE WHEN L_DISCOUNT = 0 THEN 0 ELSE L_EXTENDEDPRICE / L_DISCOUNT END + L_TAX AS computed_value FROM TPCH.LINEITEM ORDER BY - l_discount NULLS FIRST, - l_tax NULLS FIRST + L_DISCOUNT NULLS FIRST, + L_TAX NULLS FIRST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/donor_3276_oracle.sql b/tests/test_sql_refsols/donor_3276_oracle.sql index d627ee754..130fd7504 100644 --- a/tests/test_sql_refsols/donor_3276_oracle.sql +++ b/tests/test_sql_refsols/donor_3276_oracle.sql @@ -1,7 +1,7 @@ SELECT ( - 100.0 * SUM(LOWER(school_metro) = 'suburban') + 100.0 * SUM(LOWER(SCHOOL_METRO) = 'suburban') ) / COUNT(*) AS percentage_suburban FROM MAIN.PROJECTS WHERE - LOWER(school_city) = 'santa barbara' + LOWER(SCHOOL_CITY) = 'santa barbara' diff --git a/tests/test_sql_refsols/donor_3276_trino.sql b/tests/test_sql_refsols/donor_3276_trino.sql index 7b80a26a3..bd9c447e5 100644 --- a/tests/test_sql_refsols/donor_3276_trino.sql +++ b/tests/test_sql_refsols/donor_3276_trino.sql @@ -1,7 +1,7 @@ SELECT - CAST(( + ( 100.0 * COUNT_IF(LOWER(school_metro) = 'suburban') - ) AS DOUBLE) / COUNT(*) AS percentage_suburban + ) / COUNT(*) AS percentage_suburban FROM main.projects WHERE LOWER(school_city) = 'santa barbara' diff --git a/tests/test_sql_refsols/double_cross_databricks.sql b/tests/test_sql_refsols/double_cross_databricks.sql index 60ee14a00..bb04871af 100644 --- a/tests/test_sql_refsols/double_cross_databricks.sql +++ b/tests/test_sql_refsols/double_cross_databricks.sql @@ -11,23 +11,21 @@ WITH _t3 AS ( CAST(( DATEDIFF( DAY, - DATEADD( - DAY, + DATE_ADD( + CAST(_s0.min_o_orderdate AS DATE), -( ( - DAYOFWEEK(TO_DATE(_s0.min_o_orderdate)) + -1 + DAYOFWEEK(_s0.min_o_orderdate) + -1 ) % 7 - ), - CAST(_s0.min_o_orderdate AS DATE) + ) ), - DATEADD( - DAY, + DATE_ADD( + CAST(orders.o_orderdate AS DATE), -( ( - DAYOFWEEK(TO_DATE(orders.o_orderdate)) + -1 + DAYOFWEEK(orders.o_orderdate) + -1 ) % 7 - ), - CAST(orders.o_orderdate AS DATE) + ) ) ) ) / 7 AS BIGINT) AS ord_wk, @@ -36,23 +34,21 @@ WITH _t3 AS ( JOIN tpch.orders AS orders ON CAST(DATEDIFF( DAY, - DATEADD( - DAY, + DATE_ADD( + CAST(_s0.min_o_orderdate AS DATE), -( ( - DAYOFWEEK(TO_DATE(_s0.min_o_orderdate)) + -1 + DAYOFWEEK(_s0.min_o_orderdate) + -1 ) % 7 - ), - CAST(_s0.min_o_orderdate AS DATE) + ) ), - DATEADD( - DAY, + DATE_ADD( + CAST(orders.o_orderdate AS DATE), -( ( - DAYOFWEEK(TO_DATE(orders.o_orderdate)) + -1 + DAYOFWEEK(orders.o_orderdate) + -1 ) % 7 - ), - CAST(orders.o_orderdate AS DATE) + ) ) ) / 7 AS BIGINT) < 10 AND orders.o_orderpriority = '1-URGENT' @@ -68,23 +64,21 @@ WITH _t3 AS ( CAST(( DATEDIFF( DAY, - DATEADD( - DAY, + DATE_ADD( + CAST(_s3.min_o_orderdate AS DATE), -( ( - DAYOFWEEK(TO_DATE(_s3.min_o_orderdate)) + -1 + DAYOFWEEK(_s3.min_o_orderdate) + -1 ) % 7 - ), - CAST(_s3.min_o_orderdate AS DATE) + ) ), - DATEADD( - DAY, + DATE_ADD( + CAST(lineitem.l_receiptdate AS DATE), -( ( - DAYOFWEEK(TO_DATE(lineitem.l_receiptdate)) + -1 + DAYOFWEEK(lineitem.l_receiptdate) + -1 ) % 7 - ), - CAST(lineitem.l_receiptdate AS DATE) + ) ) ) ) / 7 AS BIGINT) AS line_wk, @@ -96,45 +90,41 @@ WITH _t3 AS ( JOIN tpch.lineitem AS lineitem ON CAST(DATEDIFF( DAY, - DATEADD( - DAY, + DATE_ADD( + CAST(_s3.min_o_orderdate AS DATE), -( ( - DAYOFWEEK(TO_DATE(_s3.min_o_orderdate)) + -1 + DAYOFWEEK(_s3.min_o_orderdate) + -1 ) % 7 - ), - CAST(_s3.min_o_orderdate AS DATE) + ) ), - DATEADD( - DAY, + DATE_ADD( + CAST(lineitem.l_receiptdate AS DATE), -( ( - DAYOFWEEK(TO_DATE(lineitem.l_receiptdate)) + -1 + DAYOFWEEK(lineitem.l_receiptdate) + -1 ) % 7 - ), - CAST(lineitem.l_receiptdate AS DATE) + ) ) ) / 7 AS BIGINT) < 10 AND EXTRACT(YEAR FROM CAST(lineitem.l_receiptdate AS TIMESTAMP)) = 1992 AND _s2.ord_wk = CAST(DATEDIFF( DAY, - DATEADD( - DAY, + DATE_ADD( + CAST(_s3.min_o_orderdate AS DATE), -( ( - DAYOFWEEK(TO_DATE(_s3.min_o_orderdate)) + -1 + DAYOFWEEK(_s3.min_o_orderdate) + -1 ) % 7 - ), - CAST(_s3.min_o_orderdate AS DATE) + ) ), - DATEADD( - DAY, + DATE_ADD( + CAST(lineitem.l_receiptdate AS DATE), -( ( - DAYOFWEEK(TO_DATE(lineitem.l_receiptdate)) + -1 + DAYOFWEEK(lineitem.l_receiptdate) + -1 ) % 7 - ), - CAST(lineitem.l_receiptdate AS DATE) + ) ) ) / 7 AS BIGINT) AND lineitem.l_returnflag = 'R' diff --git a/tests/test_sql_refsols/double_cross_oracle.sql b/tests/test_sql_refsols/double_cross_oracle.sql index 8bc2ed8e7..3b8da4557 100644 --- a/tests/test_sql_refsols/double_cross_oracle.sql +++ b/tests/test_sql_refsols/double_cross_oracle.sql @@ -1,108 +1,108 @@ -WITH "_T3" AS ( +WITH "_t3" AS ( SELECT - o_orderdate AS O_ORDERDATE + O_ORDERDATE FROM TPCH.ORDERS -), "_S0" AS ( +), "_s0" AS ( SELECT MIN(O_ORDERDATE) AS MIN_O_ORDERDATE - FROM "_T3" -), "_S2" AS ( + FROM "_t3" +), "_s2" AS ( SELECT FLOOR( ( - TRUNC(CAST(CAST(ORDERS.o_orderdate AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST("_S0".MIN_O_ORDERDATE AS DATE) AS DATE), 'DD') + ( + TRUNC(CAST(CAST(ORDERS.O_ORDERDATE AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST("_s0".MIN_O_ORDERDATE AS DATE) AS DATE), 'DD') + ( MOD(( - TO_CHAR(CAST("_S0".MIN_O_ORDERDATE AS DATE), 'D') + -1 + TO_CHAR(CAST("_s0".MIN_O_ORDERDATE AS DATE), 'D') + -1 ), 7) ) - ( MOD(( - TO_CHAR(CAST(ORDERS.o_orderdate AS DATE), 'D') + -1 + TO_CHAR(CAST(ORDERS.O_ORDERDATE AS DATE), 'D') + -1 ), 7) ) ) / 7 ) AS ORD_WK, COUNT(*) AS N_ROWS - FROM "_S0" "_S0" + FROM "_s0" "_s0" JOIN TPCH.ORDERS ORDERS ON FLOOR( ( - TRUNC(CAST(CAST(ORDERS.o_orderdate AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST("_S0".MIN_O_ORDERDATE AS DATE) AS DATE), 'DD') + ( + TRUNC(CAST(CAST(ORDERS.O_ORDERDATE AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST("_s0".MIN_O_ORDERDATE AS DATE) AS DATE), 'DD') + ( MOD(( - TO_CHAR(CAST("_S0".MIN_O_ORDERDATE AS DATE), 'D') + -1 + TO_CHAR(CAST("_s0".MIN_O_ORDERDATE AS DATE), 'D') + -1 ), 7) ) - ( MOD(( - TO_CHAR(CAST(ORDERS.o_orderdate AS DATE), 'D') + -1 + TO_CHAR(CAST(ORDERS.O_ORDERDATE AS DATE), 'D') + -1 ), 7) ) ) / 7 ) < 10 - AND ORDERS.o_orderpriority = '1-URGENT' - AND ORDERS.o_orderstatus = 'F' + AND ORDERS.O_ORDERPRIORITY = '1-URGENT' + AND ORDERS.O_ORDERSTATUS = 'F' GROUP BY FLOOR( ( - TRUNC(CAST(CAST(ORDERS.o_orderdate AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST("_S0".MIN_O_ORDERDATE AS DATE) AS DATE), 'DD') + ( + TRUNC(CAST(CAST(ORDERS.O_ORDERDATE AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST("_s0".MIN_O_ORDERDATE AS DATE) AS DATE), 'DD') + ( MOD(( - TO_CHAR(CAST("_S0".MIN_O_ORDERDATE AS DATE), 'D') + -1 + TO_CHAR(CAST("_s0".MIN_O_ORDERDATE AS DATE), 'D') + -1 ), 7) ) - ( MOD(( - TO_CHAR(CAST(ORDERS.o_orderdate AS DATE), 'D') + -1 + TO_CHAR(CAST(ORDERS.O_ORDERDATE AS DATE), 'D') + -1 ), 7) ) ) / 7 ) -), "_S3" AS ( +), "_s3" AS ( SELECT MIN(O_ORDERDATE) AS MIN_O_ORDERDATE - FROM "_T3" -), "_T0" AS ( + FROM "_t3" +), "_t0" AS ( SELECT FLOOR( ( - TRUNC(CAST(CAST(LINEITEM.l_receiptdate AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST("_S3".MIN_O_ORDERDATE AS DATE) AS DATE), 'DD') + ( + TRUNC(CAST(CAST(LINEITEM.L_RECEIPTDATE AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST("_s3".MIN_O_ORDERDATE AS DATE) AS DATE), 'DD') + ( MOD(( - TO_CHAR(CAST("_S3".MIN_O_ORDERDATE AS DATE), 'D') + -1 + TO_CHAR(CAST("_s3".MIN_O_ORDERDATE AS DATE), 'D') + -1 ), 7) ) - ( MOD(( - TO_CHAR(CAST(LINEITEM.l_receiptdate AS DATE), 'D') + -1 + TO_CHAR(CAST(LINEITEM.L_RECEIPTDATE AS DATE), 'D') + -1 ), 7) ) ) / 7 ) AS LINE_WK, - "_S2".ORD_WK, - ANY_VALUE("_S2".N_ROWS) AS ANYTHING_N_ROWS, + "_s2".ORD_WK, + ANY_VALUE("_s2".N_ROWS) AS ANYTHING_N_ROWS, COUNT(*) AS N_ROWS - FROM "_S2" "_S2" - CROSS JOIN "_S3" "_S3" + FROM "_s2" "_s2" + CROSS JOIN "_s3" "_s3" JOIN TPCH.LINEITEM LINEITEM - ON EXTRACT(YEAR FROM CAST(LINEITEM.l_receiptdate AS DATE)) = 1992 + ON EXTRACT(YEAR FROM CAST(LINEITEM.L_RECEIPTDATE AS DATE)) = 1992 AND FLOOR( ( - TRUNC(CAST(CAST(LINEITEM.l_receiptdate AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST("_S3".MIN_O_ORDERDATE AS DATE) AS DATE), 'DD') + ( + TRUNC(CAST(CAST(LINEITEM.L_RECEIPTDATE AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST("_s3".MIN_O_ORDERDATE AS DATE) AS DATE), 'DD') + ( MOD(( - TO_CHAR(CAST("_S3".MIN_O_ORDERDATE AS DATE), 'D') + -1 + TO_CHAR(CAST("_s3".MIN_O_ORDERDATE AS DATE), 'D') + -1 ), 7) ) - ( MOD(( - TO_CHAR(CAST(LINEITEM.l_receiptdate AS DATE), 'D') + -1 + TO_CHAR(CAST(LINEITEM.L_RECEIPTDATE AS DATE), 'D') + -1 ), 7) ) ) / 7 ) < 10 - AND LINEITEM.l_returnflag = 'R' - AND LINEITEM.l_shipmode = 'RAIL' - AND "_S2".ORD_WK = FLOOR( + AND LINEITEM.L_RETURNFLAG = 'R' + AND LINEITEM.L_SHIPMODE = 'RAIL' + AND "_s2".ORD_WK = FLOOR( ( - TRUNC(CAST(CAST(LINEITEM.l_receiptdate AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST("_S3".MIN_O_ORDERDATE AS DATE) AS DATE), 'DD') + ( + TRUNC(CAST(CAST(LINEITEM.L_RECEIPTDATE AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST("_s3".MIN_O_ORDERDATE AS DATE) AS DATE), 'DD') + ( MOD(( - TO_CHAR(CAST("_S3".MIN_O_ORDERDATE AS DATE), 'D') + -1 + TO_CHAR(CAST("_s3".MIN_O_ORDERDATE AS DATE), 'D') + -1 ), 7) ) - ( MOD(( - TO_CHAR(CAST(LINEITEM.l_receiptdate AS DATE), 'D') + -1 + TO_CHAR(CAST(LINEITEM.L_RECEIPTDATE AS DATE), 'D') + -1 ), 7) ) ) / 7 @@ -110,18 +110,18 @@ WITH "_T3" AS ( GROUP BY FLOOR( ( - TRUNC(CAST(CAST(LINEITEM.l_receiptdate AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST("_S3".MIN_O_ORDERDATE AS DATE) AS DATE), 'DD') + ( + TRUNC(CAST(CAST(LINEITEM.L_RECEIPTDATE AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST("_s3".MIN_O_ORDERDATE AS DATE) AS DATE), 'DD') + ( MOD(( - TO_CHAR(CAST("_S3".MIN_O_ORDERDATE AS DATE), 'D') + -1 + TO_CHAR(CAST("_s3".MIN_O_ORDERDATE AS DATE), 'D') + -1 ), 7) ) - ( MOD(( - TO_CHAR(CAST(LINEITEM.l_receiptdate AS DATE), 'D') + -1 + TO_CHAR(CAST(LINEITEM.L_RECEIPTDATE AS DATE), 'D') + -1 ), 7) ) ) / 7 ), - "_S2".ORD_WK + "_s2".ORD_WK ) SELECT ORD_WK AS wk, @@ -131,6 +131,6 @@ SELECT SUM(N_ROWS) OVER (ORDER BY LINE_WK ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) / SUM(ANYTHING_N_ROWS) OVER (ORDER BY ORD_WK ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), 4 ) AS lpo -FROM "_T0" +FROM "_t0" ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/double_cross_postgres.sql b/tests/test_sql_refsols/double_cross_postgres.sql index fc1cafe51..e2277c0ea 100644 --- a/tests/test_sql_refsols/double_cross_postgres.sql +++ b/tests/test_sql_refsols/double_cross_postgres.sql @@ -31,7 +31,7 @@ WITH _t3 AS ( CAST(lineitem.l_receiptdate AS DATE) - CAST(_s3.min_o_orderdate AS DATE) + EXTRACT(DOW FROM CAST(_s3.min_o_orderdate AS TIMESTAMP)) - EXTRACT(DOW FROM CAST(lineitem.l_receiptdate AS TIMESTAMP)) ) AS DOUBLE PRECISION) / 7 AS BIGINT) AS line_wk, _s2.ord_wk, - MAX(_s2.n_rows) AS anything_n_rows, + ANY_VALUE(_s2.n_rows) AS anything_n_rows, COUNT(*) AS n_rows FROM _s2 AS _s2 CROSS JOIN _s3 AS _s3 diff --git a/tests/test_sql_refsols/double_partition_oracle.sql b/tests/test_sql_refsols/double_partition_oracle.sql index 2982b9c1e..c47461113 100644 --- a/tests/test_sql_refsols/double_partition_oracle.sql +++ b/tests/test_sql_refsols/double_partition_oracle.sql @@ -1,15 +1,15 @@ -WITH "_T0" AS ( +WITH "_t0" AS ( SELECT - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) AS YEAR_O_ORDERDATE, + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) AS YEAR_O_ORDERDATE, COUNT(*) AS N_ROWS FROM TPCH.ORDERS GROUP BY - EXTRACT(MONTH FROM CAST(o_orderdate AS DATE)), - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) + EXTRACT(MONTH FROM CAST(O_ORDERDATE AS DATE)), + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) ) SELECT YEAR_O_ORDERDATE AS year, MAX(N_ROWS) AS best_month -FROM "_T0" +FROM "_t0" GROUP BY YEAR_O_ORDERDATE diff --git a/tests/test_sql_refsols/dumb_aggregation_oracle.sql b/tests/test_sql_refsols/dumb_aggregation_oracle.sql index 031b6c7f9..00be3f6bf 100644 --- a/tests/test_sql_refsols/dumb_aggregation_oracle.sql +++ b/tests/test_sql_refsols/dumb_aggregation_oracle.sql @@ -1,46 +1,46 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - n_name AS N_NAME, - n_regionkey AS N_REGIONKEY + N_NAME, + N_REGIONKEY FROM TPCH.NATION ORDER BY 1 NULLS FIRST FETCH FIRST 2 ROWS ONLY -), "_S1" AS ( +), "_s1" AS ( SELECT - r_name AS R_NAME, - r_regionkey AS R_REGIONKEY, + R_NAME, + R_REGIONKEY, CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY r_regionkey ORDER BY r_regionkey DESC NULLS LAST) - 1.0 + ROW_NUMBER() OVER (PARTITION BY R_REGIONKEY ORDER BY R_REGIONKEY DESC NULLS LAST) - 1.0 ) - ( ( - COUNT(r_regionkey) OVER (PARTITION BY r_regionkey) - 1.0 + COUNT(R_REGIONKEY) OVER (PARTITION BY R_REGIONKEY) - 1.0 ) / 2.0 ) ) < 1.0 - THEN r_regionkey + THEN R_REGIONKEY ELSE NULL END AS AVG_EXPR FROM TPCH.REGION ) SELECT - "_S0".N_NAME AS nation_name, - "_S1".R_NAME AS a1, - "_S1".R_NAME AS a2, - "_S1".R_REGIONKEY AS a3, + "_s0".N_NAME AS nation_name, + "_s1".R_NAME AS a1, + "_s1".R_NAME AS a2, + "_s1".R_REGIONKEY AS a3, CASE - WHEN NOT CASE WHEN "_S1".R_NAME <> 'AMERICA' THEN "_S1".R_REGIONKEY ELSE NULL END IS NULL + WHEN NOT CASE WHEN "_s1".R_NAME <> 'AMERICA' THEN "_s1".R_REGIONKEY ELSE NULL END IS NULL THEN 1 ELSE 0 END AS a4, 1 AS a5, - "_S1".R_REGIONKEY AS a6, - "_S1".R_NAME AS a7, - "_S1".AVG_EXPR AS a8 -FROM "_S0" "_S0" -JOIN "_S1" "_S1" - ON "_S0".N_REGIONKEY = "_S1".R_REGIONKEY + "_s1".R_REGIONKEY AS a6, + "_s1".R_NAME AS a7, + "_s1".AVG_EXPR AS a8 +FROM "_s0" "_s0" +JOIN "_s1" "_s1" + ON "_s0".N_REGIONKEY = "_s1".R_REGIONKEY ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/dumb_aggregation_trino.sql b/tests/test_sql_refsols/dumb_aggregation_trino.sql index a70bfcbe0..d99e71fb6 100644 --- a/tests/test_sql_refsols/dumb_aggregation_trino.sql +++ b/tests/test_sql_refsols/dumb_aggregation_trino.sql @@ -15,9 +15,9 @@ WITH _s0 AS ( ( ROW_NUMBER() OVER (PARTITION BY r_regionkey ORDER BY r_regionkey DESC) - 1.0 ) - ( - CAST(( + ( COUNT(r_regionkey) OVER (PARTITION BY r_regionkey) - 1.0 - ) AS DOUBLE) / 2.0 + ) / 2.0 ) ) < 1.0 THEN r_regionkey diff --git a/tests/test_sql_refsols/epoch_culture_events_info_oracle.sql b/tests/test_sql_refsols/epoch_culture_events_info_oracle.sql index 4a0d4e730..87c9d1a67 100644 --- a/tests/test_sql_refsols/epoch_culture_events_info_oracle.sql +++ b/tests/test_sql_refsols/epoch_culture_events_info_oracle.sql @@ -1,32 +1,32 @@ -WITH "_S2" AS ( +WITH "_s2" AS ( SELECT - ev_dt AS EV_DT, - ev_key AS EV_KEY + EV_DT, + EV_KEY FROM EVENTS ) SELECT - EVENTS.ev_name AS event_name, - ERAS.er_name AS era_name, - EXTRACT(YEAR FROM CAST(EVENTS.ev_dt AS DATE)) AS event_year, - SEASONS.s_name AS season_name, - TIMES.t_name AS tod + EVENTS.EV_NAME AS event_name, + ERAS.ER_NAME AS era_name, + EXTRACT(YEAR FROM CAST(EVENTS.EV_DT AS DATE)) AS event_year, + SEASONS.S_NAME AS season_name, + TIMES.T_NAME AS tod FROM EVENTS EVENTS JOIN ERAS ERAS - ON ERAS.er_end_year > EXTRACT(YEAR FROM CAST(EVENTS.ev_dt AS DATE)) - AND ERAS.er_start_year <= EXTRACT(YEAR FROM CAST(EVENTS.ev_dt AS DATE)) -JOIN "_S2" "_S2" - ON EVENTS.ev_key = "_S2".EV_KEY + ON ERAS.ER_END_YEAR > EXTRACT(YEAR FROM CAST(EVENTS.EV_DT AS DATE)) + AND ERAS.ER_START_YEAR <= EXTRACT(YEAR FROM CAST(EVENTS.EV_DT AS DATE)) +JOIN "_s2" "_s2" + ON EVENTS.EV_KEY = "_s2".EV_KEY JOIN SEASONS SEASONS - ON SEASONS.s_month1 = EXTRACT(MONTH FROM CAST("_S2".EV_DT AS DATE)) - OR SEASONS.s_month2 = EXTRACT(MONTH FROM CAST("_S2".EV_DT AS DATE)) - OR SEASONS.s_month3 = EXTRACT(MONTH FROM CAST("_S2".EV_DT AS DATE)) -JOIN "_S2" "_S6" - ON EVENTS.ev_key = "_S6".EV_KEY + ON SEASONS.S_MONTH1 = EXTRACT(MONTH FROM CAST("_s2".EV_DT AS DATE)) + OR SEASONS.S_MONTH2 = EXTRACT(MONTH FROM CAST("_s2".EV_DT AS DATE)) + OR SEASONS.S_MONTH3 = EXTRACT(MONTH FROM CAST("_s2".EV_DT AS DATE)) +JOIN "_s2" "_s6" + ON EVENTS.EV_KEY = "_s6".EV_KEY JOIN TIMES TIMES - ON TIMES.t_end_hour > EXTRACT(HOUR FROM CAST("_S6".EV_DT AS TIMESTAMP)) - AND TIMES.t_start_hour <= EXTRACT(HOUR FROM CAST("_S6".EV_DT AS TIMESTAMP)) + ON TIMES.T_END_HOUR > EXTRACT(HOUR FROM CAST("_s6".EV_DT AS TIMESTAMP)) + AND TIMES.T_START_HOUR <= EXTRACT(HOUR FROM CAST("_s6".EV_DT AS TIMESTAMP)) WHERE - EVENTS.ev_typ = 'culture' + EVENTS.EV_TYP = 'culture' ORDER BY - EVENTS.ev_dt NULLS FIRST + EVENTS.EV_DT NULLS FIRST FETCH FIRST 6 ROWS ONLY diff --git a/tests/test_sql_refsols/epoch_event_gap_per_era_mysql.sql b/tests/test_sql_refsols/epoch_event_gap_per_era_mysql.sql index 74fc16a46..11ef59903 100644 --- a/tests/test_sql_refsols/epoch_event_gap_per_era_mysql.sql +++ b/tests/test_sql_refsols/epoch_event_gap_per_era_mysql.sql @@ -6,7 +6,10 @@ WITH _t2 AS ( EVENTS.ev_dt, DATEDIFF( EVENTS.ev_dt, - LAG(EVENTS.ev_dt, 1) OVER (PARTITION BY ERAS.er_name, ERAS.er_name ORDER BY CASE WHEN EVENTS.ev_dt IS NULL THEN 1 ELSE 0 END, EVENTS.ev_dt) + LAG(EVENTS.ev_dt, 1) OVER ( + PARTITION BY ERAS.er_name, ERAS.er_name + ORDER BY CASE WHEN EVENTS.ev_dt IS NULL THEN 1 ELSE 0 END, EVENTS.ev_dt + ) ) AS day_gap FROM ERAS AS ERAS JOIN EVENTS AS EVENTS diff --git a/tests/test_sql_refsols/epoch_event_gap_per_era_oracle.sql b/tests/test_sql_refsols/epoch_event_gap_per_era_oracle.sql index 7916b3dc0..30e166b48 100644 --- a/tests/test_sql_refsols/epoch_event_gap_per_era_oracle.sql +++ b/tests/test_sql_refsols/epoch_event_gap_per_era_oracle.sql @@ -1,22 +1,22 @@ -WITH "_T2" AS ( +WITH "_t2" AS ( SELECT - ERAS.er_end_year AS ER_END_YEAR, - ERAS.er_name AS ER_NAME, - ERAS.er_start_year AS ER_START_YEAR, - EVENTS.ev_dt AS EV_DT, - TRUNC(CAST(CAST(EVENTS.ev_dt AS DATE) AS DATE), 'DD') - TRUNC( - CAST(CAST(LAG(EVENTS.ev_dt, 1) OVER (PARTITION BY ERAS.er_name, ERAS.er_name ORDER BY EVENTS.ev_dt) AS DATE) AS DATE), + ERAS.ER_END_YEAR, + ERAS.ER_NAME, + ERAS.ER_START_YEAR, + EVENTS.EV_DT, + TRUNC(CAST(CAST(EVENTS.EV_DT AS DATE) AS DATE), 'DD') - TRUNC( + CAST(CAST(LAG(EVENTS.EV_DT, 1) OVER (PARTITION BY ERAS.ER_NAME, ERAS.ER_NAME ORDER BY EVENTS.EV_DT) AS DATE) AS DATE), 'DD' ) AS DAY_GAP FROM ERAS ERAS JOIN EVENTS EVENTS - ON ERAS.er_end_year > EXTRACT(YEAR FROM CAST(EVENTS.ev_dt AS DATE)) - AND ERAS.er_start_year <= EXTRACT(YEAR FROM CAST(EVENTS.ev_dt AS DATE)) + ON ERAS.ER_END_YEAR > EXTRACT(YEAR FROM CAST(EVENTS.EV_DT AS DATE)) + AND ERAS.ER_START_YEAR <= EXTRACT(YEAR FROM CAST(EVENTS.EV_DT AS DATE)) ) SELECT ER_NAME AS era_name, AVG(DAY_GAP) AS avg_event_gap -FROM "_T2" +FROM "_t2" WHERE ER_END_YEAR > EXTRACT(YEAR FROM CAST(EV_DT AS DATE)) AND ER_START_YEAR <= EXTRACT(YEAR FROM CAST(EV_DT AS DATE)) diff --git a/tests/test_sql_refsols/epoch_event_gap_per_era_postgres.sql b/tests/test_sql_refsols/epoch_event_gap_per_era_postgres.sql index caf3017ec..12280d6d6 100644 --- a/tests/test_sql_refsols/epoch_event_gap_per_era_postgres.sql +++ b/tests/test_sql_refsols/epoch_event_gap_per_era_postgres.sql @@ -20,4 +20,4 @@ WHERE GROUP BY 1 ORDER BY - MAX(er_start_year) NULLS FIRST + ANY_VALUE(er_start_year) NULLS FIRST diff --git a/tests/test_sql_refsols/epoch_events_per_season_oracle.sql b/tests/test_sql_refsols/epoch_events_per_season_oracle.sql index b373e1ad2..90199d12e 100644 --- a/tests/test_sql_refsols/epoch_events_per_season_oracle.sql +++ b/tests/test_sql_refsols/epoch_events_per_season_oracle.sql @@ -1,13 +1,13 @@ SELECT - SEASONS.s_name AS season_name, + SEASONS.S_NAME AS season_name, COUNT(*) AS n_events FROM SEASONS SEASONS JOIN EVENTS EVENTS - ON SEASONS.s_month1 = EXTRACT(MONTH FROM CAST(EVENTS.ev_dt AS DATE)) - OR SEASONS.s_month2 = EXTRACT(MONTH FROM CAST(EVENTS.ev_dt AS DATE)) - OR SEASONS.s_month3 = EXTRACT(MONTH FROM CAST(EVENTS.ev_dt AS DATE)) + ON SEASONS.S_MONTH1 = EXTRACT(MONTH FROM CAST(EVENTS.EV_DT AS DATE)) + OR SEASONS.S_MONTH2 = EXTRACT(MONTH FROM CAST(EVENTS.EV_DT AS DATE)) + OR SEASONS.S_MONTH3 = EXTRACT(MONTH FROM CAST(EVENTS.EV_DT AS DATE)) GROUP BY - SEASONS.s_name + SEASONS.S_NAME ORDER BY 2 DESC NULLS LAST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/epoch_first_event_per_era_mysql.sql b/tests/test_sql_refsols/epoch_first_event_per_era_mysql.sql index b9ab2bbb5..f94577326 100644 --- a/tests/test_sql_refsols/epoch_first_event_per_era_mysql.sql +++ b/tests/test_sql_refsols/epoch_first_event_per_era_mysql.sql @@ -3,7 +3,10 @@ WITH _t AS ( ERAS.er_name, ERAS.er_start_year, EVENTS.ev_name, - ROW_NUMBER() OVER (PARTITION BY ERAS.er_name ORDER BY CASE WHEN EVENTS.ev_dt IS NULL THEN 1 ELSE 0 END, EVENTS.ev_dt) AS _w + ROW_NUMBER() OVER ( + PARTITION BY ERAS.er_name + ORDER BY CASE WHEN EVENTS.ev_dt IS NULL THEN 1 ELSE 0 END, EVENTS.ev_dt + ) AS _w FROM ERAS AS ERAS JOIN EVENTS AS EVENTS ON ERAS.er_end_year > EXTRACT(YEAR FROM CAST(EVENTS.ev_dt AS DATETIME)) diff --git a/tests/test_sql_refsols/epoch_first_event_per_era_oracle.sql b/tests/test_sql_refsols/epoch_first_event_per_era_oracle.sql index ea23ab825..89f1bfbcc 100644 --- a/tests/test_sql_refsols/epoch_first_event_per_era_oracle.sql +++ b/tests/test_sql_refsols/epoch_first_event_per_era_oracle.sql @@ -1,19 +1,19 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - ERAS.er_name AS ER_NAME, - ERAS.er_start_year AS ER_START_YEAR, - EVENTS.ev_name AS EV_NAME, - ROW_NUMBER() OVER (PARTITION BY ERAS.er_name ORDER BY EVENTS.ev_dt) AS "_W" + ERAS.ER_NAME, + ERAS.ER_START_YEAR, + EVENTS.EV_NAME, + ROW_NUMBER() OVER (PARTITION BY ERAS.ER_NAME ORDER BY EVENTS.EV_DT) AS "_w" FROM ERAS ERAS JOIN EVENTS EVENTS - ON ERAS.er_end_year > EXTRACT(YEAR FROM CAST(EVENTS.ev_dt AS DATE)) - AND ERAS.er_start_year <= EXTRACT(YEAR FROM CAST(EVENTS.ev_dt AS DATE)) + ON ERAS.ER_END_YEAR > EXTRACT(YEAR FROM CAST(EVENTS.EV_DT AS DATE)) + AND ERAS.ER_START_YEAR <= EXTRACT(YEAR FROM CAST(EVENTS.EV_DT AS DATE)) ) SELECT ER_NAME AS era_name, EV_NAME AS event_name -FROM "_T" +FROM "_t" WHERE - "_W" = 1 + "_w" = 1 ORDER BY ER_START_YEAR NULLS FIRST diff --git a/tests/test_sql_refsols/epoch_intra_season_searches_duckdb.sql b/tests/test_sql_refsols/epoch_intra_season_searches_duckdb.sql index a2947b906..8ecc4f67e 100644 --- a/tests/test_sql_refsols/epoch_intra_season_searches_duckdb.sql +++ b/tests/test_sql_refsols/epoch_intra_season_searches_duckdb.sql @@ -20,7 +20,9 @@ WITH _s0 AS ( OR _s2.s_month2 = EXTRACT(MONTH FROM CAST(searches.search_ts AS TIMESTAMP)) OR _s2.s_month3 = EXTRACT(MONTH FROM CAST(searches.search_ts AS TIMESTAMP)) JOIN _s5 AS _s5 - ON LOWER(searches.search_string) LIKE CONCAT('%', LOWER(_s5.ev_name), '%') + ON LOWER(searches.search_string) LIKE ( + '%' || LOWER(_s5.ev_name) || '%' + ) JOIN _s0 AS _s7 ON _s2.s_name = _s7.s_name AND ( @@ -63,7 +65,9 @@ WITH _s0 AS ( OR _s10.s_month2 = EXTRACT(MONTH FROM CAST(_s11.ev_dt AS TIMESTAMP)) OR _s10.s_month3 = EXTRACT(MONTH FROM CAST(_s11.ev_dt AS TIMESTAMP)) JOIN searches AS searches - ON LOWER(searches.search_string) LIKE CONCAT('%', LOWER(_s11.ev_name), '%') + ON LOWER(searches.search_string) LIKE ( + '%' || LOWER(_s11.ev_name) || '%' + ) JOIN _s0 AS _s15 ON _s15.s_month1 = EXTRACT(MONTH FROM CAST(searches.search_ts AS TIMESTAMP)) OR _s15.s_month2 = EXTRACT(MONTH FROM CAST(searches.search_ts AS TIMESTAMP)) diff --git a/tests/test_sql_refsols/epoch_intra_season_searches_oracle.sql b/tests/test_sql_refsols/epoch_intra_season_searches_oracle.sql index 0ca7ef673..d0a9c9a86 100644 --- a/tests/test_sql_refsols/epoch_intra_season_searches_oracle.sql +++ b/tests/test_sql_refsols/epoch_intra_season_searches_oracle.sql @@ -1,89 +1,89 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - s_month1 AS S_MONTH1, - s_month2 AS S_MONTH2, - s_month3 AS S_MONTH3, - s_name AS S_NAME + S_MONTH1, + S_MONTH2, + S_MONTH3, + S_NAME FROM SEASONS -), "_S5" AS ( +), "_s5" AS ( SELECT - ev_dt AS EV_DT, - ev_name AS EV_NAME + EV_DT, + EV_NAME FROM EVENTS -), "_S9" AS ( +), "_s9" AS ( SELECT - "_S2".S_NAME, - SEARCHES.search_id AS SEARCH_ID - FROM "_S0" "_S2" + "_s2".S_NAME, + SEARCHES.SEARCH_ID + FROM "_s0" "_s2" JOIN SEARCHES SEARCHES - ON "_S2".S_MONTH1 = EXTRACT(MONTH FROM CAST(SEARCHES.search_ts AS DATE)) - OR "_S2".S_MONTH2 = EXTRACT(MONTH FROM CAST(SEARCHES.search_ts AS DATE)) - OR "_S2".S_MONTH3 = EXTRACT(MONTH FROM CAST(SEARCHES.search_ts AS DATE)) - JOIN "_S5" "_S5" - ON LOWER(SEARCHES.search_string) LIKE CONCAT('%', LOWER("_S5".EV_NAME), '%') - JOIN "_S0" "_S7" - ON "_S2".S_NAME = "_S7".S_NAME + ON "_s2".S_MONTH1 = EXTRACT(MONTH FROM CAST(SEARCHES.SEARCH_TS AS DATE)) + OR "_s2".S_MONTH2 = EXTRACT(MONTH FROM CAST(SEARCHES.SEARCH_TS AS DATE)) + OR "_s2".S_MONTH3 = EXTRACT(MONTH FROM CAST(SEARCHES.SEARCH_TS AS DATE)) + JOIN "_s5" "_s5" + ON LOWER(SEARCHES.SEARCH_STRING) LIKE CONCAT('%', LOWER("_s5".EV_NAME), '%') + JOIN "_s0" "_s7" + ON "_s2".S_NAME = "_s7".S_NAME AND ( - "_S7".S_MONTH1 = EXTRACT(MONTH FROM CAST("_S5".EV_DT AS DATE)) - OR "_S7".S_MONTH2 = EXTRACT(MONTH FROM CAST("_S5".EV_DT AS DATE)) - OR "_S7".S_MONTH3 = EXTRACT(MONTH FROM CAST("_S5".EV_DT AS DATE)) + "_s7".S_MONTH1 = EXTRACT(MONTH FROM CAST("_s5".EV_DT AS DATE)) + OR "_s7".S_MONTH2 = EXTRACT(MONTH FROM CAST("_s5".EV_DT AS DATE)) + OR "_s7".S_MONTH3 = EXTRACT(MONTH FROM CAST("_s5".EV_DT AS DATE)) ) -), "_T1" AS ( +), "_t1" AS ( SELECT - "_S0".S_NAME, - COUNT("_S9".SEARCH_ID) AS COUNT_SEARCH_ID - FROM "_S0" "_S0" + "_s0".S_NAME, + COUNT("_s9".SEARCH_ID) AS COUNT_SEARCH_ID + FROM "_s0" "_s0" JOIN SEARCHES SEARCHES - ON "_S0".S_MONTH1 = EXTRACT(MONTH FROM CAST(SEARCHES.search_ts AS DATE)) - OR "_S0".S_MONTH2 = EXTRACT(MONTH FROM CAST(SEARCHES.search_ts AS DATE)) - OR "_S0".S_MONTH3 = EXTRACT(MONTH FROM CAST(SEARCHES.search_ts AS DATE)) - LEFT JOIN "_S9" "_S9" - ON SEARCHES.search_id = "_S9".SEARCH_ID AND "_S0".S_NAME = "_S9".S_NAME + ON "_s0".S_MONTH1 = EXTRACT(MONTH FROM CAST(SEARCHES.SEARCH_TS AS DATE)) + OR "_s0".S_MONTH2 = EXTRACT(MONTH FROM CAST(SEARCHES.SEARCH_TS AS DATE)) + OR "_s0".S_MONTH3 = EXTRACT(MONTH FROM CAST(SEARCHES.SEARCH_TS AS DATE)) + LEFT JOIN "_s9" "_s9" + ON SEARCHES.SEARCH_ID = "_s9".SEARCH_ID AND "_s0".S_NAME = "_s9".S_NAME GROUP BY - "_S0".S_NAME, - SEARCHES.search_id -), "_S16" AS ( + "_s0".S_NAME, + SEARCHES.SEARCH_ID +), "_s16" AS ( SELECT S_NAME, COUNT(*) AS N_ROWS, SUM(( NOT NULLIF(COUNT_SEARCH_ID, 0) IS NULL AND NULLIF(COUNT_SEARCH_ID, 0) > 0 )) AS SUM_IS_INTRA_SEASON - FROM "_T1" + FROM "_t1" GROUP BY S_NAME -), "_S17" AS ( +), "_s17" AS ( SELECT - "_S10".S_NAME, + "_s10".S_NAME, COUNT(*) AS N_ROWS, - SUM("_S15".S_NAME = "_S10".S_NAME) AS SUM_IS_INTRA_SEASON - FROM "_S0" "_S10" - JOIN "_S5" "_S11" - ON "_S10".S_MONTH1 = EXTRACT(MONTH FROM CAST("_S11".EV_DT AS DATE)) - OR "_S10".S_MONTH2 = EXTRACT(MONTH FROM CAST("_S11".EV_DT AS DATE)) - OR "_S10".S_MONTH3 = EXTRACT(MONTH FROM CAST("_S11".EV_DT AS DATE)) + SUM("_s15".S_NAME = "_s10".S_NAME) AS SUM_IS_INTRA_SEASON + FROM "_s0" "_s10" + JOIN "_s5" "_s11" + ON "_s10".S_MONTH1 = EXTRACT(MONTH FROM CAST("_s11".EV_DT AS DATE)) + OR "_s10".S_MONTH2 = EXTRACT(MONTH FROM CAST("_s11".EV_DT AS DATE)) + OR "_s10".S_MONTH3 = EXTRACT(MONTH FROM CAST("_s11".EV_DT AS DATE)) JOIN SEARCHES SEARCHES - ON LOWER(SEARCHES.search_string) LIKE CONCAT('%', LOWER("_S11".EV_NAME), '%') - JOIN "_S0" "_S15" - ON "_S15".S_MONTH1 = EXTRACT(MONTH FROM CAST(SEARCHES.search_ts AS DATE)) - OR "_S15".S_MONTH2 = EXTRACT(MONTH FROM CAST(SEARCHES.search_ts AS DATE)) - OR "_S15".S_MONTH3 = EXTRACT(MONTH FROM CAST(SEARCHES.search_ts AS DATE)) + ON LOWER(SEARCHES.SEARCH_STRING) LIKE CONCAT('%', LOWER("_s11".EV_NAME), '%') + JOIN "_s0" "_s15" + ON "_s15".S_MONTH1 = EXTRACT(MONTH FROM CAST(SEARCHES.SEARCH_TS AS DATE)) + OR "_s15".S_MONTH2 = EXTRACT(MONTH FROM CAST(SEARCHES.SEARCH_TS AS DATE)) + OR "_s15".S_MONTH3 = EXTRACT(MONTH FROM CAST(SEARCHES.SEARCH_TS AS DATE)) GROUP BY - "_S10".S_NAME + "_s10".S_NAME ) SELECT - "_S16".S_NAME AS season_name, + "_s16".S_NAME AS season_name, ROUND(( - 100.0 * COALESCE("_S16".SUM_IS_INTRA_SEASON, 0) - ) / "_S16".N_ROWS, 2) AS pct_season_searches, + 100.0 * COALESCE("_s16".SUM_IS_INTRA_SEASON, 0) + ) / "_s16".N_ROWS, 2) AS pct_season_searches, ROUND( ( - 100.0 * COALESCE("_S17".SUM_IS_INTRA_SEASON, 0) - ) / COALESCE("_S17".N_ROWS, 0), + 100.0 * COALESCE("_s17".SUM_IS_INTRA_SEASON, 0) + ) / COALESCE("_s17".N_ROWS, 0), 2 ) AS pct_event_searches -FROM "_S16" "_S16" -LEFT JOIN "_S17" "_S17" - ON "_S16".S_NAME = "_S17".S_NAME +FROM "_s16" "_s16" +LEFT JOIN "_s17" "_s17" + ON "_s16".S_NAME = "_s17".S_NAME ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/epoch_intra_season_searches_postgres.sql b/tests/test_sql_refsols/epoch_intra_season_searches_postgres.sql index d090f9eeb..f5e38edca 100644 --- a/tests/test_sql_refsols/epoch_intra_season_searches_postgres.sql +++ b/tests/test_sql_refsols/epoch_intra_season_searches_postgres.sql @@ -20,7 +20,9 @@ WITH _s0 AS ( OR _s2.s_month2 = EXTRACT(MONTH FROM CAST(searches.search_ts AS TIMESTAMP)) OR _s2.s_month3 = EXTRACT(MONTH FROM CAST(searches.search_ts AS TIMESTAMP)) JOIN _s5 AS _s5 - ON LOWER(searches.search_string) LIKE CONCAT('%', LOWER(_s5.ev_name), '%') + ON LOWER(searches.search_string) LIKE ( + '%' || LOWER(_s5.ev_name) || '%' + ) JOIN _s0 AS _s7 ON _s2.s_name = _s7.s_name AND ( @@ -69,7 +71,9 @@ WITH _s0 AS ( OR _s10.s_month2 = EXTRACT(MONTH FROM CAST(_s11.ev_dt AS TIMESTAMP)) OR _s10.s_month3 = EXTRACT(MONTH FROM CAST(_s11.ev_dt AS TIMESTAMP)) JOIN searches AS searches - ON LOWER(searches.search_string) LIKE CONCAT('%', LOWER(_s11.ev_name), '%') + ON LOWER(searches.search_string) LIKE ( + '%' || LOWER(_s11.ev_name) || '%' + ) JOIN _s0 AS _s15 ON _s15.s_month1 = EXTRACT(MONTH FROM CAST(searches.search_ts AS TIMESTAMP)) OR _s15.s_month2 = EXTRACT(MONTH FROM CAST(searches.search_ts AS TIMESTAMP)) diff --git a/tests/test_sql_refsols/epoch_most_popular_search_engine_per_tod_ansi.sql b/tests/test_sql_refsols/epoch_most_popular_search_engine_per_tod_ansi.sql index c704bbcb3..fbe79bb1a 100644 --- a/tests/test_sql_refsols/epoch_most_popular_search_engine_per_tod_ansi.sql +++ b/tests/test_sql_refsols/epoch_most_popular_search_engine_per_tod_ansi.sql @@ -11,7 +11,10 @@ WITH _t1 AS ( 1, 2 QUALIFY - ROW_NUMBER() OVER (PARTITION BY times.t_name ORDER BY COUNT(*) DESC NULLS FIRST, searches.search_engine NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY times.t_name + ORDER BY COUNT(*) DESC NULLS FIRST, searches.search_engine NULLS LAST + ) = 1 ) SELECT t_name AS tod, diff --git a/tests/test_sql_refsols/epoch_most_popular_search_engine_per_tod_databricks.sql b/tests/test_sql_refsols/epoch_most_popular_search_engine_per_tod_databricks.sql index 133493bf2..c8d68cfe0 100644 --- a/tests/test_sql_refsols/epoch_most_popular_search_engine_per_tod_databricks.sql +++ b/tests/test_sql_refsols/epoch_most_popular_search_engine_per_tod_databricks.sql @@ -11,7 +11,10 @@ WITH _t1 AS ( 1, 2 QUALIFY - ROW_NUMBER() OVER (PARTITION BY times.t_name ORDER BY n_rows DESC NULLS FIRST, searches.search_engine NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY times.t_name + ORDER BY n_rows DESC NULLS FIRST, searches.search_engine NULLS LAST + ) = 1 ) SELECT t_name AS tod, diff --git a/tests/test_sql_refsols/epoch_most_popular_search_engine_per_tod_duckdb.sql b/tests/test_sql_refsols/epoch_most_popular_search_engine_per_tod_duckdb.sql index f3b08e720..f44e1d65d 100644 --- a/tests/test_sql_refsols/epoch_most_popular_search_engine_per_tod_duckdb.sql +++ b/tests/test_sql_refsols/epoch_most_popular_search_engine_per_tod_duckdb.sql @@ -11,7 +11,10 @@ WITH _t1 AS ( 1, 2 QUALIFY - ROW_NUMBER() OVER (PARTITION BY times.t_name ORDER BY COUNT(*) DESC NULLS FIRST, searches.search_engine) = 1 + ROW_NUMBER() OVER ( + PARTITION BY times.t_name + ORDER BY COUNT(*) DESC NULLS FIRST, searches.search_engine + ) = 1 ) SELECT t_name AS tod, diff --git a/tests/test_sql_refsols/epoch_most_popular_search_engine_per_tod_mysql.sql b/tests/test_sql_refsols/epoch_most_popular_search_engine_per_tod_mysql.sql index 15939a631..70a566ce9 100644 --- a/tests/test_sql_refsols/epoch_most_popular_search_engine_per_tod_mysql.sql +++ b/tests/test_sql_refsols/epoch_most_popular_search_engine_per_tod_mysql.sql @@ -15,7 +15,10 @@ WITH _t2 AS ( search_engine, t_name, n_rows, - ROW_NUMBER() OVER (PARTITION BY t_name ORDER BY CASE WHEN n_rows IS NULL THEN 1 ELSE 0 END DESC, n_rows DESC, CASE WHEN search_engine COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, search_engine COLLATE utf8mb4_bin) AS _w + ROW_NUMBER() OVER ( + PARTITION BY t_name + ORDER BY CASE WHEN n_rows IS NULL THEN 1 ELSE 0 END DESC, n_rows DESC, CASE WHEN search_engine COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, search_engine COLLATE utf8mb4_bin + ) AS _w FROM _t2 ) SELECT diff --git a/tests/test_sql_refsols/epoch_most_popular_search_engine_per_tod_oracle.sql b/tests/test_sql_refsols/epoch_most_popular_search_engine_per_tod_oracle.sql index 538e49051..76c6ffcbc 100644 --- a/tests/test_sql_refsols/epoch_most_popular_search_engine_per_tod_oracle.sql +++ b/tests/test_sql_refsols/epoch_most_popular_search_engine_per_tod_oracle.sql @@ -1,29 +1,29 @@ -WITH "_T2" AS ( +WITH "_t2" AS ( SELECT - SEARCHES.search_engine AS SEARCH_ENGINE, - TIMES.t_name AS T_NAME, + SEARCHES.SEARCH_ENGINE, + TIMES.T_NAME, COUNT(*) AS N_ROWS FROM TIMES TIMES JOIN SEARCHES SEARCHES - ON TIMES.t_end_hour > EXTRACT(HOUR FROM CAST(SEARCHES.search_ts AS TIMESTAMP)) - AND TIMES.t_start_hour <= EXTRACT(HOUR FROM CAST(SEARCHES.search_ts AS TIMESTAMP)) + ON TIMES.T_END_HOUR > EXTRACT(HOUR FROM CAST(SEARCHES.SEARCH_TS AS TIMESTAMP)) + AND TIMES.T_START_HOUR <= EXTRACT(HOUR FROM CAST(SEARCHES.SEARCH_TS AS TIMESTAMP)) GROUP BY - SEARCHES.search_engine, - TIMES.t_name -), "_T" AS ( + SEARCHES.SEARCH_ENGINE, + TIMES.T_NAME +), "_t" AS ( SELECT SEARCH_ENGINE, T_NAME, N_ROWS, - ROW_NUMBER() OVER (PARTITION BY T_NAME ORDER BY N_ROWS DESC, SEARCH_ENGINE) AS "_W" - FROM "_T2" + ROW_NUMBER() OVER (PARTITION BY T_NAME ORDER BY N_ROWS DESC, SEARCH_ENGINE) AS "_w" + FROM "_t2" ) SELECT T_NAME AS tod, SEARCH_ENGINE AS search_engine, N_ROWS AS n_searches -FROM "_T" +FROM "_t" WHERE - "_W" = 1 + "_w" = 1 ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/epoch_most_popular_topic_per_region_ansi.sql b/tests/test_sql_refsols/epoch_most_popular_topic_per_region_ansi.sql index 654109f94..84a76e650 100644 --- a/tests/test_sql_refsols/epoch_most_popular_topic_per_region_ansi.sql +++ b/tests/test_sql_refsols/epoch_most_popular_topic_per_region_ansi.sql @@ -12,7 +12,10 @@ WITH _t0 AS ( 1, 2 QUALIFY - ROW_NUMBER() OVER (PARTITION BY users.user_region ORDER BY COUNT(DISTINCT searches.search_id) DESC NULLS FIRST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY users.user_region + ORDER BY COUNT(DISTINCT searches.search_id) DESC NULLS FIRST + ) = 1 ) SELECT user_region AS region, diff --git a/tests/test_sql_refsols/epoch_most_popular_topic_per_region_duckdb.sql b/tests/test_sql_refsols/epoch_most_popular_topic_per_region_duckdb.sql index 654109f94..969c2ab7f 100644 --- a/tests/test_sql_refsols/epoch_most_popular_topic_per_region_duckdb.sql +++ b/tests/test_sql_refsols/epoch_most_popular_topic_per_region_duckdb.sql @@ -5,14 +5,19 @@ WITH _t0 AS ( COUNT(DISTINCT searches.search_id) AS ndistinct_search_id FROM events AS events JOIN searches AS searches - ON LOWER(searches.search_string) LIKE CONCAT('%', LOWER(events.ev_name), '%') + ON LOWER(searches.search_string) LIKE ( + '%' || LOWER(events.ev_name) || '%' + ) JOIN users AS users ON searches.search_user_id = users.user_id GROUP BY 1, 2 QUALIFY - ROW_NUMBER() OVER (PARTITION BY users.user_region ORDER BY COUNT(DISTINCT searches.search_id) DESC NULLS FIRST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY users.user_region + ORDER BY COUNT(DISTINCT searches.search_id) DESC NULLS FIRST + ) = 1 ) SELECT user_region AS region, diff --git a/tests/test_sql_refsols/epoch_most_popular_topic_per_region_mysql.sql b/tests/test_sql_refsols/epoch_most_popular_topic_per_region_mysql.sql index 5981bb495..bb606aad2 100644 --- a/tests/test_sql_refsols/epoch_most_popular_topic_per_region_mysql.sql +++ b/tests/test_sql_refsols/epoch_most_popular_topic_per_region_mysql.sql @@ -16,7 +16,10 @@ WITH _t1 AS ( ev_typ, user_region, ndistinct_search_id, - ROW_NUMBER() OVER (PARTITION BY user_region ORDER BY CASE WHEN ndistinct_search_id IS NULL THEN 1 ELSE 0 END DESC, ndistinct_search_id DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY user_region + ORDER BY CASE WHEN ndistinct_search_id IS NULL THEN 1 ELSE 0 END DESC, ndistinct_search_id DESC + ) AS _w FROM _t1 ) SELECT diff --git a/tests/test_sql_refsols/epoch_most_popular_topic_per_region_oracle.sql b/tests/test_sql_refsols/epoch_most_popular_topic_per_region_oracle.sql index fb281fa9d..ac746dcd4 100644 --- a/tests/test_sql_refsols/epoch_most_popular_topic_per_region_oracle.sql +++ b/tests/test_sql_refsols/epoch_most_popular_topic_per_region_oracle.sql @@ -1,28 +1,28 @@ -WITH "_T1" AS ( +WITH "_t1" AS ( SELECT - EVENTS.ev_typ AS EV_TYP, - USERS.user_region AS USER_REGION, - COUNT(DISTINCT SEARCHES.search_id) AS NDISTINCT_SEARCH_ID + EVENTS.EV_TYP, + USERS.USER_REGION, + COUNT(DISTINCT SEARCHES.SEARCH_ID) AS NDISTINCT_SEARCH_ID FROM EVENTS EVENTS JOIN SEARCHES SEARCHES - ON LOWER(SEARCHES.search_string) LIKE CONCAT('%', LOWER(EVENTS.ev_name), '%') + ON LOWER(SEARCHES.SEARCH_STRING) LIKE CONCAT('%', LOWER(EVENTS.EV_NAME), '%') JOIN USERS USERS - ON SEARCHES.search_user_id = USERS.user_id + ON SEARCHES.SEARCH_USER_ID = USERS.USER_ID GROUP BY - EVENTS.ev_typ, - USERS.user_region -), "_T" AS ( + EVENTS.EV_TYP, + USERS.USER_REGION +), "_t" AS ( SELECT EV_TYP, USER_REGION, NDISTINCT_SEARCH_ID, - ROW_NUMBER() OVER (PARTITION BY USER_REGION ORDER BY NDISTINCT_SEARCH_ID DESC) AS "_W" - FROM "_T1" + ROW_NUMBER() OVER (PARTITION BY USER_REGION ORDER BY NDISTINCT_SEARCH_ID DESC) AS "_w" + FROM "_t1" ) SELECT USER_REGION AS region, EV_TYP AS event_type, NDISTINCT_SEARCH_ID AS n_searches -FROM "_T" +FROM "_t" WHERE - "_W" = 1 + "_w" = 1 diff --git a/tests/test_sql_refsols/epoch_most_popular_topic_per_region_postgres.sql b/tests/test_sql_refsols/epoch_most_popular_topic_per_region_postgres.sql index 9738b314b..12b0f12cb 100644 --- a/tests/test_sql_refsols/epoch_most_popular_topic_per_region_postgres.sql +++ b/tests/test_sql_refsols/epoch_most_popular_topic_per_region_postgres.sql @@ -5,7 +5,9 @@ WITH _t1 AS ( COUNT(DISTINCT searches.search_id) AS ndistinct_search_id FROM events AS events JOIN searches AS searches - ON LOWER(searches.search_string) LIKE CONCAT('%', LOWER(events.ev_name), '%') + ON LOWER(searches.search_string) LIKE ( + '%' || LOWER(events.ev_name) || '%' + ) JOIN users AS users ON searches.search_user_id = users.user_id GROUP BY diff --git a/tests/test_sql_refsols/epoch_num_predawn_cold_war_ansi.sql b/tests/test_sql_refsols/epoch_num_predawn_cold_war_ansi.sql index c23e12993..0aa67a429 100644 --- a/tests/test_sql_refsols/epoch_num_predawn_cold_war_ansi.sql +++ b/tests/test_sql_refsols/epoch_num_predawn_cold_war_ansi.sql @@ -3,6 +3,14 @@ WITH _s0 AS ( ev_dt, ev_key FROM events +), _s5 AS ( + SELECT + _s2.ev_key + FROM _s0 AS _s2 + JOIN eras AS eras + ON eras.er_end_year > EXTRACT(YEAR FROM CAST(_s2.ev_dt AS DATETIME)) + AND eras.er_name = 'Cold War' + AND eras.er_start_year <= EXTRACT(YEAR FROM CAST(_s2.ev_dt AS DATETIME)) ) SELECT COUNT(DISTINCT _s0.ev_key) AS n_events @@ -11,9 +19,5 @@ JOIN times AS times ON times.t_end_hour > EXTRACT(HOUR FROM CAST(_s0.ev_dt AS DATETIME)) AND times.t_name = 'Pre-Dawn' AND times.t_start_hour <= EXTRACT(HOUR FROM CAST(_s0.ev_dt AS DATETIME)) -JOIN _s0 AS _s2 - ON _s0.ev_key = _s2.ev_key -JOIN eras AS eras - ON eras.er_end_year > EXTRACT(YEAR FROM CAST(_s2.ev_dt AS DATETIME)) - AND eras.er_name = 'Cold War' - AND eras.er_start_year <= EXTRACT(YEAR FROM CAST(_s2.ev_dt AS DATETIME)) +SEMI JOIN _s5 AS _s5 + ON _s0.ev_key = _s5.ev_key diff --git a/tests/test_sql_refsols/epoch_num_predawn_cold_war_oracle.sql b/tests/test_sql_refsols/epoch_num_predawn_cold_war_oracle.sql index 02afb1d37..60aabc3c3 100644 --- a/tests/test_sql_refsols/epoch_num_predawn_cold_war_oracle.sql +++ b/tests/test_sql_refsols/epoch_num_predawn_cold_war_oracle.sql @@ -1,27 +1,27 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - ev_dt AS EV_DT, - ev_key AS EV_KEY + EV_DT, + EV_KEY FROM EVENTS ), "_u_0" AS ( SELECT - "_S2".EV_KEY AS "_u_1" - FROM "_S0" "_S2" + "_s2".EV_KEY AS "_u_1" + FROM "_s0" "_s2" JOIN ERAS ERAS - ON ERAS.er_end_year > EXTRACT(YEAR FROM CAST("_S2".EV_DT AS DATE)) - AND ERAS.er_name = 'Cold War' - AND ERAS.er_start_year <= EXTRACT(YEAR FROM CAST("_S2".EV_DT AS DATE)) + ON ERAS.ER_END_YEAR > EXTRACT(YEAR FROM CAST("_s2".EV_DT AS DATE)) + AND ERAS.ER_NAME = 'Cold War' + AND ERAS.ER_START_YEAR <= EXTRACT(YEAR FROM CAST("_s2".EV_DT AS DATE)) GROUP BY - "_S2".EV_KEY + "_s2".EV_KEY ) SELECT - COUNT(DISTINCT "_S0".EV_KEY) AS n_events -FROM "_S0" "_S0" + COUNT(DISTINCT "_s0".EV_KEY) AS n_events +FROM "_s0" "_s0" JOIN TIMES TIMES - ON TIMES.t_end_hour > EXTRACT(HOUR FROM CAST("_S0".EV_DT AS TIMESTAMP)) - AND TIMES.t_name = 'Pre-Dawn' - AND TIMES.t_start_hour <= EXTRACT(HOUR FROM CAST("_S0".EV_DT AS TIMESTAMP)) + ON TIMES.T_END_HOUR > EXTRACT(HOUR FROM CAST("_s0".EV_DT AS TIMESTAMP)) + AND TIMES.T_NAME = 'Pre-Dawn' + AND TIMES.T_START_HOUR <= EXTRACT(HOUR FROM CAST("_s0".EV_DT AS TIMESTAMP)) LEFT JOIN "_u_0" "_u_0" - ON "_S0".EV_KEY = "_u_0"."_u_1" + ON "_s0".EV_KEY = "_u_0"."_u_1" WHERE NOT "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/epoch_overlapping_event_search_other_users_per_user_duckdb.sql b/tests/test_sql_refsols/epoch_overlapping_event_search_other_users_per_user_duckdb.sql index e1488b105..fab22a42f 100644 --- a/tests/test_sql_refsols/epoch_overlapping_event_search_other_users_per_user_duckdb.sql +++ b/tests/test_sql_refsols/epoch_overlapping_event_search_other_users_per_user_duckdb.sql @@ -16,9 +16,13 @@ FROM _s0 AS _s0 JOIN _s1 AS _s1 ON _s0.user_id = _s1.search_user_id JOIN events AS events - ON LOWER(_s1.search_string) LIKE CONCAT('%', LOWER(events.ev_name), '%') + ON LOWER(_s1.search_string) LIKE ( + '%' || LOWER(events.ev_name) || '%' + ) JOIN _s1 AS _s5 - ON LOWER(_s5.search_string) LIKE CONCAT('%', LOWER(events.ev_name), '%') + ON LOWER(_s5.search_string) LIKE ( + '%' || LOWER(events.ev_name) || '%' + ) JOIN _s0 AS _s7 ON _s0.user_name <> _s7.user_name AND _s5.search_user_id = _s7.user_id GROUP BY diff --git a/tests/test_sql_refsols/epoch_overlapping_event_search_other_users_per_user_oracle.sql b/tests/test_sql_refsols/epoch_overlapping_event_search_other_users_per_user_oracle.sql index 075eb0a4c..a12293263 100644 --- a/tests/test_sql_refsols/epoch_overlapping_event_search_other_users_per_user_oracle.sql +++ b/tests/test_sql_refsols/epoch_overlapping_event_search_other_users_per_user_oracle.sql @@ -1,28 +1,28 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - user_id AS USER_ID, - user_name AS USER_NAME + USER_ID, + USER_NAME FROM USERS -), "_S1" AS ( +), "_s1" AS ( SELECT - search_string AS SEARCH_STRING, - search_user_id AS SEARCH_USER_ID + SEARCH_STRING, + SEARCH_USER_ID FROM SEARCHES ) SELECT - ANY_VALUE("_S0".USER_NAME) AS user_name, - COUNT(DISTINCT "_S7".USER_ID) AS n_other_users -FROM "_S0" "_S0" -JOIN "_S1" "_S1" - ON "_S0".USER_ID = "_S1".SEARCH_USER_ID + ANY_VALUE("_s0".USER_NAME) AS user_name, + COUNT(DISTINCT "_s7".USER_ID) AS n_other_users +FROM "_s0" "_s0" +JOIN "_s1" "_s1" + ON "_s0".USER_ID = "_s1".SEARCH_USER_ID JOIN EVENTS EVENTS - ON LOWER("_S1".SEARCH_STRING) LIKE CONCAT('%', LOWER(EVENTS.ev_name), '%') -JOIN "_S1" "_S5" - ON LOWER("_S5".SEARCH_STRING) LIKE CONCAT('%', LOWER(EVENTS.ev_name), '%') -JOIN "_S0" "_S7" - ON "_S0".USER_NAME <> "_S7".USER_NAME AND "_S5".SEARCH_USER_ID = "_S7".USER_ID + ON LOWER("_s1".SEARCH_STRING) LIKE CONCAT('%', LOWER(EVENTS.EV_NAME), '%') +JOIN "_s1" "_s5" + ON LOWER("_s5".SEARCH_STRING) LIKE CONCAT('%', LOWER(EVENTS.EV_NAME), '%') +JOIN "_s0" "_s7" + ON "_s0".USER_NAME <> "_s7".USER_NAME AND "_s5".SEARCH_USER_ID = "_s7".USER_ID GROUP BY - "_S0".USER_ID + "_s0".USER_ID ORDER BY 2 DESC NULLS LAST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/epoch_overlapping_event_search_other_users_per_user_postgres.sql b/tests/test_sql_refsols/epoch_overlapping_event_search_other_users_per_user_postgres.sql index d862debe9..56a741693 100644 --- a/tests/test_sql_refsols/epoch_overlapping_event_search_other_users_per_user_postgres.sql +++ b/tests/test_sql_refsols/epoch_overlapping_event_search_other_users_per_user_postgres.sql @@ -10,15 +10,19 @@ WITH _s0 AS ( FROM searches ) SELECT - MAX(_s0.user_name) AS user_name, + ANY_VALUE(_s0.user_name) AS user_name, COUNT(DISTINCT _s7.user_id) AS n_other_users FROM _s0 AS _s0 JOIN _s1 AS _s1 ON _s0.user_id = _s1.search_user_id JOIN events AS events - ON LOWER(_s1.search_string) LIKE CONCAT('%', LOWER(events.ev_name), '%') + ON LOWER(_s1.search_string) LIKE ( + '%' || LOWER(events.ev_name) || '%' + ) JOIN _s1 AS _s5 - ON LOWER(_s5.search_string) LIKE CONCAT('%', LOWER(events.ev_name), '%') + ON LOWER(_s5.search_string) LIKE ( + '%' || LOWER(events.ev_name) || '%' + ) JOIN _s0 AS _s7 ON _s0.user_name <> _s7.user_name AND _s5.search_user_id = _s7.user_id GROUP BY diff --git a/tests/test_sql_refsols/epoch_overlapping_event_searches_per_user_duckdb.sql b/tests/test_sql_refsols/epoch_overlapping_event_searches_per_user_duckdb.sql index cad74ba69..395c3e2a8 100644 --- a/tests/test_sql_refsols/epoch_overlapping_event_searches_per_user_duckdb.sql +++ b/tests/test_sql_refsols/epoch_overlapping_event_searches_per_user_duckdb.sql @@ -12,9 +12,13 @@ WITH _s0 AS ( JOIN searches AS searches ON _s0.user_id = searches.search_user_id JOIN events AS events - ON LOWER(searches.search_string) LIKE CONCAT('%', LOWER(events.ev_name), '%') + ON LOWER(searches.search_string) LIKE ( + '%' || LOWER(events.ev_name) || '%' + ) JOIN searches AS searches_2 - ON LOWER(searches_2.search_string) LIKE CONCAT('%', LOWER(events.ev_name), '%') + ON LOWER(searches_2.search_string) LIKE ( + '%' || LOWER(events.ev_name) || '%' + ) JOIN _s0 AS _s7 ON _s0.user_name <> _s7.user_name AND _s7.user_id = searches_2.search_user_id GROUP BY diff --git a/tests/test_sql_refsols/epoch_overlapping_event_searches_per_user_oracle.sql b/tests/test_sql_refsols/epoch_overlapping_event_searches_per_user_oracle.sql index 5d61e2b6c..757a1f649 100644 --- a/tests/test_sql_refsols/epoch_overlapping_event_searches_per_user_oracle.sql +++ b/tests/test_sql_refsols/epoch_overlapping_event_searches_per_user_oracle.sql @@ -1,30 +1,30 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - user_id AS USER_ID, - user_name AS USER_NAME + USER_ID, + USER_NAME FROM USERS -), "_T2" AS ( +), "_t2" AS ( SELECT - "_S0".USER_ID, - ANY_VALUE(SEARCHES.search_user_id) AS ANYTHING_SEARCH_USER_ID, - ANY_VALUE("_S0".USER_NAME) AS ANYTHING_USER_NAME - FROM "_S0" "_S0" + "_s0".USER_ID, + ANY_VALUE(SEARCHES.SEARCH_USER_ID) AS ANYTHING_SEARCH_USER_ID, + ANY_VALUE("_s0".USER_NAME) AS ANYTHING_USER_NAME + FROM "_s0" "_s0" JOIN SEARCHES SEARCHES - ON SEARCHES.search_user_id = "_S0".USER_ID + ON SEARCHES.SEARCH_USER_ID = "_s0".USER_ID JOIN EVENTS EVENTS - ON LOWER(SEARCHES.search_string) LIKE CONCAT('%', LOWER(EVENTS.ev_name), '%') + ON LOWER(SEARCHES.SEARCH_STRING) LIKE CONCAT('%', LOWER(EVENTS.EV_NAME), '%') JOIN SEARCHES SEARCHES_2 - ON LOWER(SEARCHES_2.search_string) LIKE CONCAT('%', LOWER(EVENTS.ev_name), '%') - JOIN "_S0" "_S7" - ON SEARCHES_2.search_user_id = "_S7".USER_ID AND "_S0".USER_NAME <> "_S7".USER_NAME + ON LOWER(SEARCHES_2.SEARCH_STRING) LIKE CONCAT('%', LOWER(EVENTS.EV_NAME), '%') + JOIN "_s0" "_s7" + ON SEARCHES_2.SEARCH_USER_ID = "_s7".USER_ID AND "_s0".USER_NAME <> "_s7".USER_NAME GROUP BY - SEARCHES.search_id, - "_S0".USER_ID + SEARCHES.SEARCH_ID, + "_s0".USER_ID ) SELECT ANY_VALUE(ANYTHING_USER_NAME) AS user_name, COUNT(*) AS n_searches -FROM "_T2" +FROM "_t2" WHERE ANYTHING_SEARCH_USER_ID = USER_ID GROUP BY diff --git a/tests/test_sql_refsols/epoch_overlapping_event_searches_per_user_postgres.sql b/tests/test_sql_refsols/epoch_overlapping_event_searches_per_user_postgres.sql index a7f5801ae..3a456e230 100644 --- a/tests/test_sql_refsols/epoch_overlapping_event_searches_per_user_postgres.sql +++ b/tests/test_sql_refsols/epoch_overlapping_event_searches_per_user_postgres.sql @@ -6,15 +6,19 @@ WITH _s0 AS ( ), _t2 AS ( SELECT _s0.user_id, - MAX(searches.search_user_id) AS anything_search_user_id, - MAX(_s0.user_name) AS anything_user_name + ANY_VALUE(searches.search_user_id) AS anything_search_user_id, + ANY_VALUE(_s0.user_name) AS anything_user_name FROM _s0 AS _s0 JOIN searches AS searches ON _s0.user_id = searches.search_user_id JOIN events AS events - ON LOWER(searches.search_string) LIKE CONCAT('%', LOWER(events.ev_name), '%') + ON LOWER(searches.search_string) LIKE ( + '%' || LOWER(events.ev_name) || '%' + ) JOIN searches AS searches_2 - ON LOWER(searches_2.search_string) LIKE CONCAT('%', LOWER(events.ev_name), '%') + ON LOWER(searches_2.search_string) LIKE ( + '%' || LOWER(events.ev_name) || '%' + ) JOIN _s0 AS _s7 ON _s0.user_name <> _s7.user_name AND _s7.user_id = searches_2.search_user_id GROUP BY @@ -22,7 +26,7 @@ WITH _s0 AS ( 1 ) SELECT - MAX(anything_user_name) AS user_name, + ANY_VALUE(anything_user_name) AS user_name, COUNT(*) AS n_searches FROM _t2 WHERE diff --git a/tests/test_sql_refsols/epoch_pct_searches_per_tod_oracle.sql b/tests/test_sql_refsols/epoch_pct_searches_per_tod_oracle.sql index 409975580..0c5db75c9 100644 --- a/tests/test_sql_refsols/epoch_pct_searches_per_tod_oracle.sql +++ b/tests/test_sql_refsols/epoch_pct_searches_per_tod_oracle.sql @@ -1,20 +1,20 @@ -WITH "_T0" AS ( +WITH "_t0" AS ( SELECT - TIMES.t_name AS T_NAME, - ANY_VALUE(TIMES.t_start_hour) AS ANYTHING_T_START_HOUR, + TIMES.T_NAME, + ANY_VALUE(TIMES.T_START_HOUR) AS ANYTHING_T_START_HOUR, COUNT(*) AS N_ROWS FROM TIMES TIMES JOIN SEARCHES SEARCHES - ON TIMES.t_end_hour > EXTRACT(HOUR FROM CAST(SEARCHES.search_ts AS TIMESTAMP)) - AND TIMES.t_start_hour <= EXTRACT(HOUR FROM CAST(SEARCHES.search_ts AS TIMESTAMP)) + ON TIMES.T_END_HOUR > EXTRACT(HOUR FROM CAST(SEARCHES.SEARCH_TS AS TIMESTAMP)) + AND TIMES.T_START_HOUR <= EXTRACT(HOUR FROM CAST(SEARCHES.SEARCH_TS AS TIMESTAMP)) GROUP BY - TIMES.t_name + TIMES.T_NAME ) SELECT T_NAME AS tod, ROUND(( 100.0 * N_ROWS ) / SUM(N_ROWS) OVER (), 2) AS pct_searches -FROM "_T0" +FROM "_t0" ORDER BY ANYTHING_T_START_HOUR NULLS FIRST diff --git a/tests/test_sql_refsols/epoch_pct_searches_per_tod_postgres.sql b/tests/test_sql_refsols/epoch_pct_searches_per_tod_postgres.sql index 781a17133..3d18e1747 100644 --- a/tests/test_sql_refsols/epoch_pct_searches_per_tod_postgres.sql +++ b/tests/test_sql_refsols/epoch_pct_searches_per_tod_postgres.sql @@ -1,7 +1,7 @@ WITH _t0 AS ( SELECT times.t_name, - MAX(times.t_start_hour) AS anything_t_start_hour, + ANY_VALUE(times.t_start_hour) AS anything_t_start_hour, COUNT(*) AS n_rows FROM times AS times JOIN searches AS searches diff --git a/tests/test_sql_refsols/epoch_search_results_by_tod_oracle.sql b/tests/test_sql_refsols/epoch_search_results_by_tod_oracle.sql index e7d336788..d3a62f6c9 100644 --- a/tests/test_sql_refsols/epoch_search_results_by_tod_oracle.sql +++ b/tests/test_sql_refsols/epoch_search_results_by_tod_oracle.sql @@ -1,15 +1,15 @@ -WITH "_T0" AS ( +WITH "_t0" AS ( SELECT - TIMES.t_name AS T_NAME, - ANY_VALUE(TIMES.t_start_hour) AS ANYTHING_T_START_HOUR, - AVG(SEARCHES.search_num_results) AS AVG_SEARCH_NUM_RESULTS, + TIMES.T_NAME, + ANY_VALUE(TIMES.T_START_HOUR) AS ANYTHING_T_START_HOUR, + AVG(SEARCHES.SEARCH_NUM_RESULTS) AS AVG_SEARCH_NUM_RESULTS, COUNT(*) AS N_ROWS FROM TIMES TIMES JOIN SEARCHES SEARCHES - ON TIMES.t_end_hour > EXTRACT(HOUR FROM CAST(SEARCHES.search_ts AS TIMESTAMP)) - AND TIMES.t_start_hour <= EXTRACT(HOUR FROM CAST(SEARCHES.search_ts AS TIMESTAMP)) + ON TIMES.T_END_HOUR > EXTRACT(HOUR FROM CAST(SEARCHES.SEARCH_TS AS TIMESTAMP)) + AND TIMES.T_START_HOUR <= EXTRACT(HOUR FROM CAST(SEARCHES.SEARCH_TS AS TIMESTAMP)) GROUP BY - TIMES.t_name + TIMES.T_NAME ) SELECT T_NAME AS tod, @@ -17,6 +17,6 @@ SELECT 100.0 * N_ROWS ) / SUM(N_ROWS) OVER (), 2) AS pct_searches, ROUND(AVG_SEARCH_NUM_RESULTS, 2) AS avg_results -FROM "_T0" +FROM "_t0" ORDER BY ANYTHING_T_START_HOUR NULLS FIRST diff --git a/tests/test_sql_refsols/epoch_search_results_by_tod_postgres.sql b/tests/test_sql_refsols/epoch_search_results_by_tod_postgres.sql index ec9b4eedc..e55e992fe 100644 --- a/tests/test_sql_refsols/epoch_search_results_by_tod_postgres.sql +++ b/tests/test_sql_refsols/epoch_search_results_by_tod_postgres.sql @@ -1,7 +1,7 @@ WITH _t0 AS ( SELECT times.t_name, - MAX(times.t_start_hour) AS anything_t_start_hour, + ANY_VALUE(times.t_start_hour) AS anything_t_start_hour, AVG(CAST(searches.search_num_results AS DECIMAL)) AS avg_search_num_results, COUNT(*) AS n_rows FROM times AS times diff --git a/tests/test_sql_refsols/epoch_summer_events_per_type_oracle.sql b/tests/test_sql_refsols/epoch_summer_events_per_type_oracle.sql index 907c19a30..85c380325 100644 --- a/tests/test_sql_refsols/epoch_summer_events_per_type_oracle.sql +++ b/tests/test_sql_refsols/epoch_summer_events_per_type_oracle.sql @@ -1,15 +1,15 @@ SELECT - EVENTS.ev_typ AS event_type, + EVENTS.EV_TYP AS event_type, COUNT(*) AS n_events FROM EVENTS EVENTS JOIN SEASONS SEASONS ON ( - SEASONS.s_month1 = EXTRACT(MONTH FROM CAST(EVENTS.ev_dt AS DATE)) - OR SEASONS.s_month2 = EXTRACT(MONTH FROM CAST(EVENTS.ev_dt AS DATE)) - OR SEASONS.s_month3 = EXTRACT(MONTH FROM CAST(EVENTS.ev_dt AS DATE)) + SEASONS.S_MONTH1 = EXTRACT(MONTH FROM CAST(EVENTS.EV_DT AS DATE)) + OR SEASONS.S_MONTH2 = EXTRACT(MONTH FROM CAST(EVENTS.EV_DT AS DATE)) + OR SEASONS.S_MONTH3 = EXTRACT(MONTH FROM CAST(EVENTS.EV_DT AS DATE)) ) - AND SEASONS.s_name = 'Summer' + AND SEASONS.S_NAME = 'Summer' GROUP BY - EVENTS.ev_typ + EVENTS.EV_TYP ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/epoch_unique_users_per_engine_oracle.sql b/tests/test_sql_refsols/epoch_unique_users_per_engine_oracle.sql index 29b3ec33f..347e0d06f 100644 --- a/tests/test_sql_refsols/epoch_unique_users_per_engine_oracle.sql +++ b/tests/test_sql_refsols/epoch_unique_users_per_engine_oracle.sql @@ -1,23 +1,23 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT DISTINCT - search_engine AS SEARCH_ENGINE + SEARCH_ENGINE FROM SEARCHES -), "_S1" AS ( +), "_s1" AS ( SELECT - search_engine AS SEARCH_ENGINE, - COUNT(DISTINCT search_user_id) AS NDISTINCT_SEARCH_USER_ID + SEARCH_ENGINE, + COUNT(DISTINCT SEARCH_USER_ID) AS NDISTINCT_SEARCH_USER_ID FROM SEARCHES WHERE - EXTRACT(YEAR FROM CAST(search_ts AS DATE)) <= 2019 - AND EXTRACT(YEAR FROM CAST(search_ts AS DATE)) >= 2010 + EXTRACT(YEAR FROM CAST(SEARCH_TS AS DATE)) <= 2019 + AND EXTRACT(YEAR FROM CAST(SEARCH_TS AS DATE)) >= 2010 GROUP BY - search_engine + SEARCH_ENGINE ) SELECT - "_S0".SEARCH_ENGINE AS engine, - COALESCE("_S1".NDISTINCT_SEARCH_USER_ID, 0) AS n_users -FROM "_S0" "_S0" -LEFT JOIN "_S1" "_S1" - ON "_S0".SEARCH_ENGINE = "_S1".SEARCH_ENGINE + "_s0".SEARCH_ENGINE AS engine, + COALESCE("_s1".NDISTINCT_SEARCH_USER_ID, 0) AS n_users +FROM "_s0" "_s0" +LEFT JOIN "_s1" "_s1" + ON "_s0".SEARCH_ENGINE = "_s1".SEARCH_ENGINE ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/epoch_users_most_cold_war_searches_duckdb.sql b/tests/test_sql_refsols/epoch_users_most_cold_war_searches_duckdb.sql index e633d4118..54beb5474 100644 --- a/tests/test_sql_refsols/epoch_users_most_cold_war_searches_duckdb.sql +++ b/tests/test_sql_refsols/epoch_users_most_cold_war_searches_duckdb.sql @@ -3,7 +3,9 @@ WITH _t1 AS ( ANY_VALUE(searches.search_user_id) AS anything_search_user_id FROM searches AS searches JOIN events AS events - ON LOWER(searches.search_string) LIKE CONCAT('%', LOWER(events.ev_name), '%') + ON LOWER(searches.search_string) LIKE ( + '%' || LOWER(events.ev_name) || '%' + ) JOIN eras AS eras ON eras.er_end_year > EXTRACT(YEAR FROM CAST(events.ev_dt AS TIMESTAMP)) AND eras.er_name = 'Cold War' diff --git a/tests/test_sql_refsols/epoch_users_most_cold_war_searches_oracle.sql b/tests/test_sql_refsols/epoch_users_most_cold_war_searches_oracle.sql index e9d96d9d1..e27183f4e 100644 --- a/tests/test_sql_refsols/epoch_users_most_cold_war_searches_oracle.sql +++ b/tests/test_sql_refsols/epoch_users_most_cold_war_searches_oracle.sql @@ -1,29 +1,29 @@ -WITH "_T1" AS ( +WITH "_t1" AS ( SELECT - ANY_VALUE(SEARCHES.search_user_id) AS ANYTHING_SEARCH_USER_ID + ANY_VALUE(SEARCHES.SEARCH_USER_ID) AS ANYTHING_SEARCH_USER_ID FROM SEARCHES SEARCHES JOIN EVENTS EVENTS - ON LOWER(SEARCHES.search_string) LIKE CONCAT('%', LOWER(EVENTS.ev_name), '%') + ON LOWER(SEARCHES.SEARCH_STRING) LIKE CONCAT('%', LOWER(EVENTS.EV_NAME), '%') JOIN ERAS ERAS - ON ERAS.er_end_year > EXTRACT(YEAR FROM CAST(EVENTS.ev_dt AS DATE)) - AND ERAS.er_name = 'Cold War' - AND ERAS.er_start_year <= EXTRACT(YEAR FROM CAST(EVENTS.ev_dt AS DATE)) + ON ERAS.ER_END_YEAR > EXTRACT(YEAR FROM CAST(EVENTS.EV_DT AS DATE)) + AND ERAS.ER_NAME = 'Cold War' + AND ERAS.ER_START_YEAR <= EXTRACT(YEAR FROM CAST(EVENTS.EV_DT AS DATE)) GROUP BY - SEARCHES.search_id -), "_S5" AS ( + SEARCHES.SEARCH_ID +), "_s5" AS ( SELECT ANYTHING_SEARCH_USER_ID, COUNT(*) AS N_ROWS - FROM "_T1" + FROM "_t1" GROUP BY ANYTHING_SEARCH_USER_ID ) SELECT - USERS.user_name, - "_S5".N_ROWS AS n_cold_war_searches + USERS.USER_NAME AS user_name, + "_s5".N_ROWS AS n_cold_war_searches FROM USERS USERS -JOIN "_S5" "_S5" - ON USERS.user_id = "_S5".ANYTHING_SEARCH_USER_ID +JOIN "_s5" "_s5" + ON USERS.USER_ID = "_s5".ANYTHING_SEARCH_USER_ID ORDER BY 2 DESC NULLS LAST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/epoch_users_most_cold_war_searches_postgres.sql b/tests/test_sql_refsols/epoch_users_most_cold_war_searches_postgres.sql index 25dff4cee..5fea359ba 100644 --- a/tests/test_sql_refsols/epoch_users_most_cold_war_searches_postgres.sql +++ b/tests/test_sql_refsols/epoch_users_most_cold_war_searches_postgres.sql @@ -1,9 +1,11 @@ WITH _t1 AS ( SELECT - MAX(searches.search_user_id) AS anything_search_user_id + ANY_VALUE(searches.search_user_id) AS anything_search_user_id FROM searches AS searches JOIN events AS events - ON LOWER(searches.search_string) LIKE CONCAT('%', LOWER(events.ev_name), '%') + ON LOWER(searches.search_string) LIKE ( + '%' || LOWER(events.ev_name) || '%' + ) JOIN eras AS eras ON eras.er_end_year > EXTRACT(YEAR FROM CAST(events.ev_dt AS TIMESTAMP)) AND eras.er_name = 'Cold War' diff --git a/tests/test_sql_refsols/explode_02_postgres.sql b/tests/test_sql_refsols/explode_02_postgres.sql index 2c2606bb2..5eb87b7fd 100644 --- a/tests/test_sql_refsols/explode_02_postgres.sql +++ b/tests/test_sql_refsols/explode_02_postgres.sql @@ -7,7 +7,7 @@ FROM (VALUES ('A', ARRAY[1]), ('B', ( ARRAY[0] - )[1 : 0]), + )[1:0]), ('C', ARRAY[2, 3, NULL, 4]), ('D', ARRAY[5, 6])) AS tbl(key, arr) CROSS JOIN LATERAL UNNEST(tbl.arr) WITH ORDINALITY AS _s0(val, idx) diff --git a/tests/test_sql_refsols/explode_12_postgres.sql b/tests/test_sql_refsols/explode_12_postgres.sql index 421c31c81..3b495452c 100644 --- a/tests/test_sql_refsols/explode_12_postgres.sql +++ b/tests/test_sql_refsols/explode_12_postgres.sql @@ -5,7 +5,7 @@ FROM (VALUES ('A', ARRAY[1]), ('B', ( ARRAY[0] - )[1 : 0]), + )[1:0]), ('C', ARRAY[2, 3, NULL, 4]), ('D', ARRAY[5, 6])) AS tbl(key, arr) CROSS JOIN LATERAL UNNEST(tbl.arr) WITH ORDINALITY AS _s0(val, idx) diff --git a/tests/test_sql_refsols/explode_13_postgres.sql b/tests/test_sql_refsols/explode_13_postgres.sql index c4b62f394..d2f01ac3b 100644 --- a/tests/test_sql_refsols/explode_13_postgres.sql +++ b/tests/test_sql_refsols/explode_13_postgres.sql @@ -5,7 +5,7 @@ FROM (VALUES ('A', ARRAY[1]), ('B', ( ARRAY[0] - )[1 : 0]), + )[1:0]), ('C', ARRAY[2, 3, NULL, 4, NULL]), ('D', ARRAY[5, 6, 5])) AS tbl(key, arr) CROSS JOIN LATERAL UNNEST(tbl.arr) WITH ORDINALITY AS _s0(val, idx) diff --git a/tests/test_sql_refsols/explode_14_databricks.sql b/tests/test_sql_refsols/explode_14_databricks.sql index 6c9467b13..b3999ce68 100644 --- a/tests/test_sql_refsols/explode_14_databricks.sql +++ b/tests/test_sql_refsols/explode_14_databricks.sql @@ -19,7 +19,10 @@ WITH _s1 AS ( WHERE _s4.val <> '' QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s1.key ORDER BY _s0.idx NULLS LAST, _s2.idx NULLS LAST, _s4.idx NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s1.key + ORDER BY _s0.idx NULLS LAST, _s2.idx NULLS LAST, _s4.idx NULLS LAST + ) = 1 ) SELECT key, diff --git a/tests/test_sql_refsols/explode_15_databricks.sql b/tests/test_sql_refsols/explode_15_databricks.sql index 10617c86f..b94bde23c 100644 --- a/tests/test_sql_refsols/explode_15_databricks.sql +++ b/tests/test_sql_refsols/explode_15_databricks.sql @@ -19,7 +19,10 @@ WITH _s1 AS ( WHERE _s4.val <> '' QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s1.key ORDER BY _s0.idx DESC NULLS FIRST, _s2.idx NULLS LAST, _s4.idx NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s1.key + ORDER BY _s0.idx DESC NULLS FIRST, _s2.idx NULLS LAST, _s4.idx NULLS LAST + ) = 1 ) SELECT key, diff --git a/tests/test_sql_refsols/explode_15_trino.sql b/tests/test_sql_refsols/explode_15_trino.sql index 19d0a5e55..10ec27e48 100644 --- a/tests/test_sql_refsols/explode_15_trino.sql +++ b/tests/test_sql_refsols/explode_15_trino.sql @@ -13,7 +13,10 @@ WITH _s1 AS ( _s4.idx - 1 AS idx3, _s1.key, _s4.val AS val3, - ROW_NUMBER() OVER (PARTITION BY _s1.key ORDER BY _s0.idx - 1 DESC NULLS FIRST, _s2.idx - 1, _s4.idx - 1) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _s1.key + ORDER BY _s0.idx - 1 DESC NULLS FIRST, _s2.idx - 1, _s4.idx - 1 + ) AS _w FROM _s1 AS _s1 CROSS JOIN UNNEST(SPLIT(_s1.comment, '.')) WITH ORDINALITY AS _s0(val, idx) CROSS JOIN UNNEST(SPLIT(_s0.val, ',')) WITH ORDINALITY AS _s2(val, idx), UNNEST(SPLIT(_s2.val, ' ')) WITH ORDINALITY AS _s4(val, idx) diff --git a/tests/test_sql_refsols/explode_16_databricks.sql b/tests/test_sql_refsols/explode_16_databricks.sql index e0f9ee103..2b6a9f23d 100644 --- a/tests/test_sql_refsols/explode_16_databricks.sql +++ b/tests/test_sql_refsols/explode_16_databricks.sql @@ -19,7 +19,10 @@ WITH _s1 AS ( WHERE _s4.val <> '' QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s1.key ORDER BY _s0.idx NULLS LAST, _s2.idx DESC NULLS FIRST, _s4.idx NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s1.key + ORDER BY _s0.idx NULLS LAST, _s2.idx DESC NULLS FIRST, _s4.idx NULLS LAST + ) = 1 ) SELECT key, diff --git a/tests/test_sql_refsols/explode_16_trino.sql b/tests/test_sql_refsols/explode_16_trino.sql index 85c56f419..a5e691264 100644 --- a/tests/test_sql_refsols/explode_16_trino.sql +++ b/tests/test_sql_refsols/explode_16_trino.sql @@ -13,7 +13,10 @@ WITH _s1 AS ( _s4.idx - 1 AS idx3, _s1.key, _s4.val AS val3, - ROW_NUMBER() OVER (PARTITION BY _s1.key ORDER BY _s0.idx - 1, _s2.idx - 1 DESC NULLS FIRST, _s4.idx - 1) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _s1.key + ORDER BY _s0.idx - 1, _s2.idx - 1 DESC NULLS FIRST, _s4.idx - 1 + ) AS _w FROM _s1 AS _s1 CROSS JOIN UNNEST(SPLIT(_s1.comment, '.')) WITH ORDINALITY AS _s0(val, idx) CROSS JOIN UNNEST(SPLIT(_s0.val, ',')) WITH ORDINALITY AS _s2(val, idx), UNNEST(SPLIT(_s2.val, ' ')) WITH ORDINALITY AS _s4(val, idx) diff --git a/tests/test_sql_refsols/explode_17_databricks.sql b/tests/test_sql_refsols/explode_17_databricks.sql index e9fae26c9..a527f0e4d 100644 --- a/tests/test_sql_refsols/explode_17_databricks.sql +++ b/tests/test_sql_refsols/explode_17_databricks.sql @@ -19,7 +19,10 @@ WITH _s1 AS ( WHERE _s4.val <> '' QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s1.key ORDER BY _s0.idx DESC NULLS FIRST, _s2.idx DESC NULLS FIRST, _s4.idx NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s1.key + ORDER BY _s0.idx DESC NULLS FIRST, _s2.idx DESC NULLS FIRST, _s4.idx NULLS LAST + ) = 1 ) SELECT key, diff --git a/tests/test_sql_refsols/explode_17_duckdb.sql b/tests/test_sql_refsols/explode_17_duckdb.sql index 6d1fae2f3..7d79d4ada 100644 --- a/tests/test_sql_refsols/explode_17_duckdb.sql +++ b/tests/test_sql_refsols/explode_17_duckdb.sql @@ -31,7 +31,10 @@ WITH _s1 AS ( WHERE _s4.val <> '' QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s1.key ORDER BY _s0.idx DESC NULLS FIRST, _s2.idx DESC NULLS FIRST, _s4.idx) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s1.key + ORDER BY _s0.idx DESC NULLS FIRST, _s2.idx DESC NULLS FIRST, _s4.idx + ) = 1 ) SELECT key, diff --git a/tests/test_sql_refsols/explode_17_snowflake.sql b/tests/test_sql_refsols/explode_17_snowflake.sql index 9bd4e8164..9768ead92 100644 --- a/tests/test_sql_refsols/explode_17_snowflake.sql +++ b/tests/test_sql_refsols/explode_17_snowflake.sql @@ -19,7 +19,10 @@ WITH _s1 AS ( WHERE _s4.value <> '' QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s1.key ORDER BY _s0.index - 1 DESC, _s2.index - 1 DESC, _s4.index - 1) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s1.key + ORDER BY _s0.index - 1 DESC, _s2.index - 1 DESC, _s4.index - 1 + ) = 1 ) SELECT key, diff --git a/tests/test_sql_refsols/explode_17_trino.sql b/tests/test_sql_refsols/explode_17_trino.sql index c4415234c..d49625835 100644 --- a/tests/test_sql_refsols/explode_17_trino.sql +++ b/tests/test_sql_refsols/explode_17_trino.sql @@ -13,7 +13,10 @@ WITH _s1 AS ( _s4.idx - 1 AS idx3, _s1.key, _s4.val AS val3, - ROW_NUMBER() OVER (PARTITION BY _s1.key ORDER BY _s0.idx - 1 DESC NULLS FIRST, _s2.idx - 1 DESC NULLS FIRST, _s4.idx - 1) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _s1.key + ORDER BY _s0.idx - 1 DESC NULLS FIRST, _s2.idx - 1 DESC NULLS FIRST, _s4.idx - 1 + ) AS _w FROM _s1 AS _s1 CROSS JOIN UNNEST(SPLIT(_s1.comment, '.')) WITH ORDINALITY AS _s0(val, idx) CROSS JOIN UNNEST(SPLIT(_s0.val, ',')) WITH ORDINALITY AS _s2(val, idx), UNNEST(SPLIT(_s2.val, ' ')) WITH ORDINALITY AS _s4(val, idx) diff --git a/tests/test_sql_refsols/explode_18_trino.sql b/tests/test_sql_refsols/explode_18_trino.sql index 09a023f92..79da810cc 100644 --- a/tests/test_sql_refsols/explode_18_trino.sql +++ b/tests/test_sql_refsols/explode_18_trino.sql @@ -13,7 +13,10 @@ WITH _s1 AS ( _s4.idx - 1 AS idx3, _s1.key, _s4.val AS val3, - ROW_NUMBER() OVER (PARTITION BY _s0.idx - 1, _s1.key, _s2.idx - 1 ORDER BY _s4.idx - 1 DESC NULLS FIRST) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _s0.idx - 1, _s1.key, _s2.idx - 1 + ORDER BY _s4.idx - 1 DESC NULLS FIRST + ) AS _w FROM _s1 AS _s1 CROSS JOIN UNNEST(SPLIT(_s1.comment, '.')) WITH ORDINALITY AS _s0(val, idx) CROSS JOIN UNNEST(SPLIT(_s0.val, ',')) WITH ORDINALITY AS _s2(val, idx), UNNEST(SPLIT(_s2.val, ' ')) WITH ORDINALITY AS _s4(val, idx) diff --git a/tests/test_sql_refsols/explode_19_databricks.sql b/tests/test_sql_refsols/explode_19_databricks.sql index 1dc97da91..17d584ca0 100644 --- a/tests/test_sql_refsols/explode_19_databricks.sql +++ b/tests/test_sql_refsols/explode_19_databricks.sql @@ -19,7 +19,10 @@ WITH _s1 AS ( WHERE _s4.val <> '' QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s1.key, _s0.idx ORDER BY _s2.idx DESC NULLS FIRST, _s4.idx DESC NULLS FIRST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s1.key, _s0.idx + ORDER BY _s2.idx DESC NULLS FIRST, _s4.idx DESC NULLS FIRST + ) = 1 ) SELECT key, diff --git a/tests/test_sql_refsols/explode_19_duckdb.sql b/tests/test_sql_refsols/explode_19_duckdb.sql index c9e33fe97..987ff8353 100644 --- a/tests/test_sql_refsols/explode_19_duckdb.sql +++ b/tests/test_sql_refsols/explode_19_duckdb.sql @@ -31,7 +31,10 @@ WITH _s1 AS ( WHERE _s4.val <> '' QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s1.key, _s0.idx ORDER BY _s2.idx DESC NULLS FIRST, _s4.idx DESC NULLS FIRST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s1.key, _s0.idx + ORDER BY _s2.idx DESC NULLS FIRST, _s4.idx DESC NULLS FIRST + ) = 1 ) SELECT key, diff --git a/tests/test_sql_refsols/explode_19_snowflake.sql b/tests/test_sql_refsols/explode_19_snowflake.sql index 16c9596f8..74a555562 100644 --- a/tests/test_sql_refsols/explode_19_snowflake.sql +++ b/tests/test_sql_refsols/explode_19_snowflake.sql @@ -19,7 +19,10 @@ WITH _s1 AS ( WHERE _s4.value <> '' QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s1.key, _s0.index - 1 ORDER BY _s2.index - 1 DESC, _s4.index - 1 DESC) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s1.key, _s0.index - 1 + ORDER BY _s2.index - 1 DESC, _s4.index - 1 DESC + ) = 1 ) SELECT key, diff --git a/tests/test_sql_refsols/explode_19_trino.sql b/tests/test_sql_refsols/explode_19_trino.sql index 209ab4012..a00fb93cf 100644 --- a/tests/test_sql_refsols/explode_19_trino.sql +++ b/tests/test_sql_refsols/explode_19_trino.sql @@ -13,7 +13,10 @@ WITH _s1 AS ( _s4.idx - 1 AS idx3, _s1.key, _s4.val AS val3, - ROW_NUMBER() OVER (PARTITION BY _s1.key, _s0.idx - 1 ORDER BY _s2.idx - 1 DESC NULLS FIRST, _s4.idx - 1 DESC NULLS FIRST) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _s1.key, _s0.idx - 1 + ORDER BY _s2.idx - 1 DESC NULLS FIRST, _s4.idx - 1 DESC NULLS FIRST + ) AS _w FROM _s1 AS _s1 CROSS JOIN UNNEST(SPLIT(_s1.comment, '.')) WITH ORDINALITY AS _s0(val, idx) CROSS JOIN UNNEST(SPLIT(_s0.val, ',')) WITH ORDINALITY AS _s2(val, idx), UNNEST(SPLIT(_s2.val, ' ')) WITH ORDINALITY AS _s4(val, idx) diff --git a/tests/test_sql_refsols/explode_20_snowflake.sql b/tests/test_sql_refsols/explode_20_snowflake.sql index 4dfa67c96..340ae828d 100644 --- a/tests/test_sql_refsols/explode_20_snowflake.sql +++ b/tests/test_sql_refsols/explode_20_snowflake.sql @@ -9,7 +9,7 @@ WITH _s1 AS ( SELECT _s0.value AS char, COUNT(*) AS n -FROM _s1 AS _s1, LATERAL FLATTEN(REGEXP_EXTRACT_ALL(_s1.comment, '.{1}')) AS _s0(seq, key, path, index, value, this) +FROM _s1 AS _s1, LATERAL FLATTEN(REGEXP_SUBSTR_ALL(_s1.comment, '.{1}')) AS _s0(seq, key, path, index, value, this) WHERE _s0.value <> '' GROUP BY diff --git a/tests/test_sql_refsols/explode_21_snowflake.sql b/tests/test_sql_refsols/explode_21_snowflake.sql index 53174dd4e..f4484e401 100644 --- a/tests/test_sql_refsols/explode_21_snowflake.sql +++ b/tests/test_sql_refsols/explode_21_snowflake.sql @@ -17,11 +17,14 @@ WITH _s1 AS ( FROM _s1 AS _s1 CROSS JOIN LATERAL SPLIT_TO_TABLE(_s1.comment, '.') AS _s0 CROSS JOIN LATERAL SPLIT_TO_TABLE(_s0.value, ',') AS _s2 - CROSS JOIN LATERAL SPLIT_TO_TABLE(_s2.value, ' ') AS _s4, LATERAL FLATTEN(REGEXP_EXTRACT_ALL(_s4.value, '.{1}')) AS _s6(seq, key, path, index, value, this) + CROSS JOIN LATERAL SPLIT_TO_TABLE(_s2.value, ' ') AS _s4, LATERAL FLATTEN(REGEXP_SUBSTR_ALL(_s4.value, '.{1}')) AS _s6(seq, key, path, index, value, this) WHERE _s6.value <> '' QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s2.index - 1, _s0.index - 1, _s1.key, _s4.index - 1 ORDER BY _s6.index) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s2.index - 1, _s0.index - 1, _s1.key, _s4.index - 1 + ORDER BY _s6.index + ) = 1 ) SELECT key, diff --git a/tests/test_sql_refsols/explode_22_duckdb.sql b/tests/test_sql_refsols/explode_22_duckdb.sql index 95df81669..8a4226a02 100644 --- a/tests/test_sql_refsols/explode_22_duckdb.sql +++ b/tests/test_sql_refsols/explode_22_duckdb.sql @@ -7,4 +7,6 @@ FROM tpch.region AS region, LATERAL ( GENERATE_SUBSCRIPTS(['A', 'E', 'I'], 1) - 1 AS _col_1 ) AS _s0(val, idx) WHERE - region.r_name LIKE CONCAT('%', _s0.val, '%') + region.r_name LIKE ( + '%' || _s0.val || '%' + ) diff --git a/tests/test_sql_refsols/explode_22_postgres.sql b/tests/test_sql_refsols/explode_22_postgres.sql index 8fa89512e..69c148bf6 100644 --- a/tests/test_sql_refsols/explode_22_postgres.sql +++ b/tests/test_sql_refsols/explode_22_postgres.sql @@ -3,4 +3,6 @@ SELECT _s0.val AS letter FROM tpch.region AS region, LATERAL UNNEST(ARRAY['A', 'E', 'I']) WITH ORDINALITY AS _s0(val, idx) WHERE - region.r_name LIKE CONCAT('%', _s0.val, '%') + region.r_name LIKE ( + '%' || _s0.val || '%' + ) diff --git a/tests/test_sql_refsols/explode_23_databricks.sql b/tests/test_sql_refsols/explode_23_databricks.sql index d0ba95419..b05a947e9 100644 --- a/tests/test_sql_refsols/explode_23_databricks.sql +++ b/tests/test_sql_refsols/explode_23_databricks.sql @@ -2,6 +2,6 @@ SELECT _s0.idx, _s0.val AS letter FROM VALUES - (NULL) AS _q_0(_col_0), LATERAL POSEXPLODE(SPLIT('ALPHABET', '\\Q\\E')) AS _s0(idx, val) + (NULL) AS _0(_col_0), LATERAL POSEXPLODE(SPLIT('ALPHABET', '\\Q\\E')) AS _s0(idx, val) WHERE _s0.val <> '' diff --git a/tests/test_sql_refsols/explode_23_duckdb.sql b/tests/test_sql_refsols/explode_23_duckdb.sql index 04be5e29a..f1c646d2b 100644 --- a/tests/test_sql_refsols/explode_23_duckdb.sql +++ b/tests/test_sql_refsols/explode_23_duckdb.sql @@ -2,7 +2,7 @@ SELECT _s0.idx, _s0.val AS letter FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) CROSS JOIN LATERAL ( SELECT UNNEST(REGEXP_SPLIT_TO_ARRAY('ALPHABET', '')) AS _col_0, diff --git a/tests/test_sql_refsols/explode_23_postgres.sql b/tests/test_sql_refsols/explode_23_postgres.sql index 662e0a709..776b0fa18 100644 --- a/tests/test_sql_refsols/explode_23_postgres.sql +++ b/tests/test_sql_refsols/explode_23_postgres.sql @@ -2,5 +2,5 @@ SELECT _s0.idx - 1 AS idx, _s0.val AS letter FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) CROSS JOIN LATERAL UNNEST(REGEXP_SPLIT_TO_ARRAY('ALPHABET', '')) WITH ORDINALITY AS _s0(val, idx) diff --git a/tests/test_sql_refsols/explode_23_snowflake.sql b/tests/test_sql_refsols/explode_23_snowflake.sql index 53b842e42..8d6b3a57e 100644 --- a/tests/test_sql_refsols/explode_23_snowflake.sql +++ b/tests/test_sql_refsols/explode_23_snowflake.sql @@ -2,5 +2,5 @@ SELECT _s0.index AS idx, _s0.value AS letter FROM (VALUES - (NULL)) AS _q_0(_col_0) -CROSS JOIN LATERAL FLATTEN(REGEXP_EXTRACT_ALL('ALPHABET', '.{1}')) AS _s0(seq, key, path, index, value, this) + (NULL)) AS _0(_col_0) +CROSS JOIN LATERAL FLATTEN(REGEXP_SUBSTR_ALL('ALPHABET', '.{1}')) AS _s0(seq, key, path, index, value, this) diff --git a/tests/test_sql_refsols/explode_23_trino.sql b/tests/test_sql_refsols/explode_23_trino.sql index 35f06a6cc..bb430649c 100644 --- a/tests/test_sql_refsols/explode_23_trino.sql +++ b/tests/test_sql_refsols/explode_23_trino.sql @@ -2,5 +2,5 @@ SELECT _s0.idx - 1 AS idx, _s0.val AS letter FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) CROSS JOIN UNNEST(REGEXP_EXTRACT_ALL('ALPHABET', '.')) WITH ORDINALITY AS _s0(val, idx) diff --git a/tests/test_sql_refsols/extract_colors_oracle.sql b/tests/test_sql_refsols/extract_colors_oracle.sql index a52d6ef2e..dfdf66877 100644 --- a/tests/test_sql_refsols/extract_colors_oracle.sql +++ b/tests/test_sql_refsols/extract_colors_oracle.sql @@ -1,13 +1,13 @@ SELECT - p_partkey AS "key", + P_PARTKEY AS "key", UPPER( REGEXP_SUBSTR( - p_name, + P_NAME, '(.*?)(' || REGEXP_REPLACE(' ', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(p_name) - LENGTH(REPLACE(p_name, ' ')) + LENGTH(P_NAME) - LENGTH(REPLACE(P_NAME, ' ')) ) >= 0 THEN 1 ELSE NULL @@ -18,12 +18,12 @@ SELECT ) AS c1, UPPER( REGEXP_SUBSTR( - p_name, + P_NAME, '(.*?)(' || REGEXP_REPLACE(' ', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(p_name) - LENGTH(REPLACE(p_name, ' ')) + LENGTH(P_NAME) - LENGTH(REPLACE(P_NAME, ' ')) ) >= 1 THEN 2 ELSE NULL @@ -34,12 +34,12 @@ SELECT ) AS c2, UPPER( REGEXP_SUBSTR( - p_name, + P_NAME, '(.*?)(' || REGEXP_REPLACE(' ', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(p_name) - LENGTH(REPLACE(p_name, ' ')) + LENGTH(P_NAME) - LENGTH(REPLACE(P_NAME, ' ')) ) >= 2 THEN 3 ELSE NULL @@ -50,12 +50,12 @@ SELECT ) AS c3, UPPER( REGEXP_SUBSTR( - p_name, + P_NAME, '(.*?)(' || REGEXP_REPLACE(' ', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(p_name) - LENGTH(REPLACE(p_name, ' ')) + LENGTH(P_NAME) - LENGTH(REPLACE(P_NAME, ' ')) ) >= 3 THEN 4 ELSE NULL @@ -66,12 +66,12 @@ SELECT ) AS c4, UPPER( REGEXP_SUBSTR( - p_name, + P_NAME, '(.*?)(' || REGEXP_REPLACE(' ', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(p_name) - LENGTH(REPLACE(p_name, ' ')) + LENGTH(P_NAME) - LENGTH(REPLACE(P_NAME, ' ')) ) >= 4 THEN 5 ELSE NULL @@ -82,12 +82,12 @@ SELECT ) AS c5, UPPER( REGEXP_SUBSTR( - p_name, + P_NAME, '(.*?)(' || REGEXP_REPLACE(' ', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(p_name) - LENGTH(REPLACE(p_name, ' ')) + LENGTH(P_NAME) - LENGTH(REPLACE(P_NAME, ' ')) ) >= 5 THEN 6 ELSE NULL diff --git a/tests/test_sql_refsols/first_order_in_year_mysql.sql b/tests/test_sql_refsols/first_order_in_year_mysql.sql index 8af5be62f..b492c6767 100644 --- a/tests/test_sql_refsols/first_order_in_year_mysql.sql +++ b/tests/test_sql_refsols/first_order_in_year_mysql.sql @@ -2,8 +2,12 @@ WITH _t AS ( SELECT o_orderdate, o_orderkey, - LAG(o_orderdate, 1) OVER (ORDER BY CASE WHEN o_orderdate IS NULL THEN 1 ELSE 0 END, o_orderdate, CASE WHEN o_orderkey IS NULL THEN 1 ELSE 0 END, o_orderkey) AS _w, - LAG(o_orderdate, 1) OVER (ORDER BY CASE WHEN o_orderdate IS NULL THEN 1 ELSE 0 END, o_orderdate, CASE WHEN o_orderkey IS NULL THEN 1 ELSE 0 END, o_orderkey) AS _w_2 + LAG(o_orderdate, 1) OVER ( + ORDER BY CASE WHEN o_orderdate IS NULL THEN 1 ELSE 0 END, o_orderdate, CASE WHEN o_orderkey IS NULL THEN 1 ELSE 0 END, o_orderkey + ) AS _w, + LAG(o_orderdate, 1) OVER ( + ORDER BY CASE WHEN o_orderdate IS NULL THEN 1 ELSE 0 END, o_orderdate, CASE WHEN o_orderkey IS NULL THEN 1 ELSE 0 END, o_orderkey + ) AS _w_2 FROM tpch.ORDERS WHERE EXTRACT(MONTH FROM CAST(o_orderdate AS DATETIME)) = 1 diff --git a/tests/test_sql_refsols/first_order_in_year_oracle.sql b/tests/test_sql_refsols/first_order_in_year_oracle.sql index e9511ff98..ec9d47813 100644 --- a/tests/test_sql_refsols/first_order_in_year_oracle.sql +++ b/tests/test_sql_refsols/first_order_in_year_oracle.sql @@ -1,19 +1,19 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - o_orderdate AS O_ORDERDATE, - o_orderkey AS O_ORDERKEY, - LAG(o_orderdate, 1) OVER (ORDER BY o_orderdate, o_orderkey) AS "_W", - LAG(o_orderdate, 1) OVER (ORDER BY o_orderdate, o_orderkey) AS "_W_2" + O_ORDERDATE, + O_ORDERKEY, + LAG(O_ORDERDATE, 1) OVER (ORDER BY O_ORDERDATE, O_ORDERKEY) AS "_w", + LAG(O_ORDERDATE, 1) OVER (ORDER BY O_ORDERDATE, O_ORDERKEY) AS "_w_2" FROM TPCH.ORDERS WHERE - EXTRACT(MONTH FROM CAST(o_orderdate AS DATE)) = 1 + EXTRACT(MONTH FROM CAST(O_ORDERDATE AS DATE)) = 1 ) SELECT O_ORDERDATE AS order_date, O_ORDERKEY AS "key" -FROM "_T" +FROM "_t" WHERE - EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) <> EXTRACT(YEAR FROM CAST("_W_2" AS DATE)) - OR "_W" IS NULL + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) <> EXTRACT(YEAR FROM CAST("_w_2" AS DATE)) + OR "_w" IS NULL ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/first_order_per_customer_mysql.sql b/tests/test_sql_refsols/first_order_per_customer_mysql.sql index 9b9e8510f..23fe205dc 100644 --- a/tests/test_sql_refsols/first_order_per_customer_mysql.sql +++ b/tests/test_sql_refsols/first_order_per_customer_mysql.sql @@ -3,7 +3,10 @@ WITH _t AS ( o_custkey, o_orderdate, o_totalprice, - ROW_NUMBER() OVER (PARTITION BY o_custkey ORDER BY CASE WHEN o_orderdate IS NULL THEN 1 ELSE 0 END, o_orderdate, CASE WHEN o_orderkey IS NULL THEN 1 ELSE 0 END, o_orderkey) AS _w + ROW_NUMBER() OVER ( + PARTITION BY o_custkey + ORDER BY CASE WHEN o_orderdate IS NULL THEN 1 ELSE 0 END, o_orderdate, CASE WHEN o_orderkey IS NULL THEN 1 ELSE 0 END, o_orderkey + ) AS _w FROM tpch.ORDERS ) SELECT diff --git a/tests/test_sql_refsols/first_order_per_customer_oracle.sql b/tests/test_sql_refsols/first_order_per_customer_oracle.sql index f6b67b34f..eb877bf0d 100644 --- a/tests/test_sql_refsols/first_order_per_customer_oracle.sql +++ b/tests/test_sql_refsols/first_order_per_customer_oracle.sql @@ -1,20 +1,20 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - o_custkey AS O_CUSTKEY, - o_orderdate AS O_ORDERDATE, - o_totalprice AS O_TOTALPRICE, - ROW_NUMBER() OVER (PARTITION BY o_custkey ORDER BY o_orderdate, o_orderkey) AS "_W" + O_CUSTKEY, + O_ORDERDATE, + O_TOTALPRICE, + ROW_NUMBER() OVER (PARTITION BY O_CUSTKEY ORDER BY O_ORDERDATE, O_ORDERKEY) AS "_w" FROM TPCH.ORDERS ) SELECT - CUSTOMER.c_name AS name, - "_T".O_ORDERDATE AS first_order_date, - "_T".O_TOTALPRICE AS first_order_price + CUSTOMER.C_NAME AS name, + "_t".O_ORDERDATE AS first_order_date, + "_t".O_TOTALPRICE AS first_order_price FROM TPCH.CUSTOMER CUSTOMER -JOIN "_T" "_T" - ON CUSTOMER.c_custkey = "_T".O_CUSTKEY AND "_T"."_W" = 1 +JOIN "_t" "_t" + ON CUSTOMER.C_CUSTKEY = "_t".O_CUSTKEY AND "_t"."_w" = 1 WHERE - CUSTOMER.c_acctbal >= 9000.0 + CUSTOMER.C_ACCTBAL >= 9000.0 ORDER BY 3 DESC NULLS LAST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/floor_and_ceil_2_oracle.sql b/tests/test_sql_refsols/floor_and_ceil_2_oracle.sql index 9bf1dda59..69517a4c2 100644 --- a/tests/test_sql_refsols/floor_and_ceil_2_oracle.sql +++ b/tests/test_sql_refsols/floor_and_ceil_2_oracle.sql @@ -1,8 +1,8 @@ SELECT - ps_suppkey AS supplier_key, - ps_partkey AS part_key, - FLOOR(ps_availqty) AS complete_parts, - CEIL(ps_supplycost * FLOOR(ps_availqty)) AS total_cost + PS_SUPPKEY AS supplier_key, + PS_PARTKEY AS part_key, + FLOOR(PS_AVAILQTY) AS complete_parts, + CEIL(PS_SUPPLYCOST * FLOOR(PS_AVAILQTY)) AS total_cost FROM TPCH.PARTSUPP ORDER BY 4 DESC NULLS LAST diff --git a/tests/test_sql_refsols/floor_and_ceil_ansi.sql b/tests/test_sql_refsols/floor_and_ceil_ansi.sql index 38b321fcd..4fa3b1dd3 100644 --- a/tests/test_sql_refsols/floor_and_ceil_ansi.sql +++ b/tests/test_sql_refsols/floor_and_ceil_ansi.sql @@ -8,4 +8,4 @@ SELECT FLOOR(-6) AS floor_int_neg, CEIL(-6) AS ceil_int_neg FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/floor_and_ceil_databricks.sql b/tests/test_sql_refsols/floor_and_ceil_databricks.sql index 36294a0ad..c4c355fb7 100644 --- a/tests/test_sql_refsols/floor_and_ceil_databricks.sql +++ b/tests/test_sql_refsols/floor_and_ceil_databricks.sql @@ -8,4 +8,4 @@ SELECT FLOOR(-6) AS floor_int_neg, CEIL(-6) AS ceil_int_neg FROM VALUES - (NULL) AS _q_0(_col_0) + (NULL) AS _0(_col_0) diff --git a/tests/test_sql_refsols/floor_and_ceil_duckdb.sql b/tests/test_sql_refsols/floor_and_ceil_duckdb.sql index 38b321fcd..4fa3b1dd3 100644 --- a/tests/test_sql_refsols/floor_and_ceil_duckdb.sql +++ b/tests/test_sql_refsols/floor_and_ceil_duckdb.sql @@ -8,4 +8,4 @@ SELECT FLOOR(-6) AS floor_int_neg, CEIL(-6) AS ceil_int_neg FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/floor_and_ceil_mysql.sql b/tests/test_sql_refsols/floor_and_ceil_mysql.sql index df7a50845..71d6177df 100644 --- a/tests/test_sql_refsols/floor_and_ceil_mysql.sql +++ b/tests/test_sql_refsols/floor_and_ceil_mysql.sql @@ -8,4 +8,4 @@ SELECT FLOOR(-6) AS floor_int_neg, CEIL(-6) AS ceil_int_neg FROM (VALUES - ROW(NULL)) AS _q_0(_col_0) + ROW(NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/floor_and_ceil_oracle.sql b/tests/test_sql_refsols/floor_and_ceil_oracle.sql index 60a8753cb..dd9ef045a 100644 --- a/tests/test_sql_refsols/floor_and_ceil_oracle.sql +++ b/tests/test_sql_refsols/floor_and_ceil_oracle.sql @@ -8,4 +8,4 @@ SELECT FLOOR(-6) AS floor_int_neg, CEIL(-6) AS ceil_int_neg FROM (VALUES - (NULL)) AS "_Q_0"("_COL_0") + (NULL)) AS "_0"("_COL_0") diff --git a/tests/test_sql_refsols/floor_and_ceil_postgres.sql b/tests/test_sql_refsols/floor_and_ceil_postgres.sql index 38b321fcd..4fa3b1dd3 100644 --- a/tests/test_sql_refsols/floor_and_ceil_postgres.sql +++ b/tests/test_sql_refsols/floor_and_ceil_postgres.sql @@ -8,4 +8,4 @@ SELECT FLOOR(-6) AS floor_int_neg, CEIL(-6) AS ceil_int_neg FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/floor_and_ceil_snowflake.sql b/tests/test_sql_refsols/floor_and_ceil_snowflake.sql index 38b321fcd..4fa3b1dd3 100644 --- a/tests/test_sql_refsols/floor_and_ceil_snowflake.sql +++ b/tests/test_sql_refsols/floor_and_ceil_snowflake.sql @@ -8,4 +8,4 @@ SELECT FLOOR(-6) AS floor_int_neg, CEIL(-6) AS ceil_int_neg FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/floor_and_ceil_sqlite.sql b/tests/test_sql_refsols/floor_and_ceil_sqlite.sql index 7b3ed338b..6a8222c55 100644 --- a/tests/test_sql_refsols/floor_and_ceil_sqlite.sql +++ b/tests/test_sql_refsols/floor_and_ceil_sqlite.sql @@ -1,11 +1,11 @@ SELECT CAST(5.6 AS INTEGER) - CASE WHEN CAST(5.6 AS INTEGER) > 5.6 THEN 1 ELSE 0 END AS floor_frac, CAST(5.4 AS INTEGER) + CASE WHEN CAST(5.4 AS INTEGER) < 5.4 THEN 1 ELSE 0 END AS ceil_frac, - CAST(-5.4 AS INTEGER) - CASE WHEN -5.4 < CAST(-5.4 AS INTEGER) THEN 1 ELSE 0 END AS floor_frac_neg, - CAST(-5.6 AS INTEGER) + CASE WHEN -5.6 > CAST(-5.6 AS INTEGER) THEN 1 ELSE 0 END AS ceil_frac_neg, + CAST(-5.4 AS INTEGER) - CASE WHEN CAST(-5.4 AS INTEGER) > -5.4 THEN 1 ELSE 0 END AS floor_frac_neg, + CAST(-5.6 AS INTEGER) + CASE WHEN CAST(-5.6 AS INTEGER) < -5.6 THEN 1 ELSE 0 END AS ceil_frac_neg, CAST(6 AS INTEGER) - 0 AS floor_int, CAST(6 AS INTEGER) + 0 AS ceil_int, CAST(-6 AS INTEGER) - 0 AS floor_int_neg, CAST(-6 AS INTEGER) + 0 AS ceil_int_neg FROM (VALUES - (NULL)) AS _q_0 + (NULL)) AS _0 diff --git a/tests/test_sql_refsols/floor_and_ceil_trino.sql b/tests/test_sql_refsols/floor_and_ceil_trino.sql index 38b321fcd..4fa3b1dd3 100644 --- a/tests/test_sql_refsols/floor_and_ceil_trino.sql +++ b/tests/test_sql_refsols/floor_and_ceil_trino.sql @@ -8,4 +8,4 @@ SELECT FLOOR(-6) AS floor_int_neg, CEIL(-6) AS ceil_int_neg FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/function_sampler_databricks.sql b/tests/test_sql_refsols/function_sampler_databricks.sql index 69ad09743..943bfb23f 100644 --- a/tests/test_sql_refsols/function_sampler_databricks.sql +++ b/tests/test_sql_refsols/function_sampler_databricks.sql @@ -1,5 +1,11 @@ SELECT - CONCAT_WS('-', region.r_name, nation.n_name, SUBSTRING(customer.c_name, 17)) AS a, + CASE + WHEN SUBSTRING(customer.c_name, 17) IS NULL + OR nation.n_name IS NULL + OR region.r_name IS NULL + THEN NULL + ELSE CONCAT_WS('-', region.r_name, nation.n_name, SUBSTRING(customer.c_name, 17)) + END AS a, ROUND(customer.c_acctbal, 1) AS b, CASE WHEN SUBSTRING(customer.c_phone, 1, 1) = '3' THEN customer.c_name ELSE NULL END AS c, NOT CASE WHEN SUBSTRING(customer.c_phone, 2, 1) = '1' THEN customer.c_name ELSE NULL END IS NULL AS d, diff --git a/tests/test_sql_refsols/function_sampler_duckdb.sql b/tests/test_sql_refsols/function_sampler_duckdb.sql index 19d0d6601..5a42c0eb7 100644 --- a/tests/test_sql_refsols/function_sampler_duckdb.sql +++ b/tests/test_sql_refsols/function_sampler_duckdb.sql @@ -1,5 +1,11 @@ SELECT - CONCAT_WS('-', region.r_name, nation.n_name, SUBSTRING(customer.c_name, 17)) AS a, + CASE + WHEN SUBSTRING(customer.c_name, 17) IS NULL + OR nation.n_name IS NULL + OR region.r_name IS NULL + THEN NULL + ELSE CONCAT_WS('-', region.r_name, nation.n_name, SUBSTRING(customer.c_name, 17)) + END AS a, ROUND(customer.c_acctbal, 1) AS b, CASE WHEN SUBSTRING(customer.c_phone, 1, 1) = '3' THEN customer.c_name ELSE NULL END AS c, NOT CASE WHEN SUBSTRING(customer.c_phone, 2, 1) = '1' THEN customer.c_name ELSE NULL END IS NULL AS d, diff --git a/tests/test_sql_refsols/function_sampler_oracle.sql b/tests/test_sql_refsols/function_sampler_oracle.sql index fe3d2cd63..0236bc690 100644 --- a/tests/test_sql_refsols/function_sampler_oracle.sql +++ b/tests/test_sql_refsols/function_sampler_oracle.sql @@ -1,21 +1,21 @@ SELECT - NVL(REGION.r_name, '') || '-' || NVL(NATION.n_name, '') || '-' || NVL(SUBSTR(CUSTOMER.c_name, 17), '') AS a, - ROUND(CUSTOMER.c_acctbal, 1) AS b, - CASE WHEN SUBSTR(CUSTOMER.c_phone, 1, 1) = '3' THEN CUSTOMER.c_name ELSE NULL END AS c, + NVL(REGION.R_NAME, '') || '-' || NVL(NATION.N_NAME, '') || '-' || NVL(SUBSTR(CUSTOMER.C_NAME, 17), '') AS a, + ROUND(CUSTOMER.C_ACCTBAL, 1) AS b, + CASE WHEN SUBSTR(CUSTOMER.C_PHONE, 1, 1) = '3' THEN CUSTOMER.C_NAME ELSE NULL END AS c, NOT CASE - WHEN SUBSTR(CUSTOMER.c_phone, 2, GREATEST(1, 0)) = '1' - THEN CUSTOMER.c_name + WHEN SUBSTR(CUSTOMER.C_PHONE, 2, GREATEST(1, 0)) = '1' + THEN CUSTOMER.C_NAME ELSE NULL END IS NULL AS d, - CASE WHEN SUBSTR(CUSTOMER.c_phone, 15) = '7' THEN CUSTOMER.c_name ELSE NULL END IS NULL AS e, - ROUND(CUSTOMER.c_acctbal, 0) AS f + CASE WHEN SUBSTR(CUSTOMER.C_PHONE, 15) = '7' THEN CUSTOMER.C_NAME ELSE NULL END IS NULL AS e, + ROUND(CUSTOMER.C_ACCTBAL, 0) AS f FROM TPCH.REGION REGION JOIN TPCH.NATION NATION - ON NATION.n_regionkey = REGION.r_regionkey + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_acctbal <= 100.0 - AND CUSTOMER.c_acctbal >= 0.0 - AND CUSTOMER.c_nationkey = NATION.n_nationkey + ON CUSTOMER.C_ACCTBAL <= 100.0 + AND CUSTOMER.C_ACCTBAL >= 0.0 + AND CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY ORDER BY - CUSTOMER.c_address NULLS FIRST + CUSTOMER.C_ADDRESS NULLS FIRST FETCH FIRST 10 ROWS ONLY diff --git a/tests/test_sql_refsols/function_sampler_postgres.sql b/tests/test_sql_refsols/function_sampler_postgres.sql index e4fafe85d..7a68a9e28 100644 --- a/tests/test_sql_refsols/function_sampler_postgres.sql +++ b/tests/test_sql_refsols/function_sampler_postgres.sql @@ -1,5 +1,11 @@ SELECT - CONCAT_WS('-', region.r_name, nation.n_name, SUBSTRING(customer.c_name FROM 17)) AS a, + CASE + WHEN SUBSTRING(customer.c_name FROM 17) IS NULL + OR nation.n_name IS NULL + OR region.r_name IS NULL + THEN NULL + ELSE CONCAT_WS('-', region.r_name, nation.n_name, SUBSTRING(customer.c_name FROM 17)) + END AS a, ROUND(CAST(customer.c_acctbal AS DECIMAL), 1) AS b, CASE WHEN SUBSTRING(customer.c_phone FROM 1 FOR 1) = '3' diff --git a/tests/test_sql_refsols/function_sampler_trino.sql b/tests/test_sql_refsols/function_sampler_trino.sql index 19d0d6601..bf2b6434a 100644 --- a/tests/test_sql_refsols/function_sampler_trino.sql +++ b/tests/test_sql_refsols/function_sampler_trino.sql @@ -1,9 +1,15 @@ SELECT - CONCAT_WS('-', region.r_name, nation.n_name, SUBSTRING(customer.c_name, 17)) AS a, + CASE + WHEN SUBSTR(customer.c_name, 17) IS NULL + OR nation.n_name IS NULL + OR region.r_name IS NULL + THEN NULL + ELSE CONCAT_WS('-', region.r_name, nation.n_name, SUBSTR(customer.c_name, 17)) + END AS a, ROUND(customer.c_acctbal, 1) AS b, - CASE WHEN SUBSTRING(customer.c_phone, 1, 1) = '3' THEN customer.c_name ELSE NULL END AS c, - NOT CASE WHEN SUBSTRING(customer.c_phone, 2, 1) = '1' THEN customer.c_name ELSE NULL END IS NULL AS d, - CASE WHEN SUBSTRING(customer.c_phone, 15) = '7' THEN customer.c_name ELSE NULL END IS NULL AS e, + CASE WHEN SUBSTR(customer.c_phone, 1, 1) = '3' THEN customer.c_name ELSE NULL END AS c, + NOT CASE WHEN SUBSTR(customer.c_phone, 2, 1) = '1' THEN customer.c_name ELSE NULL END IS NULL AS d, + CASE WHEN SUBSTR(customer.c_phone, 15) = '7' THEN customer.c_name ELSE NULL END IS NULL AS e, ROUND(customer.c_acctbal, 0) AS f FROM tpch.region AS region JOIN tpch.nation AS nation diff --git a/tests/test_sql_refsols/get_part_multiple_mysql.sql b/tests/test_sql_refsols/get_part_multiple_mysql.sql index c181961b1..a031131ca 100644 --- a/tests/test_sql_refsols/get_part_multiple_mysql.sql +++ b/tests/test_sql_refsols/get_part_multiple_mysql.sql @@ -1,444 +1,444 @@ SELECT - TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) AS _expr0, + TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) AS _expr0, CASE - WHEN CHAR_LENGTH(sbcustname) = 0 + WHEN CHAR_LENGTH(sbCustName) = 0 THEN '' WHEN ( - CHAR_LENGTH(sbcustname) - CHAR_LENGTH(REPLACE(sbcustname, ' ', '')) - ) + 1 >= TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) - AND TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) > 0 + CHAR_LENGTH(sbCustName) - CHAR_LENGTH(REPLACE(sbCustName, ' ', '')) + ) + 1 >= TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) + AND TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) > 0 THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustname, ' ', TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)), + SUBSTRING_INDEX(sbCustName, ' ', TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)), ' ', -1 ) WHEN ( - CHAR_LENGTH(sbcustname) - CHAR_LENGTH(REPLACE(sbcustname, ' ', '')) - ) + 1 >= ABS(TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)) - AND TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) < 0 + CHAR_LENGTH(sbCustName) - CHAR_LENGTH(REPLACE(sbCustName, ' ', '')) + ) + 1 >= ABS(TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)) + AND TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) < 0 THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustname, ' ', TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)), + SUBSTRING_INDEX(sbCustName, ' ', TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)), ' ', 1 ) - WHEN TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) = 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustname, ' ', 1), ' ', -1) + WHEN TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) = 0 + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustName, ' ', 1), ' ', -1) ELSE '' END AS p1, CASE - WHEN CHAR_LENGTH(sbcustname) = 0 + WHEN CHAR_LENGTH(sbCustName) = 0 THEN '' WHEN ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) <= ( - CHAR_LENGTH(sbcustname) - CHAR_LENGTH(REPLACE(sbcustname, ' ', '')) + CHAR_LENGTH(sbCustName) - CHAR_LENGTH(REPLACE(sbCustName, ' ', '')) ) + 1 AND ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) > 0 THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustname, ' ', ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + SUBSTRING_INDEX(sbCustName, ' ', ( + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) )), ' ', -1 ) WHEN ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) < 0 AND ( - CHAR_LENGTH(sbcustname) - CHAR_LENGTH(REPLACE(sbcustname, ' ', '')) + CHAR_LENGTH(sbCustName) - CHAR_LENGTH(REPLACE(sbCustName, ' ', '')) ) + 1 >= ABS(( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) )) THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustname, ' ', ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + SUBSTRING_INDEX(sbCustName, ' ', ( + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) )), ' ', 1 ) WHEN ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) = 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustname, ' ', 1), ' ', -1) + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustName, ' ', 1), ' ', -1) ELSE '' END AS p2, CASE - WHEN CHAR_LENGTH(sbcustemail) = 0 + WHEN CHAR_LENGTH(sbCustEmail) = 0 THEN '' WHEN ( - CHAR_LENGTH(sbcustemail) - CHAR_LENGTH(REPLACE(sbcustemail, '.', '')) - ) + 1 >= TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) - AND TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) > 0 + CHAR_LENGTH(sbCustEmail) - CHAR_LENGTH(REPLACE(sbCustEmail, '.', '')) + ) + 1 >= TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) + AND TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) > 0 THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustemail, '.', TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)), + SUBSTRING_INDEX(sbCustEmail, '.', TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)), '.', -1 ) WHEN ( - CHAR_LENGTH(sbcustemail) - CHAR_LENGTH(REPLACE(sbcustemail, '.', '')) - ) + 1 >= ABS(TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)) - AND TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) < 0 + CHAR_LENGTH(sbCustEmail) - CHAR_LENGTH(REPLACE(sbCustEmail, '.', '')) + ) + 1 >= ABS(TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)) + AND TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) < 0 THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustemail, '.', TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)), + SUBSTRING_INDEX(sbCustEmail, '.', TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)), '.', 1 ) - WHEN TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) = 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustemail, '.', 1), '.', -1) + WHEN TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) = 0 + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustEmail, '.', 1), '.', -1) ELSE '' END AS p3, CASE - WHEN CHAR_LENGTH(sbcustemail) = 0 + WHEN CHAR_LENGTH(sbCustEmail) = 0 THEN '' WHEN ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) <= ( - CHAR_LENGTH(sbcustemail) - CHAR_LENGTH(REPLACE(sbcustemail, '.', '')) + CHAR_LENGTH(sbCustEmail) - CHAR_LENGTH(REPLACE(sbCustEmail, '.', '')) ) + 1 AND ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) > 0 THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustemail, '.', ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + SUBSTRING_INDEX(sbCustEmail, '.', ( + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) )), '.', -1 ) WHEN ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) < 0 AND ( - CHAR_LENGTH(sbcustemail) - CHAR_LENGTH(REPLACE(sbcustemail, '.', '')) + CHAR_LENGTH(sbCustEmail) - CHAR_LENGTH(REPLACE(sbCustEmail, '.', '')) ) + 1 >= ABS(( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) )) THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustemail, '.', ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + SUBSTRING_INDEX(sbCustEmail, '.', ( + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) )), '.', 1 ) WHEN ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) = 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustemail, '.', 1), '.', -1) + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustEmail, '.', 1), '.', -1) ELSE '' END AS p4, CASE - WHEN CHAR_LENGTH(sbcustphone) = 0 + WHEN CHAR_LENGTH(sbCustPhone) = 0 THEN '' WHEN ( - CHAR_LENGTH(sbcustphone) - CHAR_LENGTH(REPLACE(sbcustphone, '-', '')) - ) + 1 >= TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) - AND TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) > 0 + CHAR_LENGTH(sbCustPhone) - CHAR_LENGTH(REPLACE(sbCustPhone, '-', '')) + ) + 1 >= TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) + AND TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) > 0 THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustphone, '-', TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)), + SUBSTRING_INDEX(sbCustPhone, '-', TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)), '-', -1 ) WHEN ( - CHAR_LENGTH(sbcustphone) - CHAR_LENGTH(REPLACE(sbcustphone, '-', '')) - ) + 1 >= ABS(TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)) - AND TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) < 0 + CHAR_LENGTH(sbCustPhone) - CHAR_LENGTH(REPLACE(sbCustPhone, '-', '')) + ) + 1 >= ABS(TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)) + AND TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) < 0 THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustphone, '-', TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)), + SUBSTRING_INDEX(sbCustPhone, '-', TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)), '-', 1 ) - WHEN TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) = 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustphone, '-', 1), '-', -1) + WHEN TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) = 0 + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustPhone, '-', 1), '-', -1) ELSE '' END AS p5, CASE - WHEN CHAR_LENGTH(sbcustphone) = 0 + WHEN CHAR_LENGTH(sbCustPhone) = 0 THEN '' WHEN ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) <= ( - CHAR_LENGTH(sbcustphone) - CHAR_LENGTH(REPLACE(sbcustphone, '-', '')) + CHAR_LENGTH(sbCustPhone) - CHAR_LENGTH(REPLACE(sbCustPhone, '-', '')) ) + 1 AND ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) > 0 THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustphone, '-', ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + SUBSTRING_INDEX(sbCustPhone, '-', ( + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) )), '-', -1 ) WHEN ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) < 0 AND ( - CHAR_LENGTH(sbcustphone) - CHAR_LENGTH(REPLACE(sbcustphone, '-', '')) + CHAR_LENGTH(sbCustPhone) - CHAR_LENGTH(REPLACE(sbCustPhone, '-', '')) ) + 1 >= ABS(( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) )) THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustphone, '-', ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + SUBSTRING_INDEX(sbCustPhone, '-', ( + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) )), '-', 1 ) WHEN ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) = 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustphone, '-', 1), '-', -1) + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustPhone, '-', 1), '-', -1) ELSE '' END AS p6, CASE - WHEN CHAR_LENGTH(sbcustpostalcode) = 0 + WHEN CHAR_LENGTH(sbCustPostalCode) = 0 THEN '' WHEN ( - CHAR_LENGTH(sbcustpostalcode) - CHAR_LENGTH(REPLACE(sbcustpostalcode, '00', '')) - ) / 2 + 1 >= TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) - AND TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) > 0 + CHAR_LENGTH(sbCustPostalCode) - CHAR_LENGTH(REPLACE(sbCustPostalCode, '00', '')) + ) / 2 + 1 >= TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) + AND TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) > 0 THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustpostalcode, '00', TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)), + SUBSTRING_INDEX(sbCustPostalCode, '00', TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)), '00', -1 ) WHEN ( - CHAR_LENGTH(sbcustpostalcode) - CHAR_LENGTH(REPLACE(sbcustpostalcode, '00', '')) - ) / 2 + 1 >= ABS(TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)) - AND TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) < 0 + CHAR_LENGTH(sbCustPostalCode) - CHAR_LENGTH(REPLACE(sbCustPostalCode, '00', '')) + ) / 2 + 1 >= ABS(TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)) + AND TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) < 0 THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustpostalcode, '00', TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)), + SUBSTRING_INDEX(sbCustPostalCode, '00', TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)), '00', 1 ) - WHEN TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) = 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustpostalcode, '00', 1), '00', -1) + WHEN TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) = 0 + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustPostalCode, '00', 1), '00', -1) ELSE '' END AS p7, CASE - WHEN CHAR_LENGTH(sbcustpostalcode) = 0 + WHEN CHAR_LENGTH(sbCustPostalCode) = 0 THEN '' WHEN ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) <= ( - CHAR_LENGTH(sbcustpostalcode) - CHAR_LENGTH(REPLACE(sbcustpostalcode, '00', '')) + CHAR_LENGTH(sbCustPostalCode) - CHAR_LENGTH(REPLACE(sbCustPostalCode, '00', '')) ) / 2 + 1 AND ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) > 0 THEN SUBSTRING_INDEX( SUBSTRING_INDEX( - sbcustpostalcode, + sbCustPostalCode, '00', ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) ), '00', -1 ) WHEN ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) < 0 AND ( - CHAR_LENGTH(sbcustpostalcode) - CHAR_LENGTH(REPLACE(sbcustpostalcode, '00', '')) + CHAR_LENGTH(sbCustPostalCode) - CHAR_LENGTH(REPLACE(sbCustPostalCode, '00', '')) ) / 2 + 1 >= ABS(( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) )) THEN SUBSTRING_INDEX( SUBSTRING_INDEX( - sbcustpostalcode, + sbCustPostalCode, '00', ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) ), '00', 1 ) WHEN ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) = 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustpostalcode, '00', 1), '00', -1) + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustPostalCode, '00', 1), '00', -1) ELSE '' END AS p8, CASE - WHEN CHAR_LENGTH(sbcustname) = 0 + WHEN CHAR_LENGTH(sbCustName) = 0 THEN '' WHEN ( - CHAR_LENGTH(sbcustname) - CHAR_LENGTH(REPLACE(sbcustname, '!', '')) - ) + 1 >= TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) - AND TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) > 0 + CHAR_LENGTH(sbCustName) - CHAR_LENGTH(REPLACE(sbCustName, '!', '')) + ) + 1 >= TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) + AND TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) > 0 THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustname, '!', TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)), + SUBSTRING_INDEX(sbCustName, '!', TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)), '!', -1 ) WHEN ( - CHAR_LENGTH(sbcustname) - CHAR_LENGTH(REPLACE(sbcustname, '!', '')) - ) + 1 >= ABS(TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)) - AND TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) < 0 + CHAR_LENGTH(sbCustName) - CHAR_LENGTH(REPLACE(sbCustName, '!', '')) + ) + 1 >= ABS(TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)) + AND TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) < 0 THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustname, '!', TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)), + SUBSTRING_INDEX(sbCustName, '!', TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)), '!', 1 ) - WHEN TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) = 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustname, '!', 1), '!', -1) + WHEN TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) = 0 + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustName, '!', 1), '!', -1) ELSE '' END AS p9, CASE - WHEN CHAR_LENGTH(sbcustname) = 0 + WHEN CHAR_LENGTH(sbCustName) = 0 THEN '' WHEN ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) <= ( - CHAR_LENGTH(sbcustname) - CHAR_LENGTH(REPLACE(sbcustname, '@', '')) + CHAR_LENGTH(sbCustName) - CHAR_LENGTH(REPLACE(sbCustName, '@', '')) ) + 1 AND ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) > 0 THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustname, '@', ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + SUBSTRING_INDEX(sbCustName, '@', ( + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) )), '@', -1 ) WHEN ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) < 0 AND ( - CHAR_LENGTH(sbcustname) - CHAR_LENGTH(REPLACE(sbcustname, '@', '')) + CHAR_LENGTH(sbCustName) - CHAR_LENGTH(REPLACE(sbCustName, '@', '')) ) + 1 >= ABS(( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) )) THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustname, '@', ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + SUBSTRING_INDEX(sbCustName, '@', ( + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) )), '@', 1 ) WHEN ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) = 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustname, '@', 1), '@', -1) + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustName, '@', 1), '@', -1) ELSE '' END AS p10, CASE - WHEN CHAR_LENGTH(sbcustname) = 0 + WHEN CHAR_LENGTH(sbCustName) = 0 THEN '' WHEN ( - CHAR_LENGTH(sbcustname) - CHAR_LENGTH(REPLACE(sbcustname, 'aa', '')) - ) / 2 + 1 >= TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) - AND TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) > 0 + CHAR_LENGTH(sbCustName) - CHAR_LENGTH(REPLACE(sbCustName, 'aa', '')) + ) / 2 + 1 >= TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) + AND TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) > 0 THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustname, 'aa', TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)), + SUBSTRING_INDEX(sbCustName, 'aa', TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)), 'aa', -1 ) WHEN ( - CHAR_LENGTH(sbcustname) - CHAR_LENGTH(REPLACE(sbcustname, 'aa', '')) - ) / 2 + 1 >= ABS(TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)) - AND TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) < 0 + CHAR_LENGTH(sbCustName) - CHAR_LENGTH(REPLACE(sbCustName, 'aa', '')) + ) / 2 + 1 >= ABS(TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)) + AND TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) < 0 THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustname, 'aa', TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)), + SUBSTRING_INDEX(sbCustName, 'aa', TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)), 'aa', 1 ) - WHEN TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) = 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustname, 'aa', 1), 'aa', -1) + WHEN TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) = 0 + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustName, 'aa', 1), 'aa', -1) ELSE '' END AS p11, CASE - WHEN CHAR_LENGTH(sbcustname) = 0 + WHEN CHAR_LENGTH(sbCustName) = 0 THEN '' WHEN ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) <= ( - CHAR_LENGTH(sbcustname) - CHAR_LENGTH(REPLACE(sbcustname, '#$*', '')) + CHAR_LENGTH(sbCustName) - CHAR_LENGTH(REPLACE(sbCustName, '#$*', '')) ) / 3 + 1 AND ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) > 0 THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustname, '#$*', ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + SUBSTRING_INDEX(sbCustName, '#$*', ( + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) )), '#$*', -1 ) WHEN ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) < 0 AND ( - CHAR_LENGTH(sbcustname) - CHAR_LENGTH(REPLACE(sbcustname, '#$*', '')) + CHAR_LENGTH(sbCustName) - CHAR_LENGTH(REPLACE(sbCustName, '#$*', '')) ) / 3 + 1 >= ABS(( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) )) THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustname, '#$*', ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + SUBSTRING_INDEX(sbCustName, '#$*', ( + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) )), '#$*', 1 ) WHEN ( - -1 * TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + -1 * TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ) = 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustname, '#$*', 1), '#$*', -1) + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustName, '#$*', 1), '#$*', -1) ELSE '' END AS p12, CASE - WHEN ABS(TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)) = 1 - THEN sbcustname + WHEN ABS(TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)) = 1 + THEN sbCustName ELSE '' END AS p13, '' AS p14, - SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustname, ' ', 1), ' ', -1) AS p15, + SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustName, ' ', 1), ' ', -1) AS p15, CASE - WHEN CHAR_LENGTH(sbcuststate) = 0 + WHEN CHAR_LENGTH(sbCustState) = 0 THEN '' - WHEN CHAR_LENGTH(sbcuststate) = 0 + WHEN CHAR_LENGTH(sbCustState) = 0 THEN CASE - WHEN ABS(TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)) = 1 - THEN sbcuststate + WHEN ABS(TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)) = 1 + THEN sbCustState ELSE '' END WHEN ( - CHAR_LENGTH(sbcuststate) - CHAR_LENGTH(REPLACE(sbcuststate, sbcuststate, '')) - ) / CHAR_LENGTH(sbcuststate) + 1 >= TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) - AND TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) > 0 + CHAR_LENGTH(sbCustState) - CHAR_LENGTH(REPLACE(sbCustState, sbCustState, '')) + ) / CHAR_LENGTH(sbCustState) + 1 >= TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) + AND TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) > 0 THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcuststate, sbcuststate, TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)), - sbcuststate, + SUBSTRING_INDEX(sbCustState, sbCustState, TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)), + sbCustState, -1 ) WHEN ( - CHAR_LENGTH(sbcuststate) - CHAR_LENGTH(REPLACE(sbcuststate, sbcuststate, '')) - ) / CHAR_LENGTH(sbcuststate) + 1 >= ABS(TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)) - AND TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) < 0 + CHAR_LENGTH(sbCustState) - CHAR_LENGTH(REPLACE(sbCustState, sbCustState, '')) + ) / CHAR_LENGTH(sbCustState) + 1 >= ABS(TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)) + AND TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) < 0 THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcuststate, sbcuststate, TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)), - sbcuststate, + SUBSTRING_INDEX(sbCustState, sbCustState, TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)), + sbCustState, 1 ) - WHEN TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) = 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcuststate, sbcuststate, 1), sbcuststate, -1) + WHEN TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) = 0 + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustState, sbCustState, 1), sbCustState, -1) ELSE '' END AS p16, CASE WHEN CHAR_LENGTH( CASE - WHEN CHAR_LENGTH(sbcustphone) = 0 + WHEN CHAR_LENGTH(sbCustPhone) = 0 THEN '' WHEN ( - CHAR_LENGTH(sbcustphone) - CHAR_LENGTH(REPLACE(sbcustphone, '-', '')) + CHAR_LENGTH(sbCustPhone) - CHAR_LENGTH(REPLACE(sbCustPhone, '-', '')) ) >= 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustphone, '-', 1), '-', -1) + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustPhone, '-', 1), '-', -1) ELSE '' END ) = 0 @@ -446,44 +446,44 @@ SELECT WHEN ( CHAR_LENGTH( CASE - WHEN CHAR_LENGTH(sbcustphone) = 0 + WHEN CHAR_LENGTH(sbCustPhone) = 0 THEN '' WHEN ( - CHAR_LENGTH(sbcustphone) - CHAR_LENGTH(REPLACE(sbcustphone, '-', '')) + CHAR_LENGTH(sbCustPhone) - CHAR_LENGTH(REPLACE(sbCustPhone, '-', '')) ) >= 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustphone, '-', 1), '-', -1) + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustPhone, '-', 1), '-', -1) ELSE '' END ) - CHAR_LENGTH( REPLACE( CASE - WHEN CHAR_LENGTH(sbcustphone) = 0 + WHEN CHAR_LENGTH(sbCustPhone) = 0 THEN '' WHEN ( - CHAR_LENGTH(sbcustphone) - CHAR_LENGTH(REPLACE(sbcustphone, '-', '')) + CHAR_LENGTH(sbCustPhone) - CHAR_LENGTH(REPLACE(sbCustPhone, '-', '')) ) >= 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustphone, '-', 1), '-', -1) + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustPhone, '-', 1), '-', -1) ELSE '' END, '5', '' ) ) - ) + 1 >= TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) - AND TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) > 0 + ) + 1 >= TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) + AND TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) > 0 THEN SUBSTRING_INDEX( SUBSTRING_INDEX( CASE - WHEN CHAR_LENGTH(sbcustphone) = 0 + WHEN CHAR_LENGTH(sbCustPhone) = 0 THEN '' WHEN ( - CHAR_LENGTH(sbcustphone) - CHAR_LENGTH(REPLACE(sbcustphone, '-', '')) + CHAR_LENGTH(sbCustPhone) - CHAR_LENGTH(REPLACE(sbCustPhone, '-', '')) ) >= 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustphone, '-', 1), '-', -1) + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustPhone, '-', 1), '-', -1) ELSE '' END, '5', - TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ), '5', -1 @@ -491,58 +491,58 @@ SELECT WHEN ( CHAR_LENGTH( CASE - WHEN CHAR_LENGTH(sbcustphone) = 0 + WHEN CHAR_LENGTH(sbCustPhone) = 0 THEN '' WHEN ( - CHAR_LENGTH(sbcustphone) - CHAR_LENGTH(REPLACE(sbcustphone, '-', '')) + CHAR_LENGTH(sbCustPhone) - CHAR_LENGTH(REPLACE(sbCustPhone, '-', '')) ) >= 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustphone, '-', 1), '-', -1) + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustPhone, '-', 1), '-', -1) ELSE '' END ) - CHAR_LENGTH( REPLACE( CASE - WHEN CHAR_LENGTH(sbcustphone) = 0 + WHEN CHAR_LENGTH(sbCustPhone) = 0 THEN '' WHEN ( - CHAR_LENGTH(sbcustphone) - CHAR_LENGTH(REPLACE(sbcustphone, '-', '')) + CHAR_LENGTH(sbCustPhone) - CHAR_LENGTH(REPLACE(sbCustPhone, '-', '')) ) >= 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustphone, '-', 1), '-', -1) + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustPhone, '-', 1), '-', -1) ELSE '' END, '5', '' ) ) - ) + 1 >= ABS(TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)) - AND TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) < 0 + ) + 1 >= ABS(TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)) + AND TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) < 0 THEN SUBSTRING_INDEX( SUBSTRING_INDEX( CASE - WHEN CHAR_LENGTH(sbcustphone) = 0 + WHEN CHAR_LENGTH(sbCustPhone) = 0 THEN '' WHEN ( - CHAR_LENGTH(sbcustphone) - CHAR_LENGTH(REPLACE(sbcustphone, '-', '')) + CHAR_LENGTH(sbCustPhone) - CHAR_LENGTH(REPLACE(sbCustPhone, '-', '')) ) >= 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustphone, '-', 1), '-', -1) + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustPhone, '-', 1), '-', -1) ELSE '' END, '5', - TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) + TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) ), '5', 1 ) - WHEN TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) = 0 + WHEN TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) = 0 THEN SUBSTRING_INDEX( SUBSTRING_INDEX( CASE - WHEN CHAR_LENGTH(sbcustphone) = 0 + WHEN CHAR_LENGTH(sbCustPhone) = 0 THEN '' WHEN ( - CHAR_LENGTH(sbcustphone) - CHAR_LENGTH(REPLACE(sbcustphone, '-', '')) + CHAR_LENGTH(sbCustPhone) - CHAR_LENGTH(REPLACE(sbCustPhone, '-', '')) ) >= 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustphone, '-', 1), '-', -1) + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustPhone, '-', 1), '-', -1) ELSE '' END, '5', @@ -554,32 +554,32 @@ SELECT ELSE '' END AS p17, CASE - WHEN CHAR_LENGTH(sbcustpostalcode) = 0 + WHEN CHAR_LENGTH(sbCustPostalCode) = 0 THEN '' WHEN ( - CHAR_LENGTH(sbcustpostalcode) - CHAR_LENGTH(REPLACE(sbcustpostalcode, '0', '')) - ) + 1 >= TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) - AND TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) > 0 + CHAR_LENGTH(sbCustPostalCode) - CHAR_LENGTH(REPLACE(sbCustPostalCode, '0', '')) + ) + 1 >= TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) + AND TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) > 0 THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustpostalcode, '0', TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)), + SUBSTRING_INDEX(sbCustPostalCode, '0', TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)), '0', -1 ) WHEN ( - CHAR_LENGTH(sbcustpostalcode) - CHAR_LENGTH(REPLACE(sbcustpostalcode, '0', '')) - ) + 1 >= ABS(TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)) - AND TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) < 0 + CHAR_LENGTH(sbCustPostalCode) - CHAR_LENGTH(REPLACE(sbCustPostalCode, '0', '')) + ) + 1 >= ABS(TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)) + AND TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) < 0 THEN SUBSTRING_INDEX( - SUBSTRING_INDEX(sbcustpostalcode, '0', TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0)), + SUBSTRING_INDEX(sbCustPostalCode, '0', TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0)), '0', 1 ) - WHEN TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) = 0 - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustpostalcode, '0', 1), '0', -1) + WHEN TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) = 0 + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustPostalCode, '0', 1), '0', -1) ELSE '' END AS p18 FROM main.sbCustomer WHERE - TRUNCATE(CAST(SUBSTRING(sbcustid, 2) AS FLOAT), 0) <= 4 + TRUNCATE(CAST(SUBSTRING(sbCustId, 2) AS FLOAT), 0) <= 4 ORDER BY 1 diff --git a/tests/test_sql_refsols/get_part_multiple_oracle.sql b/tests/test_sql_refsols/get_part_multiple_oracle.sql index ad38409f9..7c4707f5e 100644 --- a/tests/test_sql_refsols/get_part_multiple_oracle.sql +++ b/tests/test_sql_refsols/get_part_multiple_oracle.sql @@ -1,38 +1,38 @@ SELECT - TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') AS "_expr0", + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) AS "_expr0", REGEXP_SUBSTR( - sbcustname, + SBCUSTNAME, '(.*?)(' || REGEXP_REPLACE(' ', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, ' ')) + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, ' ')) ) + 1 >= CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, ' ')) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, ' ')) + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END AND CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, ' ')) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, ' ')) + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END >= 1 THEN CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, ' ')) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, ' ')) + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END ELSE NULL END, @@ -40,44 +40,44 @@ SELECT 1 ) AS p1, REGEXP_SUBSTR( - sbcustname, + SBCUSTNAME, '(.*?)(' || REGEXP_REPLACE(' ', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, ' ')) + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, ' ')) ) + 1 >= CASE - WHEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 WHEN ( - -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ) > 0 - THEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + THEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, ' ')) - ) + 2 + -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, ' ')) + ) + 2 + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END AND CASE - WHEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 WHEN ( - -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ) > 0 - THEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + THEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, ' ')) - ) + 2 + -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, ' ')) + ) + 2 + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END >= 1 THEN CASE - WHEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 WHEN ( - -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ) > 0 - THEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + THEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, ' ')) - ) + 2 + -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, ' ')) + ) + 2 + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END ELSE NULL END, @@ -85,38 +85,38 @@ SELECT 1 ) AS p2, REGEXP_SUBSTR( - sbcustemail, + SBCUSTEMAIL, '(.*?)(' || REGEXP_REPLACE('.', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(sbcustemail) - LENGTH(REPLACE(sbcustemail, '.')) + LENGTH(SBCUSTEMAIL) - LENGTH(REPLACE(SBCUSTEMAIL, '.')) ) + 1 >= CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustemail) - LENGTH(REPLACE(sbcustemail, '.')) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTEMAIL) - LENGTH(REPLACE(SBCUSTEMAIL, '.')) + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END AND CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustemail) - LENGTH(REPLACE(sbcustemail, '.')) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTEMAIL) - LENGTH(REPLACE(SBCUSTEMAIL, '.')) + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END >= 1 THEN CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustemail) - LENGTH(REPLACE(sbcustemail, '.')) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTEMAIL) - LENGTH(REPLACE(SBCUSTEMAIL, '.')) + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END ELSE NULL END, @@ -124,44 +124,44 @@ SELECT 1 ) AS p3, REGEXP_SUBSTR( - sbcustemail, + SBCUSTEMAIL, '(.*?)(' || REGEXP_REPLACE('.', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(sbcustemail) - LENGTH(REPLACE(sbcustemail, '.')) + LENGTH(SBCUSTEMAIL) - LENGTH(REPLACE(SBCUSTEMAIL, '.')) ) + 1 >= CASE - WHEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 WHEN ( - -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ) > 0 - THEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + THEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustemail) - LENGTH(REPLACE(sbcustemail, '.')) - ) + 2 + -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTEMAIL) - LENGTH(REPLACE(SBCUSTEMAIL, '.')) + ) + 2 + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END AND CASE - WHEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 WHEN ( - -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ) > 0 - THEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + THEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustemail) - LENGTH(REPLACE(sbcustemail, '.')) - ) + 2 + -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTEMAIL) - LENGTH(REPLACE(SBCUSTEMAIL, '.')) + ) + 2 + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END >= 1 THEN CASE - WHEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 WHEN ( - -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ) > 0 - THEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + THEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustemail) - LENGTH(REPLACE(sbcustemail, '.')) - ) + 2 + -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTEMAIL) - LENGTH(REPLACE(SBCUSTEMAIL, '.')) + ) + 2 + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END ELSE NULL END, @@ -169,38 +169,38 @@ SELECT 1 ) AS p4, REGEXP_SUBSTR( - sbcustphone, + SBCUSTPHONE, '(.*?)(' || REGEXP_REPLACE('-', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-')) + LENGTH(SBCUSTPHONE) - LENGTH(REPLACE(SBCUSTPHONE, '-')) ) + 1 >= CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-')) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTPHONE) - LENGTH(REPLACE(SBCUSTPHONE, '-')) + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END AND CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-')) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTPHONE) - LENGTH(REPLACE(SBCUSTPHONE, '-')) + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END >= 1 THEN CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-')) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTPHONE) - LENGTH(REPLACE(SBCUSTPHONE, '-')) + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END ELSE NULL END, @@ -208,44 +208,44 @@ SELECT 1 ) AS p5, REGEXP_SUBSTR( - sbcustphone, + SBCUSTPHONE, '(.*?)(' || REGEXP_REPLACE('-', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-')) + LENGTH(SBCUSTPHONE) - LENGTH(REPLACE(SBCUSTPHONE, '-')) ) + 1 >= CASE - WHEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 WHEN ( - -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ) > 0 - THEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + THEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-')) - ) + 2 + -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTPHONE) - LENGTH(REPLACE(SBCUSTPHONE, '-')) + ) + 2 + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END AND CASE - WHEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 WHEN ( - -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ) > 0 - THEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + THEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-')) - ) + 2 + -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTPHONE) - LENGTH(REPLACE(SBCUSTPHONE, '-')) + ) + 2 + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END >= 1 THEN CASE - WHEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 WHEN ( - -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ) > 0 - THEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + THEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-')) - ) + 2 + -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTPHONE) - LENGTH(REPLACE(SBCUSTPHONE, '-')) + ) + 2 + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END ELSE NULL END, @@ -253,46 +253,46 @@ SELECT 1 ) AS p6, REGEXP_SUBSTR( - sbcustpostalcode, + SBCUSTPOSTALCODE, '(.*?)(' || REGEXP_REPLACE('00', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( ( - LENGTH(sbcustpostalcode) - LENGTH(REPLACE(sbcustpostalcode, '00')) + LENGTH(SBCUSTPOSTALCODE) - LENGTH(REPLACE(SBCUSTPOSTALCODE, '00')) ) / 2 ) + 1 >= CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( ( - LENGTH(sbcustpostalcode) - LENGTH(REPLACE(sbcustpostalcode, '00')) + LENGTH(SBCUSTPOSTALCODE) - LENGTH(REPLACE(SBCUSTPOSTALCODE, '00')) ) / 2 - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END AND CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( ( - LENGTH(sbcustpostalcode) - LENGTH(REPLACE(sbcustpostalcode, '00')) + LENGTH(SBCUSTPOSTALCODE) - LENGTH(REPLACE(SBCUSTPOSTALCODE, '00')) ) / 2 - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END >= 1 THEN CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( ( - LENGTH(sbcustpostalcode) - LENGTH(REPLACE(sbcustpostalcode, '00')) + LENGTH(SBCUSTPOSTALCODE) - LENGTH(REPLACE(SBCUSTPOSTALCODE, '00')) ) / 2 - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END ELSE NULL END, @@ -300,52 +300,52 @@ SELECT 1 ) AS p7, REGEXP_SUBSTR( - sbcustpostalcode, + SBCUSTPOSTALCODE, '(.*?)(' || REGEXP_REPLACE('00', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( ( - LENGTH(sbcustpostalcode) - LENGTH(REPLACE(sbcustpostalcode, '00')) + LENGTH(SBCUSTPOSTALCODE) - LENGTH(REPLACE(SBCUSTPOSTALCODE, '00')) ) / 2 ) + 1 >= CASE - WHEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 WHEN ( - -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ) > 0 - THEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + THEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( ( - LENGTH(sbcustpostalcode) - LENGTH(REPLACE(sbcustpostalcode, '00')) + LENGTH(SBCUSTPOSTALCODE) - LENGTH(REPLACE(SBCUSTPOSTALCODE, '00')) ) / 2 - ) + 2 + -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + ) + 2 + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END AND CASE - WHEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 WHEN ( - -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ) > 0 - THEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + THEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( ( - LENGTH(sbcustpostalcode) - LENGTH(REPLACE(sbcustpostalcode, '00')) + LENGTH(SBCUSTPOSTALCODE) - LENGTH(REPLACE(SBCUSTPOSTALCODE, '00')) ) / 2 - ) + 2 + -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + ) + 2 + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END >= 1 THEN CASE - WHEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 WHEN ( - -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ) > 0 - THEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + THEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( ( - LENGTH(sbcustpostalcode) - LENGTH(REPLACE(sbcustpostalcode, '00')) + LENGTH(SBCUSTPOSTALCODE) - LENGTH(REPLACE(SBCUSTPOSTALCODE, '00')) ) / 2 - ) + 2 + -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + ) + 2 + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END ELSE NULL END, @@ -353,38 +353,38 @@ SELECT 1 ) AS p8, REGEXP_SUBSTR( - sbcustname, + SBCUSTNAME, '(.*?)(' || REGEXP_REPLACE('!', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, '!')) + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, '!')) ) + 1 >= CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, '!')) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, '!')) + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END AND CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, '!')) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, '!')) + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END >= 1 THEN CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, '!')) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, '!')) + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END ELSE NULL END, @@ -392,44 +392,44 @@ SELECT 1 ) AS p9, REGEXP_SUBSTR( - sbcustname, + SBCUSTNAME, '(.*?)(' || REGEXP_REPLACE('@', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, '@')) + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, '@')) ) + 1 >= CASE - WHEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 WHEN ( - -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ) > 0 - THEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + THEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, '@')) - ) + 2 + -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, '@')) + ) + 2 + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END AND CASE - WHEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 WHEN ( - -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ) > 0 - THEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + THEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, '@')) - ) + 2 + -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, '@')) + ) + 2 + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END >= 1 THEN CASE - WHEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 WHEN ( - -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ) > 0 - THEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + THEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, '@')) - ) + 2 + -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, '@')) + ) + 2 + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END ELSE NULL END, @@ -437,46 +437,46 @@ SELECT 1 ) AS p10, REGEXP_SUBSTR( - sbcustname, + SBCUSTNAME, '(.*?)(' || REGEXP_REPLACE('aa', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, 'aa')) + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, 'aa')) ) / 2 ) + 1 >= CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, 'aa')) + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, 'aa')) ) / 2 - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END AND CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, 'aa')) + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, 'aa')) ) / 2 - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END >= 1 THEN CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, 'aa')) + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, 'aa')) ) / 2 - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END ELSE NULL END, @@ -484,52 +484,52 @@ SELECT 1 ) AS p11, REGEXP_SUBSTR( - sbcustname, + SBCUSTNAME, '(.*?)(' || REGEXP_REPLACE('#$*', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, '#$*')) + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, '#$*')) ) / 3 ) + 1 >= CASE - WHEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 WHEN ( - -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ) > 0 - THEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + THEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, '#$*')) + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, '#$*')) ) / 3 - ) + 2 + -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + ) + 2 + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END AND CASE - WHEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 WHEN ( - -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ) > 0 - THEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + THEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, '#$*')) + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, '#$*')) ) / 3 - ) + 2 + -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + ) + 2 + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END >= 1 THEN CASE - WHEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 WHEN ( - -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ) > 0 - THEN -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + THEN -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, '#$*')) + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, '#$*')) ) / 3 - ) + 2 + -1 * TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + ) + 2 + -1 * TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END ELSE NULL END, @@ -537,8 +537,8 @@ SELECT 1 ) AS p12, CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 1 - THEN sbcustname + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 1 + THEN SBCUSTNAME ELSE NULL END AS p13, REGEXP_SUBSTR( @@ -549,31 +549,31 @@ SELECT WHEN ( 0 - LENGTH(REPLACE('', ' ')) ) + 1 >= CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( 0 - LENGTH(REPLACE('', ' ')) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END AND CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( 0 - LENGTH(REPLACE('', ' ')) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END >= 1 THEN CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( 0 - LENGTH(REPLACE('', ' ')) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END ELSE NULL END, @@ -581,12 +581,12 @@ SELECT 1 ) AS p14, REGEXP_SUBSTR( - sbcustname, + SBCUSTNAME, '(.*?)(' || REGEXP_REPLACE(' ', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, ' ')) + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, ' ')) ) >= 0 THEN 1 ELSE NULL @@ -595,53 +595,53 @@ SELECT 1 ) AS p15, CASE - WHEN sbcuststate = '' OR sbcuststate IS NULL + WHEN SBCUSTSTATE = '' OR SBCUSTSTATE IS NULL THEN CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 1 - THEN sbcuststate + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 1 + THEN SBCUSTSTATE ELSE NULL END ELSE REGEXP_SUBSTR( - sbcuststate, - '(.*?)(' || REGEXP_REPLACE(sbcuststate, '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', + SBCUSTSTATE, + '(.*?)(' || REGEXP_REPLACE(SBCUSTSTATE, '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( ( - LENGTH(sbcuststate) - LENGTH(REPLACE(sbcuststate, sbcuststate)) - ) / LENGTH(sbcuststate) + LENGTH(SBCUSTSTATE) - LENGTH(REPLACE(SBCUSTSTATE, SBCUSTSTATE)) + ) / LENGTH(SBCUSTSTATE) ) + 1 >= CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( ( - LENGTH(sbcuststate) - LENGTH(REPLACE(sbcuststate, sbcuststate)) - ) / LENGTH(sbcuststate) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTSTATE) - LENGTH(REPLACE(SBCUSTSTATE, SBCUSTSTATE)) + ) / LENGTH(SBCUSTSTATE) + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END AND CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( ( - LENGTH(sbcuststate) - LENGTH(REPLACE(sbcuststate, sbcuststate)) - ) / LENGTH(sbcuststate) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTSTATE) - LENGTH(REPLACE(SBCUSTSTATE, SBCUSTSTATE)) + ) / LENGTH(SBCUSTSTATE) + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END >= 1 THEN CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( ( - LENGTH(sbcuststate) - LENGTH(REPLACE(sbcuststate, sbcuststate)) - ) / LENGTH(sbcuststate) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTSTATE) - LENGTH(REPLACE(SBCUSTSTATE, SBCUSTSTATE)) + ) / LENGTH(SBCUSTSTATE) + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END ELSE NULL END, @@ -651,12 +651,12 @@ SELECT END AS p16, REGEXP_SUBSTR( REGEXP_SUBSTR( - sbcustphone, + SBCUSTPHONE, '(.*?)(' || REGEXP_REPLACE('-', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-')) + LENGTH(SBCUSTPHONE) - LENGTH(REPLACE(SBCUSTPHONE, '-')) ) >= 0 THEN 1 ELSE NULL @@ -670,12 +670,12 @@ SELECT WHEN ( LENGTH( REGEXP_SUBSTR( - sbcustphone, + SBCUSTPHONE, '(.*?)(' || REGEXP_REPLACE('-', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-')) + LENGTH(SBCUSTPHONE) - LENGTH(REPLACE(SBCUSTPHONE, '-')) ) >= 0 THEN 1 ELSE NULL @@ -686,12 +686,12 @@ SELECT ) - LENGTH( REPLACE( REGEXP_SUBSTR( - sbcustphone, + SBCUSTPHONE, '(.*?)(' || REGEXP_REPLACE('-', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-')) + LENGTH(SBCUSTPHONE) - LENGTH(REPLACE(SBCUSTPHONE, '-')) ) >= 0 THEN 1 ELSE NULL @@ -703,19 +703,19 @@ SELECT ) ) ) + 1 >= CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( LENGTH( REGEXP_SUBSTR( - sbcustphone, + SBCUSTPHONE, '(.*?)(' || REGEXP_REPLACE('-', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-')) + LENGTH(SBCUSTPHONE) - LENGTH(REPLACE(SBCUSTPHONE, '-')) ) >= 0 THEN 1 ELSE NULL @@ -726,12 +726,12 @@ SELECT ) - LENGTH( REPLACE( REGEXP_SUBSTR( - sbcustphone, + SBCUSTPHONE, '(.*?)(' || REGEXP_REPLACE('-', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-')) + LENGTH(SBCUSTPHONE) - LENGTH(REPLACE(SBCUSTPHONE, '-')) ) >= 0 THEN 1 ELSE NULL @@ -742,22 +742,22 @@ SELECT '5' ) ) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END AND CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( LENGTH( REGEXP_SUBSTR( - sbcustphone, + SBCUSTPHONE, '(.*?)(' || REGEXP_REPLACE('-', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-')) + LENGTH(SBCUSTPHONE) - LENGTH(REPLACE(SBCUSTPHONE, '-')) ) >= 0 THEN 1 ELSE NULL @@ -768,12 +768,12 @@ SELECT ) - LENGTH( REPLACE( REGEXP_SUBSTR( - sbcustphone, + SBCUSTPHONE, '(.*?)(' || REGEXP_REPLACE('-', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-')) + LENGTH(SBCUSTPHONE) - LENGTH(REPLACE(SBCUSTPHONE, '-')) ) >= 0 THEN 1 ELSE NULL @@ -784,22 +784,22 @@ SELECT '5' ) ) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END >= 1 THEN CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( LENGTH( REGEXP_SUBSTR( - sbcustphone, + SBCUSTPHONE, '(.*?)(' || REGEXP_REPLACE('-', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-')) + LENGTH(SBCUSTPHONE) - LENGTH(REPLACE(SBCUSTPHONE, '-')) ) >= 0 THEN 1 ELSE NULL @@ -810,12 +810,12 @@ SELECT ) - LENGTH( REPLACE( REGEXP_SUBSTR( - sbcustphone, + SBCUSTPHONE, '(.*?)(' || REGEXP_REPLACE('-', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-')) + LENGTH(SBCUSTPHONE) - LENGTH(REPLACE(SBCUSTPHONE, '-')) ) >= 0 THEN 1 ELSE NULL @@ -826,7 +826,7 @@ SELECT '5' ) ) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END ELSE NULL END, @@ -834,38 +834,38 @@ SELECT 1 ) AS p17, REGEXP_SUBSTR( - sbcustpostalcode, + SBCUSTPOSTALCODE, '(.*?)(' || REGEXP_REPLACE('0', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(sbcustpostalcode) - LENGTH(REPLACE(sbcustpostalcode, '0')) + LENGTH(SBCUSTPOSTALCODE) - LENGTH(REPLACE(SBCUSTPOSTALCODE, '0')) ) + 1 >= CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustpostalcode) - LENGTH(REPLACE(sbcustpostalcode, '0')) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTPOSTALCODE) - LENGTH(REPLACE(SBCUSTPOSTALCODE, '0')) + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END AND CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustpostalcode) - LENGTH(REPLACE(sbcustpostalcode, '0')) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTPOSTALCODE) - LENGTH(REPLACE(SBCUSTPOSTALCODE, '0')) + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END >= 1 THEN CASE - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') = 0 + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) = 0 THEN 1 - WHEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') > 0 - THEN TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + WHEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) > 0 + THEN TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) ELSE ( - LENGTH(sbcustpostalcode) - LENGTH(REPLACE(sbcustpostalcode, '0')) - ) + 2 + TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') + LENGTH(SBCUSTPOSTALCODE) - LENGTH(REPLACE(SBCUSTPOSTALCODE, '0')) + ) + 2 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) END ELSE NULL END, @@ -874,6 +874,6 @@ SELECT ) AS p18 FROM MAIN.SBCUSTOMER WHERE - TRUNC(CAST(SUBSTR(sbcustid, 2) AS DOUBLE PRECISION), '0') <= 4 + TRUNC(CAST(SUBSTR(SBCUSTID, 2) AS DOUBLE PRECISION), 0) <= 4 ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/get_part_multiple_trino.sql b/tests/test_sql_refsols/get_part_multiple_trino.sql index 2f00df62f..f1848a17c 100644 --- a/tests/test_sql_refsols/get_part_multiple_trino.sql +++ b/tests/test_sql_refsols/get_part_multiple_trino.sql @@ -1,32 +1,32 @@ SELECT - CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) AS _expr0, + CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) AS _expr0, CASE - WHEN CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) = 0 + WHEN CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) = 0 THEN SPLIT_PART(sbcustname, ' ', 1) WHEN ( CAST(CAST(( LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, ' ', '')) ) AS DOUBLE) AS BIGINT) + 1 - ) < ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ) < ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) THEN '' WHEN ( CAST(CAST(( LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, ' ', '')) ) AS DOUBLE) AS BIGINT) + 1 - ) >= ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) - AND CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) < 0 + ) >= ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) + AND CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) < 0 THEN SPLIT_PART( sbcustname, ' ', CAST(CAST(( LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, ' ', '')) - ) AS DOUBLE) AS BIGINT) + CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 + ) AS DOUBLE) AS BIGINT) + CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 ) - ELSE SPLIT_PART(sbcustname, ' ', CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ELSE SPLIT_PART(sbcustname, ' ', CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) END AS p1, CASE WHEN ( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) ) = 0 THEN SPLIT_PART(sbcustname, ' ', 1) WHEN ( @@ -34,55 +34,55 @@ SELECT LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, ' ', '')) ) AS DOUBLE) AS BIGINT) + 1 ) < ABS(( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) )) THEN '' WHEN ( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) ) < 0 AND ( CAST(CAST(( LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, ' ', '')) ) AS DOUBLE) AS BIGINT) + 1 ) >= ABS(( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) )) THEN SPLIT_PART( sbcustname, ' ', CAST(CAST(( LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, ' ', '')) - ) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 + ) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 ) - ELSE SPLIT_PART(sbcustname, ' ', -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ELSE SPLIT_PART(sbcustname, ' ', -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) END AS p2, CASE - WHEN CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) = 0 + WHEN CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) = 0 THEN SPLIT_PART(sbcustemail, '.', 1) WHEN ( CAST(CAST(( LENGTH(sbcustemail) - LENGTH(REPLACE(sbcustemail, '.', '')) ) AS DOUBLE) AS BIGINT) + 1 - ) < ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ) < ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) THEN '' WHEN ( CAST(CAST(( LENGTH(sbcustemail) - LENGTH(REPLACE(sbcustemail, '.', '')) ) AS DOUBLE) AS BIGINT) + 1 - ) >= ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) - AND CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) < 0 + ) >= ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) + AND CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) < 0 THEN SPLIT_PART( sbcustemail, '.', CAST(CAST(( LENGTH(sbcustemail) - LENGTH(REPLACE(sbcustemail, '.', '')) - ) AS DOUBLE) AS BIGINT) + CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 + ) AS DOUBLE) AS BIGINT) + CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 ) - ELSE SPLIT_PART(sbcustemail, '.', CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ELSE SPLIT_PART(sbcustemail, '.', CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) END AS p3, CASE WHEN ( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) ) = 0 THEN SPLIT_PART(sbcustemail, '.', 1) WHEN ( @@ -90,55 +90,55 @@ SELECT LENGTH(sbcustemail) - LENGTH(REPLACE(sbcustemail, '.', '')) ) AS DOUBLE) AS BIGINT) + 1 ) < ABS(( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) )) THEN '' WHEN ( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) ) < 0 AND ( CAST(CAST(( LENGTH(sbcustemail) - LENGTH(REPLACE(sbcustemail, '.', '')) ) AS DOUBLE) AS BIGINT) + 1 ) >= ABS(( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) )) THEN SPLIT_PART( sbcustemail, '.', CAST(CAST(( LENGTH(sbcustemail) - LENGTH(REPLACE(sbcustemail, '.', '')) - ) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 + ) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 ) - ELSE SPLIT_PART(sbcustemail, '.', -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ELSE SPLIT_PART(sbcustemail, '.', -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) END AS p4, CASE - WHEN CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) = 0 + WHEN CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) = 0 THEN SPLIT_PART(sbcustphone, '-', 1) WHEN ( CAST(CAST(( LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-', '')) ) AS DOUBLE) AS BIGINT) + 1 - ) < ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ) < ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) THEN '' WHEN ( CAST(CAST(( LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-', '')) ) AS DOUBLE) AS BIGINT) + 1 - ) >= ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) - AND CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) < 0 + ) >= ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) + AND CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) < 0 THEN SPLIT_PART( sbcustphone, '-', CAST(CAST(( LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-', '')) - ) AS DOUBLE) AS BIGINT) + CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 + ) AS DOUBLE) AS BIGINT) + CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 ) - ELSE SPLIT_PART(sbcustphone, '-', CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ELSE SPLIT_PART(sbcustphone, '-', CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) END AS p5, CASE WHEN ( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) ) = 0 THEN SPLIT_PART(sbcustphone, '-', 1) WHEN ( @@ -146,55 +146,55 @@ SELECT LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-', '')) ) AS DOUBLE) AS BIGINT) + 1 ) < ABS(( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) )) THEN '' WHEN ( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) ) < 0 AND ( CAST(CAST(( LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-', '')) ) AS DOUBLE) AS BIGINT) + 1 ) >= ABS(( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) )) THEN SPLIT_PART( sbcustphone, '-', CAST(CAST(( LENGTH(sbcustphone) - LENGTH(REPLACE(sbcustphone, '-', '')) - ) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 + ) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 ) - ELSE SPLIT_PART(sbcustphone, '-', -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ELSE SPLIT_PART(sbcustphone, '-', -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) END AS p6, CASE - WHEN CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) = 0 + WHEN CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) = 0 THEN SPLIT_PART(sbcustpostalcode, '00', 1) WHEN ( CAST(CAST(( LENGTH(sbcustpostalcode) - LENGTH(REPLACE(sbcustpostalcode, '00', '')) ) AS DOUBLE) / 2 AS BIGINT) + 1 - ) < ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ) < ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) THEN '' WHEN ( CAST(CAST(( LENGTH(sbcustpostalcode) - LENGTH(REPLACE(sbcustpostalcode, '00', '')) ) AS DOUBLE) / 2 AS BIGINT) + 1 - ) >= ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) - AND CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) < 0 + ) >= ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) + AND CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) < 0 THEN SPLIT_PART( sbcustpostalcode, '00', CAST(CAST(( LENGTH(sbcustpostalcode) - LENGTH(REPLACE(sbcustpostalcode, '00', '')) - ) AS DOUBLE) / 2 AS BIGINT) + CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 + ) AS DOUBLE) / 2 AS BIGINT) + CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 ) - ELSE SPLIT_PART(sbcustpostalcode, '00', CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ELSE SPLIT_PART(sbcustpostalcode, '00', CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) END AS p7, CASE WHEN ( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) ) = 0 THEN SPLIT_PART(sbcustpostalcode, '00', 1) WHEN ( @@ -202,55 +202,55 @@ SELECT LENGTH(sbcustpostalcode) - LENGTH(REPLACE(sbcustpostalcode, '00', '')) ) AS DOUBLE) / 2 AS BIGINT) + 1 ) < ABS(( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) )) THEN '' WHEN ( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) ) < 0 AND ( CAST(CAST(( LENGTH(sbcustpostalcode) - LENGTH(REPLACE(sbcustpostalcode, '00', '')) ) AS DOUBLE) / 2 AS BIGINT) + 1 ) >= ABS(( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) )) THEN SPLIT_PART( sbcustpostalcode, '00', CAST(CAST(( LENGTH(sbcustpostalcode) - LENGTH(REPLACE(sbcustpostalcode, '00', '')) - ) AS DOUBLE) / 2 AS BIGINT) + -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 + ) AS DOUBLE) / 2 AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 ) - ELSE SPLIT_PART(sbcustpostalcode, '00', -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ELSE SPLIT_PART(sbcustpostalcode, '00', -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) END AS p8, CASE - WHEN CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) = 0 + WHEN CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) = 0 THEN SPLIT_PART(sbcustname, '!', 1) WHEN ( CAST(CAST(( LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, '!', '')) ) AS DOUBLE) AS BIGINT) + 1 - ) < ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ) < ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) THEN '' WHEN ( CAST(CAST(( LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, '!', '')) ) AS DOUBLE) AS BIGINT) + 1 - ) >= ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) - AND CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) < 0 + ) >= ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) + AND CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) < 0 THEN SPLIT_PART( sbcustname, '!', CAST(CAST(( LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, '!', '')) - ) AS DOUBLE) AS BIGINT) + CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 + ) AS DOUBLE) AS BIGINT) + CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 ) - ELSE SPLIT_PART(sbcustname, '!', CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ELSE SPLIT_PART(sbcustname, '!', CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) END AS p9, CASE WHEN ( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) ) = 0 THEN SPLIT_PART(sbcustname, '@', 1) WHEN ( @@ -258,55 +258,55 @@ SELECT LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, '@', '')) ) AS DOUBLE) AS BIGINT) + 1 ) < ABS(( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) )) THEN '' WHEN ( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) ) < 0 AND ( CAST(CAST(( LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, '@', '')) ) AS DOUBLE) AS BIGINT) + 1 ) >= ABS(( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) )) THEN SPLIT_PART( sbcustname, '@', CAST(CAST(( LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, '@', '')) - ) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 + ) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 ) - ELSE SPLIT_PART(sbcustname, '@', -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ELSE SPLIT_PART(sbcustname, '@', -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) END AS p10, CASE - WHEN CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) = 0 + WHEN CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) = 0 THEN SPLIT_PART(sbcustname, 'aa', 1) WHEN ( CAST(CAST(( LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, 'aa', '')) ) AS DOUBLE) / 2 AS BIGINT) + 1 - ) < ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ) < ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) THEN '' WHEN ( CAST(CAST(( LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, 'aa', '')) ) AS DOUBLE) / 2 AS BIGINT) + 1 - ) >= ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) - AND CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) < 0 + ) >= ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) + AND CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) < 0 THEN SPLIT_PART( sbcustname, 'aa', CAST(CAST(( LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, 'aa', '')) - ) AS DOUBLE) / 2 AS BIGINT) + CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 + ) AS DOUBLE) / 2 AS BIGINT) + CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 ) - ELSE SPLIT_PART(sbcustname, 'aa', CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ELSE SPLIT_PART(sbcustname, 'aa', CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) END AS p11, CASE WHEN ( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) ) = 0 THEN SPLIT_PART(sbcustname, '#$*', 1) WHEN ( @@ -314,67 +314,67 @@ SELECT LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, '#$*', '')) ) AS DOUBLE) / 3 AS BIGINT) + 1 ) < ABS(( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) )) THEN '' WHEN ( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) ) < 0 AND ( CAST(CAST(( LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, '#$*', '')) ) AS DOUBLE) / 3 AS BIGINT) + 1 ) >= ABS(( - -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) )) THEN SPLIT_PART( sbcustname, '#$*', CAST(CAST(( LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, '#$*', '')) - ) AS DOUBLE) / 3 AS BIGINT) + -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 + ) AS DOUBLE) / 3 AS BIGINT) + -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 ) - ELSE SPLIT_PART(sbcustname, '#$*', -1 * CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ELSE SPLIT_PART(sbcustname, '#$*', -1 * CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) END AS p12, CASE - WHEN ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) < 2 + WHEN ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) < 2 THEN sbcustname ELSE '' END AS p13, CASE - WHEN CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) = 0 + WHEN CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) = 0 THEN SPLIT_PART('', ' ', 1) WHEN ( CAST(CAST(( 0 - LENGTH(REPLACE('', ' ', '')) ) AS DOUBLE) AS BIGINT) + 1 - ) < ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ) < ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) THEN '' WHEN ( CAST(CAST(( 0 - LENGTH(REPLACE('', ' ', '')) ) AS DOUBLE) AS BIGINT) + 1 - ) >= ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) - AND CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) < 0 + ) >= ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) + AND CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) < 0 THEN SPLIT_PART( '', ' ', CAST(CAST(( 0 - LENGTH(REPLACE('', ' ', '')) - ) AS DOUBLE) AS BIGINT) + CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 + ) AS DOUBLE) AS BIGINT) + CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 ) - ELSE SPLIT_PART('', ' ', CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ELSE SPLIT_PART('', ' ', CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) END AS p14, SPLIT_PART(sbcustname, ' ', 1) AS p15, CASE WHEN sbcuststate = '' THEN CASE - WHEN ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) < 2 + WHEN ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) < 2 THEN sbcuststate ELSE '' END ELSE CASE - WHEN CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) = 0 + WHEN CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) = 0 THEN SPLIT_PART(sbcuststate, sbcuststate, 1) WHEN ( CASE @@ -390,7 +390,7 @@ SELECT ) ) AS DOUBLE) / LENGTH(sbcuststate) AS BIGINT) END + 1 - ) < ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ) < ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) THEN '' WHEN ( CASE @@ -406,8 +406,8 @@ SELECT ) ) AS DOUBLE) / LENGTH(sbcuststate) AS BIGINT) END + 1 - ) >= ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) - AND CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) < 0 + ) >= ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) + AND CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) < 0 THEN SPLIT_PART( sbcuststate, sbcuststate, @@ -423,13 +423,13 @@ SELECT END ) ) AS DOUBLE) / LENGTH(sbcuststate) AS BIGINT) - END + CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 + END + CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 ) - ELSE SPLIT_PART(sbcuststate, sbcuststate, CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ELSE SPLIT_PART(sbcuststate, sbcuststate, CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) END END AS p16, CASE - WHEN CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) = 0 + WHEN CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) = 0 THEN SPLIT_PART( CASE WHEN ( @@ -471,7 +471,7 @@ SELECT ) ) ) AS DOUBLE) AS BIGINT) + 1 - ) < ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ) < ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) THEN '' WHEN ( CAST(CAST(( @@ -501,8 +501,8 @@ SELECT ) ) ) AS DOUBLE) AS BIGINT) + 1 - ) >= ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) - AND CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) < 0 + ) >= ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) + AND CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) < 0 THEN SPLIT_PART( CASE WHEN ( @@ -540,7 +540,7 @@ SELECT '' ) ) - ) AS DOUBLE) AS BIGINT) + CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 + ) AS DOUBLE) AS BIGINT) + CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 ) ELSE SPLIT_PART( CASE @@ -553,35 +553,35 @@ SELECT ELSE SPLIT_PART(sbcustphone, '-', 1) END, '5', - CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) ) END AS p17, CASE - WHEN CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) = 0 + WHEN CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) = 0 THEN SPLIT_PART(sbcustpostalcode, '0', 1) WHEN ( CAST(CAST(( LENGTH(sbcustpostalcode) - LENGTH(REPLACE(sbcustpostalcode, '0', '')) ) AS DOUBLE) AS BIGINT) + 1 - ) < ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ) < ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) THEN '' WHEN ( CAST(CAST(( LENGTH(sbcustpostalcode) - LENGTH(REPLACE(sbcustpostalcode, '0', '')) ) AS DOUBLE) AS BIGINT) + 1 - ) >= ABS(CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) - AND CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) < 0 + ) >= ABS(CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) + AND CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) < 0 THEN SPLIT_PART( sbcustpostalcode, '0', CAST(CAST(( LENGTH(sbcustpostalcode) - LENGTH(REPLACE(sbcustpostalcode, '0', '')) - ) AS DOUBLE) AS BIGINT) + CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 + ) AS DOUBLE) AS BIGINT) + CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) + 2 ) - ELSE SPLIT_PART(sbcustpostalcode, '0', CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT)) + ELSE SPLIT_PART(sbcustpostalcode, '0', CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT)) END AS p18 FROM main.sbcustomer WHERE - CAST(CAST(SUBSTRING(sbcustid, 2) AS DOUBLE) AS BIGINT) <= 4 + CAST(CAST(SUBSTR(sbcustid, 2) AS DOUBLE) AS BIGINT) <= 4 ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/get_part_single_mysql.sql b/tests/test_sql_refsols/get_part_single_mysql.sql index 721ba4b2c..6634e199a 100644 --- a/tests/test_sql_refsols/get_part_single_mysql.sql +++ b/tests/test_sql_refsols/get_part_single_mysql.sql @@ -1,13 +1,13 @@ SELECT CASE - WHEN CHAR_LENGTH(sbcustname) = 0 + WHEN CHAR_LENGTH(sbCustName) = 0 THEN '' WHEN ( - CHAR_LENGTH(sbcustname) - CHAR_LENGTH(REPLACE(sbcustname, ' ', '')) + CHAR_LENGTH(sbCustName) - CHAR_LENGTH(REPLACE(sbCustName, ' ', '')) ) + 1 >= ABS(-1) - THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbcustname, ' ', -1), ' ', 1) + THEN SUBSTRING_INDEX(SUBSTRING_INDEX(sbCustName, ' ', -1), ' ', 1) ELSE '' END AS last_name FROM main.sbCustomer WHERE - sbcustname = 'Alex Rodriguez' + sbCustName = 'Alex Rodriguez' diff --git a/tests/test_sql_refsols/get_part_single_oracle.sql b/tests/test_sql_refsols/get_part_single_oracle.sql index ace1b98f8..249397bde 100644 --- a/tests/test_sql_refsols/get_part_single_oracle.sql +++ b/tests/test_sql_refsols/get_part_single_oracle.sql @@ -1,19 +1,19 @@ SELECT REGEXP_SUBSTR( - sbcustname, + SBCUSTNAME, '(.*?)(' || REGEXP_REPLACE(' ', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, ' ')) + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, ' ')) ) + 1 >= ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, ' ')) + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, ' ')) ) + 1 AND ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, ' ')) + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, ' ')) ) >= 0 THEN ( - LENGTH(sbcustname) - LENGTH(REPLACE(sbcustname, ' ')) + LENGTH(SBCUSTNAME) - LENGTH(REPLACE(SBCUSTNAME, ' ')) ) + 1 ELSE NULL END, @@ -22,4 +22,4 @@ SELECT ) AS last_name FROM MAIN.SBCUSTOMER WHERE - sbcustname = 'Alex Rodriguez' + SBCUSTNAME = 'Alex Rodriguez' diff --git a/tests/test_sql_refsols/global_acctbal_breakdown_oracle.sql b/tests/test_sql_refsols/global_acctbal_breakdown_oracle.sql index 4928cd2c3..ffcb7e11b 100644 --- a/tests/test_sql_refsols/global_acctbal_breakdown_oracle.sql +++ b/tests/test_sql_refsols/global_acctbal_breakdown_oracle.sql @@ -1,43 +1,43 @@ -WITH "_T0" AS ( +WITH "_t0" AS ( SELECT - c_acctbal AS C_ACCTBAL, + C_ACCTBAL, CASE WHEN ABS( ( - ROW_NUMBER() OVER (ORDER BY CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END DESC NULLS LAST) - 1.0 + ROW_NUMBER() OVER (ORDER BY CASE WHEN C_ACCTBAL >= 0 THEN C_ACCTBAL ELSE NULL END DESC NULLS LAST) - 1.0 ) - ( ( - COUNT(CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END) OVER () - 1.0 + COUNT(CASE WHEN C_ACCTBAL >= 0 THEN C_ACCTBAL ELSE NULL END) OVER () - 1.0 ) / 2.0 ) ) < 1.0 - THEN CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END + THEN CASE WHEN C_ACCTBAL >= 0 THEN C_ACCTBAL ELSE NULL END ELSE NULL END AS EXPR_5, CASE WHEN ABS( ( - ROW_NUMBER() OVER (ORDER BY c_acctbal DESC NULLS LAST) - 1.0 + ROW_NUMBER() OVER (ORDER BY C_ACCTBAL DESC NULLS LAST) - 1.0 ) - ( ( - COUNT(c_acctbal) OVER () - 1.0 + COUNT(C_ACCTBAL) OVER () - 1.0 ) / 2.0 ) ) < 1.0 - THEN c_acctbal + THEN C_ACCTBAL ELSE NULL END AS EXPR_6, CASE WHEN ABS( ( - ROW_NUMBER() OVER (ORDER BY CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END DESC NULLS LAST) - 1.0 + ROW_NUMBER() OVER (ORDER BY CASE WHEN C_ACCTBAL < 0 THEN C_ACCTBAL ELSE NULL END DESC NULLS LAST) - 1.0 ) - ( ( - COUNT(CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END) OVER () - 1.0 + COUNT(CASE WHEN C_ACCTBAL < 0 THEN C_ACCTBAL ELSE NULL END) OVER () - 1.0 ) / 2.0 ) ) < 1.0 - THEN CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END + THEN CASE WHEN C_ACCTBAL < 0 THEN C_ACCTBAL ELSE NULL END ELSE NULL END AS EXPR_7 FROM TPCH.CUSTOMER @@ -48,4 +48,4 @@ SELECT AVG(EXPR_7) AS median_red_acctbal, AVG(EXPR_5) AS median_black_acctbal, AVG(EXPR_6) AS median_overall_acctbal -FROM "_T0" +FROM "_t0" diff --git a/tests/test_sql_refsols/global_acctbal_breakdown_trino.sql b/tests/test_sql_refsols/global_acctbal_breakdown_trino.sql index a3506e8ee..152bb11d9 100644 --- a/tests/test_sql_refsols/global_acctbal_breakdown_trino.sql +++ b/tests/test_sql_refsols/global_acctbal_breakdown_trino.sql @@ -6,9 +6,9 @@ WITH _t0 AS ( ( ROW_NUMBER() OVER (ORDER BY CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END DESC) - 1.0 ) - ( - CAST(( + ( COUNT(CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END) OVER () - 1.0 - ) AS DOUBLE) / 2.0 + ) / 2.0 ) ) < 1.0 THEN CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END @@ -19,9 +19,9 @@ WITH _t0 AS ( ( ROW_NUMBER() OVER (ORDER BY c_acctbal DESC) - 1.0 ) - ( - CAST(( + ( COUNT(c_acctbal) OVER () - 1.0 - ) AS DOUBLE) / 2.0 + ) / 2.0 ) ) < 1.0 THEN c_acctbal @@ -32,9 +32,9 @@ WITH _t0 AS ( ( ROW_NUMBER() OVER (ORDER BY CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END DESC) - 1.0 ) - ( - CAST(( + ( COUNT(CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END) OVER () - 1.0 - ) AS DOUBLE) / 2.0 + ) / 2.0 ) ) < 1.0 THEN CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END diff --git a/tests/test_sql_refsols/global_double_partition_interweave_a_oracle.sql b/tests/test_sql_refsols/global_double_partition_interweave_a_oracle.sql index e18022cad..b7577f9d7 100644 --- a/tests/test_sql_refsols/global_double_partition_interweave_a_oracle.sql +++ b/tests/test_sql_refsols/global_double_partition_interweave_a_oracle.sql @@ -1,40 +1,40 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - AVG(c_acctbal) AS AVG_C_ACCTBAL + AVG(C_ACCTBAL) AS AVG_C_ACCTBAL FROM TPCH.CUSTOMER -), "_S2" AS ( +), "_s2" AS ( SELECT - CUSTOMER.c_mktsegment AS C_MKTSEGMENT, - CUSTOMER.c_nationkey AS C_NATIONKEY, - ANY_VALUE("_S0".AVG_C_ACCTBAL) AS ANYTHING_AVG_C_ACCTBAL, + CUSTOMER.C_MKTSEGMENT, + CUSTOMER.C_NATIONKEY, + ANY_VALUE("_s0".AVG_C_ACCTBAL) AS ANYTHING_AVG_C_ACCTBAL, MAX( ( 100.0 * ( - CUSTOMER.c_acctbal - "_S0".AVG_C_ACCTBAL + CUSTOMER.C_ACCTBAL - "_s0".AVG_C_ACCTBAL ) - ) / "_S0".AVG_C_ACCTBAL + ) / "_s0".AVG_C_ACCTBAL ) AS MAX_PCT_DIFF - FROM "_S0" "_S0" + FROM "_s0" "_s0" CROSS JOIN TPCH.CUSTOMER CUSTOMER GROUP BY - CUSTOMER.c_mktsegment, - CUSTOMER.c_nationkey -), "_T1" AS ( + CUSTOMER.C_MKTSEGMENT, + CUSTOMER.C_NATIONKEY +), "_t1" AS ( SELECT - "_S2".C_MKTSEGMENT, - ANY_VALUE("_S2".ANYTHING_AVG_C_ACCTBAL) AS ANYTHING_ANYTHING_AVG_C_ACCTBAL, - MAX("_S2".MAX_PCT_DIFF) AS MAX_MAX_PCT_DIFF - FROM "_S2" "_S2" + "_s2".C_MKTSEGMENT, + ANY_VALUE("_s2".ANYTHING_AVG_C_ACCTBAL) AS ANYTHING_ANYTHING_AVG_C_ACCTBAL, + MAX("_s2".MAX_PCT_DIFF) AS MAX_MAX_PCT_DIFF + FROM "_s2" "_s2" JOIN TPCH.NATION NATION - ON NATION.n_nationkey = "_S2".C_NATIONKEY + ON NATION.N_NATIONKEY = "_s2".C_NATIONKEY GROUP BY - "_S2".C_MKTSEGMENT, - NATION.n_name + "_s2".C_MKTSEGMENT, + NATION.N_NAME ) SELECT C_MKTSEGMENT AS market_segment, ROUND(AVG(MAX_MAX_PCT_DIFF), 2) AS avg_max_pct_diff, ROUND(ANY_VALUE(ANYTHING_ANYTHING_AVG_C_ACCTBAL), 2) AS avg_bal -FROM "_T1" +FROM "_t1" GROUP BY C_MKTSEGMENT diff --git a/tests/test_sql_refsols/global_double_partition_interweave_a_postgres.sql b/tests/test_sql_refsols/global_double_partition_interweave_a_postgres.sql index 1e728d1a5..6ec7f8c25 100644 --- a/tests/test_sql_refsols/global_double_partition_interweave_a_postgres.sql +++ b/tests/test_sql_refsols/global_double_partition_interweave_a_postgres.sql @@ -6,7 +6,7 @@ WITH _s0 AS ( SELECT customer.c_mktsegment, customer.c_nationkey, - MAX(_s0.avg_c_acctbal) AS anything_avg_c_acctbal, + ANY_VALUE(_s0.avg_c_acctbal) AS anything_avg_c_acctbal, MAX( CAST(( 100.0 * ( @@ -22,7 +22,7 @@ WITH _s0 AS ( ), _t1 AS ( SELECT _s2.c_mktsegment, - MAX(_s2.anything_avg_c_acctbal) AS anything_anything_avg_c_acctbal, + ANY_VALUE(_s2.anything_avg_c_acctbal) AS anything_anything_avg_c_acctbal, MAX(_s2.max_pct_diff) AS max_max_pct_diff FROM _s2 AS _s2 JOIN tpch.nation AS nation @@ -34,7 +34,7 @@ WITH _s0 AS ( SELECT c_mktsegment AS market_segment, ROUND(CAST(AVG(CAST(max_max_pct_diff AS DECIMAL)) AS DECIMAL), 2) AS avg_max_pct_diff, - ROUND(CAST(MAX(anything_anything_avg_c_acctbal) AS DECIMAL), 2) AS avg_bal + ROUND(CAST(ANY_VALUE(anything_anything_avg_c_acctbal) AS DECIMAL), 2) AS avg_bal FROM _t1 GROUP BY 1 diff --git a/tests/test_sql_refsols/global_double_partition_interweave_b_oracle.sql b/tests/test_sql_refsols/global_double_partition_interweave_b_oracle.sql index f9bb2ac8c..eecd5f70c 100644 --- a/tests/test_sql_refsols/global_double_partition_interweave_b_oracle.sql +++ b/tests/test_sql_refsols/global_double_partition_interweave_b_oracle.sql @@ -1,44 +1,44 @@ -WITH "_S2" AS ( +WITH "_s2" AS ( SELECT - AVG(c_acctbal) AS AVG_C_ACCTBAL + AVG(C_ACCTBAL) AS AVG_C_ACCTBAL FROM TPCH.CUSTOMER -), "_S0" AS ( +), "_s0" AS ( SELECT - c_mktsegment AS C_MKTSEGMENT, - c_nationkey AS C_NATIONKEY, - COUNT(c_acctbal) AS COUNT_C_ACCTBAL, - SUM(c_acctbal) AS SUM_C_ACCTBAL + C_MKTSEGMENT, + C_NATIONKEY, + COUNT(C_ACCTBAL) AS COUNT_C_ACCTBAL, + SUM(C_ACCTBAL) AS SUM_C_ACCTBAL FROM TPCH.CUSTOMER GROUP BY - c_mktsegment, - c_nationkey -), "_S3" AS ( + C_MKTSEGMENT, + C_NATIONKEY +), "_s3" AS ( SELECT - "_S0".C_MKTSEGMENT, - SUM("_S0".COUNT_C_ACCTBAL) AS SUM_COUNT_C_ACCTBAL, - SUM("_S0".SUM_C_ACCTBAL) AS SUM_SUM_C_ACCTBAL - FROM "_S0" "_S0" + "_s0".C_MKTSEGMENT, + SUM("_s0".COUNT_C_ACCTBAL) AS SUM_COUNT_C_ACCTBAL, + SUM("_s0".SUM_C_ACCTBAL) AS SUM_SUM_C_ACCTBAL + FROM "_s0" "_s0" JOIN TPCH.NATION NATION - ON NATION.n_nationkey = "_S0".C_NATIONKEY + ON NATION.N_NATIONKEY = "_s0".C_NATIONKEY GROUP BY - "_S0".C_MKTSEGMENT, - NATION.n_name + "_s0".C_MKTSEGMENT, + NATION.N_NAME ) SELECT - "_S3".C_MKTSEGMENT AS market_segment, + "_s3".C_MKTSEGMENT AS market_segment, ROUND( MAX( ( 100.0 * ( ( - "_S3".SUM_SUM_C_ACCTBAL / "_S3".SUM_COUNT_C_ACCTBAL - ) - "_S2".AVG_C_ACCTBAL + "_s3".SUM_SUM_C_ACCTBAL / "_s3".SUM_COUNT_C_ACCTBAL + ) - "_s2".AVG_C_ACCTBAL ) - ) / "_S2".AVG_C_ACCTBAL + ) / "_s2".AVG_C_ACCTBAL ), 2 ) AS max_nation_pct_diff -FROM "_S2" "_S2" -CROSS JOIN "_S3" "_S3" +FROM "_s2" "_s2" +CROSS JOIN "_s3" "_s3" GROUP BY - "_S3".C_MKTSEGMENT + "_s3".C_MKTSEGMENT diff --git a/tests/test_sql_refsols/global_double_partition_oracle.sql b/tests/test_sql_refsols/global_double_partition_oracle.sql index 34337d97a..50546ddbd 100644 --- a/tests/test_sql_refsols/global_double_partition_oracle.sql +++ b/tests/test_sql_refsols/global_double_partition_oracle.sql @@ -1,37 +1,37 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - AVG(c_acctbal) AS AVG_C_ACCTBAL + AVG(C_ACCTBAL) AS AVG_C_ACCTBAL FROM TPCH.CUSTOMER -), "_S2" AS ( +), "_s2" AS ( SELECT - CUSTOMER.c_mktsegment AS C_MKTSEGMENT, - CUSTOMER.c_nationkey AS C_NATIONKEY, + CUSTOMER.C_MKTSEGMENT, + CUSTOMER.C_NATIONKEY, MAX( ( 100.0 * ( - CUSTOMER.c_acctbal - "_S0".AVG_C_ACCTBAL + CUSTOMER.C_ACCTBAL - "_s0".AVG_C_ACCTBAL ) - ) / "_S0".AVG_C_ACCTBAL + ) / "_s0".AVG_C_ACCTBAL ) AS MAX_PCT_DIFF - FROM "_S0" "_S0" + FROM "_s0" "_s0" CROSS JOIN TPCH.CUSTOMER CUSTOMER GROUP BY - CUSTOMER.c_mktsegment, - CUSTOMER.c_nationkey -), "_T1" AS ( + CUSTOMER.C_MKTSEGMENT, + CUSTOMER.C_NATIONKEY +), "_t1" AS ( SELECT - "_S2".C_MKTSEGMENT, - MAX("_S2".MAX_PCT_DIFF) AS MAX_MAX_PCT_DIFF - FROM "_S2" "_S2" + "_s2".C_MKTSEGMENT, + MAX("_s2".MAX_PCT_DIFF) AS MAX_MAX_PCT_DIFF + FROM "_s2" "_s2" JOIN TPCH.NATION NATION - ON NATION.n_nationkey = "_S2".C_NATIONKEY + ON NATION.N_NATIONKEY = "_s2".C_NATIONKEY GROUP BY - "_S2".C_MKTSEGMENT, - NATION.n_name + "_s2".C_MKTSEGMENT, + NATION.N_NAME ) SELECT C_MKTSEGMENT AS market_segment, ROUND(AVG(MAX_MAX_PCT_DIFF), 2) AS avg_max_pct_diff -FROM "_T1" +FROM "_t1" GROUP BY C_MKTSEGMENT diff --git a/tests/test_sql_refsols/has_cross_correlated_oracle.sql b/tests/test_sql_refsols/has_cross_correlated_oracle.sql index 09fe1f50d..7a18f7996 100644 --- a/tests/test_sql_refsols/has_cross_correlated_oracle.sql +++ b/tests/test_sql_refsols/has_cross_correlated_oracle.sql @@ -1,5 +1,5 @@ SELECT - COUNT(DISTINCT CUSTOMER.c_custkey) AS n + COUNT(DISTINCT CUSTOMER.C_CUSTKEY) AS n FROM TPCH.CUSTOMER CUSTOMER JOIN TPCH.SUPPLIER SUPPLIER - ON CUSTOMER.c_nationkey = SUPPLIER.s_nationkey + ON CUSTOMER.C_NATIONKEY = SUPPLIER.S_NATIONKEY diff --git a/tests/test_sql_refsols/has_cross_correlated_singular_ansi.sql b/tests/test_sql_refsols/has_cross_correlated_singular_ansi.sql index edf6ee242..04cea2894 100644 --- a/tests/test_sql_refsols/has_cross_correlated_singular_ansi.sql +++ b/tests/test_sql_refsols/has_cross_correlated_singular_ansi.sql @@ -1,5 +1,10 @@ +WITH _s1 AS ( + SELECT + n_nationkey + FROM tpch.nation +) SELECT COUNT(*) AS n FROM tpch.customer AS customer -JOIN tpch.nation AS nation - ON customer.c_nationkey = nation.n_nationkey +SEMI JOIN _s1 AS _s1 + ON _s1.n_nationkey = customer.c_nationkey diff --git a/tests/test_sql_refsols/has_cross_correlated_singular_oracle.sql b/tests/test_sql_refsols/has_cross_correlated_singular_oracle.sql index 9162d185a..1297f1442 100644 --- a/tests/test_sql_refsols/has_cross_correlated_singular_oracle.sql +++ b/tests/test_sql_refsols/has_cross_correlated_singular_oracle.sql @@ -1,14 +1,14 @@ WITH "_u_0" AS ( SELECT - n_nationkey AS "_u_1" + N_NATIONKEY AS "_u_1" FROM TPCH.NATION GROUP BY - n_nationkey + N_NATIONKEY ) SELECT COUNT(*) AS n FROM TPCH.CUSTOMER CUSTOMER LEFT JOIN "_u_0" "_u_0" - ON CUSTOMER.c_nationkey = "_u_0"."_u_1" + ON CUSTOMER.C_NATIONKEY = "_u_0"."_u_1" WHERE NOT "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/has_equals_one_oracle.sql b/tests/test_sql_refsols/has_equals_one_oracle.sql index c81355273..5f0131046 100644 --- a/tests/test_sql_refsols/has_equals_one_oracle.sql +++ b/tests/test_sql_refsols/has_equals_one_oracle.sql @@ -1,5 +1,5 @@ SELECT - COUNT(DISTINCT o_custkey) AS n + COUNT(DISTINCT O_CUSTKEY) AS n FROM TPCH.ORDERS WHERE - o_orderpriority = '1-URGENT' + O_ORDERPRIORITY = '1-URGENT' diff --git a/tests/test_sql_refsols/hasnot_equals_one_oracle.sql b/tests/test_sql_refsols/hasnot_equals_one_oracle.sql index c2f2d03a0..01e5e4daa 100644 --- a/tests/test_sql_refsols/hasnot_equals_one_oracle.sql +++ b/tests/test_sql_refsols/hasnot_equals_one_oracle.sql @@ -1,17 +1,17 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - o_custkey AS O_CUSTKEY, + O_CUSTKEY, COUNT(*) AS N_ROWS FROM TPCH.ORDERS WHERE - o_orderpriority = '1-URGENT' + O_ORDERPRIORITY = '1-URGENT' GROUP BY - o_custkey + O_CUSTKEY ) SELECT COUNT(*) AS n FROM TPCH.CUSTOMER CUSTOMER -LEFT JOIN "_S1" "_S1" - ON CUSTOMER.c_custkey = "_S1".O_CUSTKEY +LEFT JOIN "_s1" "_s1" + ON CUSTOMER.C_CUSTKEY = "_s1".O_CUSTKEY WHERE - "_S1".N_ROWS = 0 OR "_S1".N_ROWS IS NULL + "_s1".N_ROWS = 0 OR "_s1".N_ROWS IS NULL diff --git a/tests/test_sql_refsols/highest_priority_per_year_mysql.sql b/tests/test_sql_refsols/highest_priority_per_year_mysql.sql index 407899f6f..dcfb923e9 100644 --- a/tests/test_sql_refsols/highest_priority_per_year_mysql.sql +++ b/tests/test_sql_refsols/highest_priority_per_year_mysql.sql @@ -20,7 +20,10 @@ WITH _t3 AS ( o_orderpriority, year_o_orderdate, priority_pct, - ROW_NUMBER() OVER (PARTITION BY year_o_orderdate ORDER BY CASE WHEN priority_pct IS NULL THEN 1 ELSE 0 END DESC, priority_pct DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY year_o_orderdate + ORDER BY CASE WHEN priority_pct IS NULL THEN 1 ELSE 0 END DESC, priority_pct DESC + ) AS _w FROM _t2 ) SELECT diff --git a/tests/test_sql_refsols/highest_priority_per_year_oracle.sql b/tests/test_sql_refsols/highest_priority_per_year_oracle.sql index 0ff41cdb0..86717a4b5 100644 --- a/tests/test_sql_refsols/highest_priority_per_year_oracle.sql +++ b/tests/test_sql_refsols/highest_priority_per_year_oracle.sql @@ -1,34 +1,34 @@ -WITH "_T3" AS ( +WITH "_t3" AS ( SELECT - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) AS YEAR_O_ORDERDATE, - o_orderpriority AS O_ORDERPRIORITY, + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) AS YEAR_O_ORDERDATE, + O_ORDERPRIORITY, COUNT(*) AS N_ROWS FROM TPCH.ORDERS GROUP BY - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)), - o_orderpriority -), "_T2" AS ( + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)), + O_ORDERPRIORITY +), "_t2" AS ( SELECT O_ORDERPRIORITY, YEAR_O_ORDERDATE, ( 100.0 * N_ROWS ) / SUM(N_ROWS) OVER (PARTITION BY YEAR_O_ORDERDATE) AS PRIORITY_PCT - FROM "_T3" -), "_T" AS ( + FROM "_t3" +), "_t" AS ( SELECT O_ORDERPRIORITY, YEAR_O_ORDERDATE, PRIORITY_PCT, - ROW_NUMBER() OVER (PARTITION BY YEAR_O_ORDERDATE ORDER BY PRIORITY_PCT DESC) AS "_W" - FROM "_T2" + ROW_NUMBER() OVER (PARTITION BY YEAR_O_ORDERDATE ORDER BY PRIORITY_PCT DESC) AS "_w" + FROM "_t2" ) SELECT YEAR_O_ORDERDATE AS order_year, O_ORDERPRIORITY AS highest_priority, PRIORITY_PCT AS priority_pct -FROM "_T" +FROM "_t" WHERE - "_W" = 1 + "_w" = 1 ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/hour_minute_day_mysql.sql b/tests/test_sql_refsols/hour_minute_day_mysql.sql index d36962afd..d7586836e 100644 --- a/tests/test_sql_refsols/hour_minute_day_mysql.sql +++ b/tests/test_sql_refsols/hour_minute_day_mysql.sql @@ -1,13 +1,13 @@ SELECT - sbTransaction.sbtxid COLLATE utf8mb4_bin AS transaction_id, - HOUR(sbTransaction.sbtxdatetime) AS _expr0, - MINUTE(sbTransaction.sbtxdatetime) AS _expr1, - SECOND(sbTransaction.sbtxdatetime) AS _expr2 + sbTransaction.sbTxId COLLATE utf8mb4_bin AS transaction_id, + HOUR(sbTransaction.sbTxDateTime) AS _expr0, + MINUTE(sbTransaction.sbTxDateTime) AS _expr1, + SECOND(sbTransaction.sbTxDateTime) AS _expr2 FROM main.sbTransaction AS sbTransaction JOIN main.sbTicker AS sbTicker - ON sbTicker.sbtickerid = sbTransaction.sbtxtickerid - AND sbTicker.sbtickersymbol IN ('AAPL', 'GOOGL', 'NFLX') + ON sbTicker.sbTickerId = sbTransaction.sbTxTickerId + AND sbTicker.sbTickerSymbol IN ('AAPL', 'GOOGL', 'NFLX') WHERE - EXTRACT(YEAR FROM CAST(sbTransaction.sbtxdatetime AS DATETIME)) = 2023 + EXTRACT(YEAR FROM CAST(sbTransaction.sbTxDateTime AS DATETIME)) = 2023 ORDER BY 1 diff --git a/tests/test_sql_refsols/hour_minute_day_oracle.sql b/tests/test_sql_refsols/hour_minute_day_oracle.sql index 4dcfc7b07..350a262ba 100644 --- a/tests/test_sql_refsols/hour_minute_day_oracle.sql +++ b/tests/test_sql_refsols/hour_minute_day_oracle.sql @@ -1,13 +1,13 @@ SELECT - SBTRANSACTION.sbtxid AS transaction_id, - EXTRACT(HOUR FROM CAST(SBTRANSACTION.sbtxdatetime AS TIMESTAMP)) AS "_expr0", - EXTRACT(MINUTE FROM CAST(SBTRANSACTION.sbtxdatetime AS TIMESTAMP)) AS "_expr1", - EXTRACT(SECOND FROM CAST(SBTRANSACTION.sbtxdatetime AS TIMESTAMP)) AS "_expr2" + SBTRANSACTION.SBTXID AS transaction_id, + EXTRACT(HOUR FROM CAST(SBTRANSACTION.SBTXDATETIME AS TIMESTAMP)) AS "_expr0", + EXTRACT(MINUTE FROM CAST(SBTRANSACTION.SBTXDATETIME AS TIMESTAMP)) AS "_expr1", + EXTRACT(SECOND FROM CAST(SBTRANSACTION.SBTXDATETIME AS TIMESTAMP)) AS "_expr2" FROM MAIN.SBTRANSACTION SBTRANSACTION JOIN MAIN.SBTICKER SBTICKER - ON SBTICKER.sbtickerid = SBTRANSACTION.sbtxtickerid - AND SBTICKER.sbtickersymbol IN ('AAPL', 'GOOGL', 'NFLX') + ON SBTICKER.SBTICKERID = SBTRANSACTION.SBTXTICKERID + AND SBTICKER.SBTICKERSYMBOL IN ('AAPL', 'GOOGL', 'NFLX') WHERE - EXTRACT(YEAR FROM CAST(SBTRANSACTION.sbtxdatetime AS DATE)) = 2023 + EXTRACT(YEAR FROM CAST(SBTRANSACTION.SBTXDATETIME AS DATE)) = 2023 ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/keywords_alias_reserved_word_ansi.sql b/tests/test_sql_refsols/keywords_alias_reserved_word_ansi.sql index 8a3ab4723..7978dc3f8 100644 --- a/tests/test_sql_refsols/keywords_alias_reserved_word_ansi.sql +++ b/tests/test_sql_refsols/keywords_alias_reserved_word_ansi.sql @@ -1,12 +1,12 @@ SELECT - COALESCE("WHERE".default_to, "WHERE".".CALCULATE") AS calculate2, + COALESCE("where".default_to, "where".".CALCULATE") AS calculate2, calculate.".WHERE" AS "_where", calculate."LIKE" AS "_like", calculate.datetime, - "WHERE".abs, - "WHERE".has -FROM keywords."WHERE" AS "WHERE" + "where".abs, + "where".has +FROM keywords."WHERE" AS "where" JOIN keywords.calculate AS calculate - ON "WHERE".".CALCULATE" = calculate.".WHERE" + ON "where".".CALCULATE" = calculate.".WHERE" WHERE - "WHERE".".CALCULATE" = 4 AND "WHERE".present IS NULL + "where".".CALCULATE" = 4 AND "where".present IS NULL diff --git a/tests/test_sql_refsols/keywords_alias_reserved_word_mysql.sql b/tests/test_sql_refsols/keywords_alias_reserved_word_mysql.sql index ba06c338d..e2e8861ac 100644 --- a/tests/test_sql_refsols/keywords_alias_reserved_word_mysql.sql +++ b/tests/test_sql_refsols/keywords_alias_reserved_word_mysql.sql @@ -1,12 +1,12 @@ SELECT - COALESCE(`WHERE`.default_to, `WHERE`.`.CALCULATE`) AS calculate2, + COALESCE(`WHERE`.DEFAULT_TO, `WHERE`.`.CALCULATE`) AS calculate2, CALCULATE.`.WHERE` AS `_where`, CALCULATE.`LIKE` AS `_like`, - CALCULATE.datetime, - `WHERE`.abs, - `WHERE`.has + CALCULATE.DATETIME AS datetime, + `WHERE`.ABS AS abs, + `WHERE`.HAS AS has FROM keywords.`WHERE` AS `WHERE` JOIN keywords.CALCULATE AS CALCULATE ON `WHERE`.`.CALCULATE` = CALCULATE.`.WHERE` WHERE - `WHERE`.`.CALCULATE` = 4 AND `WHERE`.present IS NULL + `WHERE`.`.CALCULATE` = 4 AND `WHERE`.PRESENT IS NULL diff --git a/tests/test_sql_refsols/keywords_alias_reserved_word_oracle.sql b/tests/test_sql_refsols/keywords_alias_reserved_word_oracle.sql index 6207119eb..198900d09 100644 --- a/tests/test_sql_refsols/keywords_alias_reserved_word_oracle.sql +++ b/tests/test_sql_refsols/keywords_alias_reserved_word_oracle.sql @@ -1,12 +1,12 @@ SELECT - COALESCE("WHERE".default_to, "WHERE".".CALCULATE") AS calculate2, + COALESCE("WHERE".DEFAULT_TO, "WHERE".".CALCULATE") AS calculate2, CALCULATE.".WHERE" AS "_where", CALCULATE."LIKE" AS "_like", - CALCULATE.datetime, - "WHERE".abs, - "WHERE".has + CALCULATE.DATETIME AS datetime, + "WHERE".ABS AS abs, + "WHERE".HAS AS has FROM KEYWORDS."WHERE" "WHERE" JOIN KEYWORDS.CALCULATE CALCULATE ON "WHERE".".CALCULATE" = CALCULATE.".WHERE" WHERE - "WHERE".".CALCULATE" = 4 AND "WHERE".present IS NULL + "WHERE".".CALCULATE" = 4 AND "WHERE".PRESENT IS NULL diff --git a/tests/test_sql_refsols/keywords_alias_reserved_word_postgres.sql b/tests/test_sql_refsols/keywords_alias_reserved_word_postgres.sql index 8a3ab4723..7978dc3f8 100644 --- a/tests/test_sql_refsols/keywords_alias_reserved_word_postgres.sql +++ b/tests/test_sql_refsols/keywords_alias_reserved_word_postgres.sql @@ -1,12 +1,12 @@ SELECT - COALESCE("WHERE".default_to, "WHERE".".CALCULATE") AS calculate2, + COALESCE("where".default_to, "where".".CALCULATE") AS calculate2, calculate.".WHERE" AS "_where", calculate."LIKE" AS "_like", calculate.datetime, - "WHERE".abs, - "WHERE".has -FROM keywords."WHERE" AS "WHERE" + "where".abs, + "where".has +FROM keywords."WHERE" AS "where" JOIN keywords.calculate AS calculate - ON "WHERE".".CALCULATE" = calculate.".WHERE" + ON "where".".CALCULATE" = calculate.".WHERE" WHERE - "WHERE".".CALCULATE" = 4 AND "WHERE".present IS NULL + "where".".CALCULATE" = 4 AND "where".present IS NULL diff --git a/tests/test_sql_refsols/keywords_alias_reserved_word_snowflake.sql b/tests/test_sql_refsols/keywords_alias_reserved_word_snowflake.sql index 8a3ab4723..7978dc3f8 100644 --- a/tests/test_sql_refsols/keywords_alias_reserved_word_snowflake.sql +++ b/tests/test_sql_refsols/keywords_alias_reserved_word_snowflake.sql @@ -1,12 +1,12 @@ SELECT - COALESCE("WHERE".default_to, "WHERE".".CALCULATE") AS calculate2, + COALESCE("where".default_to, "where".".CALCULATE") AS calculate2, calculate.".WHERE" AS "_where", calculate."LIKE" AS "_like", calculate.datetime, - "WHERE".abs, - "WHERE".has -FROM keywords."WHERE" AS "WHERE" + "where".abs, + "where".has +FROM keywords."WHERE" AS "where" JOIN keywords.calculate AS calculate - ON "WHERE".".CALCULATE" = calculate.".WHERE" + ON "where".".CALCULATE" = calculate.".WHERE" WHERE - "WHERE".".CALCULATE" = 4 AND "WHERE".present IS NULL + "where".".CALCULATE" = 4 AND "where".present IS NULL diff --git a/tests/test_sql_refsols/keywords_cast_alias_and_missing_alias_ansi.sql b/tests/test_sql_refsols/keywords_cast_alias_and_missing_alias_ansi.sql index da3b6ef6c..abbd20cf7 100644 --- a/tests/test_sql_refsols/keywords_cast_alias_and_missing_alias_ansi.sql +++ b/tests/test_sql_refsols/keywords_cast_alias_and_missing_alias_ansi.sql @@ -1,12 +1,12 @@ SELECT - "CAST".id2 AS id1, - "CAST".id AS id2, + "cast".id2 AS id1, + "cast".id AS id2, "lowercase_detail"."select" AS "fk1_select", "lowercase_detail"."as" AS "fk1_as", lowercase_detail_2."two words" AS "fk2_two_words" -FROM keywords."CAST" AS "CAST" +FROM keywords."CAST" AS "cast" JOIN keywords."lowercase_detail" AS "lowercase_detail" - ON "CAST".id2 = "lowercase_detail".id + ON "cast".id2 = "lowercase_detail".id AND "lowercase_detail"."0 = 0 and '" = '2 "0 = 0 and ''" field name' JOIN keywords."lowercase_detail" AS lowercase_detail_2 - ON "CAST".id = lowercase_detail_2.id AND lowercase_detail_2.id = 1 + ON "cast".id = lowercase_detail_2.id AND lowercase_detail_2.id = 1 diff --git a/tests/test_sql_refsols/keywords_cast_alias_and_missing_alias_mysql.sql b/tests/test_sql_refsols/keywords_cast_alias_and_missing_alias_mysql.sql index c78f5b8f7..c186bd347 100644 --- a/tests/test_sql_refsols/keywords_cast_alias_and_missing_alias_mysql.sql +++ b/tests/test_sql_refsols/keywords_cast_alias_and_missing_alias_mysql.sql @@ -1,12 +1,12 @@ SELECT - `CAST`.id2 AS id1, - `CAST`.id AS id2, + `CAST`.ID2 AS id1, + `CAST`.ID AS id2, `lowercase_detail`.`select` AS `fk1_select`, `lowercase_detail`.`as` AS `fk1_as`, lowercase_detail_2.`two words` AS `fk2_two_words` FROM keywords.`CAST` AS `CAST` JOIN keywords.`lowercase_detail` AS `lowercase_detail` - ON `CAST`.id2 = `lowercase_detail`.id + ON `CAST`.ID2 = `lowercase_detail`.id AND `lowercase_detail`.`0 = 0 and '` = '2 "0 = 0 and ''" field name' JOIN keywords.`lowercase_detail` AS lowercase_detail_2 - ON `CAST`.id = lowercase_detail_2.id AND lowercase_detail_2.id = 1 + ON `CAST`.ID = lowercase_detail_2.id AND lowercase_detail_2.id = 1 diff --git a/tests/test_sql_refsols/keywords_cast_alias_and_missing_alias_oracle.sql b/tests/test_sql_refsols/keywords_cast_alias_and_missing_alias_oracle.sql index 648838cd5..48fd99b41 100644 --- a/tests/test_sql_refsols/keywords_cast_alias_and_missing_alias_oracle.sql +++ b/tests/test_sql_refsols/keywords_cast_alias_and_missing_alias_oracle.sql @@ -1,12 +1,12 @@ SELECT - "CAST".id2 AS id1, - "CAST".id AS id2, - "lowercase_detail"."select" AS "fk1_select", - "lowercase_detail"."as" AS "fk1_as", - lowercase_detail_2."two words" AS "fk2_two_words" + "CAST".ID2 AS id1, + "CAST".ID AS id2, + "LOWERCASE_DETAIL"."select" AS "fk1_select", + "LOWERCASE_DETAIL"."as" AS "fk1_as", + LOWERCASE_DETAIL_2."two words" AS "fk2_two_words" FROM KEYWORDS."CAST" "CAST" -JOIN KEYWORDS."lowercase_detail" "lowercase_detail" - ON "CAST".id2 = "lowercase_detail".id - AND "lowercase_detail"."0 = 0 and '" = '2 "0 = 0 and ''" field name' -JOIN KEYWORDS."lowercase_detail" lowercase_detail_2 - ON "CAST".id = lowercase_detail_2.id AND lowercase_detail_2.id = 1 +JOIN KEYWORDS."lowercase_detail" "LOWERCASE_DETAIL" + ON "CAST".ID2 = "LOWERCASE_DETAIL".ID + AND "LOWERCASE_DETAIL"."0 = 0 and '" = '2 "0 = 0 and ''" field name' +JOIN KEYWORDS."lowercase_detail" LOWERCASE_DETAIL_2 + ON "CAST".ID = LOWERCASE_DETAIL_2.ID AND LOWERCASE_DETAIL_2.ID = 1 diff --git a/tests/test_sql_refsols/keywords_cast_alias_and_missing_alias_postgres.sql b/tests/test_sql_refsols/keywords_cast_alias_and_missing_alias_postgres.sql index da3b6ef6c..abbd20cf7 100644 --- a/tests/test_sql_refsols/keywords_cast_alias_and_missing_alias_postgres.sql +++ b/tests/test_sql_refsols/keywords_cast_alias_and_missing_alias_postgres.sql @@ -1,12 +1,12 @@ SELECT - "CAST".id2 AS id1, - "CAST".id AS id2, + "cast".id2 AS id1, + "cast".id AS id2, "lowercase_detail"."select" AS "fk1_select", "lowercase_detail"."as" AS "fk1_as", lowercase_detail_2."two words" AS "fk2_two_words" -FROM keywords."CAST" AS "CAST" +FROM keywords."CAST" AS "cast" JOIN keywords."lowercase_detail" AS "lowercase_detail" - ON "CAST".id2 = "lowercase_detail".id + ON "cast".id2 = "lowercase_detail".id AND "lowercase_detail"."0 = 0 and '" = '2 "0 = 0 and ''" field name' JOIN keywords."lowercase_detail" AS lowercase_detail_2 - ON "CAST".id = lowercase_detail_2.id AND lowercase_detail_2.id = 1 + ON "cast".id = lowercase_detail_2.id AND lowercase_detail_2.id = 1 diff --git a/tests/test_sql_refsols/keywords_cast_alias_and_missing_alias_snowflake.sql b/tests/test_sql_refsols/keywords_cast_alias_and_missing_alias_snowflake.sql index 3aa531ecc..ed59a5ad0 100644 --- a/tests/test_sql_refsols/keywords_cast_alias_and_missing_alias_snowflake.sql +++ b/tests/test_sql_refsols/keywords_cast_alias_and_missing_alias_snowflake.sql @@ -1,12 +1,12 @@ SELECT - "CAST".id2 AS id1, - "CAST".id AS id2, + "cast".id2 AS id1, + "cast".id AS id2, "lowercase_detail"."select" AS "fk1_select", "lowercase_detail"."as" AS "fk1_as", lowercase_detail_2."two words" AS "fk2_two_words" -FROM keywords."CAST" AS "CAST" +FROM keywords."CAST" AS "cast" JOIN keywords."lowercase_detail" AS "lowercase_detail" - ON "CAST".id2 = "lowercase_detail".id + ON "cast".id2 = "lowercase_detail".id AND "lowercase_detail"."0 = 0 and '" = '2 "0 = 0 and \'" field name' JOIN keywords."lowercase_detail" AS lowercase_detail_2 - ON "CAST".id = lowercase_detail_2.id AND lowercase_detail_2.id = 1 + ON "cast".id = lowercase_detail_2.id AND lowercase_detail_2.id = 1 diff --git a/tests/test_sql_refsols/keywords_column_alias_reserved_ansi.sql b/tests/test_sql_refsols/keywords_column_alias_reserved_ansi.sql index 957d6bc51..6a119a547 100644 --- a/tests/test_sql_refsols/keywords_column_alias_reserved_ansi.sql +++ b/tests/test_sql_refsols/keywords_column_alias_reserved_ansi.sql @@ -1,14 +1,14 @@ SELECT "MixedCase_1:1"."Id" AS "id_", "MixedCase_1:1"."LowerCaseId" AS "LowerCaseID", - "UPPERCASE_MASTER"."INTEGER" AS "integer", + "uppercase_master"."INTEGER" AS "integer", "lowercase_detail"."as" AS "as_", - "UPPERCASE_MASTER"."ORDER BY" AS "order_" + "uppercase_master"."ORDER BY" AS "order_" FROM keywords."MixedCase_1:1" AS "MixedCase_1:1" JOIN keywords."lowercase_detail" AS "lowercase_detail" ON "MixedCase_1:1"."LowerCaseId" = "lowercase_detail".id AND "lowercase_detail"."as" = '10 as reserved word' -JOIN keywords."UPPERCASE_MASTER" AS "UPPERCASE_MASTER" - ON "MixedCase_1:1"."Id" = "UPPERCASE_MASTER".id +JOIN keywords."UPPERCASE_MASTER" AS "uppercase_master" + ON "MixedCase_1:1"."Id" = "uppercase_master".id WHERE "MixedCase_1:1"."(parentheses)" = '5 (parentheses)' diff --git a/tests/test_sql_refsols/keywords_column_alias_reserved_mysql.sql b/tests/test_sql_refsols/keywords_column_alias_reserved_mysql.sql index 72ea1c4d2..eb13bc6a9 100644 --- a/tests/test_sql_refsols/keywords_column_alias_reserved_mysql.sql +++ b/tests/test_sql_refsols/keywords_column_alias_reserved_mysql.sql @@ -9,6 +9,6 @@ JOIN keywords.`lowercase_detail` AS `lowercase_detail` ON `MixedCase_1:1`.`LowerCaseId` = `lowercase_detail`.id AND `lowercase_detail`.`as` = '10 as reserved word' JOIN keywords.`UPPERCASE_MASTER` AS `UPPERCASE_MASTER` - ON `MixedCase_1:1`.`Id` = `UPPERCASE_MASTER`.id + ON `MixedCase_1:1`.`Id` = `UPPERCASE_MASTER`.ID WHERE `MixedCase_1:1`.`(parentheses)` = '5 (parentheses)' diff --git a/tests/test_sql_refsols/keywords_column_alias_reserved_oracle.sql b/tests/test_sql_refsols/keywords_column_alias_reserved_oracle.sql index 8affdea49..6e7b4137c 100644 --- a/tests/test_sql_refsols/keywords_column_alias_reserved_oracle.sql +++ b/tests/test_sql_refsols/keywords_column_alias_reserved_oracle.sql @@ -2,13 +2,13 @@ SELECT "MixedCase_1:1"."Id" AS "id_", "MixedCase_1:1"."LowerCaseId" AS "LowerCaseID", "UPPERCASE_MASTER"."INTEGER" AS "integer", - "lowercase_detail"."as" AS "as_", + "LOWERCASE_DETAIL"."as" AS "as_", "UPPERCASE_MASTER"."ORDER BY" AS "order_" FROM KEYWORDS."MixedCase_1:1" "MixedCase_1:1" -JOIN KEYWORDS."lowercase_detail" "lowercase_detail" - ON "MixedCase_1:1"."LowerCaseId" = "lowercase_detail".id - AND "lowercase_detail"."as" = '10 as reserved word' +JOIN KEYWORDS."lowercase_detail" "LOWERCASE_DETAIL" + ON "LOWERCASE_DETAIL"."as" = '10 as reserved word' + AND "LOWERCASE_DETAIL".ID = "MixedCase_1:1"."LowerCaseId" JOIN KEYWORDS."UPPERCASE_MASTER" "UPPERCASE_MASTER" - ON "MixedCase_1:1"."Id" = "UPPERCASE_MASTER".id + ON "MixedCase_1:1"."Id" = "UPPERCASE_MASTER".ID WHERE "MixedCase_1:1"."(parentheses)" = '5 (parentheses)' diff --git a/tests/test_sql_refsols/keywords_column_alias_reserved_postgres.sql b/tests/test_sql_refsols/keywords_column_alias_reserved_postgres.sql index 957d6bc51..6a119a547 100644 --- a/tests/test_sql_refsols/keywords_column_alias_reserved_postgres.sql +++ b/tests/test_sql_refsols/keywords_column_alias_reserved_postgres.sql @@ -1,14 +1,14 @@ SELECT "MixedCase_1:1"."Id" AS "id_", "MixedCase_1:1"."LowerCaseId" AS "LowerCaseID", - "UPPERCASE_MASTER"."INTEGER" AS "integer", + "uppercase_master"."INTEGER" AS "integer", "lowercase_detail"."as" AS "as_", - "UPPERCASE_MASTER"."ORDER BY" AS "order_" + "uppercase_master"."ORDER BY" AS "order_" FROM keywords."MixedCase_1:1" AS "MixedCase_1:1" JOIN keywords."lowercase_detail" AS "lowercase_detail" ON "MixedCase_1:1"."LowerCaseId" = "lowercase_detail".id AND "lowercase_detail"."as" = '10 as reserved word' -JOIN keywords."UPPERCASE_MASTER" AS "UPPERCASE_MASTER" - ON "MixedCase_1:1"."Id" = "UPPERCASE_MASTER".id +JOIN keywords."UPPERCASE_MASTER" AS "uppercase_master" + ON "MixedCase_1:1"."Id" = "uppercase_master".id WHERE "MixedCase_1:1"."(parentheses)" = '5 (parentheses)' diff --git a/tests/test_sql_refsols/keywords_column_alias_reserved_snowflake.sql b/tests/test_sql_refsols/keywords_column_alias_reserved_snowflake.sql index 957d6bc51..6a119a547 100644 --- a/tests/test_sql_refsols/keywords_column_alias_reserved_snowflake.sql +++ b/tests/test_sql_refsols/keywords_column_alias_reserved_snowflake.sql @@ -1,14 +1,14 @@ SELECT "MixedCase_1:1"."Id" AS "id_", "MixedCase_1:1"."LowerCaseId" AS "LowerCaseID", - "UPPERCASE_MASTER"."INTEGER" AS "integer", + "uppercase_master"."INTEGER" AS "integer", "lowercase_detail"."as" AS "as_", - "UPPERCASE_MASTER"."ORDER BY" AS "order_" + "uppercase_master"."ORDER BY" AS "order_" FROM keywords."MixedCase_1:1" AS "MixedCase_1:1" JOIN keywords."lowercase_detail" AS "lowercase_detail" ON "MixedCase_1:1"."LowerCaseId" = "lowercase_detail".id AND "lowercase_detail"."as" = '10 as reserved word' -JOIN keywords."UPPERCASE_MASTER" AS "UPPERCASE_MASTER" - ON "MixedCase_1:1"."Id" = "UPPERCASE_MASTER".id +JOIN keywords."UPPERCASE_MASTER" AS "uppercase_master" + ON "MixedCase_1:1"."Id" = "uppercase_master".id WHERE "MixedCase_1:1"."(parentheses)" = '5 (parentheses)' diff --git a/tests/test_sql_refsols/keywords_expr_call_quoted_names_oracle.sql b/tests/test_sql_refsols/keywords_expr_call_quoted_names_oracle.sql index a8aa9e9fc..bd2d7553b 100644 --- a/tests/test_sql_refsols/keywords_expr_call_quoted_names_oracle.sql +++ b/tests/test_sql_refsols/keywords_expr_call_quoted_names_oracle.sql @@ -1,8 +1,8 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT MAX("WHERE") AS MAX_WHERE FROM KEYWORDS."PARTITION" -), "_S1" AS ( +), "_s1" AS ( SELECT AVG("= ""QUOTE""") AS AVG_QUOTE, COUNT("`cast`") AS COUNT_CAST, @@ -12,11 +12,11 @@ WITH "_S0" AS ( FROM KEYWORDS."""QUOTED TABLE_NAME""" ) SELECT - "_S0".MAX_WHERE AS max_where, - "_S1".MIN_QUOTE AS min_quote, - "_S1".MAX_NAME AS max_name, - "_S1".COUNT_CAST AS count_cast, - "_S1".AVG_QUOTE AS quote_avg, - COALESCE("_S1".SUM_NAME, 0) AS sum_name -FROM "_S0" "_S0" -CROSS JOIN "_S1" "_S1" + "_s0".MAX_WHERE AS max_where, + "_s1".MIN_QUOTE AS min_quote, + "_s1".MAX_NAME AS max_name, + "_s1".COUNT_CAST AS count_cast, + "_s1".AVG_QUOTE AS quote_avg, + COALESCE("_s1".SUM_NAME, 0) AS sum_name +FROM "_s0" "_s0" +CROSS JOIN "_s1" "_s1" diff --git a/tests/test_sql_refsols/keywords_locals_globals_eval_ansi.sql b/tests/test_sql_refsols/keywords_locals_globals_eval_ansi.sql index c5b9c4264..8fb753cf5 100644 --- a/tests/test_sql_refsols/keywords_locals_globals_eval_ansi.sql +++ b/tests/test_sql_refsols/keywords_locals_globals_eval_ansi.sql @@ -1,9 +1,9 @@ SELECT - "COUNT".node, - "CAST".types, + "count".node, + "cast".types, 2.0 AS expr -FROM keywords."COUNT" AS "COUNT" -JOIN keywords."CAST" AS "CAST" - ON "CAST".pk_field_name = "COUNT".this +FROM keywords."COUNT" AS "count" +JOIN keywords."CAST" AS "cast" + ON "cast".pk_field_name = "count".this WHERE - "COUNT".node = 4071 + "count".node = 4071 diff --git a/tests/test_sql_refsols/keywords_locals_globals_eval_mysql.sql b/tests/test_sql_refsols/keywords_locals_globals_eval_mysql.sql index 54517d927..cb75313d4 100644 --- a/tests/test_sql_refsols/keywords_locals_globals_eval_mysql.sql +++ b/tests/test_sql_refsols/keywords_locals_globals_eval_mysql.sql @@ -4,6 +4,6 @@ SELECT 2.0 AS expr FROM keywords.`COUNT` AS `COUNT` JOIN keywords.`CAST` AS `CAST` - ON `CAST`.pk_field_name = `COUNT`.this + ON `CAST`.PK_FIELD_NAME = `COUNT`.this WHERE `COUNT`.node = 4071 diff --git a/tests/test_sql_refsols/keywords_locals_globals_eval_oracle.sql b/tests/test_sql_refsols/keywords_locals_globals_eval_oracle.sql index 961b216cd..3160a7218 100644 --- a/tests/test_sql_refsols/keywords_locals_globals_eval_oracle.sql +++ b/tests/test_sql_refsols/keywords_locals_globals_eval_oracle.sql @@ -1,9 +1,9 @@ SELECT - "COUNT".node, - "CAST".types, + "COUNT".NODE AS node, + "CAST".TYPES AS types, 2.0 AS expr FROM KEYWORDS."COUNT" "COUNT" JOIN KEYWORDS."CAST" "CAST" - ON "CAST".pk_field_name = "COUNT".this + ON "CAST".PK_FIELD_NAME = "COUNT".THIS WHERE - "COUNT".node = 4071 + "COUNT".NODE = 4071 diff --git a/tests/test_sql_refsols/keywords_locals_globals_eval_postgres.sql b/tests/test_sql_refsols/keywords_locals_globals_eval_postgres.sql index c5b9c4264..8fb753cf5 100644 --- a/tests/test_sql_refsols/keywords_locals_globals_eval_postgres.sql +++ b/tests/test_sql_refsols/keywords_locals_globals_eval_postgres.sql @@ -1,9 +1,9 @@ SELECT - "COUNT".node, - "CAST".types, + "count".node, + "cast".types, 2.0 AS expr -FROM keywords."COUNT" AS "COUNT" -JOIN keywords."CAST" AS "CAST" - ON "CAST".pk_field_name = "COUNT".this +FROM keywords."COUNT" AS "count" +JOIN keywords."CAST" AS "cast" + ON "cast".pk_field_name = "count".this WHERE - "COUNT".node = 4071 + "count".node = 4071 diff --git a/tests/test_sql_refsols/keywords_locals_globals_eval_snowflake.sql b/tests/test_sql_refsols/keywords_locals_globals_eval_snowflake.sql index c5b9c4264..8fb753cf5 100644 --- a/tests/test_sql_refsols/keywords_locals_globals_eval_snowflake.sql +++ b/tests/test_sql_refsols/keywords_locals_globals_eval_snowflake.sql @@ -1,9 +1,9 @@ SELECT - "COUNT".node, - "CAST".types, + "count".node, + "cast".types, 2.0 AS expr -FROM keywords."COUNT" AS "COUNT" -JOIN keywords."CAST" AS "CAST" - ON "CAST".pk_field_name = "COUNT".this +FROM keywords."COUNT" AS "count" +JOIN keywords."CAST" AS "cast" + ON "cast".pk_field_name = "count".this WHERE - "COUNT".node = 4071 + "count".node = 4071 diff --git a/tests/test_sql_refsols/keywords_python_sql_reserved_oracle.sql b/tests/test_sql_refsols/keywords_python_sql_reserved_oracle.sql index ff85e4c70..9a14866b1 100644 --- a/tests/test_sql_refsols/keywords_python_sql_reserved_oracle.sql +++ b/tests/test_sql_refsols/keywords_python_sql_reserved_oracle.sql @@ -1,11 +1,11 @@ SELECT """," AS "dbl_quote_dot", "." AS "dot", - "." + COALESCE("FLOAT", str, 1) AS addition, + "." + COALESCE("FLOAT", STR, 1) AS addition, "__col__" AS "col", "__col1__" AS "col1", - def AS def_, - del AS "__del__", + DEF AS def_, + DEL AS "__del__", "__init__" FROM KEYWORDS."COUNT" WHERE diff --git a/tests/test_sql_refsols/keywords_quoted_table_name_ansi.sql b/tests/test_sql_refsols/keywords_quoted_table_name_ansi.sql index 5ed1fe4de..f3a73e587 100644 --- a/tests/test_sql_refsols/keywords_quoted_table_name_ansi.sql +++ b/tests/test_sql_refsols/keywords_quoted_table_name_ansi.sql @@ -1,12 +1,11 @@ SELECT - """QUOTED TABLE_NAME"""."`cast`" AS "cast_", - """QUOTED TABLE_NAME"""."`name""[" AS "name", - """QUOTED TABLE_NAME"""."= ""QUOTE""" AS "quote_", + "QUOTED TABLE_NAME"."`cast`" AS "cast_", + "QUOTED TABLE_NAME"."`name""[" AS "name", + "QUOTED TABLE_NAME"."= ""QUOTE""" AS "quote_", "lowercase_detail"."0 = 0 and '" AS "_0_0_and", "lowercase_detail"."as" AS "as_" -FROM keywords."""QUOTED TABLE_NAME""" AS """QUOTED TABLE_NAME""" +FROM keywords."""QUOTED TABLE_NAME""" AS "QUOTED TABLE_NAME" JOIN keywords."lowercase_detail" AS "lowercase_detail" - ON """QUOTED TABLE_NAME"""."`name""[" = "lowercase_detail".id + ON "QUOTED TABLE_NAME"."`name""[" = "lowercase_detail".id WHERE - """QUOTED TABLE_NAME"""."= ""QUOTE""" = 4 - AND """QUOTED TABLE_NAME"""."`name""[" = 7 + "QUOTED TABLE_NAME"."= ""QUOTE""" = 4 AND "QUOTED TABLE_NAME"."`name""[" = 7 diff --git a/tests/test_sql_refsols/keywords_quoted_table_name_duckdb.sql b/tests/test_sql_refsols/keywords_quoted_table_name_duckdb.sql index ed86f2957..ad7728c52 100644 --- a/tests/test_sql_refsols/keywords_quoted_table_name_duckdb.sql +++ b/tests/test_sql_refsols/keywords_quoted_table_name_duckdb.sql @@ -1,12 +1,11 @@ SELECT - """quoted table_name"""."`cast`" AS "cast_", - """quoted table_name"""."`name""[" AS "name", - """quoted table_name"""."= ""quote""" AS "quote_", + "quoted table_name"."`cast`" AS "cast_", + "quoted table_name"."`name""[" AS "name", + "quoted table_name"."= ""quote""" AS "quote_", "lowercase_detail"."0 = 0 and '" AS "_0_0_and", "lowercase_detail"."as" AS "as_" -FROM keywords."""quoted table_name""" AS """quoted table_name""" +FROM keywords."""quoted table_name""" AS "quoted table_name" JOIN keywords."lowercase_detail" AS "lowercase_detail" - ON """quoted table_name"""."`name""[" = "lowercase_detail".id + ON "lowercase_detail".id = "quoted table_name"."`name""[" WHERE - """quoted table_name"""."= ""quote""" = 4 - AND """quoted table_name"""."`name""[" = 7 + "quoted table_name"."= ""quote""" = 4 AND "quoted table_name"."`name""[" = 7 diff --git a/tests/test_sql_refsols/keywords_quoted_table_name_mysql.sql b/tests/test_sql_refsols/keywords_quoted_table_name_mysql.sql index 84b6fe2ac..ad489be01 100644 --- a/tests/test_sql_refsols/keywords_quoted_table_name_mysql.sql +++ b/tests/test_sql_refsols/keywords_quoted_table_name_mysql.sql @@ -1,11 +1,11 @@ SELECT - `"QUOTED TABLE_NAME"`.```cast``` AS `cast_`, - `"QUOTED TABLE_NAME"`.```name"[` AS `name`, - `"QUOTED TABLE_NAME"`.`= "QUOTE"` AS `quote_`, + `QUOTED TABLE_NAME`.```cast``` AS `cast_`, + `QUOTED TABLE_NAME`.```name"[` AS `name`, + `QUOTED TABLE_NAME`.`= "QUOTE"` AS `quote_`, `lowercase_detail`.`0 = 0 and '` AS `_0_0_and`, `lowercase_detail`.`as` AS `as_` -FROM keywords.`"QUOTED TABLE_NAME"` AS `"QUOTED TABLE_NAME"` +FROM keywords.`"QUOTED TABLE_NAME"` AS `QUOTED TABLE_NAME` JOIN keywords.`lowercase_detail` AS `lowercase_detail` - ON `"QUOTED TABLE_NAME"`.```name"[` = `lowercase_detail`.id + ON `QUOTED TABLE_NAME`.```name"[` = `lowercase_detail`.id WHERE - `"QUOTED TABLE_NAME"`.`= "QUOTE"` = 4 AND `"QUOTED TABLE_NAME"`.```name"[` = 7 + `QUOTED TABLE_NAME`.`= "QUOTE"` = 4 AND `QUOTED TABLE_NAME`.```name"[` = 7 diff --git a/tests/test_sql_refsols/keywords_quoted_table_name_oracle.sql b/tests/test_sql_refsols/keywords_quoted_table_name_oracle.sql index dcd4c1e88..cf61d2a49 100644 --- a/tests/test_sql_refsols/keywords_quoted_table_name_oracle.sql +++ b/tests/test_sql_refsols/keywords_quoted_table_name_oracle.sql @@ -1,12 +1,11 @@ SELECT - """QUOTED TABLE_NAME"""."`cast`" AS "cast_", - """QUOTED TABLE_NAME"""."`name""[" AS "name", - """QUOTED TABLE_NAME"""."= ""QUOTE""" AS "quote_", - "lowercase_detail"."0 = 0 and '" AS "_0_0_and", - "lowercase_detail"."as" AS "as_" -FROM KEYWORDS."""QUOTED TABLE_NAME""" """QUOTED TABLE_NAME""" -JOIN KEYWORDS."lowercase_detail" "lowercase_detail" - ON """QUOTED TABLE_NAME"""."`name""[" = "lowercase_detail".id + "QUOTED TABLE_NAME"."`cast`" AS "cast_", + "QUOTED TABLE_NAME"."`name""[" AS "name", + "QUOTED TABLE_NAME"."= ""QUOTE""" AS "quote_", + "LOWERCASE_DETAIL"."0 = 0 and '" AS "_0_0_and", + "LOWERCASE_DETAIL"."as" AS "as_" +FROM KEYWORDS."""QUOTED TABLE_NAME""" "QUOTED TABLE_NAME" +JOIN KEYWORDS."lowercase_detail" "LOWERCASE_DETAIL" + ON "LOWERCASE_DETAIL".ID = "QUOTED TABLE_NAME"."`name""[" WHERE - """QUOTED TABLE_NAME"""."= ""QUOTE""" = 4 - AND """QUOTED TABLE_NAME"""."`name""[" = 7 + "QUOTED TABLE_NAME"."= ""QUOTE""" = 4 AND "QUOTED TABLE_NAME"."`name""[" = 7 diff --git a/tests/test_sql_refsols/keywords_quoted_table_name_postgres.sql b/tests/test_sql_refsols/keywords_quoted_table_name_postgres.sql index 5ed1fe4de..f3a73e587 100644 --- a/tests/test_sql_refsols/keywords_quoted_table_name_postgres.sql +++ b/tests/test_sql_refsols/keywords_quoted_table_name_postgres.sql @@ -1,12 +1,11 @@ SELECT - """QUOTED TABLE_NAME"""."`cast`" AS "cast_", - """QUOTED TABLE_NAME"""."`name""[" AS "name", - """QUOTED TABLE_NAME"""."= ""QUOTE""" AS "quote_", + "QUOTED TABLE_NAME"."`cast`" AS "cast_", + "QUOTED TABLE_NAME"."`name""[" AS "name", + "QUOTED TABLE_NAME"."= ""QUOTE""" AS "quote_", "lowercase_detail"."0 = 0 and '" AS "_0_0_and", "lowercase_detail"."as" AS "as_" -FROM keywords."""QUOTED TABLE_NAME""" AS """QUOTED TABLE_NAME""" +FROM keywords."""QUOTED TABLE_NAME""" AS "QUOTED TABLE_NAME" JOIN keywords."lowercase_detail" AS "lowercase_detail" - ON """QUOTED TABLE_NAME"""."`name""[" = "lowercase_detail".id + ON "QUOTED TABLE_NAME"."`name""[" = "lowercase_detail".id WHERE - """QUOTED TABLE_NAME"""."= ""QUOTE""" = 4 - AND """QUOTED TABLE_NAME"""."`name""[" = 7 + "QUOTED TABLE_NAME"."= ""QUOTE""" = 4 AND "QUOTED TABLE_NAME"."`name""[" = 7 diff --git a/tests/test_sql_refsols/keywords_quoted_table_name_snowflake.sql b/tests/test_sql_refsols/keywords_quoted_table_name_snowflake.sql index 5ed1fe4de..f3a73e587 100644 --- a/tests/test_sql_refsols/keywords_quoted_table_name_snowflake.sql +++ b/tests/test_sql_refsols/keywords_quoted_table_name_snowflake.sql @@ -1,12 +1,11 @@ SELECT - """QUOTED TABLE_NAME"""."`cast`" AS "cast_", - """QUOTED TABLE_NAME"""."`name""[" AS "name", - """QUOTED TABLE_NAME"""."= ""QUOTE""" AS "quote_", + "QUOTED TABLE_NAME"."`cast`" AS "cast_", + "QUOTED TABLE_NAME"."`name""[" AS "name", + "QUOTED TABLE_NAME"."= ""QUOTE""" AS "quote_", "lowercase_detail"."0 = 0 and '" AS "_0_0_and", "lowercase_detail"."as" AS "as_" -FROM keywords."""QUOTED TABLE_NAME""" AS """QUOTED TABLE_NAME""" +FROM keywords."""QUOTED TABLE_NAME""" AS "QUOTED TABLE_NAME" JOIN keywords."lowercase_detail" AS "lowercase_detail" - ON """QUOTED TABLE_NAME"""."`name""[" = "lowercase_detail".id + ON "QUOTED TABLE_NAME"."`name""[" = "lowercase_detail".id WHERE - """QUOTED TABLE_NAME"""."= ""QUOTE""" = 4 - AND """QUOTED TABLE_NAME"""."`name""[" = 7 + "QUOTED TABLE_NAME"."= ""QUOTE""" = 4 AND "QUOTED TABLE_NAME"."`name""[" = 7 diff --git a/tests/test_sql_refsols/keywords_quoted_table_name_sqlite.sql b/tests/test_sql_refsols/keywords_quoted_table_name_sqlite.sql index ed86f2957..ad7728c52 100644 --- a/tests/test_sql_refsols/keywords_quoted_table_name_sqlite.sql +++ b/tests/test_sql_refsols/keywords_quoted_table_name_sqlite.sql @@ -1,12 +1,11 @@ SELECT - """quoted table_name"""."`cast`" AS "cast_", - """quoted table_name"""."`name""[" AS "name", - """quoted table_name"""."= ""quote""" AS "quote_", + "quoted table_name"."`cast`" AS "cast_", + "quoted table_name"."`name""[" AS "name", + "quoted table_name"."= ""quote""" AS "quote_", "lowercase_detail"."0 = 0 and '" AS "_0_0_and", "lowercase_detail"."as" AS "as_" -FROM keywords."""quoted table_name""" AS """quoted table_name""" +FROM keywords."""quoted table_name""" AS "quoted table_name" JOIN keywords."lowercase_detail" AS "lowercase_detail" - ON """quoted table_name"""."`name""[" = "lowercase_detail".id + ON "lowercase_detail".id = "quoted table_name"."`name""[" WHERE - """quoted table_name"""."= ""quote""" = 4 - AND """quoted table_name"""."`name""[" = 7 + "quoted table_name"."= ""quote""" = 4 AND "quoted table_name"."`name""[" = 7 diff --git a/tests/test_sql_refsols/keywords_quoted_table_name_trino.sql b/tests/test_sql_refsols/keywords_quoted_table_name_trino.sql index ed86f2957..ad7728c52 100644 --- a/tests/test_sql_refsols/keywords_quoted_table_name_trino.sql +++ b/tests/test_sql_refsols/keywords_quoted_table_name_trino.sql @@ -1,12 +1,11 @@ SELECT - """quoted table_name"""."`cast`" AS "cast_", - """quoted table_name"""."`name""[" AS "name", - """quoted table_name"""."= ""quote""" AS "quote_", + "quoted table_name"."`cast`" AS "cast_", + "quoted table_name"."`name""[" AS "name", + "quoted table_name"."= ""quote""" AS "quote_", "lowercase_detail"."0 = 0 and '" AS "_0_0_and", "lowercase_detail"."as" AS "as_" -FROM keywords."""quoted table_name""" AS """quoted table_name""" +FROM keywords."""quoted table_name""" AS "quoted table_name" JOIN keywords."lowercase_detail" AS "lowercase_detail" - ON """quoted table_name"""."`name""[" = "lowercase_detail".id + ON "lowercase_detail".id = "quoted table_name"."`name""[" WHERE - """quoted table_name"""."= ""quote""" = 4 - AND """quoted table_name"""."`name""[" = 7 + "quoted table_name"."= ""quote""" = 4 AND "quoted table_name"."`name""[" = 7 diff --git a/tests/test_sql_refsols/keywords_single_quote_use_mysql.sql b/tests/test_sql_refsols/keywords_single_quote_use_mysql.sql index 99062419a..edcd76566 100644 --- a/tests/test_sql_refsols/keywords_single_quote_use_mysql.sql +++ b/tests/test_sql_refsols/keywords_single_quote_use_mysql.sql @@ -1,5 +1,5 @@ SELECT - description + DESCRIPTION AS description FROM keywords.master WHERE - description <> 'One-One ''master row' AND id1 = 1 AND id2 = 1 + DESCRIPTION <> 'One-One ''master row' AND ID1 = 1 AND ID2 = 1 diff --git a/tests/test_sql_refsols/keywords_single_quote_use_oracle.sql b/tests/test_sql_refsols/keywords_single_quote_use_oracle.sql index fe99680de..a77825301 100644 --- a/tests/test_sql_refsols/keywords_single_quote_use_oracle.sql +++ b/tests/test_sql_refsols/keywords_single_quote_use_oracle.sql @@ -1,5 +1,5 @@ SELECT - description + DESCRIPTION AS description FROM KEYWORDS.MASTER WHERE - description <> 'One-One ''master row' AND id1 = 1 AND id2 = 1 + DESCRIPTION <> 'One-One ''master row' AND ID1 = 1 AND ID2 = 1 diff --git a/tests/test_sql_refsols/many_net_filter_10_oracle.sql b/tests/test_sql_refsols/many_net_filter_10_oracle.sql index dcdf211d0..64db2b7c3 100644 --- a/tests/test_sql_refsols/many_net_filter_10_oracle.sql +++ b/tests/test_sql_refsols/many_net_filter_10_oracle.sql @@ -2,9 +2,9 @@ SELECT COUNT(*) AS n FROM TPCH.SUPPLIER SUPPLIER JOIN TPCH.NATION NATION - ON NATION.n_nationkey = SUPPLIER.s_nationkey + ON NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY JOIN TPCH.NATION NATION_2 - ON NATION.n_regionkey = NATION_2.n_regionkey AND NATION_2.n_regionkey = 2 + ON NATION.N_REGIONKEY = NATION_2.N_REGIONKEY AND NATION_2.N_REGIONKEY = 2 JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_custkey = SUPPLIER.s_suppkey - AND CUSTOMER.c_nationkey = NATION_2.n_nationkey + ON CUSTOMER.C_CUSTKEY = SUPPLIER.S_SUPPKEY + AND CUSTOMER.C_NATIONKEY = NATION_2.N_NATIONKEY diff --git a/tests/test_sql_refsols/many_net_filter_11_oracle.sql b/tests/test_sql_refsols/many_net_filter_11_oracle.sql index dfe91cb98..a77150213 100644 --- a/tests/test_sql_refsols/many_net_filter_11_oracle.sql +++ b/tests/test_sql_refsols/many_net_filter_11_oracle.sql @@ -2,12 +2,12 @@ SELECT COUNT(*) AS n FROM TPCH.SUPPLIER SUPPLIER JOIN TPCH.NATION NATION - ON NATION.n_nationkey = SUPPLIER.s_nationkey AND NATION.n_regionkey < 3 + ON NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY AND NATION.N_REGIONKEY < 3 JOIN TPCH.NATION NATION_2 - ON NATION.n_regionkey = NATION_2.n_regionkey AND NATION_2.n_regionkey > 0 + ON NATION.N_REGIONKEY = NATION_2.N_REGIONKEY AND NATION_2.N_REGIONKEY > 0 JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_custkey = SUPPLIER.s_suppkey - AND CUSTOMER.c_nationkey = NATION_2.n_nationkey - AND NOT CUSTOMER.c_nationkey IN (1, 4, 7, 10, 13, 16, 19, 22) + ON CUSTOMER.C_CUSTKEY = SUPPLIER.S_SUPPKEY + AND CUSTOMER.C_NATIONKEY = NATION_2.N_NATIONKEY + AND NOT CUSTOMER.C_NATIONKEY IN (1, 4, 7, 10, 13, 16, 19, 22) WHERE - NOT SUPPLIER.s_nationkey IN (0, 3, 6, 9, 12, 15, 18, 21, 24) + NOT SUPPLIER.S_NATIONKEY IN (0, 3, 6, 9, 12, 15, 18, 21, 24) diff --git a/tests/test_sql_refsols/many_net_filter_1_oracle.sql b/tests/test_sql_refsols/many_net_filter_1_oracle.sql index 4855aa6fc..3cd79aacc 100644 --- a/tests/test_sql_refsols/many_net_filter_1_oracle.sql +++ b/tests/test_sql_refsols/many_net_filter_1_oracle.sql @@ -2,7 +2,7 @@ SELECT COUNT(*) AS n FROM TPCH.SUPPLIER SUPPLIER JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_custkey = SUPPLIER.s_suppkey - AND CUSTOMER.c_nationkey = SUPPLIER.s_nationkey + ON CUSTOMER.C_CUSTKEY = SUPPLIER.S_SUPPKEY + AND CUSTOMER.C_NATIONKEY = SUPPLIER.S_NATIONKEY WHERE - SUPPLIER.s_nationkey = 1 + SUPPLIER.S_NATIONKEY = 1 diff --git a/tests/test_sql_refsols/many_net_filter_2_oracle.sql b/tests/test_sql_refsols/many_net_filter_2_oracle.sql index 31d53e2ae..1b7a1678c 100644 --- a/tests/test_sql_refsols/many_net_filter_2_oracle.sql +++ b/tests/test_sql_refsols/many_net_filter_2_oracle.sql @@ -2,7 +2,7 @@ SELECT COUNT(*) AS n FROM TPCH.SUPPLIER SUPPLIER JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_custkey = SUPPLIER.s_suppkey - AND CUSTOMER.c_nationkey = SUPPLIER.s_nationkey + ON CUSTOMER.C_CUSTKEY = SUPPLIER.S_SUPPKEY + AND CUSTOMER.C_NATIONKEY = SUPPLIER.S_NATIONKEY WHERE - SUPPLIER.s_nationkey = 2 + SUPPLIER.S_NATIONKEY = 2 diff --git a/tests/test_sql_refsols/many_net_filter_3_oracle.sql b/tests/test_sql_refsols/many_net_filter_3_oracle.sql index 345668635..ce12028c2 100644 --- a/tests/test_sql_refsols/many_net_filter_3_oracle.sql +++ b/tests/test_sql_refsols/many_net_filter_3_oracle.sql @@ -2,6 +2,6 @@ SELECT COUNT(*) AS n FROM TPCH.SUPPLIER SUPPLIER JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_custkey = SUPPLIER.s_suppkey - AND CUSTOMER.c_nationkey = 3 - AND CUSTOMER.c_nationkey = SUPPLIER.s_nationkey + ON CUSTOMER.C_CUSTKEY = SUPPLIER.S_SUPPKEY + AND CUSTOMER.C_NATIONKEY = 3 + AND CUSTOMER.C_NATIONKEY = SUPPLIER.S_NATIONKEY diff --git a/tests/test_sql_refsols/many_net_filter_4_oracle.sql b/tests/test_sql_refsols/many_net_filter_4_oracle.sql index 684779a0b..d1df7f0fe 100644 --- a/tests/test_sql_refsols/many_net_filter_4_oracle.sql +++ b/tests/test_sql_refsols/many_net_filter_4_oracle.sql @@ -1,18 +1,18 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - n_nationkey AS N_NATIONKEY, - n_regionkey AS N_REGIONKEY + N_NATIONKEY, + N_REGIONKEY FROM TPCH.NATION ) SELECT COUNT(*) AS n FROM TPCH.SUPPLIER SUPPLIER -JOIN "_S1" "_S1" - ON SUPPLIER.s_nationkey = "_S1".N_NATIONKEY -JOIN "_S1" "_S3" - ON "_S1".N_REGIONKEY = "_S3".N_REGIONKEY +JOIN "_s1" "_s1" + ON SUPPLIER.S_NATIONKEY = "_s1".N_NATIONKEY +JOIN "_s1" "_s3" + ON "_s1".N_REGIONKEY = "_s3".N_REGIONKEY JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_custkey = SUPPLIER.s_suppkey - AND CUSTOMER.c_nationkey = "_S3".N_NATIONKEY + ON CUSTOMER.C_CUSTKEY = SUPPLIER.S_SUPPKEY + AND CUSTOMER.C_NATIONKEY = "_s3".N_NATIONKEY WHERE - SUPPLIER.s_nationkey = 4 + SUPPLIER.S_NATIONKEY = 4 diff --git a/tests/test_sql_refsols/many_net_filter_5_oracle.sql b/tests/test_sql_refsols/many_net_filter_5_oracle.sql index dc6644eae..67657cd5e 100644 --- a/tests/test_sql_refsols/many_net_filter_5_oracle.sql +++ b/tests/test_sql_refsols/many_net_filter_5_oracle.sql @@ -2,9 +2,9 @@ SELECT COUNT(*) AS n FROM TPCH.SUPPLIER SUPPLIER JOIN TPCH.NATION NATION - ON NATION.n_nationkey = 5 AND NATION.n_nationkey = SUPPLIER.s_nationkey + ON NATION.N_NATIONKEY = 5 AND NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY JOIN TPCH.NATION NATION_2 - ON NATION.n_regionkey = NATION_2.n_regionkey + ON NATION.N_REGIONKEY = NATION_2.N_REGIONKEY JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_custkey = SUPPLIER.s_suppkey - AND CUSTOMER.c_nationkey = NATION_2.n_nationkey + ON CUSTOMER.C_CUSTKEY = SUPPLIER.S_SUPPKEY + AND CUSTOMER.C_NATIONKEY = NATION_2.N_NATIONKEY diff --git a/tests/test_sql_refsols/many_net_filter_6_oracle.sql b/tests/test_sql_refsols/many_net_filter_6_oracle.sql index 9b5320dc4..16687ca64 100644 --- a/tests/test_sql_refsols/many_net_filter_6_oracle.sql +++ b/tests/test_sql_refsols/many_net_filter_6_oracle.sql @@ -2,9 +2,9 @@ SELECT COUNT(*) AS n FROM TPCH.SUPPLIER SUPPLIER JOIN TPCH.NATION NATION - ON NATION.n_nationkey = SUPPLIER.s_nationkey + ON NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY JOIN TPCH.NATION NATION_2 - ON NATION.n_regionkey = NATION_2.n_regionkey AND NATION_2.n_nationkey = 6 + ON NATION.N_REGIONKEY = NATION_2.N_REGIONKEY AND NATION_2.N_NATIONKEY = 6 JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_custkey = SUPPLIER.s_suppkey - AND CUSTOMER.c_nationkey = NATION_2.n_nationkey + ON CUSTOMER.C_CUSTKEY = SUPPLIER.S_SUPPKEY + AND CUSTOMER.C_NATIONKEY = NATION_2.N_NATIONKEY diff --git a/tests/test_sql_refsols/many_net_filter_7_oracle.sql b/tests/test_sql_refsols/many_net_filter_7_oracle.sql index 9bb8020d2..aa720260b 100644 --- a/tests/test_sql_refsols/many_net_filter_7_oracle.sql +++ b/tests/test_sql_refsols/many_net_filter_7_oracle.sql @@ -1,17 +1,17 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - n_nationkey AS N_NATIONKEY, - n_regionkey AS N_REGIONKEY + N_NATIONKEY, + N_REGIONKEY FROM TPCH.NATION ) SELECT COUNT(*) AS n FROM TPCH.SUPPLIER SUPPLIER -JOIN "_S1" "_S1" - ON SUPPLIER.s_nationkey = "_S1".N_NATIONKEY -JOIN "_S1" "_S3" - ON "_S1".N_REGIONKEY = "_S3".N_REGIONKEY +JOIN "_s1" "_s1" + ON SUPPLIER.S_NATIONKEY = "_s1".N_NATIONKEY +JOIN "_s1" "_s3" + ON "_s1".N_REGIONKEY = "_s3".N_REGIONKEY JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_custkey = SUPPLIER.s_suppkey - AND CUSTOMER.c_nationkey = 7 - AND CUSTOMER.c_nationkey = "_S3".N_NATIONKEY + ON CUSTOMER.C_CUSTKEY = SUPPLIER.S_SUPPKEY + AND CUSTOMER.C_NATIONKEY = 7 + AND CUSTOMER.C_NATIONKEY = "_s3".N_NATIONKEY diff --git a/tests/test_sql_refsols/many_net_filter_8_oracle.sql b/tests/test_sql_refsols/many_net_filter_8_oracle.sql index 71d14b5dd..4bdf7e108 100644 --- a/tests/test_sql_refsols/many_net_filter_8_oracle.sql +++ b/tests/test_sql_refsols/many_net_filter_8_oracle.sql @@ -2,9 +2,9 @@ SELECT COUNT(*) AS n FROM TPCH.SUPPLIER SUPPLIER JOIN TPCH.NATION NATION - ON NATION.n_nationkey = SUPPLIER.s_nationkey AND NATION.n_regionkey = 0 + ON NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY AND NATION.N_REGIONKEY = 0 JOIN TPCH.NATION NATION_2 - ON NATION.n_regionkey = NATION_2.n_regionkey + ON NATION.N_REGIONKEY = NATION_2.N_REGIONKEY JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_custkey = SUPPLIER.s_suppkey - AND CUSTOMER.c_nationkey = NATION_2.n_nationkey + ON CUSTOMER.C_CUSTKEY = SUPPLIER.S_SUPPKEY + AND CUSTOMER.C_NATIONKEY = NATION_2.N_NATIONKEY diff --git a/tests/test_sql_refsols/many_net_filter_9_oracle.sql b/tests/test_sql_refsols/many_net_filter_9_oracle.sql index 7e6408b59..3c30af331 100644 --- a/tests/test_sql_refsols/many_net_filter_9_oracle.sql +++ b/tests/test_sql_refsols/many_net_filter_9_oracle.sql @@ -2,9 +2,9 @@ SELECT COUNT(*) AS n FROM TPCH.SUPPLIER SUPPLIER JOIN TPCH.NATION NATION - ON NATION.n_nationkey = SUPPLIER.s_nationkey AND NATION.n_regionkey = 1 + ON NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY AND NATION.N_REGIONKEY = 1 JOIN TPCH.NATION NATION_2 - ON NATION.n_regionkey = NATION_2.n_regionkey + ON NATION.N_REGIONKEY = NATION_2.N_REGIONKEY JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_custkey = SUPPLIER.s_suppkey - AND CUSTOMER.c_nationkey = NATION_2.n_nationkey + ON CUSTOMER.C_CUSTKEY = SUPPLIER.S_SUPPKEY + AND CUSTOMER.C_NATIONKEY = NATION_2.N_NATIONKEY diff --git a/tests/test_sql_refsols/menu_5556_oracle.sql b/tests/test_sql_refsols/menu_5556_oracle.sql index 7f2d4edbb..9c88cde90 100644 --- a/tests/test_sql_refsols/menu_5556_oracle.sql +++ b/tests/test_sql_refsols/menu_5556_oracle.sql @@ -1,28 +1,28 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT 1 AS N_ROWS, - id AS ID + ID FROM MAIN.DISH WHERE - LOWER(name) = 'baked apples with cream' -), "_T1" AS ( + LOWER(NAME) = 'baked apples with cream' +), "_t1" AS ( SELECT - MENUPAGE.menu_id AS MENU_ID, - MAX(MENUITEM.price) AS MAX_PRICE, - SUM("_S3".N_ROWS) AS SUM_N_ROWS + MENUPAGE.MENU_ID, + MAX(MENUITEM.PRICE) AS MAX_PRICE, + SUM("_s3".N_ROWS) AS SUM_N_ROWS FROM MAIN.MENUPAGE MENUPAGE JOIN MAIN.MENUITEM MENUITEM - ON MENUITEM.menu_page_id = MENUPAGE.id - LEFT JOIN "_S3" "_S3" - ON MENUITEM.dish_id = "_S3".ID + ON MENUITEM.MENU_PAGE_ID = MENUPAGE.ID + LEFT JOIN "_s3" "_s3" + ON MENUITEM.DISH_ID = "_s3".ID GROUP BY - MENUPAGE.menu_id + MENUPAGE.MENU_ID ) SELECT - MENU.sponsor + MENU.SPONSOR AS sponsor FROM MAIN.MENU MENU -JOIN "_T1" "_T1" - ON MENU.id = "_T1".MENU_ID AND "_T1".SUM_N_ROWS <> 0 +JOIN "_t1" "_t1" + ON MENU.ID = "_t1".MENU_ID AND "_t1".SUM_N_ROWS <> 0 ORDER BY - "_T1".MAX_PRICE DESC NULLS LAST + "_t1".MAX_PRICE DESC NULLS LAST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/month_year_sliding_windows_mysql.sql b/tests/test_sql_refsols/month_year_sliding_windows_mysql.sql index dc5623d5f..2521dd531 100644 --- a/tests/test_sql_refsols/month_year_sliding_windows_mysql.sql +++ b/tests/test_sql_refsols/month_year_sliding_windows_mysql.sql @@ -37,8 +37,12 @@ WITH _t7 AS ( month_o_orderdate, year_o_orderdate, sum_o_totalprice, - LEAD(COALESCE(sum_o_totalprice, 0), 1, 0.0) OVER (ORDER BY CASE WHEN year_o_orderdate IS NULL THEN 1 ELSE 0 END, year_o_orderdate, CASE WHEN month_o_orderdate IS NULL THEN 1 ELSE 0 END, month_o_orderdate) AS _w, - LAG(COALESCE(sum_o_totalprice, 0), 1, 0.0) OVER (ORDER BY CASE WHEN year_o_orderdate IS NULL THEN 1 ELSE 0 END, year_o_orderdate, CASE WHEN month_o_orderdate IS NULL THEN 1 ELSE 0 END, month_o_orderdate) AS _w_2 + LEAD(COALESCE(sum_o_totalprice, 0), 1, 0.0) OVER ( + ORDER BY CASE WHEN year_o_orderdate IS NULL THEN 1 ELSE 0 END, year_o_orderdate, CASE WHEN month_o_orderdate IS NULL THEN 1 ELSE 0 END, month_o_orderdate + ) AS _w, + LAG(COALESCE(sum_o_totalprice, 0), 1, 0.0) OVER ( + ORDER BY CASE WHEN year_o_orderdate IS NULL THEN 1 ELSE 0 END, year_o_orderdate, CASE WHEN month_o_orderdate IS NULL THEN 1 ELSE 0 END, month_o_orderdate + ) AS _w_2 FROM _t2 ) SELECT diff --git a/tests/test_sql_refsols/month_year_sliding_windows_oracle.sql b/tests/test_sql_refsols/month_year_sliding_windows_oracle.sql index 71f7f1ce5..c07b0aeef 100644 --- a/tests/test_sql_refsols/month_year_sliding_windows_oracle.sql +++ b/tests/test_sql_refsols/month_year_sliding_windows_oracle.sql @@ -1,52 +1,52 @@ -WITH "_T7" AS ( +WITH "_t7" AS ( SELECT - o_orderdate AS O_ORDERDATE, - o_orderpriority AS O_ORDERPRIORITY, - o_totalprice AS O_TOTALPRICE + O_ORDERDATE, + O_ORDERPRIORITY, + O_TOTALPRICE FROM TPCH.ORDERS WHERE - o_orderpriority = '1-URGENT' -), "_T5" AS ( + O_ORDERPRIORITY = '1-URGENT' +), "_t5" AS ( SELECT EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) AS YEAR_O_ORDERDATE, SUM(O_TOTALPRICE) AS SUM_O_TOTALPRICE - FROM "_T7" + FROM "_t7" GROUP BY EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) -), "_T4" AS ( +), "_t4" AS ( SELECT SUM_O_TOTALPRICE, YEAR_O_ORDERDATE, LEAD(COALESCE(SUM_O_TOTALPRICE, 0), 1, 0.0) OVER (ORDER BY YEAR_O_ORDERDATE) AS NEXT_YEAR_TOTAL_SPENT - FROM "_T5" -), "_T2" AS ( + FROM "_t5" +), "_t2" AS ( SELECT - EXTRACT(MONTH FROM CAST("_T8".O_ORDERDATE AS DATE)) AS MONTH_O_ORDERDATE, - EXTRACT(YEAR FROM CAST("_T8".O_ORDERDATE AS DATE)) AS YEAR_O_ORDERDATE, - SUM("_T8".O_TOTALPRICE) AS SUM_O_TOTALPRICE - FROM "_T4" "_T4" - JOIN "_T7" "_T8" - ON "_T4".YEAR_O_ORDERDATE = EXTRACT(YEAR FROM CAST("_T8".O_ORDERDATE AS DATE)) + EXTRACT(MONTH FROM CAST("_t8".O_ORDERDATE AS DATE)) AS MONTH_O_ORDERDATE, + EXTRACT(YEAR FROM CAST("_t8".O_ORDERDATE AS DATE)) AS YEAR_O_ORDERDATE, + SUM("_t8".O_TOTALPRICE) AS SUM_O_TOTALPRICE + FROM "_t4" "_t4" + JOIN "_t7" "_t8" + ON "_t4".YEAR_O_ORDERDATE = EXTRACT(YEAR FROM CAST("_t8".O_ORDERDATE AS DATE)) WHERE - "_T4".NEXT_YEAR_TOTAL_SPENT < COALESCE("_T4".SUM_O_TOTALPRICE, 0) + "_t4".NEXT_YEAR_TOTAL_SPENT < COALESCE("_t4".SUM_O_TOTALPRICE, 0) GROUP BY - EXTRACT(MONTH FROM CAST("_T8".O_ORDERDATE AS DATE)), - EXTRACT(YEAR FROM CAST("_T8".O_ORDERDATE AS DATE)) -), "_T" AS ( + EXTRACT(MONTH FROM CAST("_t8".O_ORDERDATE AS DATE)), + EXTRACT(YEAR FROM CAST("_t8".O_ORDERDATE AS DATE)) +), "_t" AS ( SELECT MONTH_O_ORDERDATE, YEAR_O_ORDERDATE, SUM_O_TOTALPRICE, - LEAD(COALESCE(SUM_O_TOTALPRICE, 0), 1, 0.0) OVER (ORDER BY YEAR_O_ORDERDATE, MONTH_O_ORDERDATE) AS "_W", - LAG(COALESCE(SUM_O_TOTALPRICE, 0), 1, 0.0) OVER (ORDER BY YEAR_O_ORDERDATE, MONTH_O_ORDERDATE) AS "_W_2" - FROM "_T2" + LEAD(COALESCE(SUM_O_TOTALPRICE, 0), 1, 0.0) OVER (ORDER BY YEAR_O_ORDERDATE, MONTH_O_ORDERDATE) AS "_w", + LAG(COALESCE(SUM_O_TOTALPRICE, 0), 1, 0.0) OVER (ORDER BY YEAR_O_ORDERDATE, MONTH_O_ORDERDATE) AS "_w_2" + FROM "_t2" ) SELECT YEAR_O_ORDERDATE AS year, MONTH_O_ORDERDATE AS month -FROM "_T" +FROM "_t" WHERE - "_W" < COALESCE(SUM_O_TOTALPRICE, 0) AND "_W_2" < COALESCE(SUM_O_TOTALPRICE, 0) + "_w" < COALESCE(SUM_O_TOTALPRICE, 0) AND "_w_2" < COALESCE(SUM_O_TOTALPRICE, 0) ORDER BY 1 NULLS FIRST, 2 NULLS FIRST diff --git a/tests/test_sql_refsols/monthname_function_1_databricks.sql b/tests/test_sql_refsols/monthname_function_1_databricks.sql index 63823e553..a68ec875a 100644 --- a/tests/test_sql_refsols/monthname_function_1_databricks.sql +++ b/tests/test_sql_refsols/monthname_function_1_databricks.sql @@ -2,7 +2,7 @@ SELECT o_orderdate AS order_date, MONTHNAME(CAST('1995-10-26' AS TIMESTAMP)) AS month_name_str, MONTHNAME(o_orderdate) AS month_name_col, - MONTHNAME(DATEADD(MONTH, 3, CAST(o_orderdate AS TIMESTAMP))) AS month_col_added, + MONTHNAME(DATE_ADD(MONTH, 3, CAST(o_orderdate AS TIMESTAMP))) AS month_col_added, MONTHNAME(CAST('1995-05-26' AS DATE)) AS month_str_subs, MONTHNAME(CURRENT_TIMESTAMP()) AS month_now FROM tpch.orders diff --git a/tests/test_sql_refsols/monthname_function_1_oracle.sql b/tests/test_sql_refsols/monthname_function_1_oracle.sql index 92af6f960..1a4569a70 100644 --- a/tests/test_sql_refsols/monthname_function_1_oracle.sql +++ b/tests/test_sql_refsols/monthname_function_1_oracle.sql @@ -1,13 +1,13 @@ SELECT - o_orderdate AS order_date, + O_ORDERDATE AS order_date, TO_CHAR(TO_DATE('1995-10-26', 'YYYY-MM-DD'), 'Mon') AS month_name_str, - TO_CHAR(o_orderdate, 'Mon') AS month_name_col, - TO_CHAR(ADD_MONTHS(CAST(o_orderdate AS DATE), 3), 'Mon') AS month_col_added, + TO_CHAR(O_ORDERDATE, 'Mon') AS month_name_col, + TO_CHAR(ADD_MONTHS(CAST(O_ORDERDATE AS DATE), 3), 'Mon') AS month_col_added, TO_CHAR(TO_DATE('1995-05-26', 'YYYY-MM-DD'), 'Mon') AS month_str_subs, TO_CHAR(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'Mon') AS month_now FROM TPCH.ORDERS WHERE - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) = 1998 + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) = 1998 ORDER BY - o_custkey NULLS FIRST + O_CUSTKEY NULLS FIRST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/movielens_2274_ansi.sql b/tests/test_sql_refsols/movielens_2274_ansi.sql index 74b837b4f..a5dc48751 100644 --- a/tests/test_sql_refsols/movielens_2274_ansi.sql +++ b/tests/test_sql_refsols/movielens_2274_ansi.sql @@ -1,3 +1,10 @@ +WITH _s1 AS ( + SELECT + userid + FROM main.u2base + WHERE + rating = 2 +) SELECT CASE WHEN COUNT(*) > 0 @@ -7,5 +14,5 @@ SELECT ELSE 0.0 END AS percentage_of_female_users FROM main.users AS users -JOIN main.u2base AS u2base - ON u2base.rating = 2 AND u2base.userid = users.userid +SEMI JOIN _s1 AS _s1 + ON _s1.userid = users.userid diff --git a/tests/test_sql_refsols/movielens_2274_oracle.sql b/tests/test_sql_refsols/movielens_2274_oracle.sql index d0adcdd69..1e2a8878c 100644 --- a/tests/test_sql_refsols/movielens_2274_oracle.sql +++ b/tests/test_sql_refsols/movielens_2274_oracle.sql @@ -1,22 +1,22 @@ WITH "_u_0" AS ( SELECT - userid AS "_u_1" + USERID AS "_u_1" FROM MAIN.U2BASE WHERE - rating = 2 + RATING = 2 GROUP BY - userid + USERID ) SELECT CASE WHEN COUNT(*) > 0 THEN ( - 100.0 * SUM(LOWER(USERS.u_gender) = 'f') + 100.0 * SUM(LOWER(USERS.U_GENDER) = 'f') ) / COUNT(*) ELSE 0.0 END AS percentage_of_female_users FROM MAIN.USERS USERS LEFT JOIN "_u_0" "_u_0" - ON USERS.userid = "_u_0"."_u_1" + ON USERS.USERID = "_u_0"."_u_1" WHERE NOT "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/movielens_2274_trino.sql b/tests/test_sql_refsols/movielens_2274_trino.sql index 26192ee62..41e8c4d83 100644 --- a/tests/test_sql_refsols/movielens_2274_trino.sql +++ b/tests/test_sql_refsols/movielens_2274_trino.sql @@ -8,13 +8,9 @@ WITH _u_0 AS ( 1 ) SELECT - IF( - COUNT(*) > 0, - CAST(( - 100.0 * COUNT_IF(LOWER(users.u_gender) = 'f') - ) AS DOUBLE) / COUNT(*), - 0.0 - ) AS percentage_of_female_users + IF(COUNT(*) > 0, ( + 100.0 * COUNT_IF(LOWER(users.u_gender) = 'f') + ) / COUNT(*), 0.0) AS percentage_of_female_users FROM main.users AS users LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = users.userid diff --git a/tests/test_sql_refsols/n_orders_first_day_oracle.sql b/tests/test_sql_refsols/n_orders_first_day_oracle.sql index 116e642b0..6d1c32757 100644 --- a/tests/test_sql_refsols/n_orders_first_day_oracle.sql +++ b/tests/test_sql_refsols/n_orders_first_day_oracle.sql @@ -1,10 +1,10 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - RANK() OVER (ORDER BY o_orderdate) AS "_W" + RANK() OVER (ORDER BY O_ORDERDATE) AS "_w" FROM TPCH.ORDERS ) SELECT COUNT(*) AS n_orders -FROM "_T" +FROM "_t" WHERE - "_W" = 1 + "_w" = 1 diff --git a/tests/test_sql_refsols/nation_acctbal_breakdown_databricks.sql b/tests/test_sql_refsols/nation_acctbal_breakdown_databricks.sql index dc5ab91d9..a1bb331af 100644 --- a/tests/test_sql_refsols/nation_acctbal_breakdown_databricks.sql +++ b/tests/test_sql_refsols/nation_acctbal_breakdown_databricks.sql @@ -5,7 +5,10 @@ WITH _s3 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY c_nationkey ORDER BY CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY c_nationkey + ORDER BY CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END DESC + ) - 1.0 ) - ( ( COUNT(CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END) OVER (PARTITION BY c_nationkey) - 1.0 @@ -31,7 +34,10 @@ WITH _s3 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY c_nationkey ORDER BY CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY c_nationkey + ORDER BY CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END DESC + ) - 1.0 ) - ( ( COUNT(CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END) OVER (PARTITION BY c_nationkey) - 1.0 diff --git a/tests/test_sql_refsols/nation_acctbal_breakdown_duckdb.sql b/tests/test_sql_refsols/nation_acctbal_breakdown_duckdb.sql index c3bbc5595..f10fbfe73 100644 --- a/tests/test_sql_refsols/nation_acctbal_breakdown_duckdb.sql +++ b/tests/test_sql_refsols/nation_acctbal_breakdown_duckdb.sql @@ -5,7 +5,10 @@ WITH _s3 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY c_nationkey ORDER BY CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY c_nationkey + ORDER BY CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END DESC + ) - 1.0 ) - ( ( COUNT(CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END) OVER (PARTITION BY c_nationkey) - 1.0 @@ -31,7 +34,10 @@ WITH _s3 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY c_nationkey ORDER BY CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY c_nationkey + ORDER BY CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END DESC + ) - 1.0 ) - ( ( COUNT(CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END) OVER (PARTITION BY c_nationkey) - 1.0 diff --git a/tests/test_sql_refsols/nation_acctbal_breakdown_mysql.sql b/tests/test_sql_refsols/nation_acctbal_breakdown_mysql.sql index 463f75371..e05ed4129 100644 --- a/tests/test_sql_refsols/nation_acctbal_breakdown_mysql.sql +++ b/tests/test_sql_refsols/nation_acctbal_breakdown_mysql.sql @@ -5,7 +5,10 @@ WITH _s3 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY c_nationkey ORDER BY CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY c_nationkey + ORDER BY CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END DESC + ) - 1.0 ) - ( ( COUNT(CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END) OVER (PARTITION BY c_nationkey) - 1.0 @@ -31,7 +34,10 @@ WITH _s3 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY c_nationkey ORDER BY CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY c_nationkey + ORDER BY CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END DESC + ) - 1.0 ) - ( ( COUNT(CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END) OVER (PARTITION BY c_nationkey) - 1.0 diff --git a/tests/test_sql_refsols/nation_acctbal_breakdown_oracle.sql b/tests/test_sql_refsols/nation_acctbal_breakdown_oracle.sql index 59bd3a9ae..f6eecf85f 100644 --- a/tests/test_sql_refsols/nation_acctbal_breakdown_oracle.sql +++ b/tests/test_sql_refsols/nation_acctbal_breakdown_oracle.sql @@ -1,61 +1,67 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - c_acctbal AS C_ACCTBAL, - c_nationkey AS C_NATIONKEY, + C_ACCTBAL, + C_NATIONKEY, CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY c_nationkey ORDER BY CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END DESC NULLS LAST) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY C_NATIONKEY + ORDER BY CASE WHEN C_ACCTBAL >= 0 THEN C_ACCTBAL ELSE NULL END DESC NULLS LAST + ) - 1.0 ) - ( ( - COUNT(CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END) OVER (PARTITION BY c_nationkey) - 1.0 + COUNT(CASE WHEN C_ACCTBAL >= 0 THEN C_ACCTBAL ELSE NULL END) OVER (PARTITION BY C_NATIONKEY) - 1.0 ) / 2.0 ) ) < 1.0 - THEN CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END + THEN CASE WHEN C_ACCTBAL >= 0 THEN C_ACCTBAL ELSE NULL END ELSE NULL END AS EXPR_5, CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY c_nationkey ORDER BY c_acctbal DESC NULLS LAST) - 1.0 + ROW_NUMBER() OVER (PARTITION BY C_NATIONKEY ORDER BY C_ACCTBAL DESC NULLS LAST) - 1.0 ) - ( ( - COUNT(c_acctbal) OVER (PARTITION BY c_nationkey) - 1.0 + COUNT(C_ACCTBAL) OVER (PARTITION BY C_NATIONKEY) - 1.0 ) / 2.0 ) ) < 1.0 - THEN c_acctbal + THEN C_ACCTBAL ELSE NULL END AS EXPR_6, CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY c_nationkey ORDER BY CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END DESC NULLS LAST) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY C_NATIONKEY + ORDER BY CASE WHEN C_ACCTBAL < 0 THEN C_ACCTBAL ELSE NULL END DESC NULLS LAST + ) - 1.0 ) - ( ( - COUNT(CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END) OVER (PARTITION BY c_nationkey) - 1.0 + COUNT(CASE WHEN C_ACCTBAL < 0 THEN C_ACCTBAL ELSE NULL END) OVER (PARTITION BY C_NATIONKEY) - 1.0 ) / 2.0 ) ) < 1.0 - THEN CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END + THEN CASE WHEN C_ACCTBAL < 0 THEN C_ACCTBAL ELSE NULL END ELSE NULL END AS EXPR_7 FROM TPCH.CUSTOMER ) SELECT - ANY_VALUE(NATION.n_name) AS nation_name, - COUNT(CASE WHEN "_S3".C_ACCTBAL < 0 THEN "_S3".C_ACCTBAL ELSE NULL END) AS n_red_acctbal, - COUNT(CASE WHEN "_S3".C_ACCTBAL >= 0 THEN "_S3".C_ACCTBAL ELSE NULL END) AS n_black_acctbal, - AVG("_S3".EXPR_7) AS median_red_acctbal, - AVG("_S3".EXPR_5) AS median_black_acctbal, - AVG("_S3".EXPR_6) AS median_overall_acctbal + ANY_VALUE(NATION.N_NAME) AS nation_name, + COUNT(CASE WHEN "_s3".C_ACCTBAL < 0 THEN "_s3".C_ACCTBAL ELSE NULL END) AS n_red_acctbal, + COUNT(CASE WHEN "_s3".C_ACCTBAL >= 0 THEN "_s3".C_ACCTBAL ELSE NULL END) AS n_black_acctbal, + AVG("_s3".EXPR_7) AS median_red_acctbal, + AVG("_s3".EXPR_5) AS median_black_acctbal, + AVG("_s3".EXPR_6) AS median_overall_acctbal FROM TPCH.NATION NATION JOIN TPCH.REGION REGION - ON NATION.n_regionkey = REGION.r_regionkey AND REGION.r_name = 'AMERICA' -JOIN "_S3" "_S3" - ON NATION.n_nationkey = "_S3".C_NATIONKEY + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY AND REGION.R_NAME = 'AMERICA' +JOIN "_s3" "_s3" + ON NATION.N_NATIONKEY = "_s3".C_NATIONKEY GROUP BY - "_S3".C_NATIONKEY + "_s3".C_NATIONKEY ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/nation_acctbal_breakdown_postgres.sql b/tests/test_sql_refsols/nation_acctbal_breakdown_postgres.sql index 6b44688e2..20dd8e3d7 100644 --- a/tests/test_sql_refsols/nation_acctbal_breakdown_postgres.sql +++ b/tests/test_sql_refsols/nation_acctbal_breakdown_postgres.sql @@ -1,5 +1,5 @@ SELECT - MAX(nation.n_name) AS nation_name, + ANY_VALUE(nation.n_name) AS nation_name, COUNT(CASE WHEN customer.c_acctbal < 0 THEN customer.c_acctbal ELSE NULL END) AS n_red_acctbal, COUNT(CASE WHEN customer.c_acctbal >= 0 THEN customer.c_acctbal ELSE NULL END) AS n_black_acctbal, PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY diff --git a/tests/test_sql_refsols/nation_acctbal_breakdown_sqlite.sql b/tests/test_sql_refsols/nation_acctbal_breakdown_sqlite.sql index 822eced2d..6d86b18eb 100644 --- a/tests/test_sql_refsols/nation_acctbal_breakdown_sqlite.sql +++ b/tests/test_sql_refsols/nation_acctbal_breakdown_sqlite.sql @@ -5,7 +5,10 @@ WITH _s3 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY c_nationkey ORDER BY CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY c_nationkey + ORDER BY CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END DESC + ) - 1.0 ) - ( CAST(( COUNT(CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END) OVER (PARTITION BY c_nationkey) - 1.0 @@ -31,7 +34,10 @@ WITH _s3 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY c_nationkey ORDER BY CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY c_nationkey + ORDER BY CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END DESC + ) - 1.0 ) - ( CAST(( COUNT(CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END) OVER (PARTITION BY c_nationkey) - 1.0 diff --git a/tests/test_sql_refsols/nation_acctbal_breakdown_trino.sql b/tests/test_sql_refsols/nation_acctbal_breakdown_trino.sql index 3e10ab428..2b873a8ac 100644 --- a/tests/test_sql_refsols/nation_acctbal_breakdown_trino.sql +++ b/tests/test_sql_refsols/nation_acctbal_breakdown_trino.sql @@ -5,11 +5,14 @@ WITH _s3 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY c_nationkey ORDER BY CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY c_nationkey + ORDER BY CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END DESC + ) - 1.0 ) - ( - CAST(( + ( COUNT(CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END) OVER (PARTITION BY c_nationkey) - 1.0 - ) AS DOUBLE) / 2.0 + ) / 2.0 ) ) < 1.0 THEN CASE WHEN c_acctbal >= 0 THEN c_acctbal ELSE NULL END @@ -20,9 +23,9 @@ WITH _s3 AS ( ( ROW_NUMBER() OVER (PARTITION BY c_nationkey ORDER BY c_acctbal DESC) - 1.0 ) - ( - CAST(( + ( COUNT(c_acctbal) OVER (PARTITION BY c_nationkey) - 1.0 - ) AS DOUBLE) / 2.0 + ) / 2.0 ) ) < 1.0 THEN c_acctbal @@ -31,11 +34,14 @@ WITH _s3 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY c_nationkey ORDER BY CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY c_nationkey + ORDER BY CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END DESC + ) - 1.0 ) - ( - CAST(( + ( COUNT(CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END) OVER (PARTITION BY c_nationkey) - 1.0 - ) AS DOUBLE) / 2.0 + ) / 2.0 ) ) < 1.0 THEN CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END diff --git a/tests/test_sql_refsols/nation_best_order_mysql.sql b/tests/test_sql_refsols/nation_best_order_mysql.sql index efab10338..013426c38 100644 --- a/tests/test_sql_refsols/nation_best_order_mysql.sql +++ b/tests/test_sql_refsols/nation_best_order_mysql.sql @@ -18,7 +18,10 @@ WITH _t3 AS ( o_orderkey, o_totalprice, value_percentage, - ROW_NUMBER() OVER (PARTITION BY c_nationkey ORDER BY CASE WHEN o_totalprice IS NULL THEN 1 ELSE 0 END DESC, o_totalprice DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY c_nationkey + ORDER BY CASE WHEN o_totalprice IS NULL THEN 1 ELSE 0 END DESC, o_totalprice DESC + ) AS _w FROM _t3 ) SELECT diff --git a/tests/test_sql_refsols/nation_best_order_oracle.sql b/tests/test_sql_refsols/nation_best_order_oracle.sql index c6bb69c59..f54356f28 100644 --- a/tests/test_sql_refsols/nation_best_order_oracle.sql +++ b/tests/test_sql_refsols/nation_best_order_oracle.sql @@ -1,36 +1,36 @@ -WITH "_T3" AS ( +WITH "_t3" AS ( SELECT - CUSTOMER.c_name AS C_NAME, - CUSTOMER.c_nationkey AS C_NATIONKEY, - ORDERS.o_orderkey AS O_ORDERKEY, - ORDERS.o_totalprice AS O_TOTALPRICE, + CUSTOMER.C_NAME, + CUSTOMER.C_NATIONKEY, + ORDERS.O_ORDERKEY, + ORDERS.O_TOTALPRICE, ( - 100.0 * ORDERS.o_totalprice - ) / SUM(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey) AS VALUE_PERCENTAGE + 100.0 * ORDERS.O_TOTALPRICE + ) / SUM(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY) AS VALUE_PERCENTAGE FROM TPCH.CUSTOMER CUSTOMER JOIN TPCH.ORDERS ORDERS - ON CUSTOMER.c_custkey = ORDERS.o_custkey - AND EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) = 1998 -), "_T" AS ( + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY + AND EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) = 1998 +), "_t" AS ( SELECT C_NAME, C_NATIONKEY, O_ORDERKEY, O_TOTALPRICE, VALUE_PERCENTAGE, - ROW_NUMBER() OVER (PARTITION BY C_NATIONKEY ORDER BY O_TOTALPRICE DESC) AS "_W" - FROM "_T3" + ROW_NUMBER() OVER (PARTITION BY C_NATIONKEY ORDER BY O_TOTALPRICE DESC) AS "_w" + FROM "_t3" ) SELECT - NATION.n_name AS nation_name, - "_T".C_NAME AS customer_name, - "_T".O_ORDERKEY AS order_key, - "_T".O_TOTALPRICE AS order_value, - "_T".VALUE_PERCENTAGE AS value_percentage + NATION.N_NAME AS nation_name, + "_t".C_NAME AS customer_name, + "_t".O_ORDERKEY AS order_key, + "_t".O_TOTALPRICE AS order_value, + "_t".VALUE_PERCENTAGE AS value_percentage FROM TPCH.NATION NATION JOIN TPCH.REGION REGION - ON NATION.n_regionkey = REGION.r_regionkey AND REGION.r_name = 'ASIA' -JOIN "_T" "_T" - ON NATION.n_nationkey = "_T".C_NATIONKEY AND "_T"."_W" = 1 + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY AND REGION.R_NAME = 'ASIA' +JOIN "_t" "_t" + ON NATION.N_NATIONKEY = "_t".C_NATIONKEY AND "_t"."_w" = 1 ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/nation_window_aggs_oracle.sql b/tests/test_sql_refsols/nation_window_aggs_oracle.sql index c86716948..ee7f9b4e0 100644 --- a/tests/test_sql_refsols/nation_window_aggs_oracle.sql +++ b/tests/test_sql_refsols/nation_window_aggs_oracle.sql @@ -1,12 +1,12 @@ SELECT - n_name AS nation_name, - SUM(n_nationkey) OVER () AS key_sum, - AVG(CAST(n_nationkey AS DOUBLE PRECISION)) OVER () AS key_avg, - COUNT(CASE WHEN LENGTH(n_comment) < 75 THEN n_comment ELSE NULL END) OVER () AS n_short_comment, + N_NAME AS nation_name, + SUM(N_NATIONKEY) OVER () AS key_sum, + AVG(CAST(N_NATIONKEY AS DOUBLE PRECISION)) OVER () AS key_avg, + COUNT(CASE WHEN LENGTH(N_COMMENT) < 75 THEN N_COMMENT ELSE NULL END) OVER () AS n_short_comment, COUNT(*) OVER () AS n_nations FROM TPCH.NATION WHERE - NOT SUBSTR(n_name, 1, 1) IN ('A', 'E', 'I', 'O', 'U') + NOT SUBSTR(N_NAME, 1, 1) IN ('A', 'E', 'I', 'O', 'U') ORDER BY - n_regionkey NULLS FIRST, + N_REGIONKEY NULLS FIRST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/nation_window_aggs_trino.sql b/tests/test_sql_refsols/nation_window_aggs_trino.sql index 74303b1b4..213dccc49 100644 --- a/tests/test_sql_refsols/nation_window_aggs_trino.sql +++ b/tests/test_sql_refsols/nation_window_aggs_trino.sql @@ -6,7 +6,7 @@ SELECT COUNT(*) OVER () AS n_nations FROM tpch.nation WHERE - NOT SUBSTRING(n_name, 1, 1) IN ('A', 'E', 'I', 'O', 'U') + NOT SUBSTR(n_name, 1, 1) IN ('A', 'E', 'I', 'O', 'U') ORDER BY n_regionkey NULLS FIRST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/numerical_functions_oracle.sql b/tests/test_sql_refsols/numerical_functions_oracle.sql index beb2c6395..d1da42f8f 100644 --- a/tests/test_sql_refsols/numerical_functions_oracle.sql +++ b/tests/test_sql_refsols/numerical_functions_oracle.sql @@ -1,11 +1,11 @@ SELECT - ABS(c_acctbal) AS abs_value, - ROUND(c_acctbal, 2) AS round_value, - CEIL(c_acctbal) AS ceil_value, - FLOOR(c_acctbal) AS floor_value, - POWER(c_acctbal, 2) AS power_value, - POWER(c_acctbal, 0.5) AS sqrt_value, - CASE WHEN c_acctbal = 0 THEN 0 ELSE CASE WHEN c_acctbal < 0 THEN -1 ELSE 1 END END AS sign_value, - LEAST(c_acctbal, 0) AS smallest_value, - GREATEST(c_acctbal, 0) AS largest_value + ABS(C_ACCTBAL) AS abs_value, + ROUND(C_ACCTBAL, 2) AS round_value, + CEIL(C_ACCTBAL) AS ceil_value, + FLOOR(C_ACCTBAL) AS floor_value, + POWER(C_ACCTBAL, 2) AS power_value, + POWER(C_ACCTBAL, 0.5) AS sqrt_value, + CASE WHEN C_ACCTBAL = 0 THEN 0 ELSE CASE WHEN C_ACCTBAL < 0 THEN -1 ELSE 1 END END AS sign_value, + LEAST(C_ACCTBAL, 0) AS smallest_value, + GREATEST(C_ACCTBAL, 0) AS largest_value FROM TPCH.CUSTOMER diff --git a/tests/test_sql_refsols/numerical_functions_postgres.sql b/tests/test_sql_refsols/numerical_functions_postgres.sql index 088319d2e..675370dec 100644 --- a/tests/test_sql_refsols/numerical_functions_postgres.sql +++ b/tests/test_sql_refsols/numerical_functions_postgres.sql @@ -3,8 +3,8 @@ SELECT ROUND(CAST(c_acctbal AS DECIMAL), 2) AS round_value, CEIL(c_acctbal) AS ceil_value, FLOOR(c_acctbal) AS floor_value, - c_acctbal ^ 2 AS power_value, - c_acctbal ^ 0.5 AS sqrt_value, + POWER(c_acctbal, 2) AS power_value, + POWER(c_acctbal, 0.5) AS sqrt_value, CASE WHEN c_acctbal = 0 THEN 0 ELSE CASE WHEN c_acctbal < 0 THEN -1 ELSE 1 END END AS sign_value, LEAST(c_acctbal, 0) AS smallest_value, GREATEST(c_acctbal, 0) AS largest_value diff --git a/tests/test_sql_refsols/odate_and_rdate_avggap_oracle.sql b/tests/test_sql_refsols/odate_and_rdate_avggap_oracle.sql index fda280f63..9076d5053 100644 --- a/tests/test_sql_refsols/odate_and_rdate_avggap_oracle.sql +++ b/tests/test_sql_refsols/odate_and_rdate_avggap_oracle.sql @@ -1,12 +1,12 @@ SELECT AVG( TRUNC( - CAST(CAST(LEAST(LINEITEM.l_commitdate, LINEITEM.l_receiptdate) AS DATE) AS DATE), + CAST(CAST(LEAST(LINEITEM.L_COMMITDATE, LINEITEM.L_RECEIPTDATE) AS DATE) AS DATE), 'DD' - ) - TRUNC(CAST(CAST(ORDERS.o_orderdate AS DATE) AS DATE), 'DD') + ) - TRUNC(CAST(CAST(ORDERS.O_ORDERDATE AS DATE) AS DATE), 'DD') ) AS avg_gap FROM TPCH.LINEITEM LINEITEM JOIN TPCH.ORDERS ORDERS - ON LINEITEM.l_orderkey = ORDERS.o_orderkey + ON LINEITEM.L_ORDERKEY = ORDERS.O_ORDERKEY WHERE - LINEITEM.l_shipmode = 'RAIL' + LINEITEM.L_SHIPMODE = 'RAIL' diff --git a/tests/test_sql_refsols/order_info_per_priority_mysql.sql b/tests/test_sql_refsols/order_info_per_priority_mysql.sql index beca0d268..a24c7d0fc 100644 --- a/tests/test_sql_refsols/order_info_per_priority_mysql.sql +++ b/tests/test_sql_refsols/order_info_per_priority_mysql.sql @@ -3,7 +3,10 @@ WITH _t AS ( o_orderkey, o_orderpriority, o_totalprice, - ROW_NUMBER() OVER (PARTITION BY o_orderpriority ORDER BY CASE WHEN o_totalprice IS NULL THEN 1 ELSE 0 END DESC, o_totalprice DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY o_orderpriority + ORDER BY CASE WHEN o_totalprice IS NULL THEN 1 ELSE 0 END DESC, o_totalprice DESC + ) AS _w FROM tpch.ORDERS WHERE EXTRACT(YEAR FROM CAST(o_orderdate AS DATETIME)) = 1992 diff --git a/tests/test_sql_refsols/order_info_per_priority_oracle.sql b/tests/test_sql_refsols/order_info_per_priority_oracle.sql index 61bb07464..8df0a2255 100644 --- a/tests/test_sql_refsols/order_info_per_priority_oracle.sql +++ b/tests/test_sql_refsols/order_info_per_priority_oracle.sql @@ -1,19 +1,19 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - o_orderkey AS O_ORDERKEY, - o_orderpriority AS O_ORDERPRIORITY, - o_totalprice AS O_TOTALPRICE, - ROW_NUMBER() OVER (PARTITION BY o_orderpriority ORDER BY o_totalprice DESC) AS "_W" + O_ORDERKEY, + O_ORDERPRIORITY, + O_TOTALPRICE, + ROW_NUMBER() OVER (PARTITION BY O_ORDERPRIORITY ORDER BY O_TOTALPRICE DESC) AS "_w" FROM TPCH.ORDERS WHERE - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) = 1992 + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) = 1992 ) SELECT O_ORDERPRIORITY AS order_priority, O_ORDERKEY AS order_key, O_TOTALPRICE AS order_total_price -FROM "_T" +FROM "_t" WHERE - "_W" = 1 + "_w" = 1 ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/order_quarter_test_databricks.sql b/tests/test_sql_refsols/order_quarter_test_databricks.sql index a89244201..d074783cb 100644 --- a/tests/test_sql_refsols/order_quarter_test_databricks.sql +++ b/tests/test_sql_refsols/order_quarter_test_databricks.sql @@ -2,18 +2,18 @@ SELECT o_orderdate AS order_date, EXTRACT(QUARTER FROM CAST(o_orderdate AS TIMESTAMP)) AS quarter, TRUNC(CAST(o_orderdate AS TIMESTAMP), 'QUARTER') AS quarter_start, - DATEADD(QUARTER, 1, CAST(o_orderdate AS TIMESTAMP)) AS next_quarter, + DATE_ADD(QUARTER, 1, CAST(o_orderdate AS TIMESTAMP)) AS next_quarter, ADD_MONTHS(CAST(o_orderdate AS TIMESTAMP), -3) AS prev_quarter, - DATEADD(QUARTER, 2, CAST(o_orderdate AS TIMESTAMP)) AS two_quarters_ahead, + DATE_ADD(QUARTER, 2, CAST(o_orderdate AS TIMESTAMP)) AS two_quarters_ahead, ADD_MONTHS(CAST(o_orderdate AS TIMESTAMP), -6) AS two_quarters_behind, ( - YEAR(TO_DATE(o_orderdate)) - YEAR(TO_DATE(CAST('1995-01-01' AS TIMESTAMP))) + YEAR(o_orderdate) - YEAR(CAST('1995-01-01' AS TIMESTAMP)) ) * 4 + QUARTER(o_orderdate) - QUARTER(CAST('1995-01-01' AS TIMESTAMP)) AS quarters_since_1995, ( - YEAR(TO_DATE(CAST('2000-01-01' AS TIMESTAMP))) - YEAR(TO_DATE(o_orderdate)) + YEAR(CAST('2000-01-01' AS TIMESTAMP)) - YEAR(o_orderdate) ) * 4 + QUARTER(CAST('2000-01-01' AS TIMESTAMP)) - QUARTER(o_orderdate) AS quarters_until_2000, ADD_MONTHS(CAST(o_orderdate AS TIMESTAMP), -12) AS same_quarter_prev_year, - DATEADD(QUARTER, 4, CAST(o_orderdate AS TIMESTAMP)) AS same_quarter_next_year + DATE_ADD(QUARTER, 4, CAST(o_orderdate AS TIMESTAMP)) AS same_quarter_next_year FROM tpch.orders WHERE EXTRACT(YEAR FROM CAST(o_orderdate AS TIMESTAMP)) = 1995 diff --git a/tests/test_sql_refsols/order_quarter_test_oracle.sql b/tests/test_sql_refsols/order_quarter_test_oracle.sql index 9844cef4f..ce0253b3d 100644 --- a/tests/test_sql_refsols/order_quarter_test_oracle.sql +++ b/tests/test_sql_refsols/order_quarter_test_oracle.sql @@ -1,36 +1,36 @@ SELECT - o_orderdate AS order_date, + O_ORDERDATE AS order_date, FLOOR(( - EXTRACT(MONTH FROM CAST(o_orderdate AS DATE)) - 1 + EXTRACT(MONTH FROM CAST(O_ORDERDATE AS DATE)) - 1 ) / 3) + 1 AS quarter, - TRUNC(CAST(CAST(o_orderdate AS DATE) AS DATE), 'Q') AS quarter_start, - CAST(o_orderdate AS DATE) + NUMTOYMINTERVAL(3, 'MONTH') AS next_quarter, - CAST(o_orderdate AS DATE) - NUMTOYMINTERVAL(3, 'MONTH') AS prev_quarter, - CAST(o_orderdate AS DATE) + NUMTOYMINTERVAL(6, 'MONTH') AS two_quarters_ahead, - CAST(o_orderdate AS DATE) - NUMTOYMINTERVAL(6, 'MONTH') AS two_quarters_behind, + TRUNC(CAST(CAST(O_ORDERDATE AS DATE) AS DATE), 'Q') AS quarter_start, + CAST(O_ORDERDATE AS DATE) + NUMTOYMINTERVAL(3, 'MONTH') AS next_quarter, + CAST(O_ORDERDATE AS DATE) - NUMTOYMINTERVAL(3, 'MONTH') AS prev_quarter, + CAST(O_ORDERDATE AS DATE) + NUMTOYMINTERVAL(6, 'MONTH') AS two_quarters_ahead, + CAST(O_ORDERDATE AS DATE) - NUMTOYMINTERVAL(6, 'MONTH') AS two_quarters_behind, ( - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) - EXTRACT(YEAR FROM TO_DATE('1995-01-01', 'YYYY-MM-DD')) + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) - EXTRACT(YEAR FROM TO_DATE('1995-01-01', 'YYYY-MM-DD')) ) * 4 + ( FLOOR(( - EXTRACT(MONTH FROM CAST(o_orderdate AS DATE)) - 1 + EXTRACT(MONTH FROM CAST(O_ORDERDATE AS DATE)) - 1 ) / 3) - FLOOR(( EXTRACT(MONTH FROM TO_DATE('1995-01-01', 'YYYY-MM-DD')) - 1 ) / 3) ) AS quarters_since_1995, ( - EXTRACT(YEAR FROM TO_DATE('2000-01-01', 'YYYY-MM-DD')) - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) + EXTRACT(YEAR FROM TO_DATE('2000-01-01', 'YYYY-MM-DD')) - EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) ) * 4 + ( FLOOR(( EXTRACT(MONTH FROM TO_DATE('2000-01-01', 'YYYY-MM-DD')) - 1 ) / 3) - FLOOR(( - EXTRACT(MONTH FROM CAST(o_orderdate AS DATE)) - 1 + EXTRACT(MONTH FROM CAST(O_ORDERDATE AS DATE)) - 1 ) / 3) ) AS quarters_until_2000, - CAST(o_orderdate AS DATE) - NUMTOYMINTERVAL(12, 'MONTH') AS same_quarter_prev_year, - CAST(o_orderdate AS DATE) + NUMTOYMINTERVAL(12, 'MONTH') AS same_quarter_next_year + CAST(O_ORDERDATE AS DATE) - NUMTOYMINTERVAL(12, 'MONTH') AS same_quarter_prev_year, + CAST(O_ORDERDATE AS DATE) + NUMTOYMINTERVAL(12, 'MONTH') AS same_quarter_next_year FROM TPCH.ORDERS WHERE - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) = 1995 + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) = 1995 ORDER BY 1 NULLS FIRST FETCH FIRST 1 ROWS ONLY diff --git a/tests/test_sql_refsols/orders_versus_first_orders_ansi.sql b/tests/test_sql_refsols/orders_versus_first_orders_ansi.sql index 3be5c4bf5..b66d468e9 100644 --- a/tests/test_sql_refsols/orders_versus_first_orders_ansi.sql +++ b/tests/test_sql_refsols/orders_versus_first_orders_ansi.sql @@ -15,7 +15,10 @@ WITH _s4 AS ( JOIN _s4 AS _s3 ON _s3.o_custkey = customer.c_custkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s3.o_custkey ORDER BY _s3.o_orderdate NULLS LAST, _s3.o_orderkey NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s3.o_custkey + ORDER BY _s3.o_orderdate NULLS LAST, _s3.o_orderkey NULLS LAST + ) = 1 ) SELECT _t1.c_name AS customer_name, diff --git a/tests/test_sql_refsols/orders_versus_first_orders_databricks.sql b/tests/test_sql_refsols/orders_versus_first_orders_databricks.sql index 1b7abaa2d..40d924429 100644 --- a/tests/test_sql_refsols/orders_versus_first_orders_databricks.sql +++ b/tests/test_sql_refsols/orders_versus_first_orders_databricks.sql @@ -15,7 +15,10 @@ WITH _s4 AS ( JOIN _s4 AS _s3 ON _s3.o_custkey = customer.c_custkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s3.o_custkey ORDER BY _s3.o_orderdate NULLS LAST, _s3.o_orderkey NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s3.o_custkey + ORDER BY _s3.o_orderdate NULLS LAST, _s3.o_orderkey NULLS LAST + ) = 1 ) SELECT _t1.c_name AS customer_name, diff --git a/tests/test_sql_refsols/orders_versus_first_orders_mysql.sql b/tests/test_sql_refsols/orders_versus_first_orders_mysql.sql index 6632b8e08..ce25db8a3 100644 --- a/tests/test_sql_refsols/orders_versus_first_orders_mysql.sql +++ b/tests/test_sql_refsols/orders_versus_first_orders_mysql.sql @@ -9,7 +9,10 @@ WITH _s4 AS ( CUSTOMER.c_custkey, CUSTOMER.c_name, _s3.o_orderdate, - ROW_NUMBER() OVER (PARTITION BY _s3.o_custkey ORDER BY CASE WHEN _s3.o_orderdate IS NULL THEN 1 ELSE 0 END, _s3.o_orderdate, CASE WHEN _s3.o_orderkey IS NULL THEN 1 ELSE 0 END, _s3.o_orderkey) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _s3.o_custkey + ORDER BY CASE WHEN _s3.o_orderdate IS NULL THEN 1 ELSE 0 END, _s3.o_orderdate, CASE WHEN _s3.o_orderkey IS NULL THEN 1 ELSE 0 END, _s3.o_orderkey + ) AS _w FROM tpch.CUSTOMER AS CUSTOMER JOIN tpch.NATION AS NATION ON CUSTOMER.c_nationkey = NATION.n_nationkey AND NATION.n_name = 'VIETNAM' diff --git a/tests/test_sql_refsols/orders_versus_first_orders_oracle.sql b/tests/test_sql_refsols/orders_versus_first_orders_oracle.sql index 073c7a449..b813e1c05 100644 --- a/tests/test_sql_refsols/orders_versus_first_orders_oracle.sql +++ b/tests/test_sql_refsols/orders_versus_first_orders_oracle.sql @@ -1,36 +1,36 @@ -WITH "_S4" AS ( +WITH "_s4" AS ( SELECT - o_custkey AS O_CUSTKEY, - o_orderdate AS O_ORDERDATE, - o_orderkey AS O_ORDERKEY + O_CUSTKEY, + O_ORDERDATE, + O_ORDERKEY FROM TPCH.ORDERS -), "_T" AS ( +), "_t" AS ( SELECT - CUSTOMER.c_custkey AS C_CUSTKEY, - CUSTOMER.c_name AS C_NAME, - "_S3".O_ORDERDATE, - ROW_NUMBER() OVER (PARTITION BY "_S3".O_CUSTKEY ORDER BY "_S3".O_ORDERDATE, "_S3".O_ORDERKEY) AS "_W" + CUSTOMER.C_CUSTKEY, + CUSTOMER.C_NAME, + "_s3".O_ORDERDATE, + ROW_NUMBER() OVER (PARTITION BY "_s3".O_CUSTKEY ORDER BY "_s3".O_ORDERDATE, "_s3".O_ORDERKEY) AS "_w" FROM TPCH.CUSTOMER CUSTOMER JOIN TPCH.NATION NATION - ON CUSTOMER.c_nationkey = NATION.n_nationkey AND NATION.n_name = 'VIETNAM' - JOIN "_S4" "_S3" - ON CUSTOMER.c_custkey = "_S3".O_CUSTKEY -), "_S5" AS ( + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY AND NATION.N_NAME = 'VIETNAM' + JOIN "_s4" "_s3" + ON CUSTOMER.C_CUSTKEY = "_s3".O_CUSTKEY +), "_s5" AS ( SELECT C_CUSTKEY, C_NAME, O_ORDERDATE - FROM "_T" + FROM "_t" WHERE - "_W" = 1 + "_w" = 1 ) SELECT - "_S5".C_NAME AS customer_name, - "_S4".O_ORDERKEY AS order_key, - TRUNC(CAST(CAST("_S4".O_ORDERDATE AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST("_S5".O_ORDERDATE AS DATE) AS DATE), 'DD') AS days_since_first_order -FROM "_S4" "_S4" -LEFT JOIN "_S5" "_S5" - ON "_S4".O_CUSTKEY = "_S5".C_CUSTKEY + "_s5".C_NAME AS customer_name, + "_s4".O_ORDERKEY AS order_key, + TRUNC(CAST(CAST("_s4".O_ORDERDATE AS DATE) AS DATE), 'DD') - TRUNC(CAST(CAST("_s5".O_ORDERDATE AS DATE) AS DATE), 'DD') AS days_since_first_order +FROM "_s4" "_s4" +LEFT JOIN "_s5" "_s5" + ON "_s4".O_CUSTKEY = "_s5".C_CUSTKEY ORDER BY 3 DESC NULLS LAST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/pagerank_a1_sqlite.sql b/tests/test_sql_refsols/pagerank_a1_sqlite.sql index 65b8ee6f8..adfb01b40 100644 --- a/tests/test_sql_refsols/pagerank_a1_sqlite.sql +++ b/tests/test_sql_refsols/pagerank_a1_sqlite.sql @@ -32,9 +32,9 @@ WITH _t4 AS ( ( CAST(0.15 AS REAL) / _s2.anything_n ) + 0.85 * SUM( - CAST(( + ( CAST(_s3.l_source <> _s3.l_target OR _s3.l_target IS NULL AS INTEGER) * _s2.anything_page_rank - ) AS REAL) / COALESCE(_s2.sum_n_target, 0) + ) / COALESCE(_s2.sum_n_target, 0) ) OVER (PARTITION BY _s5.s_key) AS page_rank FROM _s2 AS _s2 JOIN _s1 AS _s3 diff --git a/tests/test_sql_refsols/pagerank_a2_sqlite.sql b/tests/test_sql_refsols/pagerank_a2_sqlite.sql index a4493040a..d86d970df 100644 --- a/tests/test_sql_refsols/pagerank_a2_sqlite.sql +++ b/tests/test_sql_refsols/pagerank_a2_sqlite.sql @@ -34,9 +34,9 @@ WITH _t6 AS ( ( CAST(0.15 AS REAL) / _s2.anything_n ) + 0.85 * SUM( - CAST(( + ( CAST(_s3.l_source <> _s3.l_target OR _s3.l_target IS NULL AS INTEGER) * _s2.anything_page_rank - ) AS REAL) / COALESCE(_s2.sum_n_target, 0) + ) / COALESCE(_s2.sum_n_target, 0) ) OVER (PARTITION BY _s5.s_key) AS page_rank FROM _s2 AS _s2 JOIN _s1 AS _s3 diff --git a/tests/test_sql_refsols/pagerank_a6_sqlite.sql b/tests/test_sql_refsols/pagerank_a6_sqlite.sql index 09ffbc83b..17d555b25 100644 --- a/tests/test_sql_refsols/pagerank_a6_sqlite.sql +++ b/tests/test_sql_refsols/pagerank_a6_sqlite.sql @@ -34,9 +34,9 @@ WITH _t14 AS ( ( CAST(0.15 AS REAL) / _s2.anything_n ) + 0.85 * SUM( - CAST(( + ( CAST(_s3.l_source <> _s3.l_target OR _s3.l_target IS NULL AS INTEGER) * _s2.anything_page_rank - ) AS REAL) / COALESCE(_s2.sum_n_target, 0) + ) / COALESCE(_s2.sum_n_target, 0) ) OVER (PARTITION BY _s5.s_key) AS page_rank FROM _s2 AS _s2 JOIN _s1 AS _s3 diff --git a/tests/test_sql_refsols/pagerank_b3_sqlite.sql b/tests/test_sql_refsols/pagerank_b3_sqlite.sql index 1aa12634c..b239567c1 100644 --- a/tests/test_sql_refsols/pagerank_b3_sqlite.sql +++ b/tests/test_sql_refsols/pagerank_b3_sqlite.sql @@ -34,9 +34,9 @@ WITH _t8 AS ( ( CAST(0.15 AS REAL) / _s2.anything_n ) + 0.85 * SUM( - CAST(( + ( CAST(_s3.l_source <> _s3.l_target OR _s3.l_target IS NULL AS INTEGER) * _s2.anything_page_rank - ) AS REAL) / COALESCE(_s2.sum_n_target, 0) + ) / COALESCE(_s2.sum_n_target, 0) ) OVER (PARTITION BY _s5.s_key) AS page_rank FROM _s2 AS _s2 JOIN _s1 AS _s3 diff --git a/tests/test_sql_refsols/pagerank_c4_sqlite.sql b/tests/test_sql_refsols/pagerank_c4_sqlite.sql index 66cf3cfdf..15e67d236 100644 --- a/tests/test_sql_refsols/pagerank_c4_sqlite.sql +++ b/tests/test_sql_refsols/pagerank_c4_sqlite.sql @@ -34,9 +34,9 @@ WITH _t10 AS ( ( CAST(0.15 AS REAL) / _s2.anything_n ) + 0.85 * SUM( - CAST(( + ( CAST(_s3.l_source <> _s3.l_target OR _s3.l_target IS NULL AS INTEGER) * _s2.anything_page_rank - ) AS REAL) / COALESCE(_s2.sum_n_target, 0) + ) / COALESCE(_s2.sum_n_target, 0) ) OVER (PARTITION BY _s5.s_key) AS page_rank FROM _s2 AS _s2 JOIN _s1 AS _s3 diff --git a/tests/test_sql_refsols/pagerank_d5_sqlite.sql b/tests/test_sql_refsols/pagerank_d5_sqlite.sql index ac08cdec5..e96aa507b 100644 --- a/tests/test_sql_refsols/pagerank_d5_sqlite.sql +++ b/tests/test_sql_refsols/pagerank_d5_sqlite.sql @@ -34,9 +34,9 @@ WITH _t12 AS ( ( CAST(0.15 AS REAL) / _s2.anything_n ) + 0.85 * SUM( - CAST(( + ( CAST(_s3.l_source <> _s3.l_target OR _s3.l_target IS NULL AS INTEGER) * _s2.anything_page_rank - ) AS REAL) / COALESCE(_s2.sum_n_target, 0) + ) / COALESCE(_s2.sum_n_target, 0) ) OVER (PARTITION BY _s5.s_key) AS page_rank FROM _s2 AS _s2 JOIN _s1 AS _s3 diff --git a/tests/test_sql_refsols/pagerank_h8_sqlite.sql b/tests/test_sql_refsols/pagerank_h8_sqlite.sql index dd3db0022..127c8fc6a 100644 --- a/tests/test_sql_refsols/pagerank_h8_sqlite.sql +++ b/tests/test_sql_refsols/pagerank_h8_sqlite.sql @@ -34,9 +34,9 @@ WITH _t18 AS ( ( CAST(0.15 AS REAL) / _s2.anything_n ) + 0.85 * SUM( - CAST(( + ( CAST(_s3.l_source <> _s3.l_target OR _s3.l_target IS NULL AS INTEGER) * _s2.anything_page_rank - ) AS REAL) / COALESCE(_s2.sum_n_target, 0) + ) / COALESCE(_s2.sum_n_target, 0) ) OVER (PARTITION BY _s5.s_key) AS page_rank FROM _s2 AS _s2 JOIN _s1 AS _s3 diff --git a/tests/test_sql_refsols/part_cross_part_a_mysql.sql b/tests/test_sql_refsols/part_cross_part_a_mysql.sql index 8c305a852..b340ca503 100644 --- a/tests/test_sql_refsols/part_cross_part_a_mysql.sql +++ b/tests/test_sql_refsols/part_cross_part_a_mysql.sql @@ -1,32 +1,32 @@ WITH _s0 AS ( SELECT DISTINCT - sbtickerexchange AS sbTickerExchange + sbTickerExchange FROM main.sbTicker ), _s9 AS ( SELECT - sbCustomer.sbcustid AS sbCustId, + sbCustomer.sbCustId, _s2.sbTickerExchange, COUNT(*) AS n_rows FROM _s0 AS _s2 CROSS JOIN main.sbCustomer AS sbCustomer JOIN main.sbTransaction AS sbTransaction - ON sbCustomer.sbcustid = sbTransaction.sbtxcustid + ON sbCustomer.sbCustId = sbTransaction.sbTxCustId JOIN main.sbTicker AS sbTicker - ON _s2.sbTickerExchange = sbTicker.sbtickerexchange - AND sbTicker.sbtickerid = sbTransaction.sbtxtickerid + ON _s2.sbTickerExchange = sbTicker.sbTickerExchange + AND sbTicker.sbTickerId = sbTransaction.sbTxTickerId GROUP BY 1, 2 ) SELECT - sbCustomer.sbcuststate COLLATE utf8mb4_bin AS state, + sbCustomer.sbCustState COLLATE utf8mb4_bin AS state, _s0.sbTickerExchange COLLATE utf8mb4_bin AS exchange, COALESCE(SUM(_s9.n_rows), 0) AS n FROM _s0 AS _s0 CROSS JOIN main.sbCustomer AS sbCustomer LEFT JOIN _s9 AS _s9 ON _s0.sbTickerExchange = _s9.sbTickerExchange - AND _s9.sbCustId = sbCustomer.sbcustid + AND _s9.sbCustId = sbCustomer.sbCustId GROUP BY 1, 2 diff --git a/tests/test_sql_refsols/part_cross_part_a_oracle.sql b/tests/test_sql_refsols/part_cross_part_a_oracle.sql index b5036247b..bd8fdf5b3 100644 --- a/tests/test_sql_refsols/part_cross_part_a_oracle.sql +++ b/tests/test_sql_refsols/part_cross_part_a_oracle.sql @@ -1,35 +1,35 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT DISTINCT - sbtickerexchange AS SBTICKEREXCHANGE + SBTICKEREXCHANGE FROM MAIN.SBTICKER -), "_S9" AS ( +), "_s9" AS ( SELECT - SBCUSTOMER.sbcustid AS SBCUSTID, - "_S2".SBTICKEREXCHANGE, + SBCUSTOMER.SBCUSTID, + "_s2".SBTICKEREXCHANGE, COUNT(*) AS N_ROWS - FROM "_S0" "_S2" + FROM "_s0" "_s2" CROSS JOIN MAIN.SBCUSTOMER SBCUSTOMER JOIN MAIN.SBTRANSACTION SBTRANSACTION - ON SBCUSTOMER.sbcustid = SBTRANSACTION.sbtxcustid + ON SBCUSTOMER.SBCUSTID = SBTRANSACTION.SBTXCUSTID JOIN MAIN.SBTICKER SBTICKER - ON SBTICKER.sbtickerexchange = "_S2".SBTICKEREXCHANGE - AND SBTICKER.sbtickerid = SBTRANSACTION.sbtxtickerid + ON SBTICKER.SBTICKEREXCHANGE = "_s2".SBTICKEREXCHANGE + AND SBTICKER.SBTICKERID = SBTRANSACTION.SBTXTICKERID GROUP BY - SBCUSTOMER.sbcustid, - "_S2".SBTICKEREXCHANGE + SBCUSTOMER.SBCUSTID, + "_s2".SBTICKEREXCHANGE ) SELECT - SBCUSTOMER.sbcuststate AS state, - "_S0".SBTICKEREXCHANGE AS exchange, - COALESCE(SUM("_S9".N_ROWS), 0) AS n -FROM "_S0" "_S0" + SBCUSTOMER.SBCUSTSTATE AS state, + "_s0".SBTICKEREXCHANGE AS exchange, + COALESCE(SUM("_s9".N_ROWS), 0) AS n +FROM "_s0" "_s0" CROSS JOIN MAIN.SBCUSTOMER SBCUSTOMER -LEFT JOIN "_S9" "_S9" - ON SBCUSTOMER.sbcustid = "_S9".SBCUSTID - AND "_S0".SBTICKEREXCHANGE = "_S9".SBTICKEREXCHANGE +LEFT JOIN "_s9" "_s9" + ON SBCUSTOMER.SBCUSTID = "_s9".SBCUSTID + AND "_s0".SBTICKEREXCHANGE = "_s9".SBTICKEREXCHANGE GROUP BY - SBCUSTOMER.sbcuststate, - "_S0".SBTICKEREXCHANGE + SBCUSTOMER.SBCUSTSTATE, + "_s0".SBTICKEREXCHANGE ORDER BY 1 NULLS FIRST, 2 NULLS FIRST diff --git a/tests/test_sql_refsols/part_cross_part_b_ansi.sql b/tests/test_sql_refsols/part_cross_part_b_ansi.sql index 9a11013ae..d70cdfd4a 100644 --- a/tests/test_sql_refsols/part_cross_part_b_ansi.sql +++ b/tests/test_sql_refsols/part_cross_part_b_ansi.sql @@ -36,7 +36,11 @@ WITH _s0 AS ( SELECT _s0.sbcuststate AS state, _s1.month AS month_of_year, - SUM(COALESCE(_s9.n_rows, 0)) OVER (PARTITION BY _s0.sbcuststate ORDER BY _s1.month NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS n + SUM(COALESCE(_s9.n_rows, 0)) OVER ( + PARTITION BY _s0.sbcuststate + ORDER BY _s1.month NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS n FROM _s0 AS _s0 CROSS JOIN _s1 AS _s1 LEFT JOIN _s9 AS _s9 diff --git a/tests/test_sql_refsols/part_cross_part_b_databricks.sql b/tests/test_sql_refsols/part_cross_part_b_databricks.sql index a8c4f0153..749a51928 100644 --- a/tests/test_sql_refsols/part_cross_part_b_databricks.sql +++ b/tests/test_sql_refsols/part_cross_part_b_databricks.sql @@ -36,7 +36,11 @@ WITH _s0 AS ( SELECT _s0.sbcuststate AS state, _s1.month AS month_of_year, - SUM(COALESCE(_s9.n_rows, 0)) OVER (PARTITION BY _s0.sbcuststate ORDER BY _s1.month NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS n + SUM(COALESCE(_s9.n_rows, 0)) OVER ( + PARTITION BY _s0.sbcuststate + ORDER BY _s1.month NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS n FROM _s0 AS _s0 CROSS JOIN _s1 AS _s1 LEFT JOIN _s9 AS _s9 diff --git a/tests/test_sql_refsols/part_cross_part_b_duckdb.sql b/tests/test_sql_refsols/part_cross_part_b_duckdb.sql index f875386c4..76c6cabf4 100644 --- a/tests/test_sql_refsols/part_cross_part_b_duckdb.sql +++ b/tests/test_sql_refsols/part_cross_part_b_duckdb.sql @@ -36,7 +36,11 @@ WITH _s0 AS ( SELECT _s0.sbcuststate AS state, _s1.month AS month_of_year, - SUM(COALESCE(_s9.n_rows, 0)) OVER (PARTITION BY _s0.sbcuststate ORDER BY _s1.month ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS n + SUM(COALESCE(_s9.n_rows, 0)) OVER ( + PARTITION BY _s0.sbcuststate + ORDER BY _s1.month + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS n FROM _s0 AS _s0 CROSS JOIN _s1 AS _s1 LEFT JOIN _s9 AS _s9 diff --git a/tests/test_sql_refsols/part_cross_part_b_mysql.sql b/tests/test_sql_refsols/part_cross_part_b_mysql.sql index fc22b4b37..2c67ca74d 100644 --- a/tests/test_sql_refsols/part_cross_part_b_mysql.sql +++ b/tests/test_sql_refsols/part_cross_part_b_mysql.sql @@ -1,13 +1,13 @@ WITH _s0 AS ( SELECT DISTINCT - sbcuststate AS sbCustState + sbCustState FROM main.sbCustomer ), _t2 AS ( SELECT - sbtxdatetime AS sbTxDateTime + sbTxDateTime FROM main.sbTransaction WHERE - EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) = 2023 + EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) = 2023 ), _s1 AS ( SELECT DISTINCT STR_TO_DATE( @@ -30,19 +30,19 @@ WITH _s0 AS ( FROM _s0 AS _s2 CROSS JOIN _s3 AS _s3 JOIN main.sbTransaction AS sbTransaction - ON EXTRACT(YEAR FROM CAST(sbTransaction.sbtxdatetime AS DATETIME)) = 2023 + ON EXTRACT(YEAR FROM CAST(sbTransaction.sbTxDateTime AS DATETIME)) = 2023 AND _s3.month = STR_TO_DATE( CONCAT( - YEAR(CAST(sbTransaction.sbtxdatetime AS DATETIME)), + YEAR(CAST(sbTransaction.sbTxDateTime AS DATETIME)), ' ', - MONTH(CAST(sbTransaction.sbtxdatetime AS DATETIME)), + MONTH(CAST(sbTransaction.sbTxDateTime AS DATETIME)), ' 1' ), '%Y %c %e' ) JOIN main.sbCustomer AS sbCustomer - ON _s2.sbCustState = sbCustomer.sbcuststate - AND sbCustomer.sbcustid = sbTransaction.sbtxcustid + ON _s2.sbCustState = sbCustomer.sbCustState + AND sbCustomer.sbCustId = sbTransaction.sbTxCustId GROUP BY 1, 2 @@ -50,7 +50,11 @@ WITH _s0 AS ( SELECT _s0.sbCustState COLLATE utf8mb4_bin AS state, _s1.month AS month_of_year, - SUM(COALESCE(_s9.n_rows, 0)) OVER (PARTITION BY _s0.sbCustState ORDER BY _s1.month ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS n + SUM(COALESCE(_s9.n_rows, 0)) OVER ( + PARTITION BY _s0.sbCustState + ORDER BY _s1.month + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS n FROM _s0 AS _s0 CROSS JOIN _s1 AS _s1 LEFT JOIN _s9 AS _s9 diff --git a/tests/test_sql_refsols/part_cross_part_b_oracle.sql b/tests/test_sql_refsols/part_cross_part_b_oracle.sql index 868cf7abe..1aedda888 100644 --- a/tests/test_sql_refsols/part_cross_part_b_oracle.sql +++ b/tests/test_sql_refsols/part_cross_part_b_oracle.sql @@ -1,46 +1,50 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT DISTINCT - sbcuststate AS SBCUSTSTATE + SBCUSTSTATE FROM MAIN.SBCUSTOMER -), "_T2" AS ( +), "_t2" AS ( SELECT - sbtxdatetime AS SBTXDATETIME + SBTXDATETIME FROM MAIN.SBTRANSACTION WHERE - EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) = 2023 -), "_S1" AS ( + EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) = 2023 +), "_s1" AS ( SELECT DISTINCT TRUNC(CAST(SBTXDATETIME AS DATE), 'MONTH') AS MONTH - FROM "_T2" -), "_S3" AS ( + FROM "_t2" +), "_s3" AS ( SELECT DISTINCT TRUNC(CAST(SBTXDATETIME AS DATE), 'MONTH') AS MONTH - FROM "_T2" -), "_S9" AS ( + FROM "_t2" +), "_s9" AS ( SELECT - "_S3".MONTH, - "_S2".SBCUSTSTATE, + "_s3".MONTH, + "_s2".SBCUSTSTATE, COUNT(*) AS N_ROWS - FROM "_S0" "_S2" - CROSS JOIN "_S3" "_S3" + FROM "_s0" "_s2" + CROSS JOIN "_s3" "_s3" JOIN MAIN.SBTRANSACTION SBTRANSACTION - ON EXTRACT(YEAR FROM CAST(SBTRANSACTION.sbtxdatetime AS DATE)) = 2023 - AND "_S3".MONTH = TRUNC(CAST(SBTRANSACTION.sbtxdatetime AS DATE), 'MONTH') + ON EXTRACT(YEAR FROM CAST(SBTRANSACTION.SBTXDATETIME AS DATE)) = 2023 + AND "_s3".MONTH = TRUNC(CAST(SBTRANSACTION.SBTXDATETIME AS DATE), 'MONTH') JOIN MAIN.SBCUSTOMER SBCUSTOMER - ON SBCUSTOMER.sbcustid = SBTRANSACTION.sbtxcustid - AND SBCUSTOMER.sbcuststate = "_S2".SBCUSTSTATE + ON SBCUSTOMER.SBCUSTID = SBTRANSACTION.SBTXCUSTID + AND SBCUSTOMER.SBCUSTSTATE = "_s2".SBCUSTSTATE GROUP BY - "_S3".MONTH, - "_S2".SBCUSTSTATE + "_s3".MONTH, + "_s2".SBCUSTSTATE ) SELECT - "_S0".SBCUSTSTATE AS state, - "_S1".MONTH AS month_of_year, - SUM(COALESCE("_S9".N_ROWS, 0)) OVER (PARTITION BY "_S0".SBCUSTSTATE ORDER BY "_S1".MONTH ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS n -FROM "_S0" "_S0" -CROSS JOIN "_S1" "_S1" -LEFT JOIN "_S9" "_S9" - ON "_S0".SBCUSTSTATE = "_S9".SBCUSTSTATE AND "_S1".MONTH = "_S9".MONTH + "_s0".SBCUSTSTATE AS state, + "_s1".MONTH AS month_of_year, + SUM(COALESCE("_s9".N_ROWS, 0)) OVER ( + PARTITION BY "_s0".SBCUSTSTATE + ORDER BY "_s1".MONTH + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS n +FROM "_s0" "_s0" +CROSS JOIN "_s1" "_s1" +LEFT JOIN "_s9" "_s9" + ON "_s0".SBCUSTSTATE = "_s9".SBCUSTSTATE AND "_s1".MONTH = "_s9".MONTH ORDER BY 1 NULLS FIRST, 2 NULLS FIRST diff --git a/tests/test_sql_refsols/part_cross_part_b_postgres.sql b/tests/test_sql_refsols/part_cross_part_b_postgres.sql index f875386c4..76c6cabf4 100644 --- a/tests/test_sql_refsols/part_cross_part_b_postgres.sql +++ b/tests/test_sql_refsols/part_cross_part_b_postgres.sql @@ -36,7 +36,11 @@ WITH _s0 AS ( SELECT _s0.sbcuststate AS state, _s1.month AS month_of_year, - SUM(COALESCE(_s9.n_rows, 0)) OVER (PARTITION BY _s0.sbcuststate ORDER BY _s1.month ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS n + SUM(COALESCE(_s9.n_rows, 0)) OVER ( + PARTITION BY _s0.sbcuststate + ORDER BY _s1.month + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS n FROM _s0 AS _s0 CROSS JOIN _s1 AS _s1 LEFT JOIN _s9 AS _s9 diff --git a/tests/test_sql_refsols/part_cross_part_b_snowflake.sql b/tests/test_sql_refsols/part_cross_part_b_snowflake.sql index 336acb273..de25ed093 100644 --- a/tests/test_sql_refsols/part_cross_part_b_snowflake.sql +++ b/tests/test_sql_refsols/part_cross_part_b_snowflake.sql @@ -36,7 +36,11 @@ WITH _s0 AS ( SELECT _s0.sbcuststate AS state, _s1.month AS month_of_year, - SUM(COALESCE(_s9.n_rows, 0)) OVER (PARTITION BY _s0.sbcuststate ORDER BY _s1.month ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS n + SUM(COALESCE(_s9.n_rows, 0)) OVER ( + PARTITION BY _s0.sbcuststate + ORDER BY _s1.month + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS n FROM _s0 AS _s0 CROSS JOIN _s1 AS _s1 LEFT JOIN _s9 AS _s9 diff --git a/tests/test_sql_refsols/part_cross_part_b_sqlite.sql b/tests/test_sql_refsols/part_cross_part_b_sqlite.sql index 154c96d4f..b59b6abdf 100644 --- a/tests/test_sql_refsols/part_cross_part_b_sqlite.sql +++ b/tests/test_sql_refsols/part_cross_part_b_sqlite.sql @@ -36,7 +36,11 @@ WITH _s0 AS ( SELECT _s0.sbcuststate AS state, _s1.month AS month_of_year, - SUM(COALESCE(_s9.n_rows, 0)) OVER (PARTITION BY _s0.sbcuststate ORDER BY _s1.month ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS n + SUM(COALESCE(_s9.n_rows, 0)) OVER ( + PARTITION BY _s0.sbcuststate + ORDER BY _s1.month + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS n FROM _s0 AS _s0 CROSS JOIN _s1 AS _s1 LEFT JOIN _s9 AS _s9 diff --git a/tests/test_sql_refsols/part_cross_part_b_trino.sql b/tests/test_sql_refsols/part_cross_part_b_trino.sql index 336acb273..de25ed093 100644 --- a/tests/test_sql_refsols/part_cross_part_b_trino.sql +++ b/tests/test_sql_refsols/part_cross_part_b_trino.sql @@ -36,7 +36,11 @@ WITH _s0 AS ( SELECT _s0.sbcuststate AS state, _s1.month AS month_of_year, - SUM(COALESCE(_s9.n_rows, 0)) OVER (PARTITION BY _s0.sbcuststate ORDER BY _s1.month ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS n + SUM(COALESCE(_s9.n_rows, 0)) OVER ( + PARTITION BY _s0.sbcuststate + ORDER BY _s1.month + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS n FROM _s0 AS _s0 CROSS JOIN _s1 AS _s1 LEFT JOIN _s9 AS _s9 diff --git a/tests/test_sql_refsols/part_cross_part_c_mysql.sql b/tests/test_sql_refsols/part_cross_part_c_mysql.sql index f3bbf49ad..b2998cd6b 100644 --- a/tests/test_sql_refsols/part_cross_part_c_mysql.sql +++ b/tests/test_sql_refsols/part_cross_part_c_mysql.sql @@ -1,13 +1,13 @@ WITH _s0 AS ( SELECT DISTINCT - sbcuststate AS sbCustState + sbCustState FROM main.sbCustomer ), _t2 AS ( SELECT - sbtxdatetime AS sbTxDateTime + sbTxDateTime FROM main.sbTransaction WHERE - EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) = 2023 + EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) = 2023 ), _s1 AS ( SELECT DISTINCT STR_TO_DATE( @@ -30,19 +30,19 @@ WITH _s0 AS ( FROM _s0 AS _s2 CROSS JOIN _s3 AS _s3 JOIN main.sbTransaction AS sbTransaction - ON EXTRACT(YEAR FROM CAST(sbTransaction.sbtxdatetime AS DATETIME)) = 2023 + ON EXTRACT(YEAR FROM CAST(sbTransaction.sbTxDateTime AS DATETIME)) = 2023 AND _s3.month = STR_TO_DATE( CONCAT( - YEAR(CAST(sbTransaction.sbtxdatetime AS DATETIME)), + YEAR(CAST(sbTransaction.sbTxDateTime AS DATETIME)), ' ', - MONTH(CAST(sbTransaction.sbtxdatetime AS DATETIME)), + MONTH(CAST(sbTransaction.sbTxDateTime AS DATETIME)), ' 1' ), '%Y %c %e' ) JOIN main.sbCustomer AS sbCustomer - ON _s2.sbCustState = sbCustomer.sbcuststate - AND sbCustomer.sbcustid = sbTransaction.sbtxcustid + ON _s2.sbCustState = sbCustomer.sbCustState + AND sbCustomer.sbCustId = sbTransaction.sbTxCustId GROUP BY 1, 2 diff --git a/tests/test_sql_refsols/part_cross_part_c_oracle.sql b/tests/test_sql_refsols/part_cross_part_c_oracle.sql index 6a9bb0dee..abdf61855 100644 --- a/tests/test_sql_refsols/part_cross_part_c_oracle.sql +++ b/tests/test_sql_refsols/part_cross_part_c_oracle.sql @@ -1,44 +1,44 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT DISTINCT - sbcuststate AS SBCUSTSTATE + SBCUSTSTATE FROM MAIN.SBCUSTOMER -), "_T2" AS ( +), "_t2" AS ( SELECT - sbtxdatetime AS SBTXDATETIME + SBTXDATETIME FROM MAIN.SBTRANSACTION WHERE - EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) = 2023 -), "_S1" AS ( + EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) = 2023 +), "_s1" AS ( SELECT DISTINCT TRUNC(CAST(SBTXDATETIME AS DATE), 'MONTH') AS MONTH - FROM "_T2" -), "_S3" AS ( + FROM "_t2" +), "_s3" AS ( SELECT DISTINCT TRUNC(CAST(SBTXDATETIME AS DATE), 'MONTH') AS MONTH - FROM "_T2" -), "_S9" AS ( + FROM "_t2" +), "_s9" AS ( SELECT - "_S3".MONTH, - "_S2".SBCUSTSTATE, + "_s3".MONTH, + "_s2".SBCUSTSTATE, COUNT(*) AS N_ROWS - FROM "_S0" "_S2" - CROSS JOIN "_S3" "_S3" + FROM "_s0" "_s2" + CROSS JOIN "_s3" "_s3" JOIN MAIN.SBTRANSACTION SBTRANSACTION - ON EXTRACT(YEAR FROM CAST(SBTRANSACTION.sbtxdatetime AS DATE)) = 2023 - AND "_S3".MONTH = TRUNC(CAST(SBTRANSACTION.sbtxdatetime AS DATE), 'MONTH') + ON EXTRACT(YEAR FROM CAST(SBTRANSACTION.SBTXDATETIME AS DATE)) = 2023 + AND "_s3".MONTH = TRUNC(CAST(SBTRANSACTION.SBTXDATETIME AS DATE), 'MONTH') JOIN MAIN.SBCUSTOMER SBCUSTOMER - ON SBCUSTOMER.sbcustid = SBTRANSACTION.sbtxcustid - AND SBCUSTOMER.sbcuststate = "_S2".SBCUSTSTATE + ON SBCUSTOMER.SBCUSTID = SBTRANSACTION.SBTXCUSTID + AND SBCUSTOMER.SBCUSTSTATE = "_s2".SBCUSTSTATE GROUP BY - "_S3".MONTH, - "_S2".SBCUSTSTATE + "_s3".MONTH, + "_s2".SBCUSTSTATE ) SELECT - "_S0".SBCUSTSTATE AS state, - MAX(COALESCE("_S9".N_ROWS, 0)) AS max_n -FROM "_S0" "_S0" -CROSS JOIN "_S1" "_S1" -LEFT JOIN "_S9" "_S9" - ON "_S0".SBCUSTSTATE = "_S9".SBCUSTSTATE AND "_S1".MONTH = "_S9".MONTH + "_s0".SBCUSTSTATE AS state, + MAX(COALESCE("_s9".N_ROWS, 0)) AS max_n +FROM "_s0" "_s0" +CROSS JOIN "_s1" "_s1" +LEFT JOIN "_s9" "_s9" + ON "_s0".SBCUSTSTATE = "_s9".SBCUSTSTATE AND "_s1".MONTH = "_s9".MONTH GROUP BY - "_S0".SBCUSTSTATE + "_s0".SBCUSTSTATE diff --git a/tests/test_sql_refsols/part_reduced_size_databricks.sql b/tests/test_sql_refsols/part_reduced_size_databricks.sql index 6ba4d6572..033d0cff8 100644 --- a/tests/test_sql_refsols/part_reduced_size_databricks.sql +++ b/tests/test_sql_refsols/part_reduced_size_databricks.sql @@ -11,7 +11,11 @@ WITH _s0 AS ( SELECT CAST(_s0.p_size / 2.5 AS DOUBLE) AS reduced_size, CAST(CAST(_s0.p_retailprice AS DOUBLE) AS BIGINT) AS retail_price_int, - CONCAT_WS('', 'old size: ', CAST(_s0.p_size AS STRING)) AS message, + CASE + WHEN CAST(_s0.p_size AS STRING) IS NULL + THEN NULL + ELSE CONCAT_WS('', 'old size: ', CAST(_s0.p_size AS STRING)) + END AS message, lineitem.l_discount AS discount, DATE_FORMAT(lineitem.l_receiptdate, 'dd-MM-yyyy') AS date_dmy, DATE_FORMAT(lineitem.l_receiptdate, 'MM/dd') AS date_md, diff --git a/tests/test_sql_refsols/part_reduced_size_duckdb.sql b/tests/test_sql_refsols/part_reduced_size_duckdb.sql index b7bfdeb95..e7b7be730 100644 --- a/tests/test_sql_refsols/part_reduced_size_duckdb.sql +++ b/tests/test_sql_refsols/part_reduced_size_duckdb.sql @@ -11,7 +11,11 @@ WITH _s0 AS ( SELECT CAST(_s0.p_size / 2.5 AS DOUBLE) AS reduced_size, CAST(TRUNC(CAST(_s0.p_retailprice AS DOUBLE)) AS BIGINT) AS retail_price_int, - CONCAT_WS('', 'old size: ', CAST(_s0.p_size AS TEXT)) AS message, + CASE + WHEN CAST(_s0.p_size AS TEXT) IS NULL + THEN NULL + ELSE CONCAT_WS('', 'old size: ', CAST(_s0.p_size AS TEXT)) + END AS message, lineitem.l_discount AS discount, STRFTIME(lineitem.l_receiptdate, '%d-%m-%Y') AS date_dmy, STRFTIME(lineitem.l_receiptdate, '%m/%d') AS date_md, diff --git a/tests/test_sql_refsols/part_reduced_size_oracle.sql b/tests/test_sql_refsols/part_reduced_size_oracle.sql index f7bbe89ad..02125f949 100644 --- a/tests/test_sql_refsols/part_reduced_size_oracle.sql +++ b/tests/test_sql_refsols/part_reduced_size_oracle.sql @@ -1,24 +1,24 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - p_partkey AS P_PARTKEY, - p_retailprice AS P_RETAILPRICE, - p_size AS P_SIZE + P_PARTKEY, + P_RETAILPRICE, + P_SIZE FROM TPCH.PART ORDER BY - TRUNC(CAST(p_retailprice AS DOUBLE PRECISION), '0') NULLS FIRST + TRUNC(CAST(P_RETAILPRICE AS DOUBLE PRECISION), 0) NULLS FIRST FETCH FIRST 2 ROWS ONLY ) SELECT - CAST("_S0".P_SIZE / 2.5 AS DOUBLE PRECISION) AS reduced_size, - TRUNC(CAST("_S0".P_RETAILPRICE AS DOUBLE PRECISION), '0') AS retail_price_int, - 'old size: ' || NVL(TO_CHAR("_S0".P_SIZE), '') AS message, - LINEITEM.l_discount AS discount, - TO_CHAR(LINEITEM.l_receiptdate, 'DD-MM-YYYY') AS date_dmy, - TO_CHAR(LINEITEM.l_receiptdate, 'MM/DD') AS date_md, - TO_CHAR(LINEITEM.l_receiptdate, 'HH24:MIAM') AS am_pm -FROM "_S0" "_S0" + CAST("_s0".P_SIZE / 2.5 AS DOUBLE PRECISION) AS reduced_size, + TRUNC(CAST("_s0".P_RETAILPRICE AS DOUBLE PRECISION), 0) AS retail_price_int, + 'old size: ' || NVL(TO_CHAR("_s0".P_SIZE), '') AS message, + LINEITEM.L_DISCOUNT AS discount, + TO_CHAR(LINEITEM.L_RECEIPTDATE, 'DD-MM-YYYY') AS date_dmy, + TO_CHAR(LINEITEM.L_RECEIPTDATE, 'MM/DD') AS date_md, + TO_CHAR(LINEITEM.L_RECEIPTDATE, 'HH24:MIAM') AS am_pm +FROM "_s0" "_s0" JOIN TPCH.LINEITEM LINEITEM - ON LINEITEM.l_partkey = "_S0".P_PARTKEY + ON LINEITEM.L_PARTKEY = "_s0".P_PARTKEY ORDER BY 4 DESC NULLS LAST, 5 NULLS FIRST diff --git a/tests/test_sql_refsols/part_reduced_size_postgres.sql b/tests/test_sql_refsols/part_reduced_size_postgres.sql index 31d6c69f9..778ba76e5 100644 --- a/tests/test_sql_refsols/part_reduced_size_postgres.sql +++ b/tests/test_sql_refsols/part_reduced_size_postgres.sql @@ -11,7 +11,11 @@ WITH _s0 AS ( SELECT CAST(_s0.p_size AS DOUBLE PRECISION) / 2.5 AS reduced_size, CAST(_s0.p_retailprice AS INT) AS retail_price_int, - CONCAT_WS('', 'old size: ', CAST(_s0.p_size AS TEXT)) AS message, + CASE + WHEN CAST(_s0.p_size AS TEXT) IS NULL + THEN NULL + ELSE CONCAT_WS('', 'old size: ', CAST(_s0.p_size AS TEXT)) + END AS message, lineitem.l_discount AS discount, TO_CHAR(lineitem.l_receiptdate, 'DD-MM-YYYY') AS date_dmy, TO_CHAR(lineitem.l_receiptdate, 'MM/DD') AS date_md, diff --git a/tests/test_sql_refsols/part_reduced_size_snowflake.sql b/tests/test_sql_refsols/part_reduced_size_snowflake.sql index e54e66562..43bad4b76 100644 --- a/tests/test_sql_refsols/part_reduced_size_snowflake.sql +++ b/tests/test_sql_refsols/part_reduced_size_snowflake.sql @@ -11,11 +11,11 @@ WITH _s0 AS ( SELECT CAST(_s0.p_size / 2.5 AS DOUBLE) AS reduced_size, CAST(_s0.p_retailprice AS BIGINT) AS retail_price_int, - CONCAT_WS('', 'old size: ', CAST(_s0.p_size AS TEXT)) AS message, + CONCAT_WS('', 'old size: ', CAST(_s0.p_size AS VARCHAR)) AS message, lineitem.l_discount AS discount, - TO_CHAR(CAST(lineitem.l_receiptdate AS TIMESTAMP), 'DD-mm-yyyy') AS date_dmy, - TO_CHAR(CAST(lineitem.l_receiptdate AS TIMESTAMP), 'mm/DD') AS date_md, - TO_CHAR(CAST(lineitem.l_receiptdate AS TIMESTAMP), 'hh24:miAM') AS am_pm + TO_CHAR(lineitem.l_receiptdate, 'DD-mm-yyyy') AS date_dmy, + TO_CHAR(lineitem.l_receiptdate, 'mm/DD') AS date_md, + TO_CHAR(lineitem.l_receiptdate, 'hh24:miAM') AS am_pm FROM _s0 AS _s0 JOIN tpch.lineitem AS lineitem ON _s0.p_partkey = lineitem.l_partkey diff --git a/tests/test_sql_refsols/part_reduced_size_trino.sql b/tests/test_sql_refsols/part_reduced_size_trino.sql index af9991041..096e671b6 100644 --- a/tests/test_sql_refsols/part_reduced_size_trino.sql +++ b/tests/test_sql_refsols/part_reduced_size_trino.sql @@ -11,7 +11,11 @@ WITH _s0 AS ( SELECT CAST(_s0.p_size AS DOUBLE) / 2.5 AS reduced_size, CAST(CAST(_s0.p_retailprice AS DOUBLE) AS BIGINT) AS retail_price_int, - CONCAT_WS('', 'old size: ', CAST(_s0.p_size AS VARCHAR)) AS message, + CASE + WHEN CAST(_s0.p_size AS VARCHAR) IS NULL + THEN NULL + ELSE CONCAT_WS('', 'old size: ', CAST(_s0.p_size AS VARCHAR)) + END AS message, lineitem.l_discount AS discount, DATE_FORMAT(lineitem.l_receiptdate, '%d-%m-%Y') AS date_dmy, DATE_FORMAT(lineitem.l_receiptdate, '%m/%d') AS date_md, diff --git a/tests/test_sql_refsols/partition_child_inherited_term_oracle.sql b/tests/test_sql_refsols/partition_child_inherited_term_oracle.sql index b7565cde8..6bed424a0 100644 --- a/tests/test_sql_refsols/partition_child_inherited_term_oracle.sql +++ b/tests/test_sql_refsols/partition_child_inherited_term_oracle.sql @@ -1,11 +1,11 @@ SELECT - REGION.r_regionkey AS rkey, - MAX(REGION.r_name) AS region_name, + REGION.R_REGIONKEY AS rkey, + MAX(REGION.R_NAME) AS region_name, COUNT(*) AS n_nations FROM TPCH.REGION REGION JOIN TPCH.NATION NATION - ON NATION.n_regionkey = REGION.r_regionkey + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY GROUP BY - REGION.r_regionkey + REGION.R_REGIONKEY ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/partition_key_name_collision_oracle.sql b/tests/test_sql_refsols/partition_key_name_collision_oracle.sql index 5c0717fb4..0ca3ba5c8 100644 --- a/tests/test_sql_refsols/partition_key_name_collision_oracle.sql +++ b/tests/test_sql_refsols/partition_key_name_collision_oracle.sql @@ -1,8 +1,8 @@ SELECT - o_custkey AS "key", - COALESCE(SUM(o_totalprice), 0) AS total + O_CUSTKEY AS "key", + COALESCE(SUM(O_TOTALPRICE), 0) AS total FROM TPCH.ORDERS WHERE - o_custkey <= 3 + O_CUSTKEY <= 3 GROUP BY - o_custkey + O_CUSTKEY diff --git a/tests/test_sql_refsols/parts_quantity_increase_95_96_oracle.sql b/tests/test_sql_refsols/parts_quantity_increase_95_96_oracle.sql index 4f946c5df..51b7d8cac 100644 --- a/tests/test_sql_refsols/parts_quantity_increase_95_96_oracle.sql +++ b/tests/test_sql_refsols/parts_quantity_increase_95_96_oracle.sql @@ -1,41 +1,41 @@ -WITH "_T4" AS ( +WITH "_t4" AS ( SELECT - l_orderkey AS L_ORDERKEY, - l_partkey AS L_PARTKEY, - l_quantity AS L_QUANTITY, - l_shipmode AS L_SHIPMODE + L_ORDERKEY, + L_PARTKEY, + L_QUANTITY, + L_SHIPMODE FROM TPCH.LINEITEM WHERE - l_shipmode = 'RAIL' -), "_S6" AS ( + L_SHIPMODE = 'RAIL' +), "_s6" AS ( SELECT - "_T4".L_PARTKEY, - ANY_VALUE(PART.p_name) AS ANYTHING_P_NAME, - SUM("_T4".L_QUANTITY) AS SUM_L_QUANTITY + "_t4".L_PARTKEY, + ANY_VALUE(PART.P_NAME) AS ANYTHING_P_NAME, + SUM("_t4".L_QUANTITY) AS SUM_L_QUANTITY FROM TPCH.PART PART - JOIN "_T4" "_T4" - ON PART.p_partkey = "_T4".L_PARTKEY + JOIN "_t4" "_t4" + ON PART.P_PARTKEY = "_t4".L_PARTKEY JOIN TPCH.ORDERS ORDERS - ON EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) = 1995 - AND ORDERS.o_orderkey = "_T4".L_ORDERKEY + ON EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) = 1995 + AND ORDERS.O_ORDERKEY = "_t4".L_ORDERKEY WHERE - PART.p_container LIKE 'SM%' + PART.P_CONTAINER LIKE 'SM%' GROUP BY - "_T4".L_PARTKEY + "_t4".L_PARTKEY ) SELECT - ANY_VALUE("_S6".ANYTHING_P_NAME) AS name, - COALESCE(ANY_VALUE("_S6".SUM_L_QUANTITY), 0) AS qty_95, - COALESCE(SUM("_T6".L_QUANTITY), 0) AS qty_96 -FROM "_S6" "_S6" -JOIN "_T4" "_T6" - ON "_S6".L_PARTKEY = "_T6".L_PARTKEY + ANY_VALUE("_s6".ANYTHING_P_NAME) AS name, + COALESCE(ANY_VALUE("_s6".SUM_L_QUANTITY), 0) AS qty_95, + COALESCE(SUM("_t6".L_QUANTITY), 0) AS qty_96 +FROM "_s6" "_s6" +JOIN "_t4" "_t6" + ON "_s6".L_PARTKEY = "_t6".L_PARTKEY JOIN TPCH.ORDERS ORDERS - ON EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) = 1996 - AND ORDERS.o_orderkey = "_T6".L_ORDERKEY + ON EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) = 1996 + AND ORDERS.O_ORDERKEY = "_t6".L_ORDERKEY GROUP BY - "_T6".L_PARTKEY + "_t6".L_PARTKEY ORDER BY - COALESCE(SUM("_T6".L_QUANTITY), 0) - COALESCE(ANY_VALUE("_S6".SUM_L_QUANTITY), 0) DESC NULLS LAST, + COALESCE(SUM("_t6".L_QUANTITY), 0) - COALESCE(ANY_VALUE("_s6".SUM_L_QUANTITY), 0) DESC NULLS LAST, 1 NULLS FIRST FETCH FIRST 3 ROWS ONLY diff --git a/tests/test_sql_refsols/parts_quantity_increase_95_96_postgres.sql b/tests/test_sql_refsols/parts_quantity_increase_95_96_postgres.sql index 006e573d8..09ee030d3 100644 --- a/tests/test_sql_refsols/parts_quantity_increase_95_96_postgres.sql +++ b/tests/test_sql_refsols/parts_quantity_increase_95_96_postgres.sql @@ -10,7 +10,7 @@ WITH _t4 AS ( ), _s6 AS ( SELECT _t4.l_partkey, - MAX(part.p_name) AS anything_p_name, + ANY_VALUE(part.p_name) AS anything_p_name, SUM(_t4.l_quantity) AS sum_l_quantity FROM tpch.part AS part JOIN _t4 AS _t4 @@ -24,8 +24,8 @@ WITH _t4 AS ( 1 ) SELECT - MAX(_s6.anything_p_name) AS name, - COALESCE(MAX(_s6.sum_l_quantity), 0) AS qty_95, + ANY_VALUE(_s6.anything_p_name) AS name, + COALESCE(ANY_VALUE(_s6.sum_l_quantity), 0) AS qty_95, COALESCE(SUM(_t6.l_quantity), 0) AS qty_96 FROM _s6 AS _s6 JOIN _t4 AS _t6 @@ -36,6 +36,6 @@ JOIN tpch.orders AS orders GROUP BY _t6.l_partkey ORDER BY - COALESCE(SUM(_t6.l_quantity), 0) - COALESCE(MAX(_s6.sum_l_quantity), 0) DESC NULLS LAST, + COALESCE(SUM(_t6.l_quantity), 0) - COALESCE(ANY_VALUE(_s6.sum_l_quantity), 0) DESC NULLS LAST, 1 NULLS FIRST LIMIT 3 diff --git a/tests/test_sql_refsols/pcrossp_a_oracle.sql b/tests/test_sql_refsols/pcrossp_a_oracle.sql index 9d6b5b580..f5058421e 100644 --- a/tests/test_sql_refsols/pcrossp_a_oracle.sql +++ b/tests/test_sql_refsols/pcrossp_a_oracle.sql @@ -1,22 +1,22 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - p_mfgr AS P_MFGR, + P_MFGR, COUNT(*) AS N_ROWS FROM TPCH.PART GROUP BY - p_mfgr -), "_S1" AS ( + P_MFGR +), "_s1" AS ( SELECT - c_mktsegment AS C_MKTSEGMENT, + C_MKTSEGMENT, COUNT(*) AS N_ROWS FROM TPCH.CUSTOMER GROUP BY - c_mktsegment + C_MKTSEGMENT ) SELECT - "_S0".P_MFGR AS manufacturer, - "_S0".N_ROWS AS n_parts, - "_S1".C_MKTSEGMENT AS industry, - "_S1".N_ROWS AS n_custs -FROM "_S0" "_S0" -CROSS JOIN "_S1" "_S1" + "_s0".P_MFGR AS manufacturer, + "_s0".N_ROWS AS n_parts, + "_s1".C_MKTSEGMENT AS industry, + "_s1".N_ROWS AS n_custs +FROM "_s0" "_s0" +CROSS JOIN "_s1" "_s1" diff --git a/tests/test_sql_refsols/pcrossp_b_oracle.sql b/tests/test_sql_refsols/pcrossp_b_oracle.sql index b89b6bed5..782058263 100644 --- a/tests/test_sql_refsols/pcrossp_b_oracle.sql +++ b/tests/test_sql_refsols/pcrossp_b_oracle.sql @@ -1,22 +1,22 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - c_mktsegment AS C_MKTSEGMENT, + C_MKTSEGMENT, COUNT(*) AS N_ROWS FROM TPCH.CUSTOMER GROUP BY - c_mktsegment -), "_S1" AS ( + C_MKTSEGMENT +), "_s1" AS ( SELECT - p_mfgr AS P_MFGR, + P_MFGR, COUNT(*) AS N_ROWS FROM TPCH.PART GROUP BY - p_mfgr + P_MFGR ) SELECT - "_S1".P_MFGR AS manufacturer, - "_S1".N_ROWS AS n_parts, - "_S0".C_MKTSEGMENT AS industry, - "_S0".N_ROWS AS n_custs -FROM "_S0" "_S0" -CROSS JOIN "_S1" "_S1" + "_s1".P_MFGR AS manufacturer, + "_s1".N_ROWS AS n_parts, + "_s0".C_MKTSEGMENT AS industry, + "_s0".N_ROWS AS n_custs +FROM "_s0" "_s0" +CROSS JOIN "_s1" "_s1" diff --git a/tests/test_sql_refsols/pcrossp_c_oracle.sql b/tests/test_sql_refsols/pcrossp_c_oracle.sql index f072c5aca..5605e506b 100644 --- a/tests/test_sql_refsols/pcrossp_c_oracle.sql +++ b/tests/test_sql_refsols/pcrossp_c_oracle.sql @@ -1,29 +1,29 @@ -WITH "_T1" AS ( +WITH "_t1" AS ( SELECT - n_name AS N_NAME, - n_nationkey AS N_NATIONKEY + N_NAME, + N_NATIONKEY FROM TPCH.NATION WHERE - n_name IN ('CANADA', 'ARGENTINA') -), "_S6" AS ( + N_NAME IN ('CANADA', 'ARGENTINA') +), "_s6" AS ( SELECT DISTINCT - EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) AS YEAR_O_ORDERDATE, - "_T1".N_NAME + EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) AS YEAR_O_ORDERDATE, + "_t1".N_NAME FROM TPCH.ORDERS ORDERS JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_custkey = ORDERS.o_custkey - JOIN "_T1" "_T1" - ON CUSTOMER.c_nationkey = "_T1".N_NATIONKEY -), "_S7" AS ( + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY + JOIN "_t1" "_t1" + ON CUSTOMER.C_NATIONKEY = "_t1".N_NATIONKEY +), "_s7" AS ( SELECT DISTINCT - "_T3".N_NAME + "_t3".N_NAME FROM TPCH.SUPPLIER SUPPLIER - JOIN "_T1" "_T3" - ON SUPPLIER.s_nationkey = "_T3".N_NATIONKEY + JOIN "_t1" "_t3" + ON SUPPLIER.S_NATIONKEY = "_t3".N_NATIONKEY ) SELECT - "_S6".N_NAME AS c_nation, - "_S6".YEAR_O_ORDERDATE AS o_year -FROM "_S6" "_S6" -JOIN "_S7" "_S7" - ON "_S6".N_NAME = "_S7".N_NAME + "_s6".N_NAME AS c_nation, + "_s6".YEAR_O_ORDERDATE AS o_year +FROM "_s6" "_s6" +JOIN "_s7" "_s7" + ON "_s6".N_NAME = "_s7".N_NAME diff --git a/tests/test_sql_refsols/pcrossp_d_oracle.sql b/tests/test_sql_refsols/pcrossp_d_oracle.sql index e53f4527b..ddb186205 100644 --- a/tests/test_sql_refsols/pcrossp_d_oracle.sql +++ b/tests/test_sql_refsols/pcrossp_d_oracle.sql @@ -1,29 +1,29 @@ -WITH "_T1" AS ( +WITH "_t1" AS ( SELECT - n_name AS N_NAME, - n_nationkey AS N_NATIONKEY + N_NAME, + N_NATIONKEY FROM TPCH.NATION WHERE - n_name IN ('CANADA', 'ARGENTINA') -), "_S6" AS ( + N_NAME IN ('CANADA', 'ARGENTINA') +), "_s6" AS ( SELECT DISTINCT - "_T1".N_NAME + "_t1".N_NAME FROM TPCH.SUPPLIER SUPPLIER - JOIN "_T1" "_T1" - ON SUPPLIER.s_nationkey = "_T1".N_NATIONKEY -), "_S7" AS ( + JOIN "_t1" "_t1" + ON SUPPLIER.S_NATIONKEY = "_t1".N_NATIONKEY +), "_s7" AS ( SELECT DISTINCT - EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) AS YEAR_O_ORDERDATE, - "_T3".N_NAME + EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) AS YEAR_O_ORDERDATE, + "_t3".N_NAME FROM TPCH.ORDERS ORDERS JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_custkey = ORDERS.o_custkey - JOIN "_T1" "_T3" - ON CUSTOMER.c_nationkey = "_T3".N_NATIONKEY + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY + JOIN "_t1" "_t3" + ON CUSTOMER.C_NATIONKEY = "_t3".N_NATIONKEY ) SELECT - "_S7".N_NAME AS c_nation, - "_S7".YEAR_O_ORDERDATE AS o_year -FROM "_S6" "_S6" -JOIN "_S7" "_S7" - ON "_S6".N_NAME = "_S7".N_NAME + "_s7".N_NAME AS c_nation, + "_s7".YEAR_O_ORDERDATE AS o_year +FROM "_s6" "_s6" +JOIN "_s7" "_s7" + ON "_s6".N_NAME = "_s7".N_NAME diff --git a/tests/test_sql_refsols/pear_music_has_1_mysql.sql b/tests/test_sql_refsols/pear_music_has_1_mysql.sql index 07b2c40f6..ee21dbb09 100644 --- a/tests/test_sql_refsols/pear_music_has_1_mysql.sql +++ b/tests/test_sql_refsols/pear_music_has_1_mysql.sql @@ -1,19 +1,19 @@ WITH _s3 AS ( SELECT - ANY_VALUE(Customer.supportrepid) AS anything_SupportRepId, - SUM(Invoice.total) AS sum_Total + ANY_VALUE(Customer.SupportRepId) AS anything_SupportRepId, + SUM(Invoice.Total) AS sum_Total FROM main.Customer AS Customer LEFT JOIN main.Invoice AS Invoice - ON Customer.customerid = Invoice.customerid + ON Customer.CustomerId = Invoice.CustomerId GROUP BY - Customer.customerid + Customer.CustomerId ) SELECT _s3.anything_SupportRepId AS employee_id, COALESCE(SUM(_s3.sum_Total), 0) AS total_invoice FROM main.Employee AS Employee JOIN _s3 AS _s3 - ON Employee.employeeid = _s3.anything_SupportRepId + ON Employee.EmployeeId = _s3.anything_SupportRepId GROUP BY 1 ORDER BY diff --git a/tests/test_sql_refsols/pear_music_has_1_oracle.sql b/tests/test_sql_refsols/pear_music_has_1_oracle.sql index d8d464ea6..7024d12b6 100644 --- a/tests/test_sql_refsols/pear_music_has_1_oracle.sql +++ b/tests/test_sql_refsols/pear_music_has_1_oracle.sql @@ -1,20 +1,20 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - ANY_VALUE(CUSTOMER.supportrepid) AS ANYTHING_SUPPORTREPID, - SUM(INVOICE.total) AS SUM_TOTAL + ANY_VALUE(CUSTOMER.SUPPORTREPID) AS ANYTHING_SUPPORTREPID, + SUM(INVOICE.TOTAL) AS SUM_TOTAL FROM MAIN.CUSTOMER CUSTOMER LEFT JOIN MAIN.INVOICE INVOICE - ON CUSTOMER.customerid = INVOICE.customerid + ON CUSTOMER.CUSTOMERID = INVOICE.CUSTOMERID GROUP BY - CUSTOMER.customerid + CUSTOMER.CUSTOMERID ) SELECT - "_S3".ANYTHING_SUPPORTREPID AS employee_id, - COALESCE(SUM("_S3".SUM_TOTAL), 0) AS total_invoice + "_s3".ANYTHING_SUPPORTREPID AS employee_id, + COALESCE(SUM("_s3".SUM_TOTAL), 0) AS total_invoice FROM MAIN.EMPLOYEE EMPLOYEE -JOIN "_S3" "_S3" - ON EMPLOYEE.employeeid = "_S3".ANYTHING_SUPPORTREPID +JOIN "_s3" "_s3" + ON EMPLOYEE.EMPLOYEEID = "_s3".ANYTHING_SUPPORTREPID GROUP BY - "_S3".ANYTHING_SUPPORTREPID + "_s3".ANYTHING_SUPPORTREPID ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/pear_music_has_1_postgres.sql b/tests/test_sql_refsols/pear_music_has_1_postgres.sql index bd20f5503..bd1f96aac 100644 --- a/tests/test_sql_refsols/pear_music_has_1_postgres.sql +++ b/tests/test_sql_refsols/pear_music_has_1_postgres.sql @@ -1,6 +1,6 @@ WITH _s3 AS ( SELECT - MAX(customer.supportrepid) AS anything_supportrepid, + ANY_VALUE(customer.supportrepid) AS anything_supportrepid, SUM(invoice.total) AS sum_total FROM main.customer AS customer LEFT JOIN main.invoice AS invoice diff --git a/tests/test_sql_refsols/percentile_customers_per_region_mysql.sql b/tests/test_sql_refsols/percentile_customers_per_region_mysql.sql index e01534c05..f45af7e12 100644 --- a/tests/test_sql_refsols/percentile_customers_per_region_mysql.sql +++ b/tests/test_sql_refsols/percentile_customers_per_region_mysql.sql @@ -2,7 +2,10 @@ WITH _t AS ( SELECT CUSTOMER.c_name, CUSTOMER.c_phone, - NTILE(100) OVER (PARTITION BY NATION.n_regionkey ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_acctbal) AS _w + NTILE(100) OVER ( + PARTITION BY NATION.n_regionkey + ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_acctbal + ) AS _w FROM tpch.NATION AS NATION JOIN tpch.CUSTOMER AS CUSTOMER ON CUSTOMER.c_nationkey = NATION.n_nationkey diff --git a/tests/test_sql_refsols/percentile_customers_per_region_oracle.sql b/tests/test_sql_refsols/percentile_customers_per_region_oracle.sql index 239e53a08..c2a25571d 100644 --- a/tests/test_sql_refsols/percentile_customers_per_region_oracle.sql +++ b/tests/test_sql_refsols/percentile_customers_per_region_oracle.sql @@ -1,16 +1,16 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - CUSTOMER.c_name AS C_NAME, - CUSTOMER.c_phone AS C_PHONE, - NTILE(100) OVER (PARTITION BY NATION.n_regionkey ORDER BY CUSTOMER.c_acctbal) AS "_W" + CUSTOMER.C_NAME, + CUSTOMER.C_PHONE, + NTILE(100) OVER (PARTITION BY NATION.N_REGIONKEY ORDER BY CUSTOMER.C_ACCTBAL) AS "_w" FROM TPCH.NATION NATION JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_nationkey = NATION.n_nationkey + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY ) SELECT C_NAME AS name -FROM "_T" +FROM "_t" WHERE - C_PHONE LIKE '%00' AND "_W" = 95 + C_PHONE LIKE '%00' AND "_w" = 95 ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/percentile_nations_mysql.sql b/tests/test_sql_refsols/percentile_nations_mysql.sql index 045726593..a0351a1e4 100644 --- a/tests/test_sql_refsols/percentile_nations_mysql.sql +++ b/tests/test_sql_refsols/percentile_nations_mysql.sql @@ -1,5 +1,9 @@ SELECT n_name AS name, - NTILE(5) OVER (ORDER BY CASE WHEN n_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, n_name COLLATE utf8mb4_bin) AS p1, - NTILE(5) OVER (ORDER BY CASE WHEN n_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, n_name COLLATE utf8mb4_bin) AS p2 + NTILE(5) OVER ( + ORDER BY CASE WHEN n_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, n_name COLLATE utf8mb4_bin + ) AS p1, + NTILE(5) OVER ( + ORDER BY CASE WHEN n_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, n_name COLLATE utf8mb4_bin + ) AS p2 FROM tpch.NATION diff --git a/tests/test_sql_refsols/percentile_nations_oracle.sql b/tests/test_sql_refsols/percentile_nations_oracle.sql index 02fa060e6..7cd67b974 100644 --- a/tests/test_sql_refsols/percentile_nations_oracle.sql +++ b/tests/test_sql_refsols/percentile_nations_oracle.sql @@ -1,5 +1,5 @@ SELECT - n_name AS name, - NTILE(5) OVER (ORDER BY n_name) AS p1, - NTILE(5) OVER (ORDER BY n_name) AS p2 + N_NAME AS name, + NTILE(5) OVER (ORDER BY N_NAME) AS p1, + NTILE(5) OVER (ORDER BY N_NAME) AS p2 FROM TPCH.NATION diff --git a/tests/test_sql_refsols/prev_next_regions_mysql.sql b/tests/test_sql_refsols/prev_next_regions_mysql.sql index 64d2c2f75..bc8984ecf 100644 --- a/tests/test_sql_refsols/prev_next_regions_mysql.sql +++ b/tests/test_sql_refsols/prev_next_regions_mysql.sql @@ -1,9 +1,17 @@ SELECT - LAG(r_name, 2) OVER (ORDER BY CASE WHEN r_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, r_name COLLATE utf8mb4_bin) AS two_preceding, - LAG(r_name, 1) OVER (ORDER BY CASE WHEN r_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, r_name COLLATE utf8mb4_bin) AS one_preceding, + LAG(r_name, 2) OVER ( + ORDER BY CASE WHEN r_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, r_name COLLATE utf8mb4_bin + ) AS two_preceding, + LAG(r_name, 1) OVER ( + ORDER BY CASE WHEN r_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, r_name COLLATE utf8mb4_bin + ) AS one_preceding, r_name COLLATE utf8mb4_bin AS current_region, - LEAD(r_name, 1) OVER (ORDER BY CASE WHEN r_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, r_name COLLATE utf8mb4_bin) AS one_following, - LEAD(r_name, 2) OVER (ORDER BY CASE WHEN r_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, r_name COLLATE utf8mb4_bin) AS two_following + LEAD(r_name, 1) OVER ( + ORDER BY CASE WHEN r_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, r_name COLLATE utf8mb4_bin + ) AS one_following, + LEAD(r_name, 2) OVER ( + ORDER BY CASE WHEN r_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, r_name COLLATE utf8mb4_bin + ) AS two_following FROM tpch.REGION ORDER BY 3 diff --git a/tests/test_sql_refsols/prev_next_regions_oracle.sql b/tests/test_sql_refsols/prev_next_regions_oracle.sql index 95d25b1a2..071de1f9a 100644 --- a/tests/test_sql_refsols/prev_next_regions_oracle.sql +++ b/tests/test_sql_refsols/prev_next_regions_oracle.sql @@ -1,9 +1,9 @@ SELECT - LAG(r_name, 2) OVER (ORDER BY r_name) AS two_preceding, - LAG(r_name, 1) OVER (ORDER BY r_name) AS one_preceding, - r_name AS current_region, - LEAD(r_name, 1) OVER (ORDER BY r_name) AS one_following, - LEAD(r_name, 2) OVER (ORDER BY r_name) AS two_following + LAG(R_NAME, 2) OVER (ORDER BY R_NAME) AS two_preceding, + LAG(R_NAME, 1) OVER (ORDER BY R_NAME) AS one_preceding, + R_NAME AS current_region, + LEAD(R_NAME, 1) OVER (ORDER BY R_NAME) AS one_following, + LEAD(R_NAME, 2) OVER (ORDER BY R_NAME) AS two_following FROM TPCH.REGION ORDER BY 3 NULLS FIRST diff --git a/tests/test_sql_refsols/quantile_function_test_1_oracle.sql b/tests/test_sql_refsols/quantile_function_test_1_oracle.sql index a999a326e..446b8e035 100644 --- a/tests/test_sql_refsols/quantile_function_test_1_oracle.sql +++ b/tests/test_sql_refsols/quantile_function_test_1_oracle.sql @@ -1,14 +1,14 @@ -WITH "_T0" AS ( +WITH "_t0" AS ( SELECT CASE - WHEN FLOOR(0.3 * COUNT(o_totalprice) OVER ()) < ROW_NUMBER() OVER (ORDER BY o_totalprice DESC NULLS LAST) - THEN o_totalprice + WHEN FLOOR(0.3 * COUNT(O_TOTALPRICE) OVER ()) < ROW_NUMBER() OVER (ORDER BY O_TOTALPRICE DESC NULLS LAST) + THEN O_TOTALPRICE ELSE NULL END AS EXPR_1 FROM TPCH.ORDERS WHERE - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) = 1998 + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) = 1998 ) SELECT MAX(EXPR_1) AS seventieth_order_price -FROM "_T0" +FROM "_t0" diff --git a/tests/test_sql_refsols/quantile_function_test_2_oracle.sql b/tests/test_sql_refsols/quantile_function_test_2_oracle.sql index ffe754642..ca3e77144 100644 --- a/tests/test_sql_refsols/quantile_function_test_2_oracle.sql +++ b/tests/test_sql_refsols/quantile_function_test_2_oracle.sql @@ -1,74 +1,74 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - n_name AS N_NAME, - n_nationkey AS N_NATIONKEY, - n_regionkey AS N_REGIONKEY + N_NAME, + N_NATIONKEY, + N_REGIONKEY FROM TPCH.NATION ORDER BY 1 NULLS FIRST FETCH FIRST 5 ROWS ONLY -), "_S5" AS ( +), "_s5" AS ( SELECT - CUSTOMER.c_nationkey AS C_NATIONKEY, - ORDERS.o_totalprice AS O_TOTALPRICE, + CUSTOMER.C_NATIONKEY, + ORDERS.O_TOTALPRICE, CASE - WHEN FLOOR(0.99 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.99 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_10, CASE - WHEN FLOOR(0.75 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.75 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_11, CASE - WHEN FLOOR(0.25 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.25 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_12, CASE - WHEN FLOOR(0.1 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.1 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_13, CASE - WHEN FLOOR(0.01 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.01 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_14, CASE - WHEN FLOOR(0.5 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.5 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_15, CASE - WHEN FLOOR(0.9 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.9 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_9 FROM TPCH.CUSTOMER CUSTOMER JOIN TPCH.ORDERS ORDERS - ON CUSTOMER.c_custkey = ORDERS.o_custkey - AND EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) = 1998 + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY + AND EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) = 1998 ) SELECT - ANY_VALUE(REGION.r_name) AS region_name, - ANY_VALUE("_S0".N_NAME) AS nation_name, - MIN("_S5".O_TOTALPRICE) AS orders_min, - MAX("_S5".EXPR_10) AS orders_1_percent, - MAX("_S5".EXPR_9) AS orders_10_percent, - MAX("_S5".EXPR_11) AS orders_25_percent, - MAX("_S5".EXPR_15) AS orders_median, - MAX("_S5".EXPR_12) AS orders_75_percent, - MAX("_S5".EXPR_13) AS orders_90_percent, - MAX("_S5".EXPR_14) AS orders_99_percent, - MAX("_S5".O_TOTALPRICE) AS orders_max -FROM "_S0" "_S0" + ANY_VALUE(REGION.R_NAME) AS region_name, + ANY_VALUE("_s0".N_NAME) AS nation_name, + MIN("_s5".O_TOTALPRICE) AS orders_min, + MAX("_s5".EXPR_10) AS orders_1_percent, + MAX("_s5".EXPR_9) AS orders_10_percent, + MAX("_s5".EXPR_11) AS orders_25_percent, + MAX("_s5".EXPR_15) AS orders_median, + MAX("_s5".EXPR_12) AS orders_75_percent, + MAX("_s5".EXPR_13) AS orders_90_percent, + MAX("_s5".EXPR_14) AS orders_99_percent, + MAX("_s5".O_TOTALPRICE) AS orders_max +FROM "_s0" "_s0" JOIN TPCH.REGION REGION - ON REGION.r_regionkey = "_S0".N_REGIONKEY -LEFT JOIN "_S5" "_S5" - ON "_S0".N_NATIONKEY = "_S5".C_NATIONKEY + ON REGION.R_REGIONKEY = "_s0".N_REGIONKEY +LEFT JOIN "_s5" "_s5" + ON "_s0".N_NATIONKEY = "_s5".C_NATIONKEY GROUP BY - "_S0".N_NATIONKEY + "_s0".N_NATIONKEY ORDER BY 2 NULLS FIRST diff --git a/tests/test_sql_refsols/quantile_function_test_2_postgres.sql b/tests/test_sql_refsols/quantile_function_test_2_postgres.sql index 3ed701633..bba8ac106 100644 --- a/tests/test_sql_refsols/quantile_function_test_2_postgres.sql +++ b/tests/test_sql_refsols/quantile_function_test_2_postgres.sql @@ -17,8 +17,8 @@ WITH _s0 AS ( AND customer.c_custkey = orders.o_custkey ) SELECT - MAX(region.r_name) AS region_name, - MAX(_s0.n_name) AS nation_name, + ANY_VALUE(region.r_name) AS region_name, + ANY_VALUE(_s0.n_name) AS nation_name, PERCENTILE_DISC(0.0) WITHIN GROUP (ORDER BY _s5.o_totalprice) AS orders_min, PERCENTILE_DISC(0.01) WITHIN GROUP (ORDER BY diff --git a/tests/test_sql_refsols/quantile_function_test_3_oracle.sql b/tests/test_sql_refsols/quantile_function_test_3_oracle.sql index ffe754642..ca3e77144 100644 --- a/tests/test_sql_refsols/quantile_function_test_3_oracle.sql +++ b/tests/test_sql_refsols/quantile_function_test_3_oracle.sql @@ -1,74 +1,74 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - n_name AS N_NAME, - n_nationkey AS N_NATIONKEY, - n_regionkey AS N_REGIONKEY + N_NAME, + N_NATIONKEY, + N_REGIONKEY FROM TPCH.NATION ORDER BY 1 NULLS FIRST FETCH FIRST 5 ROWS ONLY -), "_S5" AS ( +), "_s5" AS ( SELECT - CUSTOMER.c_nationkey AS C_NATIONKEY, - ORDERS.o_totalprice AS O_TOTALPRICE, + CUSTOMER.C_NATIONKEY, + ORDERS.O_TOTALPRICE, CASE - WHEN FLOOR(0.99 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.99 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_10, CASE - WHEN FLOOR(0.75 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.75 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_11, CASE - WHEN FLOOR(0.25 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.25 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_12, CASE - WHEN FLOOR(0.1 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.1 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_13, CASE - WHEN FLOOR(0.01 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.01 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_14, CASE - WHEN FLOOR(0.5 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.5 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_15, CASE - WHEN FLOOR(0.9 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.9 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_9 FROM TPCH.CUSTOMER CUSTOMER JOIN TPCH.ORDERS ORDERS - ON CUSTOMER.c_custkey = ORDERS.o_custkey - AND EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) = 1998 + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY + AND EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) = 1998 ) SELECT - ANY_VALUE(REGION.r_name) AS region_name, - ANY_VALUE("_S0".N_NAME) AS nation_name, - MIN("_S5".O_TOTALPRICE) AS orders_min, - MAX("_S5".EXPR_10) AS orders_1_percent, - MAX("_S5".EXPR_9) AS orders_10_percent, - MAX("_S5".EXPR_11) AS orders_25_percent, - MAX("_S5".EXPR_15) AS orders_median, - MAX("_S5".EXPR_12) AS orders_75_percent, - MAX("_S5".EXPR_13) AS orders_90_percent, - MAX("_S5".EXPR_14) AS orders_99_percent, - MAX("_S5".O_TOTALPRICE) AS orders_max -FROM "_S0" "_S0" + ANY_VALUE(REGION.R_NAME) AS region_name, + ANY_VALUE("_s0".N_NAME) AS nation_name, + MIN("_s5".O_TOTALPRICE) AS orders_min, + MAX("_s5".EXPR_10) AS orders_1_percent, + MAX("_s5".EXPR_9) AS orders_10_percent, + MAX("_s5".EXPR_11) AS orders_25_percent, + MAX("_s5".EXPR_15) AS orders_median, + MAX("_s5".EXPR_12) AS orders_75_percent, + MAX("_s5".EXPR_13) AS orders_90_percent, + MAX("_s5".EXPR_14) AS orders_99_percent, + MAX("_s5".O_TOTALPRICE) AS orders_max +FROM "_s0" "_s0" JOIN TPCH.REGION REGION - ON REGION.r_regionkey = "_S0".N_REGIONKEY -LEFT JOIN "_S5" "_S5" - ON "_S0".N_NATIONKEY = "_S5".C_NATIONKEY + ON REGION.R_REGIONKEY = "_s0".N_REGIONKEY +LEFT JOIN "_s5" "_s5" + ON "_s0".N_NATIONKEY = "_s5".C_NATIONKEY GROUP BY - "_S0".N_NATIONKEY + "_s0".N_NATIONKEY ORDER BY 2 NULLS FIRST diff --git a/tests/test_sql_refsols/quantile_function_test_3_postgres.sql b/tests/test_sql_refsols/quantile_function_test_3_postgres.sql index 3ed701633..bba8ac106 100644 --- a/tests/test_sql_refsols/quantile_function_test_3_postgres.sql +++ b/tests/test_sql_refsols/quantile_function_test_3_postgres.sql @@ -17,8 +17,8 @@ WITH _s0 AS ( AND customer.c_custkey = orders.o_custkey ) SELECT - MAX(region.r_name) AS region_name, - MAX(_s0.n_name) AS nation_name, + ANY_VALUE(region.r_name) AS region_name, + ANY_VALUE(_s0.n_name) AS nation_name, PERCENTILE_DISC(0.0) WITHIN GROUP (ORDER BY _s5.o_totalprice) AS orders_min, PERCENTILE_DISC(0.01) WITHIN GROUP (ORDER BY diff --git a/tests/test_sql_refsols/quantile_function_test_4_oracle.sql b/tests/test_sql_refsols/quantile_function_test_4_oracle.sql index f711c4cf1..1f9f222f3 100644 --- a/tests/test_sql_refsols/quantile_function_test_4_oracle.sql +++ b/tests/test_sql_refsols/quantile_function_test_4_oracle.sql @@ -1,73 +1,73 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - n_name AS N_NAME, - n_nationkey AS N_NATIONKEY, - n_regionkey AS N_REGIONKEY + N_NAME, + N_NATIONKEY, + N_REGIONKEY FROM TPCH.NATION ORDER BY 1 NULLS FIRST FETCH FIRST 5 ROWS ONLY -), "_S5" AS ( +), "_s5" AS ( SELECT - CUSTOMER.c_nationkey AS C_NATIONKEY, - ORDERS.o_totalprice AS O_TOTALPRICE, + CUSTOMER.C_NATIONKEY, + ORDERS.O_TOTALPRICE, CASE - WHEN FLOOR(0.99 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.99 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_10, CASE - WHEN FLOOR(0.75 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.75 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_11, CASE - WHEN FLOOR(0.25 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.25 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_12, CASE - WHEN FLOOR(0.1 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.1 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_13, CASE - WHEN FLOOR(0.01 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.01 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_14, CASE - WHEN FLOOR(0.5 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.5 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_15, CASE - WHEN FLOOR(0.9 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.9 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_9 FROM TPCH.CUSTOMER CUSTOMER JOIN TPCH.ORDERS ORDERS - ON CUSTOMER.c_custkey = ORDERS.o_custkey AND ORDERS.o_clerk = 'Clerk#000000272' + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY AND ORDERS.O_CLERK = 'Clerk#000000272' ) SELECT - ANY_VALUE(REGION.r_name) AS region_name, - ANY_VALUE("_S0".N_NAME) AS nation_name, - MIN("_S5".O_TOTALPRICE) AS orders_min, - MAX("_S5".EXPR_10) AS orders_1_percent, - MAX("_S5".EXPR_9) AS orders_10_percent, - MAX("_S5".EXPR_11) AS orders_25_percent, - MAX("_S5".EXPR_15) AS orders_median, - MAX("_S5".EXPR_12) AS orders_75_percent, - MAX("_S5".EXPR_13) AS orders_90_percent, - MAX("_S5".EXPR_14) AS orders_99_percent, - MAX("_S5".O_TOTALPRICE) AS orders_max -FROM "_S0" "_S0" + ANY_VALUE(REGION.R_NAME) AS region_name, + ANY_VALUE("_s0".N_NAME) AS nation_name, + MIN("_s5".O_TOTALPRICE) AS orders_min, + MAX("_s5".EXPR_10) AS orders_1_percent, + MAX("_s5".EXPR_9) AS orders_10_percent, + MAX("_s5".EXPR_11) AS orders_25_percent, + MAX("_s5".EXPR_15) AS orders_median, + MAX("_s5".EXPR_12) AS orders_75_percent, + MAX("_s5".EXPR_13) AS orders_90_percent, + MAX("_s5".EXPR_14) AS orders_99_percent, + MAX("_s5".O_TOTALPRICE) AS orders_max +FROM "_s0" "_s0" JOIN TPCH.REGION REGION - ON REGION.r_regionkey = "_S0".N_REGIONKEY -LEFT JOIN "_S5" "_S5" - ON "_S0".N_NATIONKEY = "_S5".C_NATIONKEY + ON REGION.R_REGIONKEY = "_s0".N_REGIONKEY +LEFT JOIN "_s5" "_s5" + ON "_s0".N_NATIONKEY = "_s5".C_NATIONKEY GROUP BY - "_S0".N_NATIONKEY + "_s0".N_NATIONKEY ORDER BY 2 NULLS FIRST diff --git a/tests/test_sql_refsols/quantile_function_test_4_postgres.sql b/tests/test_sql_refsols/quantile_function_test_4_postgres.sql index 3f8efdf77..a2254e51a 100644 --- a/tests/test_sql_refsols/quantile_function_test_4_postgres.sql +++ b/tests/test_sql_refsols/quantile_function_test_4_postgres.sql @@ -16,8 +16,8 @@ WITH _s0 AS ( ON customer.c_custkey = orders.o_custkey AND orders.o_clerk = 'Clerk#000000272' ) SELECT - MAX(region.r_name) AS region_name, - MAX(_s0.n_name) AS nation_name, + ANY_VALUE(region.r_name) AS region_name, + ANY_VALUE(_s0.n_name) AS nation_name, PERCENTILE_DISC(0.0) WITHIN GROUP (ORDER BY _s5.o_totalprice) AS orders_min, PERCENTILE_DISC(0.01) WITHIN GROUP (ORDER BY diff --git a/tests/test_sql_refsols/quantile_test_1_oracle.sql b/tests/test_sql_refsols/quantile_test_1_oracle.sql index a999a326e..446b8e035 100644 --- a/tests/test_sql_refsols/quantile_test_1_oracle.sql +++ b/tests/test_sql_refsols/quantile_test_1_oracle.sql @@ -1,14 +1,14 @@ -WITH "_T0" AS ( +WITH "_t0" AS ( SELECT CASE - WHEN FLOOR(0.3 * COUNT(o_totalprice) OVER ()) < ROW_NUMBER() OVER (ORDER BY o_totalprice DESC NULLS LAST) - THEN o_totalprice + WHEN FLOOR(0.3 * COUNT(O_TOTALPRICE) OVER ()) < ROW_NUMBER() OVER (ORDER BY O_TOTALPRICE DESC NULLS LAST) + THEN O_TOTALPRICE ELSE NULL END AS EXPR_1 FROM TPCH.ORDERS WHERE - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) = 1998 + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) = 1998 ) SELECT MAX(EXPR_1) AS seventieth_order_price -FROM "_T0" +FROM "_t0" diff --git a/tests/test_sql_refsols/quantile_test_2_oracle.sql b/tests/test_sql_refsols/quantile_test_2_oracle.sql index ffe754642..ca3e77144 100644 --- a/tests/test_sql_refsols/quantile_test_2_oracle.sql +++ b/tests/test_sql_refsols/quantile_test_2_oracle.sql @@ -1,74 +1,74 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - n_name AS N_NAME, - n_nationkey AS N_NATIONKEY, - n_regionkey AS N_REGIONKEY + N_NAME, + N_NATIONKEY, + N_REGIONKEY FROM TPCH.NATION ORDER BY 1 NULLS FIRST FETCH FIRST 5 ROWS ONLY -), "_S5" AS ( +), "_s5" AS ( SELECT - CUSTOMER.c_nationkey AS C_NATIONKEY, - ORDERS.o_totalprice AS O_TOTALPRICE, + CUSTOMER.C_NATIONKEY, + ORDERS.O_TOTALPRICE, CASE - WHEN FLOOR(0.99 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.99 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_10, CASE - WHEN FLOOR(0.75 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.75 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_11, CASE - WHEN FLOOR(0.25 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.25 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_12, CASE - WHEN FLOOR(0.1 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.1 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_13, CASE - WHEN FLOOR(0.01 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.01 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_14, CASE - WHEN FLOOR(0.5 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.5 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_15, CASE - WHEN FLOOR(0.9 * COUNT(ORDERS.o_totalprice) OVER (PARTITION BY CUSTOMER.c_nationkey)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY ORDERS.o_totalprice DESC NULLS LAST) - THEN ORDERS.o_totalprice + WHEN FLOOR(0.9 * COUNT(ORDERS.O_TOTALPRICE) OVER (PARTITION BY CUSTOMER.C_NATIONKEY)) < ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY ORDERS.O_TOTALPRICE DESC NULLS LAST) + THEN ORDERS.O_TOTALPRICE ELSE NULL END AS EXPR_9 FROM TPCH.CUSTOMER CUSTOMER JOIN TPCH.ORDERS ORDERS - ON CUSTOMER.c_custkey = ORDERS.o_custkey - AND EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) = 1998 + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY + AND EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) = 1998 ) SELECT - ANY_VALUE(REGION.r_name) AS region_name, - ANY_VALUE("_S0".N_NAME) AS nation_name, - MIN("_S5".O_TOTALPRICE) AS orders_min, - MAX("_S5".EXPR_10) AS orders_1_percent, - MAX("_S5".EXPR_9) AS orders_10_percent, - MAX("_S5".EXPR_11) AS orders_25_percent, - MAX("_S5".EXPR_15) AS orders_median, - MAX("_S5".EXPR_12) AS orders_75_percent, - MAX("_S5".EXPR_13) AS orders_90_percent, - MAX("_S5".EXPR_14) AS orders_99_percent, - MAX("_S5".O_TOTALPRICE) AS orders_max -FROM "_S0" "_S0" + ANY_VALUE(REGION.R_NAME) AS region_name, + ANY_VALUE("_s0".N_NAME) AS nation_name, + MIN("_s5".O_TOTALPRICE) AS orders_min, + MAX("_s5".EXPR_10) AS orders_1_percent, + MAX("_s5".EXPR_9) AS orders_10_percent, + MAX("_s5".EXPR_11) AS orders_25_percent, + MAX("_s5".EXPR_15) AS orders_median, + MAX("_s5".EXPR_12) AS orders_75_percent, + MAX("_s5".EXPR_13) AS orders_90_percent, + MAX("_s5".EXPR_14) AS orders_99_percent, + MAX("_s5".O_TOTALPRICE) AS orders_max +FROM "_s0" "_s0" JOIN TPCH.REGION REGION - ON REGION.r_regionkey = "_S0".N_REGIONKEY -LEFT JOIN "_S5" "_S5" - ON "_S0".N_NATIONKEY = "_S5".C_NATIONKEY + ON REGION.R_REGIONKEY = "_s0".N_REGIONKEY +LEFT JOIN "_s5" "_s5" + ON "_s0".N_NATIONKEY = "_s5".C_NATIONKEY GROUP BY - "_S0".N_NATIONKEY + "_s0".N_NATIONKEY ORDER BY 2 NULLS FIRST diff --git a/tests/test_sql_refsols/quantile_test_2_postgres.sql b/tests/test_sql_refsols/quantile_test_2_postgres.sql index 3ed701633..bba8ac106 100644 --- a/tests/test_sql_refsols/quantile_test_2_postgres.sql +++ b/tests/test_sql_refsols/quantile_test_2_postgres.sql @@ -17,8 +17,8 @@ WITH _s0 AS ( AND customer.c_custkey = orders.o_custkey ) SELECT - MAX(region.r_name) AS region_name, - MAX(_s0.n_name) AS nation_name, + ANY_VALUE(region.r_name) AS region_name, + ANY_VALUE(_s0.n_name) AS nation_name, PERCENTILE_DISC(0.0) WITHIN GROUP (ORDER BY _s5.o_totalprice) AS orders_min, PERCENTILE_DISC(0.01) WITHIN GROUP (ORDER BY diff --git a/tests/test_sql_refsols/quarter_cum_ir_analysis_databricks.sql b/tests/test_sql_refsols/quarter_cum_ir_analysis_databricks.sql index d09eea010..00eb3eea7 100644 --- a/tests/test_sql_refsols/quarter_cum_ir_analysis_databricks.sql +++ b/tests/test_sql_refsols/quarter_cum_ir_analysis_databricks.sql @@ -28,7 +28,7 @@ WITH _t1 AS ( FROM _t4 AS _t7 CROSS JOIN _t2 AS _t8 JOIN _s5 AS _s9 - ON _s9.ca_dt < TRUNC(DATEADD(YEAR, 2, CAST(_t7.pr_release AS TIMESTAMP)), 'QUARTER') + ON _s9.ca_dt < TRUNC(DATE_ADD(YEAR, 2, CAST(_t7.pr_release AS TIMESTAMP)), 'QUARTER') AND _s9.ca_dt >= _t7.pr_release JOIN main.devices AS devices ON _s9.ca_dt = DATE_TRUNC('DAY', CAST(devices.de_purchase_ts AS TIMESTAMP)) @@ -42,7 +42,7 @@ WITH _t1 AS ( FROM _t4 AS _t4 CROSS JOIN _t2 AS _t5 JOIN _s5 AS _s5 - ON _s5.ca_dt < TRUNC(DATEADD(YEAR, 2, CAST(_t4.pr_release AS TIMESTAMP)), 'QUARTER') + ON _s5.ca_dt < TRUNC(DATE_ADD(YEAR, 2, CAST(_t4.pr_release AS TIMESTAMP)), 'QUARTER') AND _s5.ca_dt >= _t4.pr_release LEFT JOIN _s13 AS _s13 ON _s13.ca_dt = _s5.ca_dt @@ -54,7 +54,7 @@ WITH _t1 AS ( FROM _t4 AS _t14 CROSS JOIN _t2 AS _t15 JOIN _s5 AS _s21 - ON _s21.ca_dt < TRUNC(DATEADD(YEAR, 2, CAST(_t14.pr_release AS TIMESTAMP)), 'QUARTER') + ON _s21.ca_dt < TRUNC(DATE_ADD(YEAR, 2, CAST(_t14.pr_release AS TIMESTAMP)), 'QUARTER') AND _s21.ca_dt >= _t14.pr_release ), _s29 AS ( SELECT @@ -62,7 +62,7 @@ WITH _t1 AS ( FROM _t4 AS _t16 CROSS JOIN _t2 AS _t17 JOIN _s5 AS _s27 - ON _s27.ca_dt < TRUNC(DATEADD(YEAR, 2, CAST(_t16.pr_release AS TIMESTAMP)), 'QUARTER') + ON _s27.ca_dt < TRUNC(DATE_ADD(YEAR, 2, CAST(_t16.pr_release AS TIMESTAMP)), 'QUARTER') AND _s27.ca_dt >= _t16.pr_release ), _s35 AS ( SELECT diff --git a/tests/test_sql_refsols/quarter_cum_ir_analysis_oracle.sql b/tests/test_sql_refsols/quarter_cum_ir_analysis_oracle.sql index 89c34979b..8775e6cf3 100644 --- a/tests/test_sql_refsols/quarter_cum_ir_analysis_oracle.sql +++ b/tests/test_sql_refsols/quarter_cum_ir_analysis_oracle.sql @@ -1,99 +1,99 @@ -WITH "_T1" AS ( +WITH "_t1" AS ( SELECT - pr_name AS PR_NAME + PR_NAME FROM MAIN.PRODUCTS WHERE - pr_name = 'RubyCopper-Star' -), "_T2" AS ( + PR_NAME = 'RubyCopper-Star' +), "_t2" AS ( SELECT - co_name AS CO_NAME + CO_NAME FROM MAIN.COUNTRIES WHERE - co_name = 'CN' -), "_T4" AS ( + CO_NAME = 'CN' +), "_t4" AS ( SELECT - pr_name AS PR_NAME, - pr_release AS PR_RELEASE + PR_NAME, + PR_RELEASE FROM MAIN.PRODUCTS WHERE - pr_name = 'RubyCopper-Star' -), "_S5" AS ( + PR_NAME = 'RubyCopper-Star' +), "_s5" AS ( SELECT - ca_dt AS CA_DT + CA_DT FROM MAIN.CALENDAR -), "_S13" AS ( +), "_s13" AS ( SELECT - "_S9".CA_DT, + "_s9".CA_DT, COUNT(*) AS N_ROWS - FROM "_T4" "_T7" - CROSS JOIN "_T2" "_T8" - JOIN "_S5" "_S9" - ON "_S9".CA_DT < TRUNC(ADD_MONTHS(CAST("_T7".PR_RELEASE AS DATE), 24), 'Q') - AND "_S9".CA_DT >= "_T7".PR_RELEASE + FROM "_t4" "_t7" + CROSS JOIN "_t2" "_t8" + JOIN "_s5" "_s9" + ON "_s9".CA_DT < TRUNC(ADD_MONTHS(CAST("_t7".PR_RELEASE AS DATE), 24), 'Q') + AND "_s9".CA_DT >= "_t7".PR_RELEASE JOIN MAIN.DEVICES DEVICES - ON DEVICES.de_product_id = 800544 - AND "_S9".CA_DT = TRUNC(CAST(CAST(DEVICES.de_purchase_ts AS DATE) AS DATE), 'DD') + ON DEVICES.DE_PRODUCT_ID = 800544 + AND "_s9".CA_DT = TRUNC(CAST(CAST(DEVICES.DE_PURCHASE_TS AS DATE) AS DATE), 'DD') GROUP BY - "_S9".CA_DT -), "_S15" AS ( + "_s9".CA_DT +), "_s15" AS ( SELECT - TRUNC(CAST(CAST("_S5".CA_DT AS DATE) AS DATE), 'Q') AS QUARTER, - SUM("_S13".N_ROWS) AS SUM_N_ROWS - FROM "_T4" "_T4" - CROSS JOIN "_T2" "_T5" - JOIN "_S5" "_S5" - ON "_S5".CA_DT < TRUNC(ADD_MONTHS(CAST("_T4".PR_RELEASE AS DATE), 24), 'Q') - AND "_S5".CA_DT >= "_T4".PR_RELEASE - LEFT JOIN "_S13" "_S13" - ON "_S13".CA_DT = "_S5".CA_DT + TRUNC(CAST(CAST("_s5".CA_DT AS DATE) AS DATE), 'Q') AS QUARTER, + SUM("_s13".N_ROWS) AS SUM_N_ROWS + FROM "_t4" "_t4" + CROSS JOIN "_t2" "_t5" + JOIN "_s5" "_s5" + ON "_s5".CA_DT < TRUNC(ADD_MONTHS(CAST("_t4".PR_RELEASE AS DATE), 24), 'Q') + AND "_s5".CA_DT >= "_t4".PR_RELEASE + LEFT JOIN "_s13" "_s13" + ON "_s13".CA_DT = "_s5".CA_DT GROUP BY - TRUNC(CAST(CAST("_S5".CA_DT AS DATE) AS DATE), 'Q') -), "_S23" AS ( + TRUNC(CAST(CAST("_s5".CA_DT AS DATE) AS DATE), 'Q') +), "_s23" AS ( SELECT DISTINCT - TRUNC(CAST(CAST("_S21".CA_DT AS DATE) AS DATE), 'Q') AS QUARTER - FROM "_T4" "_T14" - CROSS JOIN "_T2" "_T15" - JOIN "_S5" "_S21" - ON "_S21".CA_DT < TRUNC(ADD_MONTHS(CAST("_T14".PR_RELEASE AS DATE), 24), 'Q') - AND "_S21".CA_DT >= "_T14".PR_RELEASE -), "_S29" AS ( + TRUNC(CAST(CAST("_s21".CA_DT AS DATE) AS DATE), 'Q') AS QUARTER + FROM "_t4" "_t14" + CROSS JOIN "_t2" "_t15" + JOIN "_s5" "_s21" + ON "_s21".CA_DT < TRUNC(ADD_MONTHS(CAST("_t14".PR_RELEASE AS DATE), 24), 'Q') + AND "_s21".CA_DT >= "_t14".PR_RELEASE +), "_s29" AS ( SELECT - "_S27".CA_DT - FROM "_T4" "_T16" - CROSS JOIN "_T2" "_T17" - JOIN "_S5" "_S27" - ON "_S27".CA_DT < TRUNC(ADD_MONTHS(CAST("_T16".PR_RELEASE AS DATE), 24), 'Q') - AND "_S27".CA_DT >= "_T16".PR_RELEASE -), "_S35" AS ( + "_s27".CA_DT + FROM "_t4" "_t16" + CROSS JOIN "_t2" "_t17" + JOIN "_s5" "_s27" + ON "_s27".CA_DT < TRUNC(ADD_MONTHS(CAST("_t16".PR_RELEASE AS DATE), 24), 'Q') + AND "_s27".CA_DT >= "_t16".PR_RELEASE +), "_s35" AS ( SELECT - "_S23".QUARTER, - COUNT(DISTINCT INCIDENTS.in_device_id) AS NDISTINCT_IN_DEVICE_ID - FROM "_T1" "_T11" + "_s23".QUARTER, + COUNT(DISTINCT INCIDENTS.IN_DEVICE_ID) AS NDISTINCT_IN_DEVICE_ID + FROM "_t1" "_t11" JOIN MAIN.COUNTRIES COUNTRIES - ON COUNTRIES.co_name = 'CN' - CROSS JOIN "_S23" "_S23" - JOIN "_S29" "_S29" - ON "_S23".QUARTER = TRUNC(CAST(CAST("_S29".CA_DT AS DATE) AS DATE), 'Q') + ON COUNTRIES.CO_NAME = 'CN' + CROSS JOIN "_s23" "_s23" + JOIN "_s29" "_s29" + ON "_s23".QUARTER = TRUNC(CAST(CAST("_s29".CA_DT AS DATE) AS DATE), 'Q') JOIN MAIN.INCIDENTS INCIDENTS - ON COUNTRIES.co_id = INCIDENTS.in_repair_country_id - AND "_S29".CA_DT = TRUNC(CAST(CAST(INCIDENTS.in_error_report_ts AS DATE) AS DATE), 'DD') + ON COUNTRIES.CO_ID = INCIDENTS.IN_REPAIR_COUNTRY_ID + AND "_s29".CA_DT = TRUNC(CAST(CAST(INCIDENTS.IN_ERROR_REPORT_TS AS DATE) AS DATE), 'DD') JOIN MAIN.DEVICES DEVICES - ON DEVICES.de_id = INCIDENTS.in_device_id AND DEVICES.de_product_id = 800544 + ON DEVICES.DE_ID = INCIDENTS.IN_DEVICE_ID AND DEVICES.DE_PRODUCT_ID = 800544 GROUP BY - "_S23".QUARTER + "_s23".QUARTER ) SELECT - "_S15".QUARTER AS quarter, - COALESCE("_S35".NDISTINCT_IN_DEVICE_ID, 0) AS n_incidents, - COALESCE("_S15".SUM_N_ROWS, 0) AS n_sold, + "_s15".QUARTER AS quarter, + COALESCE("_s35".NDISTINCT_IN_DEVICE_ID, 0) AS n_incidents, + COALESCE("_s15".SUM_N_ROWS, 0) AS n_sold, ROUND( - SUM(COALESCE("_S35".NDISTINCT_IN_DEVICE_ID, 0)) OVER (ORDER BY "_S15".QUARTER ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) / SUM(COALESCE("_S15".SUM_N_ROWS, 0)) OVER (ORDER BY "_S15".QUARTER ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + SUM(COALESCE("_s35".NDISTINCT_IN_DEVICE_ID, 0)) OVER (ORDER BY "_s15".QUARTER ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) / SUM(COALESCE("_s15".SUM_N_ROWS, 0)) OVER (ORDER BY "_s15".QUARTER ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), 2 ) AS quarter_cum -FROM "_T1" "_T1" -CROSS JOIN "_T2" "_T2" -CROSS JOIN "_S15" "_S15" -LEFT JOIN "_S35" "_S35" - ON "_S15".QUARTER = "_S35".QUARTER +FROM "_t1" "_t1" +CROSS JOIN "_t2" "_t2" +CROSS JOIN "_s15" "_s15" +LEFT JOIN "_s35" "_s35" + ON "_s15".QUARTER = "_s35".QUARTER ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/quarter_function_test_ansi.sql b/tests/test_sql_refsols/quarter_function_test_ansi.sql index 6cf6425fa..875c6006c 100644 --- a/tests/test_sql_refsols/quarter_function_test_ansi.sql +++ b/tests/test_sql_refsols/quarter_function_test_ansi.sql @@ -55,4 +55,4 @@ SELECT DATEDIFF(CAST('2023-04-01' AS TIMESTAMP), CAST('2023-03-31' AS TIMESTAMP), QUARTER) AS q_diff11, DATEDIFF(CAST('2024-01-01' AS TIMESTAMP), CAST('2023-12-31' AS TIMESTAMP), QUARTER) AS q_diff12 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/quarter_function_test_databricks.sql b/tests/test_sql_refsols/quarter_function_test_databricks.sql index c73ce2ae7..a1c8de74a 100644 --- a/tests/test_sql_refsols/quarter_function_test_databricks.sql +++ b/tests/test_sql_refsols/quarter_function_test_databricks.sql @@ -43,40 +43,40 @@ SELECT CAST('2024-08-15' AS DATE) AS syntax3, CAST('2022-08-15' AS DATE) AS syntax4, ( - YEAR(TO_DATE(CAST('2023-04-15' AS TIMESTAMP))) - YEAR(TO_DATE(CAST('2023-01-15' AS TIMESTAMP))) + YEAR(CAST('2023-04-15' AS TIMESTAMP)) - YEAR(CAST('2023-01-15' AS TIMESTAMP)) ) * 4 + QUARTER(CAST('2023-04-15' AS TIMESTAMP)) - QUARTER(CAST('2023-01-15' AS TIMESTAMP)) AS q_diff1, ( - YEAR(TO_DATE(CAST('2023-07-15' AS TIMESTAMP))) - YEAR(TO_DATE(CAST('2023-01-15' AS TIMESTAMP))) + YEAR(CAST('2023-07-15' AS TIMESTAMP)) - YEAR(CAST('2023-01-15' AS TIMESTAMP)) ) * 4 + QUARTER(CAST('2023-07-15' AS TIMESTAMP)) - QUARTER(CAST('2023-01-15' AS TIMESTAMP)) AS q_diff2, ( - YEAR(TO_DATE(CAST('2023-10-15' AS TIMESTAMP))) - YEAR(TO_DATE(CAST('2023-01-15' AS TIMESTAMP))) + YEAR(CAST('2023-10-15' AS TIMESTAMP)) - YEAR(CAST('2023-01-15' AS TIMESTAMP)) ) * 4 + QUARTER(CAST('2023-10-15' AS TIMESTAMP)) - QUARTER(CAST('2023-01-15' AS TIMESTAMP)) AS q_diff3, ( - YEAR(TO_DATE(CAST('2023-12-31' AS TIMESTAMP))) - YEAR(TO_DATE(CAST('2023-01-15' AS TIMESTAMP))) + YEAR(CAST('2023-12-31' AS TIMESTAMP)) - YEAR(CAST('2023-01-15' AS TIMESTAMP)) ) * 4 + QUARTER(CAST('2023-12-31' AS TIMESTAMP)) - QUARTER(CAST('2023-01-15' AS TIMESTAMP)) AS q_diff4, ( - YEAR(TO_DATE(CAST('2024-01-15' AS TIMESTAMP))) - YEAR(TO_DATE(CAST('2023-01-15' AS TIMESTAMP))) + YEAR(CAST('2024-01-15' AS TIMESTAMP)) - YEAR(CAST('2023-01-15' AS TIMESTAMP)) ) * 4 + QUARTER(CAST('2024-01-15' AS TIMESTAMP)) - QUARTER(CAST('2023-01-15' AS TIMESTAMP)) AS q_diff5, ( - YEAR(TO_DATE(CAST('2024-04-15' AS TIMESTAMP))) - YEAR(TO_DATE(CAST('2023-01-15' AS TIMESTAMP))) + YEAR(CAST('2024-04-15' AS TIMESTAMP)) - YEAR(CAST('2023-01-15' AS TIMESTAMP)) ) * 4 + QUARTER(CAST('2024-04-15' AS TIMESTAMP)) - QUARTER(CAST('2023-01-15' AS TIMESTAMP)) AS q_diff6, ( - YEAR(TO_DATE(CAST('2024-04-15' AS TIMESTAMP))) - YEAR(TO_DATE(CAST('2022-10-15' AS TIMESTAMP))) + YEAR(CAST('2024-04-15' AS TIMESTAMP)) - YEAR(CAST('2022-10-15' AS TIMESTAMP)) ) * 4 + QUARTER(CAST('2024-04-15' AS TIMESTAMP)) - QUARTER(CAST('2022-10-15' AS TIMESTAMP)) AS q_diff7, ( - YEAR(TO_DATE(CAST('2025-01-01' AS TIMESTAMP))) - YEAR(TO_DATE(CAST('2020-01-01' AS TIMESTAMP))) + YEAR(CAST('2025-01-01' AS TIMESTAMP)) - YEAR(CAST('2020-01-01' AS TIMESTAMP)) ) * 4 + QUARTER(CAST('2025-01-01' AS TIMESTAMP)) - QUARTER(CAST('2020-01-01' AS TIMESTAMP)) AS q_diff8, ( - YEAR(TO_DATE(CAST('2023-01-15' AS TIMESTAMP))) - YEAR(TO_DATE(CAST('2023-04-15' AS TIMESTAMP))) + YEAR(CAST('2023-01-15' AS TIMESTAMP)) - YEAR(CAST('2023-04-15' AS TIMESTAMP)) ) * 4 + QUARTER(CAST('2023-01-15' AS TIMESTAMP)) - QUARTER(CAST('2023-04-15' AS TIMESTAMP)) AS q_diff9, ( - YEAR(TO_DATE(CAST('2023-01-15' AS TIMESTAMP))) - YEAR(TO_DATE(CAST('2024-01-15' AS TIMESTAMP))) + YEAR(CAST('2023-01-15' AS TIMESTAMP)) - YEAR(CAST('2024-01-15' AS TIMESTAMP)) ) * 4 + QUARTER(CAST('2023-01-15' AS TIMESTAMP)) - QUARTER(CAST('2024-01-15' AS TIMESTAMP)) AS q_diff10, ( - YEAR(TO_DATE(CAST('2023-04-01' AS TIMESTAMP))) - YEAR(TO_DATE(CAST('2023-03-31' AS TIMESTAMP))) + YEAR(CAST('2023-04-01' AS TIMESTAMP)) - YEAR(CAST('2023-03-31' AS TIMESTAMP)) ) * 4 + QUARTER(CAST('2023-04-01' AS TIMESTAMP)) - QUARTER(CAST('2023-03-31' AS TIMESTAMP)) AS q_diff11, ( - YEAR(TO_DATE(CAST('2024-01-01' AS TIMESTAMP))) - YEAR(TO_DATE(CAST('2023-12-31' AS TIMESTAMP))) + YEAR(CAST('2024-01-01' AS TIMESTAMP)) - YEAR(CAST('2023-12-31' AS TIMESTAMP)) ) * 4 + QUARTER(CAST('2024-01-01' AS TIMESTAMP)) - QUARTER(CAST('2023-12-31' AS TIMESTAMP)) AS q_diff12 FROM VALUES - (NULL) AS _q_0(_col_0) + (NULL) AS _0(_col_0) diff --git a/tests/test_sql_refsols/quarter_function_test_duckdb.sql b/tests/test_sql_refsols/quarter_function_test_duckdb.sql index e0a49ab13..114cb7526 100644 --- a/tests/test_sql_refsols/quarter_function_test_duckdb.sql +++ b/tests/test_sql_refsols/quarter_function_test_duckdb.sql @@ -55,4 +55,4 @@ SELECT DATE_DIFF('QUARTER', CAST('2023-03-31' AS TIMESTAMP), CAST('2023-04-01' AS TIMESTAMP)) AS q_diff11, DATE_DIFF('QUARTER', CAST('2023-12-31' AS TIMESTAMP), CAST('2024-01-01' AS TIMESTAMP)) AS q_diff12 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/quarter_function_test_mysql.sql b/tests/test_sql_refsols/quarter_function_test_mysql.sql index 30d1950e3..3dee6f539 100644 --- a/tests/test_sql_refsols/quarter_function_test_mysql.sql +++ b/tests/test_sql_refsols/quarter_function_test_mysql.sql @@ -103,4 +103,4 @@ SELECT QUARTER(CAST('2024-01-01' AS DATETIME)) - QUARTER(CAST('2023-12-31' AS DATETIME)) ) AS q_diff12 FROM (VALUES - ROW(NULL)) AS _q_0(_col_0) + ROW(NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/quarter_function_test_oracle.sql b/tests/test_sql_refsols/quarter_function_test_oracle.sql index ba224a5e3..a16335ca9 100644 --- a/tests/test_sql_refsols/quarter_function_test_oracle.sql +++ b/tests/test_sql_refsols/quarter_function_test_oracle.sql @@ -151,4 +151,4 @@ SELECT ) / 3) ) AS q_diff12 FROM (VALUES - (NULL)) AS "_Q_0"("_COL_0") + (NULL)) AS "_0"("_COL_0") diff --git a/tests/test_sql_refsols/quarter_function_test_postgres.sql b/tests/test_sql_refsols/quarter_function_test_postgres.sql index 51131a6bd..3a1c8a490 100644 --- a/tests/test_sql_refsols/quarter_function_test_postgres.sql +++ b/tests/test_sql_refsols/quarter_function_test_postgres.sql @@ -103,4 +103,4 @@ SELECT EXTRACT(QUARTER FROM CAST('2024-01-01' AS TIMESTAMP)) - EXTRACT(QUARTER FROM CAST('2023-12-31' AS TIMESTAMP)) ) AS q_diff12 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/quarter_function_test_snowflake.sql b/tests/test_sql_refsols/quarter_function_test_snowflake.sql index 958f43ddf..c42a06f98 100644 --- a/tests/test_sql_refsols/quarter_function_test_snowflake.sql +++ b/tests/test_sql_refsols/quarter_function_test_snowflake.sql @@ -55,4 +55,4 @@ SELECT DATEDIFF(QUARTER, CAST('2023-03-31' AS TIMESTAMP), CAST('2023-04-01' AS TIMESTAMP)) AS q_diff11, DATEDIFF(QUARTER, CAST('2023-12-31' AS TIMESTAMP), CAST('2024-01-01' AS TIMESTAMP)) AS q_diff12 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/quarter_function_test_sqlite.sql b/tests/test_sql_refsols/quarter_function_test_sqlite.sql index 7b5eccc21..dc88e6b8e 100644 --- a/tests/test_sql_refsols/quarter_function_test_sqlite.sql +++ b/tests/test_sql_refsols/quarter_function_test_sqlite.sql @@ -391,4 +391,4 @@ SELECT THEN 4 END AS q_diff12 FROM (VALUES - (NULL)) AS _q_0 + (NULL)) AS _0 diff --git a/tests/test_sql_refsols/quarter_function_test_trino.sql b/tests/test_sql_refsols/quarter_function_test_trino.sql index 784eea5b1..4623bed85 100644 --- a/tests/test_sql_refsols/quarter_function_test_trino.sql +++ b/tests/test_sql_refsols/quarter_function_test_trino.sql @@ -103,4 +103,4 @@ SELECT CAST(DATE_TRUNC('QUARTER', CAST('2024-01-01' AS TIMESTAMP)) AS TIMESTAMP) ) AS q_diff12 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/rank_a_oracle.sql b/tests/test_sql_refsols/rank_a_oracle.sql index 9a7f14d7c..bd6f643b6 100644 --- a/tests/test_sql_refsols/rank_a_oracle.sql +++ b/tests/test_sql_refsols/rank_a_oracle.sql @@ -1,4 +1,4 @@ SELECT - c_custkey AS id, - ROW_NUMBER() OVER (ORDER BY c_acctbal DESC) AS rk + C_CUSTKEY AS id, + ROW_NUMBER() OVER (ORDER BY C_ACCTBAL DESC) AS rk FROM TPCH.CUSTOMER diff --git a/tests/test_sql_refsols/rank_b_mysql.sql b/tests/test_sql_refsols/rank_b_mysql.sql index 33fad6085..f8f6d29af 100644 --- a/tests/test_sql_refsols/rank_b_mysql.sql +++ b/tests/test_sql_refsols/rank_b_mysql.sql @@ -1,4 +1,6 @@ SELECT o_orderkey AS order_key, - RANK() OVER (ORDER BY CASE WHEN o_orderpriority COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, o_orderpriority COLLATE utf8mb4_bin) AS `rank` + RANK() OVER ( + ORDER BY CASE WHEN o_orderpriority COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, o_orderpriority COLLATE utf8mb4_bin + ) AS `rank` FROM tpch.ORDERS diff --git a/tests/test_sql_refsols/rank_b_oracle.sql b/tests/test_sql_refsols/rank_b_oracle.sql index b323162a0..7b906af23 100644 --- a/tests/test_sql_refsols/rank_b_oracle.sql +++ b/tests/test_sql_refsols/rank_b_oracle.sql @@ -1,4 +1,4 @@ SELECT - o_orderkey AS order_key, - RANK() OVER (ORDER BY o_orderpriority) AS rank + O_ORDERKEY AS order_key, + RANK() OVER (ORDER BY O_ORDERPRIORITY) AS rank FROM TPCH.ORDERS diff --git a/tests/test_sql_refsols/rank_c_oracle.sql b/tests/test_sql_refsols/rank_c_oracle.sql index 8b019c54b..af3466f5e 100644 --- a/tests/test_sql_refsols/rank_c_oracle.sql +++ b/tests/test_sql_refsols/rank_c_oracle.sql @@ -1,4 +1,4 @@ SELECT - o_orderdate AS order_date, - DENSE_RANK() OVER (ORDER BY o_orderdate) AS rank + O_ORDERDATE AS order_date, + DENSE_RANK() OVER (ORDER BY O_ORDERDATE) AS rank FROM TPCH.ORDERS diff --git a/tests/test_sql_refsols/rank_nations_by_region_mysql.sql b/tests/test_sql_refsols/rank_nations_by_region_mysql.sql index 4c9b36dd2..61380bc66 100644 --- a/tests/test_sql_refsols/rank_nations_by_region_mysql.sql +++ b/tests/test_sql_refsols/rank_nations_by_region_mysql.sql @@ -1,6 +1,8 @@ SELECT NATION.n_name AS name, - RANK() OVER (ORDER BY CASE WHEN REGION.r_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, REGION.r_name COLLATE utf8mb4_bin) AS `rank` + RANK() OVER ( + ORDER BY CASE WHEN REGION.r_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, REGION.r_name COLLATE utf8mb4_bin + ) AS `rank` FROM tpch.NATION AS NATION JOIN tpch.REGION AS REGION ON NATION.n_regionkey = REGION.r_regionkey diff --git a/tests/test_sql_refsols/rank_nations_by_region_oracle.sql b/tests/test_sql_refsols/rank_nations_by_region_oracle.sql index 216c55810..e86ac6956 100644 --- a/tests/test_sql_refsols/rank_nations_by_region_oracle.sql +++ b/tests/test_sql_refsols/rank_nations_by_region_oracle.sql @@ -1,6 +1,6 @@ SELECT - NATION.n_name AS name, - RANK() OVER (ORDER BY REGION.r_name) AS rank + NATION.N_NAME AS name, + RANK() OVER (ORDER BY REGION.R_NAME) AS rank FROM TPCH.NATION NATION JOIN TPCH.REGION REGION - ON NATION.n_regionkey = REGION.r_regionkey + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY diff --git a/tests/test_sql_refsols/rank_nations_per_region_by_customers_ansi.sql b/tests/test_sql_refsols/rank_nations_per_region_by_customers_ansi.sql index bb4a42893..37ed5a91b 100644 --- a/tests/test_sql_refsols/rank_nations_per_region_by_customers_ansi.sql +++ b/tests/test_sql_refsols/rank_nations_per_region_by_customers_ansi.sql @@ -8,7 +8,10 @@ WITH _s1 AS ( ) SELECT nation.n_name AS nation_name, - ROW_NUMBER() OVER (PARTITION BY nation.n_regionkey ORDER BY _s1.n_rows DESC NULLS FIRST, nation.n_name NULLS LAST) AS rank + ROW_NUMBER() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY _s1.n_rows DESC NULLS FIRST, nation.n_name NULLS LAST + ) AS rank FROM tpch.nation AS nation JOIN _s1 AS _s1 ON _s1.c_nationkey = nation.n_nationkey diff --git a/tests/test_sql_refsols/rank_nations_per_region_by_customers_databricks.sql b/tests/test_sql_refsols/rank_nations_per_region_by_customers_databricks.sql index bb4a42893..37ed5a91b 100644 --- a/tests/test_sql_refsols/rank_nations_per_region_by_customers_databricks.sql +++ b/tests/test_sql_refsols/rank_nations_per_region_by_customers_databricks.sql @@ -8,7 +8,10 @@ WITH _s1 AS ( ) SELECT nation.n_name AS nation_name, - ROW_NUMBER() OVER (PARTITION BY nation.n_regionkey ORDER BY _s1.n_rows DESC NULLS FIRST, nation.n_name NULLS LAST) AS rank + ROW_NUMBER() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY _s1.n_rows DESC NULLS FIRST, nation.n_name NULLS LAST + ) AS rank FROM tpch.nation AS nation JOIN _s1 AS _s1 ON _s1.c_nationkey = nation.n_nationkey diff --git a/tests/test_sql_refsols/rank_nations_per_region_by_customers_duckdb.sql b/tests/test_sql_refsols/rank_nations_per_region_by_customers_duckdb.sql index 3ddef40d1..e871c7990 100644 --- a/tests/test_sql_refsols/rank_nations_per_region_by_customers_duckdb.sql +++ b/tests/test_sql_refsols/rank_nations_per_region_by_customers_duckdb.sql @@ -8,7 +8,10 @@ WITH _s1 AS ( ) SELECT nation.n_name AS nation_name, - ROW_NUMBER() OVER (PARTITION BY nation.n_regionkey ORDER BY _s1.n_rows DESC NULLS FIRST, nation.n_name) AS rank + ROW_NUMBER() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY _s1.n_rows DESC NULLS FIRST, nation.n_name + ) AS rank FROM tpch.nation AS nation JOIN _s1 AS _s1 ON _s1.c_nationkey = nation.n_nationkey diff --git a/tests/test_sql_refsols/rank_nations_per_region_by_customers_mysql.sql b/tests/test_sql_refsols/rank_nations_per_region_by_customers_mysql.sql index 4e2520426..29fca9ab4 100644 --- a/tests/test_sql_refsols/rank_nations_per_region_by_customers_mysql.sql +++ b/tests/test_sql_refsols/rank_nations_per_region_by_customers_mysql.sql @@ -8,7 +8,10 @@ WITH _s1 AS ( ) SELECT NATION.n_name AS nation_name, - ROW_NUMBER() OVER (PARTITION BY NATION.n_regionkey ORDER BY CASE WHEN _s1.n_rows IS NULL THEN 1 ELSE 0 END DESC, _s1.n_rows DESC, CASE WHEN NATION.n_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, NATION.n_name COLLATE utf8mb4_bin) AS `rank` + ROW_NUMBER() OVER ( + PARTITION BY NATION.n_regionkey + ORDER BY CASE WHEN _s1.n_rows IS NULL THEN 1 ELSE 0 END DESC, _s1.n_rows DESC, CASE WHEN NATION.n_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, NATION.n_name COLLATE utf8mb4_bin + ) AS `rank` FROM tpch.NATION AS NATION JOIN _s1 AS _s1 ON NATION.n_nationkey = _s1.c_nationkey diff --git a/tests/test_sql_refsols/rank_nations_per_region_by_customers_oracle.sql b/tests/test_sql_refsols/rank_nations_per_region_by_customers_oracle.sql index c02cb1415..5dbac3b94 100644 --- a/tests/test_sql_refsols/rank_nations_per_region_by_customers_oracle.sql +++ b/tests/test_sql_refsols/rank_nations_per_region_by_customers_oracle.sql @@ -1,17 +1,17 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - c_nationkey AS C_NATIONKEY, + C_NATIONKEY, COUNT(*) AS N_ROWS FROM TPCH.CUSTOMER GROUP BY - c_nationkey + C_NATIONKEY ) SELECT - NATION.n_name AS nation_name, - ROW_NUMBER() OVER (PARTITION BY NATION.n_regionkey ORDER BY "_S1".N_ROWS DESC, NATION.n_name) AS rank + NATION.N_NAME AS nation_name, + ROW_NUMBER() OVER (PARTITION BY NATION.N_REGIONKEY ORDER BY "_s1".N_ROWS DESC, NATION.N_NAME) AS rank FROM TPCH.NATION NATION -JOIN "_S1" "_S1" - ON NATION.n_nationkey = "_S1".C_NATIONKEY +JOIN "_s1" "_s1" + ON NATION.N_NATIONKEY = "_s1".C_NATIONKEY ORDER BY 2 NULLS FIRST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/rank_nations_per_region_by_customers_trino.sql b/tests/test_sql_refsols/rank_nations_per_region_by_customers_trino.sql index 3ddef40d1..e871c7990 100644 --- a/tests/test_sql_refsols/rank_nations_per_region_by_customers_trino.sql +++ b/tests/test_sql_refsols/rank_nations_per_region_by_customers_trino.sql @@ -8,7 +8,10 @@ WITH _s1 AS ( ) SELECT nation.n_name AS nation_name, - ROW_NUMBER() OVER (PARTITION BY nation.n_regionkey ORDER BY _s1.n_rows DESC NULLS FIRST, nation.n_name) AS rank + ROW_NUMBER() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY _s1.n_rows DESC NULLS FIRST, nation.n_name + ) AS rank FROM tpch.nation AS nation JOIN _s1 AS _s1 ON _s1.c_nationkey = nation.n_nationkey diff --git a/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_ansi.sql b/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_ansi.sql index 75e1767c6..6d3618e96 100644 --- a/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_ansi.sql +++ b/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_ansi.sql @@ -1,7 +1,10 @@ SELECT part.p_partkey AS key, region.r_name AS region, - DENSE_RANK() OVER (PARTITION BY nation.n_regionkey ORDER BY part.p_size DESC NULLS FIRST, part.p_container DESC NULLS FIRST, part.p_type DESC NULLS FIRST) AS rank + DENSE_RANK() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY part.p_size DESC NULLS FIRST, part.p_container DESC NULLS FIRST, part.p_type DESC NULLS FIRST + ) AS rank FROM tpch.region AS region JOIN tpch.nation AS nation ON nation.n_regionkey = region.r_regionkey diff --git a/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_databricks.sql b/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_databricks.sql index 75e1767c6..6d3618e96 100644 --- a/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_databricks.sql +++ b/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_databricks.sql @@ -1,7 +1,10 @@ SELECT part.p_partkey AS key, region.r_name AS region, - DENSE_RANK() OVER (PARTITION BY nation.n_regionkey ORDER BY part.p_size DESC NULLS FIRST, part.p_container DESC NULLS FIRST, part.p_type DESC NULLS FIRST) AS rank + DENSE_RANK() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY part.p_size DESC NULLS FIRST, part.p_container DESC NULLS FIRST, part.p_type DESC NULLS FIRST + ) AS rank FROM tpch.region AS region JOIN tpch.nation AS nation ON nation.n_regionkey = region.r_regionkey diff --git a/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_duckdb.sql b/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_duckdb.sql index 1ed06a5a9..4411434ed 100644 --- a/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_duckdb.sql +++ b/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_duckdb.sql @@ -1,7 +1,10 @@ SELECT part.p_partkey AS key, region.r_name AS region, - DENSE_RANK() OVER (PARTITION BY nation.n_regionkey ORDER BY part.p_size DESC NULLS FIRST, part.p_container DESC NULLS FIRST, part.p_type DESC NULLS FIRST) AS rank + DENSE_RANK() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY part.p_size DESC NULLS FIRST, part.p_container DESC NULLS FIRST, part.p_type DESC NULLS FIRST + ) AS rank FROM tpch.region AS region JOIN tpch.nation AS nation ON nation.n_regionkey = region.r_regionkey diff --git a/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_mysql.sql b/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_mysql.sql index d1109ac89..6cafd24c9 100644 --- a/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_mysql.sql +++ b/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_mysql.sql @@ -1,7 +1,10 @@ SELECT PART.p_partkey AS `key`, REGION.r_name COLLATE utf8mb4_bin AS region, - DENSE_RANK() OVER (PARTITION BY NATION.n_regionkey ORDER BY CASE WHEN PART.p_size IS NULL THEN 1 ELSE 0 END DESC, PART.p_size DESC, CASE WHEN PART.p_container COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END DESC, PART.p_container COLLATE utf8mb4_bin DESC, CASE WHEN PART.p_type COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END DESC, PART.p_type COLLATE utf8mb4_bin DESC) AS `rank` + DENSE_RANK() OVER ( + PARTITION BY NATION.n_regionkey + ORDER BY CASE WHEN PART.p_size IS NULL THEN 1 ELSE 0 END DESC, PART.p_size DESC, CASE WHEN PART.p_container COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END DESC, PART.p_container COLLATE utf8mb4_bin DESC, CASE WHEN PART.p_type COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END DESC, PART.p_type COLLATE utf8mb4_bin DESC + ) AS `rank` FROM tpch.REGION AS REGION JOIN tpch.NATION AS NATION ON NATION.n_regionkey = REGION.r_regionkey diff --git a/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_oracle.sql b/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_oracle.sql index 02b0ffac0..78e8363e1 100644 --- a/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_oracle.sql +++ b/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_oracle.sql @@ -1,16 +1,19 @@ SELECT - PART.p_partkey AS "key", - REGION.r_name AS region, - DENSE_RANK() OVER (PARTITION BY NATION.n_regionkey ORDER BY PART.p_size DESC, PART.p_container DESC, PART.p_type DESC) AS rank + PART.P_PARTKEY AS "key", + REGION.R_NAME AS region, + DENSE_RANK() OVER ( + PARTITION BY NATION.N_REGIONKEY + ORDER BY PART.P_SIZE DESC, PART.P_CONTAINER DESC, PART.P_TYPE DESC + ) AS rank FROM TPCH.REGION REGION JOIN TPCH.NATION NATION - ON NATION.n_regionkey = REGION.r_regionkey + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY JOIN TPCH.SUPPLIER SUPPLIER - ON NATION.n_nationkey = SUPPLIER.s_nationkey + ON NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY JOIN TPCH.PARTSUPP PARTSUPP - ON PARTSUPP.ps_suppkey = SUPPLIER.s_suppkey + ON PARTSUPP.PS_SUPPKEY = SUPPLIER.S_SUPPKEY JOIN TPCH.PART PART - ON PART.p_partkey = PARTSUPP.ps_partkey + ON PART.P_PARTKEY = PARTSUPP.PS_PARTKEY ORDER BY 1 NULLS FIRST, 2 NULLS FIRST diff --git a/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_postgres.sql b/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_postgres.sql index ebf247d33..a528f4fa2 100644 --- a/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_postgres.sql +++ b/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_postgres.sql @@ -1,7 +1,10 @@ SELECT part.p_partkey AS key, region.r_name AS region, - DENSE_RANK() OVER (PARTITION BY nation.n_regionkey ORDER BY part.p_size DESC, part.p_container DESC, part.p_type DESC) AS rank + DENSE_RANK() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY part.p_size DESC, part.p_container DESC, part.p_type DESC + ) AS rank FROM tpch.region AS region JOIN tpch.nation AS nation ON nation.n_regionkey = region.r_regionkey diff --git a/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_snowflake.sql b/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_snowflake.sql index ebf247d33..a528f4fa2 100644 --- a/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_snowflake.sql +++ b/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_snowflake.sql @@ -1,7 +1,10 @@ SELECT part.p_partkey AS key, region.r_name AS region, - DENSE_RANK() OVER (PARTITION BY nation.n_regionkey ORDER BY part.p_size DESC, part.p_container DESC, part.p_type DESC) AS rank + DENSE_RANK() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY part.p_size DESC, part.p_container DESC, part.p_type DESC + ) AS rank FROM tpch.region AS region JOIN tpch.nation AS nation ON nation.n_regionkey = region.r_regionkey diff --git a/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_sqlite.sql b/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_sqlite.sql index bb15d29b8..559e90dd8 100644 --- a/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_sqlite.sql +++ b/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_sqlite.sql @@ -1,7 +1,10 @@ SELECT part.p_partkey AS key, region.r_name AS region, - DENSE_RANK() OVER (PARTITION BY nation.n_regionkey ORDER BY part.p_size DESC, part.p_container DESC, part.p_type DESC) AS rank + DENSE_RANK() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY part.p_size DESC, part.p_container DESC, part.p_type DESC + ) AS rank FROM tpch.region AS region JOIN tpch.nation AS nation ON nation.n_regionkey = region.r_regionkey diff --git a/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_trino.sql b/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_trino.sql index 1ed06a5a9..4411434ed 100644 --- a/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_trino.sql +++ b/tests/test_sql_refsols/rank_parts_per_supplier_region_by_size_trino.sql @@ -1,7 +1,10 @@ SELECT part.p_partkey AS key, region.r_name AS region, - DENSE_RANK() OVER (PARTITION BY nation.n_regionkey ORDER BY part.p_size DESC NULLS FIRST, part.p_container DESC NULLS FIRST, part.p_type DESC NULLS FIRST) AS rank + DENSE_RANK() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY part.p_size DESC NULLS FIRST, part.p_container DESC NULLS FIRST, part.p_type DESC NULLS FIRST + ) AS rank FROM tpch.region AS region JOIN tpch.nation AS nation ON nation.n_regionkey = region.r_regionkey diff --git a/tests/test_sql_refsols/rank_with_filters_a_mysql.sql b/tests/test_sql_refsols/rank_with_filters_a_mysql.sql index b9873b7b8..3091da874 100644 --- a/tests/test_sql_refsols/rank_with_filters_a_mysql.sql +++ b/tests/test_sql_refsols/rank_with_filters_a_mysql.sql @@ -1,6 +1,8 @@ WITH _t0 AS ( SELECT - ROW_NUMBER() OVER (ORDER BY CASE WHEN c_acctbal IS NULL THEN 1 ELSE 0 END DESC, c_acctbal DESC, CASE WHEN c_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, c_name COLLATE utf8mb4_bin) AS r, + ROW_NUMBER() OVER ( + ORDER BY CASE WHEN c_acctbal IS NULL THEN 1 ELSE 0 END DESC, c_acctbal DESC, CASE WHEN c_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, c_name COLLATE utf8mb4_bin + ) AS r, c_name FROM tpch.CUSTOMER ) diff --git a/tests/test_sql_refsols/rank_with_filters_a_oracle.sql b/tests/test_sql_refsols/rank_with_filters_a_oracle.sql index f119c68fd..4a8bfda7c 100644 --- a/tests/test_sql_refsols/rank_with_filters_a_oracle.sql +++ b/tests/test_sql_refsols/rank_with_filters_a_oracle.sql @@ -1,12 +1,12 @@ -WITH "_T0" AS ( +WITH "_t0" AS ( SELECT - ROW_NUMBER() OVER (ORDER BY c_acctbal DESC, c_name) AS R, - c_name AS C_NAME + ROW_NUMBER() OVER (ORDER BY C_ACCTBAL DESC, C_NAME) AS R, + C_NAME FROM TPCH.CUSTOMER ) SELECT C_NAME AS n, R AS r -FROM "_T0" +FROM "_t0" WHERE C_NAME LIKE '%0' AND R <= 30 diff --git a/tests/test_sql_refsols/rank_with_filters_b_mysql.sql b/tests/test_sql_refsols/rank_with_filters_b_mysql.sql index b9873b7b8..3091da874 100644 --- a/tests/test_sql_refsols/rank_with_filters_b_mysql.sql +++ b/tests/test_sql_refsols/rank_with_filters_b_mysql.sql @@ -1,6 +1,8 @@ WITH _t0 AS ( SELECT - ROW_NUMBER() OVER (ORDER BY CASE WHEN c_acctbal IS NULL THEN 1 ELSE 0 END DESC, c_acctbal DESC, CASE WHEN c_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, c_name COLLATE utf8mb4_bin) AS r, + ROW_NUMBER() OVER ( + ORDER BY CASE WHEN c_acctbal IS NULL THEN 1 ELSE 0 END DESC, c_acctbal DESC, CASE WHEN c_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, c_name COLLATE utf8mb4_bin + ) AS r, c_name FROM tpch.CUSTOMER ) diff --git a/tests/test_sql_refsols/rank_with_filters_b_oracle.sql b/tests/test_sql_refsols/rank_with_filters_b_oracle.sql index f119c68fd..4a8bfda7c 100644 --- a/tests/test_sql_refsols/rank_with_filters_b_oracle.sql +++ b/tests/test_sql_refsols/rank_with_filters_b_oracle.sql @@ -1,12 +1,12 @@ -WITH "_T0" AS ( +WITH "_t0" AS ( SELECT - ROW_NUMBER() OVER (ORDER BY c_acctbal DESC, c_name) AS R, - c_name AS C_NAME + ROW_NUMBER() OVER (ORDER BY C_ACCTBAL DESC, C_NAME) AS R, + C_NAME FROM TPCH.CUSTOMER ) SELECT C_NAME AS n, R AS r -FROM "_T0" +FROM "_t0" WHERE C_NAME LIKE '%0' AND R <= 30 diff --git a/tests/test_sql_refsols/rank_with_filters_c_ansi.sql b/tests/test_sql_refsols/rank_with_filters_c_ansi.sql index 6312d062f..f9c628d99 100644 --- a/tests/test_sql_refsols/rank_with_filters_c_ansi.sql +++ b/tests/test_sql_refsols/rank_with_filters_c_ansi.sql @@ -13,7 +13,10 @@ WITH _s0 AS ( JOIN tpch.part AS part ON _s0.p_size = part.p_size QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s0.p_size ORDER BY part.p_retailprice DESC NULLS FIRST, part.p_partkey NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s0.p_size + ORDER BY part.p_retailprice DESC NULLS FIRST, part.p_partkey NULLS LAST + ) = 1 ) SELECT p_name AS pname, diff --git a/tests/test_sql_refsols/rank_with_filters_c_databricks.sql b/tests/test_sql_refsols/rank_with_filters_c_databricks.sql index 6312d062f..f9c628d99 100644 --- a/tests/test_sql_refsols/rank_with_filters_c_databricks.sql +++ b/tests/test_sql_refsols/rank_with_filters_c_databricks.sql @@ -13,7 +13,10 @@ WITH _s0 AS ( JOIN tpch.part AS part ON _s0.p_size = part.p_size QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s0.p_size ORDER BY part.p_retailprice DESC NULLS FIRST, part.p_partkey NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s0.p_size + ORDER BY part.p_retailprice DESC NULLS FIRST, part.p_partkey NULLS LAST + ) = 1 ) SELECT p_name AS pname, diff --git a/tests/test_sql_refsols/rank_with_filters_c_duckdb.sql b/tests/test_sql_refsols/rank_with_filters_c_duckdb.sql index 71d574d4b..668b2e21d 100644 --- a/tests/test_sql_refsols/rank_with_filters_c_duckdb.sql +++ b/tests/test_sql_refsols/rank_with_filters_c_duckdb.sql @@ -13,7 +13,10 @@ WITH _s0 AS ( JOIN tpch.part AS part ON _s0.p_size = part.p_size QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s0.p_size ORDER BY part.p_retailprice DESC NULLS FIRST, part.p_partkey) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s0.p_size + ORDER BY part.p_retailprice DESC NULLS FIRST, part.p_partkey + ) = 1 ) SELECT p_name AS pname, diff --git a/tests/test_sql_refsols/rank_with_filters_c_mysql.sql b/tests/test_sql_refsols/rank_with_filters_c_mysql.sql index 99a52be4a..45884058c 100644 --- a/tests/test_sql_refsols/rank_with_filters_c_mysql.sql +++ b/tests/test_sql_refsols/rank_with_filters_c_mysql.sql @@ -9,7 +9,10 @@ WITH _s0 AS ( SELECT PART.p_size AS size_1, PART.p_name, - ROW_NUMBER() OVER (PARTITION BY _s0.p_size ORDER BY CASE WHEN PART.p_retailprice IS NULL THEN 1 ELSE 0 END DESC, PART.p_retailprice DESC, CASE WHEN PART.p_partkey IS NULL THEN 1 ELSE 0 END, PART.p_partkey) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _s0.p_size + ORDER BY CASE WHEN PART.p_retailprice IS NULL THEN 1 ELSE 0 END DESC, PART.p_retailprice DESC, CASE WHEN PART.p_partkey IS NULL THEN 1 ELSE 0 END, PART.p_partkey + ) AS _w FROM _s0 AS _s0 JOIN tpch.PART AS PART ON PART.p_size = _s0.p_size diff --git a/tests/test_sql_refsols/rank_with_filters_c_oracle.sql b/tests/test_sql_refsols/rank_with_filters_c_oracle.sql index 46a40cb73..00500f7c7 100644 --- a/tests/test_sql_refsols/rank_with_filters_c_oracle.sql +++ b/tests/test_sql_refsols/rank_with_filters_c_oracle.sql @@ -1,22 +1,22 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT DISTINCT - p_size AS P_SIZE + P_SIZE FROM TPCH.PART ORDER BY 1 DESC NULLS LAST FETCH FIRST 5 ROWS ONLY -), "_T" AS ( +), "_t" AS ( SELECT - PART.p_size AS SIZE_1, - PART.p_name AS P_NAME, - ROW_NUMBER() OVER (PARTITION BY "_S0".P_SIZE ORDER BY PART.p_retailprice DESC, PART.p_partkey) AS "_W" - FROM "_S0" "_S0" + PART.P_SIZE AS SIZE_1, + PART.P_NAME, + ROW_NUMBER() OVER (PARTITION BY "_s0".P_SIZE ORDER BY PART.P_RETAILPRICE DESC, PART.P_PARTKEY) AS "_w" + FROM "_s0" "_s0" JOIN TPCH.PART PART - ON PART.p_size = "_S0".P_SIZE + ON PART.P_SIZE = "_s0".P_SIZE ) SELECT P_NAME AS pname, SIZE_1 AS psize -FROM "_T" +FROM "_t" WHERE - "_W" = 1 + "_w" = 1 diff --git a/tests/test_sql_refsols/rank_with_filters_c_trino.sql b/tests/test_sql_refsols/rank_with_filters_c_trino.sql index 161cc3c15..941f25595 100644 --- a/tests/test_sql_refsols/rank_with_filters_c_trino.sql +++ b/tests/test_sql_refsols/rank_with_filters_c_trino.sql @@ -9,7 +9,10 @@ WITH _s0 AS ( SELECT part.p_size AS size_1, part.p_name, - ROW_NUMBER() OVER (PARTITION BY _s0.p_size ORDER BY part.p_retailprice DESC NULLS FIRST, part.p_partkey) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _s0.p_size + ORDER BY part.p_retailprice DESC NULLS FIRST, part.p_partkey + ) AS _w FROM _s0 AS _s0 JOIN tpch.part AS part ON _s0.p_size = part.p_size diff --git a/tests/test_sql_refsols/redundant_has_nested_oracle.sql b/tests/test_sql_refsols/redundant_has_nested_oracle.sql index 528d1a050..17f422093 100644 --- a/tests/test_sql_refsols/redundant_has_nested_oracle.sql +++ b/tests/test_sql_refsols/redundant_has_nested_oracle.sql @@ -2,6 +2,6 @@ SELECT COUNT(*) AS n FROM TPCH.SUPPLIER SUPPLIER JOIN TPCH.NATION NATION - ON NATION.n_nationkey = SUPPLIER.s_nationkey + ON NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY JOIN TPCH.REGION REGION - ON NATION.n_regionkey = REGION.r_regionkey AND REGION.r_name = 'AFRICA' + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY AND REGION.R_NAME = 'AFRICA' diff --git a/tests/test_sql_refsols/redundant_has_not_on_singular_ansi.sql b/tests/test_sql_refsols/redundant_has_not_on_singular_ansi.sql index 666260dff..041f10df3 100644 --- a/tests/test_sql_refsols/redundant_has_not_on_singular_ansi.sql +++ b/tests/test_sql_refsols/redundant_has_not_on_singular_ansi.sql @@ -1,7 +1,12 @@ +WITH _s3 AS ( + SELECT + nation.n_nationkey + FROM tpch.nation AS nation + JOIN tpch.region AS region + ON nation.n_regionkey = region.r_regionkey AND region.r_name = 'AFRICA' +) SELECT COUNT(*) AS n FROM tpch.supplier AS supplier -JOIN tpch.nation AS nation - ON nation.n_nationkey = supplier.s_nationkey -JOIN tpch.region AS region - ON nation.n_regionkey = region.r_regionkey AND region.r_name = 'AFRICA' +ANTI JOIN _s3 AS _s3 + ON _s3.n_nationkey = supplier.s_nationkey diff --git a/tests/test_sql_refsols/redundant_has_not_on_singular_mysql.sql b/tests/test_sql_refsols/redundant_has_not_on_singular_mysql.sql index f7a716c60..008004ffe 100644 --- a/tests/test_sql_refsols/redundant_has_not_on_singular_mysql.sql +++ b/tests/test_sql_refsols/redundant_has_not_on_singular_mysql.sql @@ -13,4 +13,4 @@ FROM tpch.SUPPLIER AS SUPPLIER LEFT JOIN _u_0 AS _u_0 ON SUPPLIER.s_nationkey = _u_0._u_1 WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/redundant_has_not_on_singular_oracle.sql b/tests/test_sql_refsols/redundant_has_not_on_singular_oracle.sql index 28f2159b4..497690980 100644 --- a/tests/test_sql_refsols/redundant_has_not_on_singular_oracle.sql +++ b/tests/test_sql_refsols/redundant_has_not_on_singular_oracle.sql @@ -1,16 +1,16 @@ WITH "_u_0" AS ( SELECT - NATION.n_nationkey AS "_u_1" + NATION.N_NATIONKEY AS "_u_1" FROM TPCH.NATION NATION JOIN TPCH.REGION REGION - ON NATION.n_regionkey = REGION.r_regionkey AND REGION.r_name = 'AFRICA' + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY AND REGION.R_NAME = 'AFRICA' GROUP BY - NATION.n_nationkey + NATION.N_NATIONKEY ) SELECT COUNT(*) AS n FROM TPCH.SUPPLIER SUPPLIER LEFT JOIN "_u_0" "_u_0" - ON SUPPLIER.s_nationkey = "_u_0"."_u_1" + ON SUPPLIER.S_NATIONKEY = "_u_0"."_u_1" WHERE "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/redundant_has_not_on_singular_sqlite.sql b/tests/test_sql_refsols/redundant_has_not_on_singular_sqlite.sql index 431b9ed82..7dc663cc5 100644 --- a/tests/test_sql_refsols/redundant_has_not_on_singular_sqlite.sql +++ b/tests/test_sql_refsols/redundant_has_not_on_singular_sqlite.sql @@ -13,4 +13,4 @@ FROM tpch.supplier AS supplier LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = supplier.s_nationkey WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/redundant_has_on_plural_lineitems_oracle.sql b/tests/test_sql_refsols/redundant_has_on_plural_lineitems_oracle.sql index 6fd985b5e..18979af53 100644 --- a/tests/test_sql_refsols/redundant_has_on_plural_lineitems_oracle.sql +++ b/tests/test_sql_refsols/redundant_has_on_plural_lineitems_oracle.sql @@ -1,5 +1,5 @@ SELECT - COUNT(DISTINCT l_orderkey) AS n + COUNT(DISTINCT L_ORDERKEY) AS n FROM TPCH.LINEITEM WHERE - l_quantity > 49 + L_QUANTITY > 49 diff --git a/tests/test_sql_refsols/redundant_has_on_plural_oracle.sql b/tests/test_sql_refsols/redundant_has_on_plural_oracle.sql index 4c93154d5..856a5a89c 100644 --- a/tests/test_sql_refsols/redundant_has_on_plural_oracle.sql +++ b/tests/test_sql_refsols/redundant_has_on_plural_oracle.sql @@ -1,5 +1,5 @@ SELECT - COUNT(DISTINCT o_custkey) AS n + COUNT(DISTINCT O_CUSTKEY) AS n FROM TPCH.ORDERS WHERE - o_totalprice > 400000 + O_TOTALPRICE > 400000 diff --git a/tests/test_sql_refsols/redundant_has_oracle.sql b/tests/test_sql_refsols/redundant_has_oracle.sql index 63a5b0ab9..e4f691de2 100644 --- a/tests/test_sql_refsols/redundant_has_oracle.sql +++ b/tests/test_sql_refsols/redundant_has_oracle.sql @@ -2,6 +2,6 @@ SELECT COUNT(*) AS n FROM TPCH.CUSTOMER CUSTOMER JOIN TPCH.NATION NATION - ON CUSTOMER.c_nationkey = NATION.n_nationkey + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY JOIN TPCH.REGION REGION - ON NATION.n_regionkey = REGION.r_regionkey AND REGION.r_name = 'ASIA' + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY AND REGION.R_NAME = 'ASIA' diff --git a/tests/test_sql_refsols/redundant_has_singular_chain_oracle.sql b/tests/test_sql_refsols/redundant_has_singular_chain_oracle.sql index fab919a50..51b7ea2c8 100644 --- a/tests/test_sql_refsols/redundant_has_singular_chain_oracle.sql +++ b/tests/test_sql_refsols/redundant_has_singular_chain_oracle.sql @@ -2,6 +2,6 @@ SELECT COUNT(*) AS n FROM TPCH.SUPPLIER SUPPLIER JOIN TPCH.NATION NATION - ON NATION.n_nationkey = SUPPLIER.s_nationkey + ON NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY JOIN TPCH.REGION REGION - ON NATION.n_regionkey = REGION.r_regionkey AND REGION.r_name = 'EUROPE' + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY AND REGION.R_NAME = 'EUROPE' diff --git a/tests/test_sql_refsols/region_acctbal_breakdown_databricks.sql b/tests/test_sql_refsols/region_acctbal_breakdown_databricks.sql index 411692988..cc19f9e10 100644 --- a/tests/test_sql_refsols/region_acctbal_breakdown_databricks.sql +++ b/tests/test_sql_refsols/region_acctbal_breakdown_databricks.sql @@ -5,7 +5,10 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY nation.n_regionkey ORDER BY CASE WHEN customer.c_acctbal >= 0 THEN customer.c_acctbal ELSE NULL END DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY CASE WHEN customer.c_acctbal >= 0 THEN customer.c_acctbal ELSE NULL END DESC + ) - 1.0 ) - ( ( COUNT(CASE WHEN customer.c_acctbal >= 0 THEN customer.c_acctbal ELSE NULL END) OVER (PARTITION BY nation.n_regionkey) - 1.0 @@ -31,7 +34,10 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY nation.n_regionkey ORDER BY CASE WHEN customer.c_acctbal < 0 THEN customer.c_acctbal ELSE NULL END DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY CASE WHEN customer.c_acctbal < 0 THEN customer.c_acctbal ELSE NULL END DESC + ) - 1.0 ) - ( ( COUNT(CASE WHEN customer.c_acctbal < 0 THEN customer.c_acctbal ELSE NULL END) OVER (PARTITION BY nation.n_regionkey) - 1.0 diff --git a/tests/test_sql_refsols/region_acctbal_breakdown_duckdb.sql b/tests/test_sql_refsols/region_acctbal_breakdown_duckdb.sql index fefb59307..410795f17 100644 --- a/tests/test_sql_refsols/region_acctbal_breakdown_duckdb.sql +++ b/tests/test_sql_refsols/region_acctbal_breakdown_duckdb.sql @@ -5,7 +5,10 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY nation.n_regionkey ORDER BY CASE WHEN customer.c_acctbal >= 0 THEN customer.c_acctbal ELSE NULL END DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY CASE WHEN customer.c_acctbal >= 0 THEN customer.c_acctbal ELSE NULL END DESC + ) - 1.0 ) - ( ( COUNT(CASE WHEN customer.c_acctbal >= 0 THEN customer.c_acctbal ELSE NULL END) OVER (PARTITION BY nation.n_regionkey) - 1.0 @@ -31,7 +34,10 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY nation.n_regionkey ORDER BY CASE WHEN customer.c_acctbal < 0 THEN customer.c_acctbal ELSE NULL END DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY CASE WHEN customer.c_acctbal < 0 THEN customer.c_acctbal ELSE NULL END DESC + ) - 1.0 ) - ( ( COUNT(CASE WHEN customer.c_acctbal < 0 THEN customer.c_acctbal ELSE NULL END) OVER (PARTITION BY nation.n_regionkey) - 1.0 diff --git a/tests/test_sql_refsols/region_acctbal_breakdown_mysql.sql b/tests/test_sql_refsols/region_acctbal_breakdown_mysql.sql index 95ad08dc0..f8e95b5c7 100644 --- a/tests/test_sql_refsols/region_acctbal_breakdown_mysql.sql +++ b/tests/test_sql_refsols/region_acctbal_breakdown_mysql.sql @@ -5,7 +5,10 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY NATION.n_regionkey ORDER BY CASE WHEN CUSTOMER.c_acctbal >= 0 THEN CUSTOMER.c_acctbal ELSE NULL END DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY NATION.n_regionkey + ORDER BY CASE WHEN CUSTOMER.c_acctbal >= 0 THEN CUSTOMER.c_acctbal ELSE NULL END DESC + ) - 1.0 ) - ( ( COUNT(CASE WHEN CUSTOMER.c_acctbal >= 0 THEN CUSTOMER.c_acctbal ELSE NULL END) OVER (PARTITION BY NATION.n_regionkey) - 1.0 @@ -31,7 +34,10 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY NATION.n_regionkey ORDER BY CASE WHEN CUSTOMER.c_acctbal < 0 THEN CUSTOMER.c_acctbal ELSE NULL END DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY NATION.n_regionkey + ORDER BY CASE WHEN CUSTOMER.c_acctbal < 0 THEN CUSTOMER.c_acctbal ELSE NULL END DESC + ) - 1.0 ) - ( ( COUNT(CASE WHEN CUSTOMER.c_acctbal < 0 THEN CUSTOMER.c_acctbal ELSE NULL END) OVER (PARTITION BY NATION.n_regionkey) - 1.0 diff --git a/tests/test_sql_refsols/region_acctbal_breakdown_oracle.sql b/tests/test_sql_refsols/region_acctbal_breakdown_oracle.sql index e664803e5..c81e4717a 100644 --- a/tests/test_sql_refsols/region_acctbal_breakdown_oracle.sql +++ b/tests/test_sql_refsols/region_acctbal_breakdown_oracle.sql @@ -1,50 +1,56 @@ -WITH "_T1" AS ( +WITH "_t1" AS ( SELECT - CUSTOMER.c_acctbal AS C_ACCTBAL, - NATION.n_regionkey AS N_REGIONKEY, + CUSTOMER.C_ACCTBAL, + NATION.N_REGIONKEY, CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY NATION.n_regionkey ORDER BY CASE WHEN CUSTOMER.c_acctbal >= 0 THEN CUSTOMER.c_acctbal ELSE NULL END DESC NULLS LAST) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY NATION.N_REGIONKEY + ORDER BY CASE WHEN CUSTOMER.C_ACCTBAL >= 0 THEN CUSTOMER.C_ACCTBAL ELSE NULL END DESC NULLS LAST + ) - 1.0 ) - ( ( - COUNT(CASE WHEN CUSTOMER.c_acctbal >= 0 THEN CUSTOMER.c_acctbal ELSE NULL END) OVER (PARTITION BY NATION.n_regionkey) - 1.0 + COUNT(CASE WHEN CUSTOMER.C_ACCTBAL >= 0 THEN CUSTOMER.C_ACCTBAL ELSE NULL END) OVER (PARTITION BY NATION.N_REGIONKEY) - 1.0 ) / 2.0 ) ) < 1.0 - THEN CASE WHEN CUSTOMER.c_acctbal >= 0 THEN CUSTOMER.c_acctbal ELSE NULL END + THEN CASE WHEN CUSTOMER.C_ACCTBAL >= 0 THEN CUSTOMER.C_ACCTBAL ELSE NULL END ELSE NULL END AS EXPR_5, CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY NATION.n_regionkey ORDER BY CUSTOMER.c_acctbal DESC NULLS LAST) - 1.0 + ROW_NUMBER() OVER (PARTITION BY NATION.N_REGIONKEY ORDER BY CUSTOMER.C_ACCTBAL DESC NULLS LAST) - 1.0 ) - ( ( - COUNT(CUSTOMER.c_acctbal) OVER (PARTITION BY NATION.n_regionkey) - 1.0 + COUNT(CUSTOMER.C_ACCTBAL) OVER (PARTITION BY NATION.N_REGIONKEY) - 1.0 ) / 2.0 ) ) < 1.0 - THEN CUSTOMER.c_acctbal + THEN CUSTOMER.C_ACCTBAL ELSE NULL END AS EXPR_6, CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY NATION.n_regionkey ORDER BY CASE WHEN CUSTOMER.c_acctbal < 0 THEN CUSTOMER.c_acctbal ELSE NULL END DESC NULLS LAST) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY NATION.N_REGIONKEY + ORDER BY CASE WHEN CUSTOMER.C_ACCTBAL < 0 THEN CUSTOMER.C_ACCTBAL ELSE NULL END DESC NULLS LAST + ) - 1.0 ) - ( ( - COUNT(CASE WHEN CUSTOMER.c_acctbal < 0 THEN CUSTOMER.c_acctbal ELSE NULL END) OVER (PARTITION BY NATION.n_regionkey) - 1.0 + COUNT(CASE WHEN CUSTOMER.C_ACCTBAL < 0 THEN CUSTOMER.C_ACCTBAL ELSE NULL END) OVER (PARTITION BY NATION.N_REGIONKEY) - 1.0 ) / 2.0 ) ) < 1.0 - THEN CASE WHEN CUSTOMER.c_acctbal < 0 THEN CUSTOMER.c_acctbal ELSE NULL END + THEN CASE WHEN CUSTOMER.C_ACCTBAL < 0 THEN CUSTOMER.C_ACCTBAL ELSE NULL END ELSE NULL END AS EXPR_7 FROM TPCH.NATION NATION JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_nationkey = NATION.n_nationkey -), "_S3" AS ( + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY +), "_s3" AS ( SELECT N_REGIONKEY, AVG(EXPR_5) AS AVG_EXPR_5, @@ -52,19 +58,19 @@ WITH "_T1" AS ( AVG(EXPR_7) AS AVG_EXPR_7, COUNT(CASE WHEN C_ACCTBAL < 0 THEN C_ACCTBAL ELSE NULL END) AS COUNT_NEGATIVE_ACCTBAL, COUNT(CASE WHEN C_ACCTBAL >= 0 THEN C_ACCTBAL ELSE NULL END) AS COUNT_NON_NEGATIVE_ACCTBAL - FROM "_T1" + FROM "_t1" GROUP BY N_REGIONKEY ) SELECT - REGION.r_name AS region_name, - "_S3".COUNT_NEGATIVE_ACCTBAL AS n_red_acctbal, - "_S3".COUNT_NON_NEGATIVE_ACCTBAL AS n_black_acctbal, - "_S3".AVG_EXPR_7 AS median_red_acctbal, - "_S3".AVG_EXPR_5 AS median_black_acctbal, - "_S3".AVG_EXPR_6 AS median_overall_acctbal + REGION.R_NAME AS region_name, + "_s3".COUNT_NEGATIVE_ACCTBAL AS n_red_acctbal, + "_s3".COUNT_NON_NEGATIVE_ACCTBAL AS n_black_acctbal, + "_s3".AVG_EXPR_7 AS median_red_acctbal, + "_s3".AVG_EXPR_5 AS median_black_acctbal, + "_s3".AVG_EXPR_6 AS median_overall_acctbal FROM TPCH.REGION REGION -JOIN "_S3" "_S3" - ON REGION.r_regionkey = "_S3".N_REGIONKEY +JOIN "_s3" "_s3" + ON REGION.R_REGIONKEY = "_s3".N_REGIONKEY ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/region_acctbal_breakdown_sqlite.sql b/tests/test_sql_refsols/region_acctbal_breakdown_sqlite.sql index 33f4db853..e3dad22f3 100644 --- a/tests/test_sql_refsols/region_acctbal_breakdown_sqlite.sql +++ b/tests/test_sql_refsols/region_acctbal_breakdown_sqlite.sql @@ -5,7 +5,10 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY nation.n_regionkey ORDER BY CASE WHEN customer.c_acctbal >= 0 THEN customer.c_acctbal ELSE NULL END DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY CASE WHEN customer.c_acctbal >= 0 THEN customer.c_acctbal ELSE NULL END DESC + ) - 1.0 ) - ( CAST(( COUNT(CASE WHEN customer.c_acctbal >= 0 THEN customer.c_acctbal ELSE NULL END) OVER (PARTITION BY nation.n_regionkey) - 1.0 @@ -31,7 +34,10 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY nation.n_regionkey ORDER BY CASE WHEN customer.c_acctbal < 0 THEN customer.c_acctbal ELSE NULL END DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY CASE WHEN customer.c_acctbal < 0 THEN customer.c_acctbal ELSE NULL END DESC + ) - 1.0 ) - ( CAST(( COUNT(CASE WHEN customer.c_acctbal < 0 THEN customer.c_acctbal ELSE NULL END) OVER (PARTITION BY nation.n_regionkey) - 1.0 diff --git a/tests/test_sql_refsols/region_acctbal_breakdown_trino.sql b/tests/test_sql_refsols/region_acctbal_breakdown_trino.sql index 999a9df2b..410795f17 100644 --- a/tests/test_sql_refsols/region_acctbal_breakdown_trino.sql +++ b/tests/test_sql_refsols/region_acctbal_breakdown_trino.sql @@ -5,11 +5,14 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY nation.n_regionkey ORDER BY CASE WHEN customer.c_acctbal >= 0 THEN customer.c_acctbal ELSE NULL END DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY CASE WHEN customer.c_acctbal >= 0 THEN customer.c_acctbal ELSE NULL END DESC + ) - 1.0 ) - ( - CAST(( + ( COUNT(CASE WHEN customer.c_acctbal >= 0 THEN customer.c_acctbal ELSE NULL END) OVER (PARTITION BY nation.n_regionkey) - 1.0 - ) AS DOUBLE) / 2.0 + ) / 2.0 ) ) < 1.0 THEN CASE WHEN customer.c_acctbal >= 0 THEN customer.c_acctbal ELSE NULL END @@ -20,9 +23,9 @@ WITH _t1 AS ( ( ROW_NUMBER() OVER (PARTITION BY nation.n_regionkey ORDER BY customer.c_acctbal DESC) - 1.0 ) - ( - CAST(( + ( COUNT(customer.c_acctbal) OVER (PARTITION BY nation.n_regionkey) - 1.0 - ) AS DOUBLE) / 2.0 + ) / 2.0 ) ) < 1.0 THEN customer.c_acctbal @@ -31,11 +34,14 @@ WITH _t1 AS ( CASE WHEN ABS( ( - ROW_NUMBER() OVER (PARTITION BY nation.n_regionkey ORDER BY CASE WHEN customer.c_acctbal < 0 THEN customer.c_acctbal ELSE NULL END DESC) - 1.0 + ROW_NUMBER() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY CASE WHEN customer.c_acctbal < 0 THEN customer.c_acctbal ELSE NULL END DESC + ) - 1.0 ) - ( - CAST(( + ( COUNT(CASE WHEN customer.c_acctbal < 0 THEN customer.c_acctbal ELSE NULL END) OVER (PARTITION BY nation.n_regionkey) - 1.0 - ) AS DOUBLE) / 2.0 + ) / 2.0 ) ) < 1.0 THEN CASE WHEN customer.c_acctbal < 0 THEN customer.c_acctbal ELSE NULL END diff --git a/tests/test_sql_refsols/region_nation_window_aggs_oracle.sql b/tests/test_sql_refsols/region_nation_window_aggs_oracle.sql index 72ef1540d..d36f90033 100644 --- a/tests/test_sql_refsols/region_nation_window_aggs_oracle.sql +++ b/tests/test_sql_refsols/region_nation_window_aggs_oracle.sql @@ -1,12 +1,12 @@ SELECT - n_name AS nation_name, - SUM(n_nationkey) OVER (PARTITION BY n_regionkey) AS key_sum, - AVG(CAST(n_nationkey AS DOUBLE PRECISION)) OVER (PARTITION BY n_regionkey) AS key_avg, - COUNT(CASE WHEN LENGTH(n_comment) < 75 THEN n_comment ELSE NULL END) OVER (PARTITION BY n_regionkey) AS n_short_comment, - COUNT(*) OVER (PARTITION BY n_regionkey) AS n_nations + N_NAME AS nation_name, + SUM(N_NATIONKEY) OVER (PARTITION BY N_REGIONKEY) AS key_sum, + AVG(CAST(N_NATIONKEY AS DOUBLE PRECISION)) OVER (PARTITION BY N_REGIONKEY) AS key_avg, + COUNT(CASE WHEN LENGTH(N_COMMENT) < 75 THEN N_COMMENT ELSE NULL END) OVER (PARTITION BY N_REGIONKEY) AS n_short_comment, + COUNT(*) OVER (PARTITION BY N_REGIONKEY) AS n_nations FROM TPCH.NATION WHERE - NOT SUBSTR(n_name, 1, 1) IN ('A', 'E', 'I', 'O', 'U') + NOT SUBSTR(N_NAME, 1, 1) IN ('A', 'E', 'I', 'O', 'U') ORDER BY - n_regionkey NULLS FIRST, + N_REGIONKEY NULLS FIRST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/region_nation_window_aggs_trino.sql b/tests/test_sql_refsols/region_nation_window_aggs_trino.sql index 9093c8cb9..0422049e6 100644 --- a/tests/test_sql_refsols/region_nation_window_aggs_trino.sql +++ b/tests/test_sql_refsols/region_nation_window_aggs_trino.sql @@ -6,7 +6,7 @@ SELECT COUNT(*) OVER (PARTITION BY n_regionkey) AS n_nations FROM tpch.nation WHERE - NOT SUBSTRING(n_name, 1, 1) IN ('A', 'E', 'I', 'O', 'U') + NOT SUBSTR(n_name, 1, 1) IN ('A', 'E', 'I', 'O', 'U') ORDER BY n_regionkey NULLS FIRST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/region_orders_from_nations_richest_ansi.sql b/tests/test_sql_refsols/region_orders_from_nations_richest_ansi.sql index 22ac44a46..8b79cc0c3 100644 --- a/tests/test_sql_refsols/region_orders_from_nations_richest_ansi.sql +++ b/tests/test_sql_refsols/region_orders_from_nations_richest_ansi.sql @@ -6,7 +6,10 @@ WITH _t2 AS ( JOIN tpch.customer AS customer ON customer.c_nationkey = nation.n_nationkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_acctbal DESC NULLS FIRST, customer.c_name NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY customer.c_nationkey + ORDER BY customer.c_acctbal DESC NULLS FIRST, customer.c_name NULLS LAST + ) = 1 ), _s3 AS ( SELECT o_custkey, diff --git a/tests/test_sql_refsols/region_orders_from_nations_richest_databricks.sql b/tests/test_sql_refsols/region_orders_from_nations_richest_databricks.sql index 22ac44a46..8b79cc0c3 100644 --- a/tests/test_sql_refsols/region_orders_from_nations_richest_databricks.sql +++ b/tests/test_sql_refsols/region_orders_from_nations_richest_databricks.sql @@ -6,7 +6,10 @@ WITH _t2 AS ( JOIN tpch.customer AS customer ON customer.c_nationkey = nation.n_nationkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_acctbal DESC NULLS FIRST, customer.c_name NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY customer.c_nationkey + ORDER BY customer.c_acctbal DESC NULLS FIRST, customer.c_name NULLS LAST + ) = 1 ), _s3 AS ( SELECT o_custkey, diff --git a/tests/test_sql_refsols/region_orders_from_nations_richest_duckdb.sql b/tests/test_sql_refsols/region_orders_from_nations_richest_duckdb.sql index 62ca8c48e..c7645ce0d 100644 --- a/tests/test_sql_refsols/region_orders_from_nations_richest_duckdb.sql +++ b/tests/test_sql_refsols/region_orders_from_nations_richest_duckdb.sql @@ -6,7 +6,10 @@ WITH _t2 AS ( JOIN tpch.customer AS customer ON customer.c_nationkey = nation.n_nationkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_acctbal DESC NULLS FIRST, customer.c_name) = 1 + ROW_NUMBER() OVER ( + PARTITION BY customer.c_nationkey + ORDER BY customer.c_acctbal DESC NULLS FIRST, customer.c_name + ) = 1 ), _s3 AS ( SELECT o_custkey, diff --git a/tests/test_sql_refsols/region_orders_from_nations_richest_mysql.sql b/tests/test_sql_refsols/region_orders_from_nations_richest_mysql.sql index 1c1c191c7..d63612a73 100644 --- a/tests/test_sql_refsols/region_orders_from_nations_richest_mysql.sql +++ b/tests/test_sql_refsols/region_orders_from_nations_richest_mysql.sql @@ -2,7 +2,10 @@ WITH _t AS ( SELECT CUSTOMER.c_custkey, NATION.n_regionkey, - ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END DESC, CUSTOMER.c_acctbal DESC, CASE WHEN CUSTOMER.c_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_name COLLATE utf8mb4_bin) AS _w + ROW_NUMBER() OVER ( + PARTITION BY CUSTOMER.c_nationkey + ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END DESC, CUSTOMER.c_acctbal DESC, CASE WHEN CUSTOMER.c_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_name COLLATE utf8mb4_bin + ) AS _w FROM tpch.NATION AS NATION JOIN tpch.CUSTOMER AS CUSTOMER ON CUSTOMER.c_nationkey = NATION.n_nationkey diff --git a/tests/test_sql_refsols/region_orders_from_nations_richest_oracle.sql b/tests/test_sql_refsols/region_orders_from_nations_richest_oracle.sql index cde94b2e9..ff9aa61b1 100644 --- a/tests/test_sql_refsols/region_orders_from_nations_richest_oracle.sql +++ b/tests/test_sql_refsols/region_orders_from_nations_richest_oracle.sql @@ -1,35 +1,38 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - CUSTOMER.c_custkey AS C_CUSTKEY, - NATION.n_regionkey AS N_REGIONKEY, - ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY CUSTOMER.c_acctbal DESC, CUSTOMER.c_name) AS "_W" + CUSTOMER.C_CUSTKEY, + NATION.N_REGIONKEY, + ROW_NUMBER() OVER ( + PARTITION BY CUSTOMER.C_NATIONKEY + ORDER BY CUSTOMER.C_ACCTBAL DESC, CUSTOMER.C_NAME + ) AS "_w" FROM TPCH.NATION NATION JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_nationkey = NATION.n_nationkey -), "_S3" AS ( + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY +), "_s3" AS ( SELECT - o_custkey AS O_CUSTKEY, + O_CUSTKEY, COUNT(*) AS N_ROWS FROM TPCH.ORDERS GROUP BY - o_custkey -), "_S5" AS ( + O_CUSTKEY +), "_s5" AS ( SELECT - "_T".N_REGIONKEY, - SUM("_S3".N_ROWS) AS SUM_N_ROWS - FROM "_T" "_T" - JOIN "_S3" "_S3" - ON "_S3".O_CUSTKEY = "_T".C_CUSTKEY + "_t".N_REGIONKEY, + SUM("_s3".N_ROWS) AS SUM_N_ROWS + FROM "_t" "_t" + JOIN "_s3" "_s3" + ON "_s3".O_CUSTKEY = "_t".C_CUSTKEY WHERE - "_T"."_W" = 1 + "_t"."_w" = 1 GROUP BY - "_T".N_REGIONKEY + "_t".N_REGIONKEY ) SELECT - REGION.r_name AS region_name, - COALESCE("_S5".SUM_N_ROWS, 0) AS n_orders + REGION.R_NAME AS region_name, + COALESCE("_s5".SUM_N_ROWS, 0) AS n_orders FROM TPCH.REGION REGION -LEFT JOIN "_S5" "_S5" - ON REGION.r_regionkey = "_S5".N_REGIONKEY +LEFT JOIN "_s5" "_s5" + ON REGION.R_REGIONKEY = "_s5".N_REGIONKEY ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/region_orders_from_nations_richest_postgres.sql b/tests/test_sql_refsols/region_orders_from_nations_richest_postgres.sql index a3e411ad6..3b3dfd4a0 100644 --- a/tests/test_sql_refsols/region_orders_from_nations_richest_postgres.sql +++ b/tests/test_sql_refsols/region_orders_from_nations_richest_postgres.sql @@ -2,7 +2,10 @@ WITH _t AS ( SELECT customer.c_custkey, nation.n_regionkey, - ROW_NUMBER() OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_acctbal DESC, customer.c_name) AS _w + ROW_NUMBER() OVER ( + PARTITION BY customer.c_nationkey + ORDER BY customer.c_acctbal DESC, customer.c_name + ) AS _w FROM tpch.nation AS nation JOIN tpch.customer AS customer ON customer.c_nationkey = nation.n_nationkey diff --git a/tests/test_sql_refsols/region_orders_from_nations_richest_snowflake.sql b/tests/test_sql_refsols/region_orders_from_nations_richest_snowflake.sql index dd2694930..6e40f8513 100644 --- a/tests/test_sql_refsols/region_orders_from_nations_richest_snowflake.sql +++ b/tests/test_sql_refsols/region_orders_from_nations_richest_snowflake.sql @@ -6,7 +6,10 @@ WITH _t2 AS ( JOIN tpch.customer AS customer ON customer.c_nationkey = nation.n_nationkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_acctbal DESC, customer.c_name) = 1 + ROW_NUMBER() OVER ( + PARTITION BY customer.c_nationkey + ORDER BY customer.c_acctbal DESC, customer.c_name + ) = 1 ), _s3 AS ( SELECT o_custkey, diff --git a/tests/test_sql_refsols/region_orders_from_nations_richest_sqlite.sql b/tests/test_sql_refsols/region_orders_from_nations_richest_sqlite.sql index f20fd2867..8dd4006b4 100644 --- a/tests/test_sql_refsols/region_orders_from_nations_richest_sqlite.sql +++ b/tests/test_sql_refsols/region_orders_from_nations_richest_sqlite.sql @@ -2,7 +2,10 @@ WITH _t AS ( SELECT customer.c_custkey, nation.n_regionkey, - ROW_NUMBER() OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_acctbal DESC, customer.c_name) AS _w + ROW_NUMBER() OVER ( + PARTITION BY customer.c_nationkey + ORDER BY customer.c_acctbal DESC, customer.c_name + ) AS _w FROM tpch.nation AS nation JOIN tpch.customer AS customer ON customer.c_nationkey = nation.n_nationkey diff --git a/tests/test_sql_refsols/region_orders_from_nations_richest_trino.sql b/tests/test_sql_refsols/region_orders_from_nations_richest_trino.sql index 10d8e291c..8e5521760 100644 --- a/tests/test_sql_refsols/region_orders_from_nations_richest_trino.sql +++ b/tests/test_sql_refsols/region_orders_from_nations_richest_trino.sql @@ -2,7 +2,10 @@ WITH _t AS ( SELECT customer.c_custkey, nation.n_regionkey, - ROW_NUMBER() OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_acctbal DESC NULLS FIRST, customer.c_name) AS _w + ROW_NUMBER() OVER ( + PARTITION BY customer.c_nationkey + ORDER BY customer.c_acctbal DESC NULLS FIRST, customer.c_name + ) AS _w FROM tpch.nation AS nation JOIN tpch.customer AS customer ON customer.c_nationkey = nation.n_nationkey diff --git a/tests/test_sql_refsols/regional_first_order_best_line_part_ansi.sql b/tests/test_sql_refsols/regional_first_order_best_line_part_ansi.sql index 6ebceb4f6..1a0d0b8df 100644 --- a/tests/test_sql_refsols/regional_first_order_best_line_part_ansi.sql +++ b/tests/test_sql_refsols/regional_first_order_best_line_part_ansi.sql @@ -9,7 +9,10 @@ WITH _t3 AS ( ON EXTRACT(YEAR FROM CAST(orders.o_orderdate AS DATETIME)) = 1992 AND customer.c_custkey = orders.o_custkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY nation.n_regionkey ORDER BY orders.o_orderdate NULLS LAST, orders.o_orderkey NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY orders.o_orderdate NULLS LAST, orders.o_orderkey NULLS LAST + ) = 1 ), _t1 AS ( SELECT lineitem.l_partkey, @@ -19,7 +22,10 @@ WITH _t3 AS ( ON EXTRACT(YEAR FROM CAST(lineitem.l_shipdate AS DATETIME)) = 1992 AND _t3.o_orderkey = lineitem.l_orderkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY _t3.n_regionkey ORDER BY lineitem.l_quantity DESC NULLS FIRST, lineitem.l_linenumber NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _t3.n_regionkey + ORDER BY lineitem.l_quantity DESC NULLS FIRST, lineitem.l_linenumber NULLS LAST + ) = 1 ), _s9 AS ( SELECT _t1.n_regionkey, diff --git a/tests/test_sql_refsols/regional_first_order_best_line_part_databricks.sql b/tests/test_sql_refsols/regional_first_order_best_line_part_databricks.sql index 8f975c89a..c2282c0e5 100644 --- a/tests/test_sql_refsols/regional_first_order_best_line_part_databricks.sql +++ b/tests/test_sql_refsols/regional_first_order_best_line_part_databricks.sql @@ -9,7 +9,10 @@ WITH _t3 AS ( ON EXTRACT(YEAR FROM CAST(orders.o_orderdate AS TIMESTAMP)) = 1992 AND customer.c_custkey = orders.o_custkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY nation.n_regionkey ORDER BY orders.o_orderdate NULLS LAST, orders.o_orderkey NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY orders.o_orderdate NULLS LAST, orders.o_orderkey NULLS LAST + ) = 1 ), _t1 AS ( SELECT lineitem.l_partkey, @@ -19,7 +22,10 @@ WITH _t3 AS ( ON EXTRACT(YEAR FROM CAST(lineitem.l_shipdate AS TIMESTAMP)) = 1992 AND _t3.o_orderkey = lineitem.l_orderkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY _t3.n_regionkey ORDER BY lineitem.l_quantity DESC NULLS FIRST, lineitem.l_linenumber NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _t3.n_regionkey + ORDER BY lineitem.l_quantity DESC NULLS FIRST, lineitem.l_linenumber NULLS LAST + ) = 1 ), _s9 AS ( SELECT _t1.n_regionkey, diff --git a/tests/test_sql_refsols/regional_first_order_best_line_part_duckdb.sql b/tests/test_sql_refsols/regional_first_order_best_line_part_duckdb.sql index 3e6184061..dbe9f50f0 100644 --- a/tests/test_sql_refsols/regional_first_order_best_line_part_duckdb.sql +++ b/tests/test_sql_refsols/regional_first_order_best_line_part_duckdb.sql @@ -19,7 +19,10 @@ WITH _t3 AS ( ON EXTRACT(YEAR FROM CAST(lineitem.l_shipdate AS TIMESTAMP)) = 1992 AND _t3.o_orderkey = lineitem.l_orderkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY _t3.n_regionkey ORDER BY lineitem.l_quantity DESC NULLS FIRST, lineitem.l_linenumber) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _t3.n_regionkey + ORDER BY lineitem.l_quantity DESC NULLS FIRST, lineitem.l_linenumber + ) = 1 ), _s9 AS ( SELECT _t1.n_regionkey, diff --git a/tests/test_sql_refsols/regional_first_order_best_line_part_mysql.sql b/tests/test_sql_refsols/regional_first_order_best_line_part_mysql.sql index 1c8b317f1..3ff532e35 100644 --- a/tests/test_sql_refsols/regional_first_order_best_line_part_mysql.sql +++ b/tests/test_sql_refsols/regional_first_order_best_line_part_mysql.sql @@ -2,7 +2,10 @@ WITH _t AS ( SELECT NATION.n_regionkey, ORDERS.o_orderkey, - ROW_NUMBER() OVER (PARTITION BY NATION.n_regionkey ORDER BY CASE WHEN ORDERS.o_orderdate IS NULL THEN 1 ELSE 0 END, ORDERS.o_orderdate, CASE WHEN ORDERS.o_orderkey IS NULL THEN 1 ELSE 0 END, ORDERS.o_orderkey) AS _w + ROW_NUMBER() OVER ( + PARTITION BY NATION.n_regionkey + ORDER BY CASE WHEN ORDERS.o_orderdate IS NULL THEN 1 ELSE 0 END, ORDERS.o_orderdate, CASE WHEN ORDERS.o_orderkey IS NULL THEN 1 ELSE 0 END, ORDERS.o_orderkey + ) AS _w FROM tpch.NATION AS NATION JOIN tpch.CUSTOMER AS CUSTOMER ON CUSTOMER.c_nationkey = NATION.n_nationkey @@ -13,7 +16,10 @@ WITH _t AS ( SELECT LINEITEM.l_partkey, _t.n_regionkey, - ROW_NUMBER() OVER (PARTITION BY _t.n_regionkey ORDER BY CASE WHEN LINEITEM.l_quantity IS NULL THEN 1 ELSE 0 END DESC, LINEITEM.l_quantity DESC, CASE WHEN LINEITEM.l_linenumber IS NULL THEN 1 ELSE 0 END, LINEITEM.l_linenumber) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _t.n_regionkey + ORDER BY CASE WHEN LINEITEM.l_quantity IS NULL THEN 1 ELSE 0 END DESC, LINEITEM.l_quantity DESC, CASE WHEN LINEITEM.l_linenumber IS NULL THEN 1 ELSE 0 END, LINEITEM.l_linenumber + ) AS _w FROM _t AS _t JOIN tpch.LINEITEM AS LINEITEM ON EXTRACT(YEAR FROM CAST(LINEITEM.l_shipdate AS DATETIME)) = 1992 diff --git a/tests/test_sql_refsols/regional_first_order_best_line_part_oracle.sql b/tests/test_sql_refsols/regional_first_order_best_line_part_oracle.sql index 7188b31dd..f85565300 100644 --- a/tests/test_sql_refsols/regional_first_order_best_line_part_oracle.sql +++ b/tests/test_sql_refsols/regional_first_order_best_line_part_oracle.sql @@ -1,40 +1,43 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - NATION.n_regionkey AS N_REGIONKEY, - ORDERS.o_orderkey AS O_ORDERKEY, - ROW_NUMBER() OVER (PARTITION BY NATION.n_regionkey ORDER BY ORDERS.o_orderdate, ORDERS.o_orderkey) AS "_W" + NATION.N_REGIONKEY, + ORDERS.O_ORDERKEY, + ROW_NUMBER() OVER (PARTITION BY NATION.N_REGIONKEY ORDER BY ORDERS.O_ORDERDATE, ORDERS.O_ORDERKEY) AS "_w" FROM TPCH.NATION NATION JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_nationkey = NATION.n_nationkey + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY JOIN TPCH.ORDERS ORDERS - ON CUSTOMER.c_custkey = ORDERS.o_custkey - AND EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) = 1992 -), "_T_2" AS ( + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY + AND EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) = 1992 +), "_t_2" AS ( SELECT - LINEITEM.l_partkey AS L_PARTKEY, - "_T".N_REGIONKEY, - ROW_NUMBER() OVER (PARTITION BY "_T".N_REGIONKEY ORDER BY LINEITEM.l_quantity DESC, LINEITEM.l_linenumber) AS "_W" - FROM "_T" "_T" + LINEITEM.L_PARTKEY, + "_t".N_REGIONKEY, + ROW_NUMBER() OVER ( + PARTITION BY "_t".N_REGIONKEY + ORDER BY LINEITEM.L_QUANTITY DESC, LINEITEM.L_LINENUMBER + ) AS "_w" + FROM "_t" "_t" JOIN TPCH.LINEITEM LINEITEM - ON EXTRACT(YEAR FROM CAST(LINEITEM.l_shipdate AS DATE)) = 1992 - AND LINEITEM.l_orderkey = "_T".O_ORDERKEY + ON EXTRACT(YEAR FROM CAST(LINEITEM.L_SHIPDATE AS DATE)) = 1992 + AND LINEITEM.L_ORDERKEY = "_t".O_ORDERKEY WHERE - "_T"."_W" = 1 -), "_S9" AS ( + "_t"."_w" = 1 +), "_s9" AS ( SELECT - "_T".N_REGIONKEY, - PART.p_name AS P_NAME - FROM "_T_2" "_T" + "_t".N_REGIONKEY, + PART.P_NAME + FROM "_t_2" "_t" JOIN TPCH.PART PART - ON PART.p_partkey = "_T".L_PARTKEY + ON PART.P_PARTKEY = "_t".L_PARTKEY WHERE - "_T"."_W" = 1 + "_t"."_w" = 1 ) SELECT - REGION.r_name AS region_name, - "_S9".P_NAME AS part_name + REGION.R_NAME AS region_name, + "_s9".P_NAME AS part_name FROM TPCH.REGION REGION -LEFT JOIN "_S9" "_S9" - ON REGION.r_regionkey = "_S9".N_REGIONKEY +LEFT JOIN "_s9" "_s9" + ON REGION.R_REGIONKEY = "_s9".N_REGIONKEY ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/regional_first_order_best_line_part_postgres.sql b/tests/test_sql_refsols/regional_first_order_best_line_part_postgres.sql index adc6756e1..471615075 100644 --- a/tests/test_sql_refsols/regional_first_order_best_line_part_postgres.sql +++ b/tests/test_sql_refsols/regional_first_order_best_line_part_postgres.sql @@ -13,7 +13,10 @@ WITH _t AS ( SELECT lineitem.l_partkey, _t.n_regionkey, - ROW_NUMBER() OVER (PARTITION BY _t.n_regionkey ORDER BY lineitem.l_quantity DESC, lineitem.l_linenumber) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _t.n_regionkey + ORDER BY lineitem.l_quantity DESC, lineitem.l_linenumber + ) AS _w FROM _t AS _t JOIN tpch.lineitem AS lineitem ON EXTRACT(YEAR FROM CAST(lineitem.l_shipdate AS TIMESTAMP)) = 1992 diff --git a/tests/test_sql_refsols/regional_first_order_best_line_part_snowflake.sql b/tests/test_sql_refsols/regional_first_order_best_line_part_snowflake.sql index aff8af057..4250f6b90 100644 --- a/tests/test_sql_refsols/regional_first_order_best_line_part_snowflake.sql +++ b/tests/test_sql_refsols/regional_first_order_best_line_part_snowflake.sql @@ -19,7 +19,10 @@ WITH _t3 AS ( ON YEAR(CAST(lineitem.l_shipdate AS TIMESTAMP)) = 1992 AND _t3.o_orderkey = lineitem.l_orderkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY _t3.n_regionkey ORDER BY lineitem.l_quantity DESC, lineitem.l_linenumber) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _t3.n_regionkey + ORDER BY lineitem.l_quantity DESC, lineitem.l_linenumber + ) = 1 ), _s9 AS ( SELECT _t1.n_regionkey, diff --git a/tests/test_sql_refsols/regional_first_order_best_line_part_sqlite.sql b/tests/test_sql_refsols/regional_first_order_best_line_part_sqlite.sql index e6ba12ea9..a0dbc8b3d 100644 --- a/tests/test_sql_refsols/regional_first_order_best_line_part_sqlite.sql +++ b/tests/test_sql_refsols/regional_first_order_best_line_part_sqlite.sql @@ -13,7 +13,10 @@ WITH _t AS ( SELECT lineitem.l_partkey, _t.n_regionkey, - ROW_NUMBER() OVER (PARTITION BY _t.n_regionkey ORDER BY lineitem.l_quantity DESC, lineitem.l_linenumber) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _t.n_regionkey + ORDER BY lineitem.l_quantity DESC, lineitem.l_linenumber + ) AS _w FROM _t AS _t JOIN tpch.lineitem AS lineitem ON CAST(STRFTIME('%Y', lineitem.l_shipdate) AS INTEGER) = 1992 diff --git a/tests/test_sql_refsols/regional_first_order_best_line_part_trino.sql b/tests/test_sql_refsols/regional_first_order_best_line_part_trino.sql index 61a377436..1d86bd4ba 100644 --- a/tests/test_sql_refsols/regional_first_order_best_line_part_trino.sql +++ b/tests/test_sql_refsols/regional_first_order_best_line_part_trino.sql @@ -13,7 +13,10 @@ WITH _t AS ( SELECT lineitem.l_partkey, _t.n_regionkey, - ROW_NUMBER() OVER (PARTITION BY _t.n_regionkey ORDER BY lineitem.l_quantity DESC NULLS FIRST, lineitem.l_linenumber) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _t.n_regionkey + ORDER BY lineitem.l_quantity DESC NULLS FIRST, lineitem.l_linenumber + ) AS _w FROM _t AS _t JOIN tpch.lineitem AS lineitem ON YEAR(CAST(lineitem.l_shipdate AS TIMESTAMP)) = 1992 diff --git a/tests/test_sql_refsols/regional_suppliers_percentile_ansi.sql b/tests/test_sql_refsols/regional_suppliers_percentile_ansi.sql index f96f21943..68b70769b 100644 --- a/tests/test_sql_refsols/regional_suppliers_percentile_ansi.sql +++ b/tests/test_sql_refsols/regional_suppliers_percentile_ansi.sql @@ -14,7 +14,10 @@ WITH _s3 AS ( JOIN _s3 AS _s3 ON _s3.ps_suppkey = supplier.s_suppkey QUALIFY - NTILE(1000) OVER (PARTITION BY nation.n_regionkey ORDER BY _s3.n_rows NULLS LAST, supplier.s_name NULLS LAST) = 1000 + NTILE(1000) OVER ( + PARTITION BY nation.n_regionkey + ORDER BY _s3.n_rows NULLS LAST, supplier.s_name NULLS LAST + ) = 1000 ) SELECT s_name AS name diff --git a/tests/test_sql_refsols/regional_suppliers_percentile_databricks.sql b/tests/test_sql_refsols/regional_suppliers_percentile_databricks.sql index f96f21943..68b70769b 100644 --- a/tests/test_sql_refsols/regional_suppliers_percentile_databricks.sql +++ b/tests/test_sql_refsols/regional_suppliers_percentile_databricks.sql @@ -14,7 +14,10 @@ WITH _s3 AS ( JOIN _s3 AS _s3 ON _s3.ps_suppkey = supplier.s_suppkey QUALIFY - NTILE(1000) OVER (PARTITION BY nation.n_regionkey ORDER BY _s3.n_rows NULLS LAST, supplier.s_name NULLS LAST) = 1000 + NTILE(1000) OVER ( + PARTITION BY nation.n_regionkey + ORDER BY _s3.n_rows NULLS LAST, supplier.s_name NULLS LAST + ) = 1000 ) SELECT s_name AS name diff --git a/tests/test_sql_refsols/regional_suppliers_percentile_mysql.sql b/tests/test_sql_refsols/regional_suppliers_percentile_mysql.sql index 304ed7ef4..9217178fe 100644 --- a/tests/test_sql_refsols/regional_suppliers_percentile_mysql.sql +++ b/tests/test_sql_refsols/regional_suppliers_percentile_mysql.sql @@ -8,7 +8,10 @@ WITH _s3 AS ( ), _t AS ( SELECT SUPPLIER.s_name, - NTILE(1000) OVER (PARTITION BY NATION.n_regionkey ORDER BY CASE WHEN _s3.n_rows IS NULL THEN 1 ELSE 0 END, _s3.n_rows, CASE WHEN SUPPLIER.s_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, SUPPLIER.s_name COLLATE utf8mb4_bin) AS _w + NTILE(1000) OVER ( + PARTITION BY NATION.n_regionkey + ORDER BY CASE WHEN _s3.n_rows IS NULL THEN 1 ELSE 0 END, _s3.n_rows, CASE WHEN SUPPLIER.s_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, SUPPLIER.s_name COLLATE utf8mb4_bin + ) AS _w FROM tpch.NATION AS NATION JOIN tpch.SUPPLIER AS SUPPLIER ON NATION.n_nationkey = SUPPLIER.s_nationkey diff --git a/tests/test_sql_refsols/regional_suppliers_percentile_oracle.sql b/tests/test_sql_refsols/regional_suppliers_percentile_oracle.sql index a6bb8b585..3542b7aee 100644 --- a/tests/test_sql_refsols/regional_suppliers_percentile_oracle.sql +++ b/tests/test_sql_refsols/regional_suppliers_percentile_oracle.sql @@ -1,22 +1,22 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - ps_suppkey AS PS_SUPPKEY, + PS_SUPPKEY, COUNT(*) AS N_ROWS FROM TPCH.PARTSUPP GROUP BY - ps_suppkey -), "_T" AS ( + PS_SUPPKEY +), "_t" AS ( SELECT - SUPPLIER.s_name AS S_NAME, - NTILE(1000) OVER (PARTITION BY NATION.n_regionkey ORDER BY "_S3".N_ROWS, SUPPLIER.s_name) AS "_W" + SUPPLIER.S_NAME, + NTILE(1000) OVER (PARTITION BY NATION.N_REGIONKEY ORDER BY "_s3".N_ROWS, SUPPLIER.S_NAME) AS "_w" FROM TPCH.NATION NATION JOIN TPCH.SUPPLIER SUPPLIER - ON NATION.n_nationkey = SUPPLIER.s_nationkey - JOIN "_S3" "_S3" - ON SUPPLIER.s_suppkey = "_S3".PS_SUPPKEY + ON NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY + JOIN "_s3" "_s3" + ON SUPPLIER.S_SUPPKEY = "_s3".PS_SUPPKEY ) SELECT S_NAME AS name -FROM "_T" +FROM "_t" WHERE - "_W" = 1000 + "_w" = 1000 diff --git a/tests/test_sql_refsols/replace_non_string_arg_oracle.sql b/tests/test_sql_refsols/replace_non_string_arg_oracle.sql index 5ea4dd380..84d24d069 100644 --- a/tests/test_sql_refsols/replace_non_string_arg_oracle.sql +++ b/tests/test_sql_refsols/replace_non_string_arg_oracle.sql @@ -1,7 +1,7 @@ SELECT - REPLACE(c_custkey, '1', 'one') AS clean_key + REPLACE(C_CUSTKEY, '1', 'one') AS clean_key FROM TPCH.CUSTOMER WHERE - c_custkey <= 5 + C_CUSTKEY <= 5 ORDER BY - c_custkey NULLS FIRST + C_CUSTKEY NULLS FIRST diff --git a/tests/test_sql_refsols/rewrite_any_inner_rhs_ansi.sql b/tests/test_sql_refsols/rewrite_any_inner_rhs_ansi.sql index 774c93df7..302ba0ef1 100644 --- a/tests/test_sql_refsols/rewrite_any_inner_rhs_ansi.sql +++ b/tests/test_sql_refsols/rewrite_any_inner_rhs_ansi.sql @@ -1,7 +1,12 @@ +WITH _s1 AS ( + SELECT + o_custkey + FROM tpch.orders + WHERE + o_clerk = 'Clerk#000000470' AND o_totalprice = 252004.18 +) SELECT ANY_VALUE(customer.c_name) AS any_customer FROM tpch.customer AS customer -JOIN tpch.orders AS orders - ON customer.c_custkey = orders.o_custkey - AND orders.o_clerk = 'Clerk#000000470' - AND orders.o_totalprice = 252004.18 +SEMI JOIN _s1 AS _s1 + ON _s1.o_custkey = customer.c_custkey diff --git a/tests/test_sql_refsols/rewrite_any_inner_rhs_oracle.sql b/tests/test_sql_refsols/rewrite_any_inner_rhs_oracle.sql index 51f24680a..febf82869 100644 --- a/tests/test_sql_refsols/rewrite_any_inner_rhs_oracle.sql +++ b/tests/test_sql_refsols/rewrite_any_inner_rhs_oracle.sql @@ -1,16 +1,16 @@ WITH "_u_0" AS ( SELECT - o_custkey AS "_u_1" + O_CUSTKEY AS "_u_1" FROM TPCH.ORDERS WHERE - o_clerk = 'Clerk#000000470' AND o_totalprice = 252004.18 + O_CLERK = 'Clerk#000000470' AND O_TOTALPRICE = 252004.18 GROUP BY - o_custkey + O_CUSTKEY ) SELECT - ANY_VALUE(CUSTOMER.c_name) AS any_customer + ANY_VALUE(CUSTOMER.C_NAME) AS any_customer FROM TPCH.CUSTOMER CUSTOMER LEFT JOIN "_u_0" "_u_0" - ON CUSTOMER.c_custkey = "_u_0"."_u_1" + ON CUSTOMER.C_CUSTKEY = "_u_0"."_u_1" WHERE NOT "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/rewrite_any_inner_rhs_postgres.sql b/tests/test_sql_refsols/rewrite_any_inner_rhs_postgres.sql index c22beebef..c3b4c8682 100644 --- a/tests/test_sql_refsols/rewrite_any_inner_rhs_postgres.sql +++ b/tests/test_sql_refsols/rewrite_any_inner_rhs_postgres.sql @@ -8,7 +8,7 @@ WITH _u_0 AS ( 1 ) SELECT - MAX(customer.c_name) AS any_customer + ANY_VALUE(customer.c_name) AS any_customer FROM tpch.customer AS customer LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = customer.c_custkey diff --git a/tests/test_sql_refsols/rewrite_count_complex_lhs_oracle.sql b/tests/test_sql_refsols/rewrite_count_complex_lhs_oracle.sql index 3dc92fb02..53092de0f 100644 --- a/tests/test_sql_refsols/rewrite_count_complex_lhs_oracle.sql +++ b/tests/test_sql_refsols/rewrite_count_complex_lhs_oracle.sql @@ -2,6 +2,6 @@ SELECT COUNT(*) AS n FROM TPCH.CUSTOMER CUSTOMER JOIN TPCH.NATION NATION - ON CUSTOMER.c_nationkey = NATION.n_nationkey AND NATION.n_name = 'CHINA' + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY AND NATION.N_NAME = 'CHINA' JOIN TPCH.REGION REGION - ON NATION.n_regionkey = REGION.r_regionkey AND REGION.r_name = 'ASIA' + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY AND REGION.R_NAME = 'ASIA' diff --git a/tests/test_sql_refsols/rewrite_count_pf_sa_oracle.sql b/tests/test_sql_refsols/rewrite_count_pf_sa_oracle.sql index dfb5cd536..d8e77b5b3 100644 --- a/tests/test_sql_refsols/rewrite_count_pf_sa_oracle.sql +++ b/tests/test_sql_refsols/rewrite_count_pf_sa_oracle.sql @@ -1,5 +1,5 @@ SELECT - COUNT(DISTINCT c_nationkey) AS n + COUNT(DISTINCT C_NATIONKEY) AS n FROM TPCH.CUSTOMER WHERE - c_acctbal < -975 AND c_mktsegment = 'AUTOMOBILE' + C_ACCTBAL < -975 AND C_MKTSEGMENT = 'AUTOMOBILE' diff --git a/tests/test_sql_refsols/rewrite_count_pf_sf_ansi.sql b/tests/test_sql_refsols/rewrite_count_pf_sf_ansi.sql index 84a0d431b..81570181c 100644 --- a/tests/test_sql_refsols/rewrite_count_pf_sf_ansi.sql +++ b/tests/test_sql_refsols/rewrite_count_pf_sf_ansi.sql @@ -1,7 +1,14 @@ +WITH _s3 AS ( + SELECT + c_nationkey + FROM tpch.customer + WHERE + c_mktsegment = 'BUILDING' +) SELECT COUNT(*) AS n FROM tpch.nation AS nation JOIN tpch.region AS region ON nation.n_regionkey = region.r_regionkey AND region.r_name = 'EUROPE' -JOIN tpch.customer AS customer - ON customer.c_mktsegment = 'BUILDING' AND customer.c_nationkey = nation.n_nationkey +SEMI JOIN _s3 AS _s3 + ON _s3.c_nationkey = nation.n_nationkey diff --git a/tests/test_sql_refsols/rewrite_count_pf_sf_oracle.sql b/tests/test_sql_refsols/rewrite_count_pf_sf_oracle.sql index 931868d91..e4b758fe3 100644 --- a/tests/test_sql_refsols/rewrite_count_pf_sf_oracle.sql +++ b/tests/test_sql_refsols/rewrite_count_pf_sf_oracle.sql @@ -1,18 +1,18 @@ WITH "_u_0" AS ( SELECT - c_nationkey AS "_u_1" + C_NATIONKEY AS "_u_1" FROM TPCH.CUSTOMER WHERE - c_mktsegment = 'BUILDING' + C_MKTSEGMENT = 'BUILDING' GROUP BY - c_nationkey + C_NATIONKEY ) SELECT COUNT(*) AS n FROM TPCH.NATION NATION JOIN TPCH.REGION REGION - ON NATION.n_regionkey = REGION.r_regionkey AND REGION.r_name = 'EUROPE' + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY AND REGION.R_NAME = 'EUROPE' LEFT JOIN "_u_0" "_u_0" - ON NATION.n_nationkey = "_u_0"."_u_1" + ON NATION.N_NATIONKEY = "_u_0"."_u_1" WHERE NOT "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/rewrite_count_semi_oracle.sql b/tests/test_sql_refsols/rewrite_count_semi_oracle.sql index ef1f7fed0..c72e46e4d 100644 --- a/tests/test_sql_refsols/rewrite_count_semi_oracle.sql +++ b/tests/test_sql_refsols/rewrite_count_semi_oracle.sql @@ -1,6 +1,6 @@ SELECT - COUNT(DISTINCT o_custkey) AS n + COUNT(DISTINCT O_CUSTKEY) AS n FROM TPCH.ORDERS WHERE - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) = 1994 - AND o_orderpriority = '1-URGENT' + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) = 1994 + AND O_ORDERPRIORITY = '1-URGENT' diff --git a/tests/test_sql_refsols/rewrite_count_sf_pa_oracle.sql b/tests/test_sql_refsols/rewrite_count_sf_pa_oracle.sql index fbe49f003..d219cf8c7 100644 --- a/tests/test_sql_refsols/rewrite_count_sf_pa_oracle.sql +++ b/tests/test_sql_refsols/rewrite_count_sf_pa_oracle.sql @@ -2,4 +2,4 @@ SELECT COUNT(*) AS n FROM TPCH.PARTSUPP PARTSUPP JOIN TPCH.PART PART - ON PART.p_brand = 'Brand#23' AND PART.p_partkey = PARTSUPP.ps_partkey + ON PART.P_BRAND = 'Brand#23' AND PART.P_PARTKEY = PARTSUPP.PS_PARTKEY diff --git a/tests/test_sql_refsols/rewrite_count_sf_pf_oracle.sql b/tests/test_sql_refsols/rewrite_count_sf_pf_oracle.sql index 49ea022e2..87fccd104 100644 --- a/tests/test_sql_refsols/rewrite_count_sf_pf_oracle.sql +++ b/tests/test_sql_refsols/rewrite_count_sf_pf_oracle.sql @@ -2,6 +2,6 @@ SELECT COUNT(*) AS n FROM TPCH.ORDERS ORDERS JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_custkey = ORDERS.o_custkey AND CUSTOMER.c_mktsegment = 'AUTOMOBILE' + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY AND CUSTOMER.C_MKTSEGMENT = 'AUTOMOBILE' WHERE - ORDERS.o_orderstatus = 'F' + ORDERS.O_ORDERSTATUS = 'F' diff --git a/tests/test_sql_refsols/rewrite_min_inner_oracle.sql b/tests/test_sql_refsols/rewrite_min_inner_oracle.sql index a12a87e19..b03622bb5 100644 --- a/tests/test_sql_refsols/rewrite_min_inner_oracle.sql +++ b/tests/test_sql_refsols/rewrite_min_inner_oracle.sql @@ -1,16 +1,16 @@ -WITH "_T0" AS ( +WITH "_t0" AS ( SELECT - o_custkey AS C_CUSTKEY, + O_CUSTKEY AS C_CUSTKEY, COUNT(*) AS N_ROWS FROM TPCH.ORDERS WHERE - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) = 1994 - AND o_orderpriority = '1-URGENT' + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) = 1994 + AND O_ORDERPRIORITY = '1-URGENT' GROUP BY - o_custkey + O_CUSTKEY ) SELECT MIN(C_CUSTKEY) AS min_k, MAX(C_CUSTKEY) AS max_k, SUM(N_ROWS) AS n -FROM "_T0" +FROM "_t0" diff --git a/tests/test_sql_refsols/rewrite_min_inner_rhs_oracle.sql b/tests/test_sql_refsols/rewrite_min_inner_rhs_oracle.sql index d2992911a..cb7dc33e6 100644 --- a/tests/test_sql_refsols/rewrite_min_inner_rhs_oracle.sql +++ b/tests/test_sql_refsols/rewrite_min_inner_rhs_oracle.sql @@ -1,6 +1,6 @@ SELECT - MIN(o_custkey) AS min_k + MIN(O_CUSTKEY) AS min_k FROM TPCH.ORDERS WHERE - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) = 1994 - AND o_orderpriority = '1-URGENT' + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) = 1994 + AND O_ORDERPRIORITY = '1-URGENT' diff --git a/tests/test_sql_refsols/rewrite_min_region_oracle.sql b/tests/test_sql_refsols/rewrite_min_region_oracle.sql index 1e981c969..bc92e7ff1 100644 --- a/tests/test_sql_refsols/rewrite_min_region_oracle.sql +++ b/tests/test_sql_refsols/rewrite_min_region_oracle.sql @@ -1,5 +1,5 @@ SELECT - MIN(n_regionkey) AS min_region + MIN(N_REGIONKEY) AS min_region FROM TPCH.NATION WHERE - n_name LIKE 'I%' + N_NAME LIKE 'I%' diff --git a/tests/test_sql_refsols/richest_customer_key_per_region_mysql.sql b/tests/test_sql_refsols/richest_customer_key_per_region_mysql.sql index 1220fdc0e..0ac058a78 100644 --- a/tests/test_sql_refsols/richest_customer_key_per_region_mysql.sql +++ b/tests/test_sql_refsols/richest_customer_key_per_region_mysql.sql @@ -1,7 +1,10 @@ WITH _t AS ( SELECT CUSTOMER.c_custkey, - ROW_NUMBER() OVER (PARTITION BY NATION.n_regionkey ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END DESC, CUSTOMER.c_acctbal DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY NATION.n_regionkey + ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END DESC, CUSTOMER.c_acctbal DESC + ) AS _w FROM tpch.NATION AS NATION JOIN tpch.CUSTOMER AS CUSTOMER ON CUSTOMER.c_nationkey = NATION.n_nationkey diff --git a/tests/test_sql_refsols/richest_customer_key_per_region_oracle.sql b/tests/test_sql_refsols/richest_customer_key_per_region_oracle.sql index 7f5158e06..e6557d8a0 100644 --- a/tests/test_sql_refsols/richest_customer_key_per_region_oracle.sql +++ b/tests/test_sql_refsols/richest_customer_key_per_region_oracle.sql @@ -1,13 +1,13 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - CUSTOMER.c_custkey AS C_CUSTKEY, - ROW_NUMBER() OVER (PARTITION BY NATION.n_regionkey ORDER BY CUSTOMER.c_acctbal DESC) AS "_W" + CUSTOMER.C_CUSTKEY, + ROW_NUMBER() OVER (PARTITION BY NATION.N_REGIONKEY ORDER BY CUSTOMER.C_ACCTBAL DESC) AS "_w" FROM TPCH.NATION NATION JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_nationkey = NATION.n_nationkey + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY ) SELECT C_CUSTKEY AS "key" -FROM "_T" +FROM "_t" WHERE - "_W" = 1 + "_w" = 1 diff --git a/tests/test_sql_refsols/richest_customer_per_region_ansi.sql b/tests/test_sql_refsols/richest_customer_per_region_ansi.sql index 3536952a6..aed3aa48f 100644 --- a/tests/test_sql_refsols/richest_customer_per_region_ansi.sql +++ b/tests/test_sql_refsols/richest_customer_per_region_ansi.sql @@ -10,7 +10,10 @@ WITH _t0 AS ( JOIN tpch.customer AS customer ON customer.c_nationkey = nation.n_nationkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY nation.n_regionkey ORDER BY customer.c_acctbal DESC NULLS FIRST, customer.c_name NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY customer.c_acctbal DESC NULLS FIRST, customer.c_name NULLS LAST + ) = 1 ) SELECT r_name AS region_name, diff --git a/tests/test_sql_refsols/richest_customer_per_region_databricks.sql b/tests/test_sql_refsols/richest_customer_per_region_databricks.sql index 3536952a6..aed3aa48f 100644 --- a/tests/test_sql_refsols/richest_customer_per_region_databricks.sql +++ b/tests/test_sql_refsols/richest_customer_per_region_databricks.sql @@ -10,7 +10,10 @@ WITH _t0 AS ( JOIN tpch.customer AS customer ON customer.c_nationkey = nation.n_nationkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY nation.n_regionkey ORDER BY customer.c_acctbal DESC NULLS FIRST, customer.c_name NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY customer.c_acctbal DESC NULLS FIRST, customer.c_name NULLS LAST + ) = 1 ) SELECT r_name AS region_name, diff --git a/tests/test_sql_refsols/richest_customer_per_region_duckdb.sql b/tests/test_sql_refsols/richest_customer_per_region_duckdb.sql index 9a3f56f96..5a21fd08a 100644 --- a/tests/test_sql_refsols/richest_customer_per_region_duckdb.sql +++ b/tests/test_sql_refsols/richest_customer_per_region_duckdb.sql @@ -10,7 +10,10 @@ WITH _t0 AS ( JOIN tpch.customer AS customer ON customer.c_nationkey = nation.n_nationkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY nation.n_regionkey ORDER BY customer.c_acctbal DESC NULLS FIRST, customer.c_name) = 1 + ROW_NUMBER() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY customer.c_acctbal DESC NULLS FIRST, customer.c_name + ) = 1 ) SELECT r_name AS region_name, diff --git a/tests/test_sql_refsols/richest_customer_per_region_mysql.sql b/tests/test_sql_refsols/richest_customer_per_region_mysql.sql index 95ca49e2f..4a682861e 100644 --- a/tests/test_sql_refsols/richest_customer_per_region_mysql.sql +++ b/tests/test_sql_refsols/richest_customer_per_region_mysql.sql @@ -4,7 +4,10 @@ WITH _t AS ( CUSTOMER.c_name, NATION.n_name, REGION.r_name, - ROW_NUMBER() OVER (PARTITION BY NATION.n_regionkey ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END DESC, CUSTOMER.c_acctbal DESC, CASE WHEN CUSTOMER.c_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_name COLLATE utf8mb4_bin) AS _w + ROW_NUMBER() OVER ( + PARTITION BY NATION.n_regionkey + ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END DESC, CUSTOMER.c_acctbal DESC, CASE WHEN CUSTOMER.c_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_name COLLATE utf8mb4_bin + ) AS _w FROM tpch.REGION AS REGION JOIN tpch.NATION AS NATION ON NATION.n_regionkey = REGION.r_regionkey diff --git a/tests/test_sql_refsols/richest_customer_per_region_oracle.sql b/tests/test_sql_refsols/richest_customer_per_region_oracle.sql index 29c6d2b5a..0dc1ad976 100644 --- a/tests/test_sql_refsols/richest_customer_per_region_oracle.sql +++ b/tests/test_sql_refsols/richest_customer_per_region_oracle.sql @@ -1,21 +1,21 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - CUSTOMER.c_acctbal AS C_ACCTBAL, - CUSTOMER.c_name AS C_NAME, - NATION.n_name AS N_NAME, - REGION.r_name AS R_NAME, - ROW_NUMBER() OVER (PARTITION BY NATION.n_regionkey ORDER BY CUSTOMER.c_acctbal DESC, CUSTOMER.c_name) AS "_W" + CUSTOMER.C_ACCTBAL, + CUSTOMER.C_NAME, + NATION.N_NAME, + REGION.R_NAME, + ROW_NUMBER() OVER (PARTITION BY NATION.N_REGIONKEY ORDER BY CUSTOMER.C_ACCTBAL DESC, CUSTOMER.C_NAME) AS "_w" FROM TPCH.REGION REGION JOIN TPCH.NATION NATION - ON NATION.n_regionkey = REGION.r_regionkey + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_nationkey = NATION.n_nationkey + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY ) SELECT R_NAME AS region_name, N_NAME AS nation_name, C_NAME AS customer_name, C_ACCTBAL AS balance -FROM "_T" +FROM "_t" WHERE - "_W" = 1 + "_w" = 1 diff --git a/tests/test_sql_refsols/richest_customer_per_region_trino.sql b/tests/test_sql_refsols/richest_customer_per_region_trino.sql index 2c1199710..3d1428515 100644 --- a/tests/test_sql_refsols/richest_customer_per_region_trino.sql +++ b/tests/test_sql_refsols/richest_customer_per_region_trino.sql @@ -4,7 +4,10 @@ WITH _t AS ( customer.c_name, nation.n_name, region.r_name, - ROW_NUMBER() OVER (PARTITION BY nation.n_regionkey ORDER BY customer.c_acctbal DESC NULLS FIRST, customer.c_name) AS _w + ROW_NUMBER() OVER ( + PARTITION BY nation.n_regionkey + ORDER BY customer.c_acctbal DESC NULLS FIRST, customer.c_name + ) AS _w FROM tpch.region AS region JOIN tpch.nation AS nation ON nation.n_regionkey = region.r_regionkey diff --git a/tests/test_sql_refsols/shadowed_calc_term_oracle.sql b/tests/test_sql_refsols/shadowed_calc_term_oracle.sql index e2f0097bf..4aaadb9c7 100644 --- a/tests/test_sql_refsols/shadowed_calc_term_oracle.sql +++ b/tests/test_sql_refsols/shadowed_calc_term_oracle.sql @@ -1,19 +1,19 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - CUSTOMER.c_custkey AS C_CUSTKEY, - MAX(CUSTOMER.c_phone) AS MAX_C_PHONE + CUSTOMER.C_CUSTKEY, + MAX(CUSTOMER.C_PHONE) AS MAX_C_PHONE FROM TPCH.CUSTOMER CUSTOMER JOIN TPCH.ORDERS ORDERS - ON CUSTOMER.c_custkey = ORDERS.o_custkey + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY GROUP BY - CUSTOMER.c_custkey + CUSTOMER.C_CUSTKEY ) SELECT - ORDERS.o_orderkey AS "key", - "_S3".MAX_C_PHONE AS x + ORDERS.O_ORDERKEY AS "key", + "_s3".MAX_C_PHONE AS x FROM TPCH.ORDERS ORDERS -LEFT JOIN "_S3" "_S3" - ON ORDERS.o_custkey = "_S3".C_CUSTKEY +LEFT JOIN "_s3" "_s3" + ON ORDERS.O_CUSTKEY = "_s3".C_CUSTKEY ORDER BY 1 NULLS FIRST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/sign_mysql.sql b/tests/test_sql_refsols/sign_mysql.sql index 2d7b6c6e1..6be0545c9 100644 --- a/tests/test_sql_refsols/sign_mysql.sql +++ b/tests/test_sql_refsols/sign_mysql.sql @@ -1,23 +1,23 @@ SELECT - sbdptickerid COLLATE utf8mb4_bin AS ticker_id, - sbdphigh - 185 AS exp, - CASE WHEN sbdphigh = 185 THEN 0 ELSE CASE WHEN sbdphigh < 185 THEN -1 ELSE 1 END END AS sign_exp, + sbDpTickerId COLLATE utf8mb4_bin AS ticker_id, + sbDpHigh - 185 AS exp, + CASE WHEN sbDpHigh = 185 THEN 0 ELSE CASE WHEN sbDpHigh < 185 THEN -1 ELSE 1 END END AS sign_exp, CASE WHEN -1 * ( - sbdphigh - 185 + sbDpHigh - 185 ) = 0 THEN 0 ELSE CASE WHEN -1 * ( - sbdphigh - 185 + sbDpHigh - 185 ) < 0 THEN -1 ELSE 1 END END AS sign_neg_exp_a, CASE WHEN -1.0 * ( - sbdphigh - 185 + sbDpHigh - 185 ) = 0 THEN 0 ELSE CASE WHEN -1.0 * ( - sbdphigh - 185 + sbDpHigh - 185 ) < 0 THEN -1 ELSE 1 END END AS sign_neg_exp_b, 1 AS sign_pos, @@ -25,17 +25,17 @@ SELECT 0 AS sign_zero, 0 AS sign_exp_zero, CASE - WHEN ABS(sbdphigh - 185) = 0 + WHEN ABS(sbDpHigh - 185) = 0 THEN 0 - ELSE CASE WHEN ABS(sbdphigh - 185) < 0 THEN -1 ELSE 1 END + ELSE CASE WHEN ABS(sbDpHigh - 185) < 0 THEN -1 ELSE 1 END END AS sign_abs_exp, CASE - WHEN -1 * ABS(sbdphigh - 185) = 0 + WHEN -1 * ABS(sbDpHigh - 185) = 0 THEN 0 - ELSE CASE WHEN -1 * ABS(sbdphigh - 185) < 0 THEN -1 ELSE 1 END + ELSE CASE WHEN -1 * ABS(sbDpHigh - 185) < 0 THEN -1 ELSE 1 END END AS sign_neg_abs_exp FROM main.sbDailyPrice ORDER BY - sbdpdate, + sbDpDate, 1 LIMIT 5 diff --git a/tests/test_sql_refsols/sign_oracle.sql b/tests/test_sql_refsols/sign_oracle.sql index 4f42d1f60..9fd85c574 100644 --- a/tests/test_sql_refsols/sign_oracle.sql +++ b/tests/test_sql_refsols/sign_oracle.sql @@ -1,23 +1,23 @@ SELECT - sbdptickerid AS ticker_id, - sbdphigh - 185 AS exp, - CASE WHEN sbdphigh = 185 THEN 0 ELSE CASE WHEN sbdphigh < 185 THEN -1 ELSE 1 END END AS sign_exp, + SBDPTICKERID AS ticker_id, + SBDPHIGH - 185 AS exp, + CASE WHEN SBDPHIGH = 185 THEN 0 ELSE CASE WHEN SBDPHIGH < 185 THEN -1 ELSE 1 END END AS sign_exp, CASE WHEN -1 * ( - sbdphigh - 185 + SBDPHIGH - 185 ) = 0 THEN 0 ELSE CASE WHEN -1 * ( - sbdphigh - 185 + SBDPHIGH - 185 ) < 0 THEN -1 ELSE 1 END END AS sign_neg_exp_a, CASE WHEN -1.0 * ( - sbdphigh - 185 + SBDPHIGH - 185 ) = 0 THEN 0 ELSE CASE WHEN -1.0 * ( - sbdphigh - 185 + SBDPHIGH - 185 ) < 0 THEN -1 ELSE 1 END END AS sign_neg_exp_b, 1 AS sign_pos, @@ -25,17 +25,17 @@ SELECT 0 AS sign_zero, 0 AS sign_exp_zero, CASE - WHEN ABS(sbdphigh - 185) = 0 + WHEN ABS(SBDPHIGH - 185) = 0 THEN 0 - ELSE CASE WHEN ABS(sbdphigh - 185) < 0 THEN -1 ELSE 1 END + ELSE CASE WHEN ABS(SBDPHIGH - 185) < 0 THEN -1 ELSE 1 END END AS sign_abs_exp, CASE - WHEN -1 * ABS(sbdphigh - 185) = 0 + WHEN -1 * ABS(SBDPHIGH - 185) = 0 THEN 0 - ELSE CASE WHEN -1 * ABS(sbdphigh - 185) < 0 THEN -1 ELSE 1 END + ELSE CASE WHEN -1 * ABS(SBDPHIGH - 185) < 0 THEN -1 ELSE 1 END END AS sign_neg_abs_exp FROM MAIN.SBDAILYPRICE ORDER BY - sbdpdate NULLS FIRST, + SBDPDATE NULLS FIRST, 1 NULLS FIRST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/simple_anti_join_sqlite.sql b/tests/test_sql_refsols/simple_anti_join_sqlite.sql index 597a29654..f7cffc536 100644 --- a/tests/test_sql_refsols/simple_anti_join_sqlite.sql +++ b/tests/test_sql_refsols/simple_anti_join_sqlite.sql @@ -15,4 +15,4 @@ FROM _s0 AS _s0 LEFT JOIN _u_0 AS _u_0 ON _s0.a = _u_0._u_1 WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/simple_cross_10_oracle.sql b/tests/test_sql_refsols/simple_cross_10_oracle.sql index c52cf5d4b..90d10580f 100644 --- a/tests/test_sql_refsols/simple_cross_10_oracle.sql +++ b/tests/test_sql_refsols/simple_cross_10_oracle.sql @@ -1,26 +1,26 @@ -WITH "_S4" AS ( +WITH "_s4" AS ( SELECT - r_name AS R_NAME, - r_regionkey AS R_REGIONKEY + R_NAME, + R_REGIONKEY FROM TPCH.REGION -), "_S5" AS ( +), "_s5" AS ( SELECT - "_S0".R_REGIONKEY, + "_s0".R_REGIONKEY, COUNT(*) AS N_ROWS - FROM "_S4" "_S0" - JOIN "_S4" "_S1" - ON "_S0".R_NAME <> "_S1".R_NAME + FROM "_s4" "_s0" + JOIN "_s4" "_s1" + ON "_s0".R_NAME <> "_s1".R_NAME JOIN TPCH.NATION NATION - ON NATION.n_regionkey = "_S1".R_REGIONKEY - AND SUBSTR(NATION.n_name, 1, 1) = SUBSTR("_S0".R_NAME, 1, 1) + ON NATION.N_REGIONKEY = "_s1".R_REGIONKEY + AND SUBSTR(NATION.N_NAME, 1, 1) = SUBSTR("_s0".R_NAME, 1, 1) GROUP BY - "_S0".R_REGIONKEY + "_s0".R_REGIONKEY ) SELECT - "_S4".R_NAME AS region_name, - COALESCE("_S5".N_ROWS, 0) AS n_other_nations -FROM "_S4" "_S4" -LEFT JOIN "_S5" "_S5" - ON "_S4".R_REGIONKEY = "_S5".R_REGIONKEY + "_s4".R_NAME AS region_name, + COALESCE("_s5".N_ROWS, 0) AS n_other_nations +FROM "_s4" "_s4" +LEFT JOIN "_s5" "_s5" + ON "_s4".R_REGIONKEY = "_s5".R_REGIONKEY ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/simple_cross_10_trino.sql b/tests/test_sql_refsols/simple_cross_10_trino.sql index 211b59c14..b6fdae81d 100644 --- a/tests/test_sql_refsols/simple_cross_10_trino.sql +++ b/tests/test_sql_refsols/simple_cross_10_trino.sql @@ -11,7 +11,7 @@ WITH _s4 AS ( JOIN _s4 AS _s1 ON _s0.r_name <> _s1.r_name JOIN tpch.nation AS nation - ON SUBSTRING(_s0.r_name, 1, 1) = SUBSTRING(nation.n_name, 1, 1) + ON SUBSTR(_s0.r_name, 1, 1) = SUBSTR(nation.n_name, 1, 1) AND _s1.r_regionkey = nation.n_regionkey GROUP BY 1 diff --git a/tests/test_sql_refsols/simple_cross_11_oracle.sql b/tests/test_sql_refsols/simple_cross_11_oracle.sql index bcff0304d..ebbb26ef6 100644 --- a/tests/test_sql_refsols/simple_cross_11_oracle.sql +++ b/tests/test_sql_refsols/simple_cross_11_oracle.sql @@ -1,14 +1,14 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - o_orderdate AS O_ORDERDATE + O_ORDERDATE FROM TPCH.ORDERS -), "_S1" AS ( +), "_s1" AS ( SELECT MIN(O_ORDERDATE) AS MIN_O_ORDERDATE - FROM "_S0" + FROM "_s0" ) SELECT COUNT(*) AS n -FROM "_S0" "_S0" -JOIN "_S1" "_S1" - ON "_S0".O_ORDERDATE = "_S1".MIN_O_ORDERDATE +FROM "_s0" "_s0" +JOIN "_s1" "_s1" + ON "_s0".O_ORDERDATE = "_s1".MIN_O_ORDERDATE diff --git a/tests/test_sql_refsols/simple_cross_12_oracle.sql b/tests/test_sql_refsols/simple_cross_12_oracle.sql index b2f248ad4..87987c6be 100644 --- a/tests/test_sql_refsols/simple_cross_12_oracle.sql +++ b/tests/test_sql_refsols/simple_cross_12_oracle.sql @@ -1,17 +1,17 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT DISTINCT - o_orderpriority AS O_ORDERPRIORITY + O_ORDERPRIORITY FROM TPCH.ORDERS -), "_S1" AS ( +), "_s1" AS ( SELECT DISTINCT - c_mktsegment AS C_MKTSEGMENT + C_MKTSEGMENT FROM TPCH.CUSTOMER ) SELECT - "_S0".O_ORDERPRIORITY AS order_priority, - "_S1".C_MKTSEGMENT AS market_segment -FROM "_S0" "_S0" -CROSS JOIN "_S1" "_S1" + "_s0".O_ORDERPRIORITY AS order_priority, + "_s1".C_MKTSEGMENT AS market_segment +FROM "_s0" "_s0" +CROSS JOIN "_s1" "_s1" ORDER BY 1 NULLS FIRST, 2 NULLS FIRST diff --git a/tests/test_sql_refsols/simple_cross_13_ansi.sql b/tests/test_sql_refsols/simple_cross_13_ansi.sql index 592b51f25..8a6eaea74 100644 --- a/tests/test_sql_refsols/simple_cross_13_ansi.sql +++ b/tests/test_sql_refsols/simple_cross_13_ansi.sql @@ -7,4 +7,4 @@ SELECT 'fizzbuzz' AS f, 'yay' AS g FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/simple_cross_13_databricks.sql b/tests/test_sql_refsols/simple_cross_13_databricks.sql index 693b8fe5d..81b8a261c 100644 --- a/tests/test_sql_refsols/simple_cross_13_databricks.sql +++ b/tests/test_sql_refsols/simple_cross_13_databricks.sql @@ -7,4 +7,4 @@ SELECT 'fizzbuzz' AS f, 'yay' AS g FROM VALUES - (NULL) AS _q_0(_col_0) + (NULL) AS _0(_col_0) diff --git a/tests/test_sql_refsols/simple_cross_13_duckdb.sql b/tests/test_sql_refsols/simple_cross_13_duckdb.sql index 592b51f25..8a6eaea74 100644 --- a/tests/test_sql_refsols/simple_cross_13_duckdb.sql +++ b/tests/test_sql_refsols/simple_cross_13_duckdb.sql @@ -7,4 +7,4 @@ SELECT 'fizzbuzz' AS f, 'yay' AS g FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/simple_cross_13_mysql.sql b/tests/test_sql_refsols/simple_cross_13_mysql.sql index 51c0ded62..f7920b678 100644 --- a/tests/test_sql_refsols/simple_cross_13_mysql.sql +++ b/tests/test_sql_refsols/simple_cross_13_mysql.sql @@ -7,4 +7,4 @@ SELECT 'fizzbuzz' AS f, 'yay' AS g FROM (VALUES - ROW(NULL)) AS _q_0(_col_0) + ROW(NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/simple_cross_13_oracle.sql b/tests/test_sql_refsols/simple_cross_13_oracle.sql index 73e3b545d..b0af20f86 100644 --- a/tests/test_sql_refsols/simple_cross_13_oracle.sql +++ b/tests/test_sql_refsols/simple_cross_13_oracle.sql @@ -7,4 +7,4 @@ SELECT 'fizzbuzz' AS f, 'yay' AS g FROM (VALUES - (NULL)) AS "_Q_0"("_COL_0") + (NULL)) AS "_0"("_COL_0") diff --git a/tests/test_sql_refsols/simple_cross_13_postgres.sql b/tests/test_sql_refsols/simple_cross_13_postgres.sql index 592b51f25..8a6eaea74 100644 --- a/tests/test_sql_refsols/simple_cross_13_postgres.sql +++ b/tests/test_sql_refsols/simple_cross_13_postgres.sql @@ -7,4 +7,4 @@ SELECT 'fizzbuzz' AS f, 'yay' AS g FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/simple_cross_13_snowflake.sql b/tests/test_sql_refsols/simple_cross_13_snowflake.sql index 592b51f25..8a6eaea74 100644 --- a/tests/test_sql_refsols/simple_cross_13_snowflake.sql +++ b/tests/test_sql_refsols/simple_cross_13_snowflake.sql @@ -7,4 +7,4 @@ SELECT 'fizzbuzz' AS f, 'yay' AS g FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/simple_cross_13_sqlite.sql b/tests/test_sql_refsols/simple_cross_13_sqlite.sql index a3585b694..fea0359c7 100644 --- a/tests/test_sql_refsols/simple_cross_13_sqlite.sql +++ b/tests/test_sql_refsols/simple_cross_13_sqlite.sql @@ -7,4 +7,4 @@ SELECT 'fizzbuzz' AS f, 'yay' AS g FROM (VALUES - (NULL)) AS _q_0 + (NULL)) AS _0 diff --git a/tests/test_sql_refsols/simple_cross_13_trino.sql b/tests/test_sql_refsols/simple_cross_13_trino.sql index 592b51f25..8a6eaea74 100644 --- a/tests/test_sql_refsols/simple_cross_13_trino.sql +++ b/tests/test_sql_refsols/simple_cross_13_trino.sql @@ -7,4 +7,4 @@ SELECT 'fizzbuzz' AS f, 'yay' AS g FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/simple_cross_14_ansi.sql b/tests/test_sql_refsols/simple_cross_14_ansi.sql index ccb7fdaf1..d068d0bdd 100644 --- a/tests/test_sql_refsols/simple_cross_14_ansi.sql +++ b/tests/test_sql_refsols/simple_cross_14_ansi.sql @@ -4,7 +4,7 @@ WITH _s5 AS ( COUNT(*) AS n_rows FROM tpch.nation AS nation CROSS JOIN (VALUES - (NULL)) AS _q_1(_col_0) + (NULL)) AS _1(_col_0) WHERE SUBSTRING(nation.n_name, 1, 1) IN ('A', 'B', 'C') GROUP BY @@ -16,7 +16,7 @@ SELECT COALESCE(_s5.n_rows, 0) AS n FROM tpch.region AS region CROSS JOIN (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) LEFT JOIN _s5 AS _s5 ON _s5.n_regionkey = region.r_regionkey ORDER BY diff --git a/tests/test_sql_refsols/simple_cross_14_databricks.sql b/tests/test_sql_refsols/simple_cross_14_databricks.sql index 68f1a2059..667f30e5e 100644 --- a/tests/test_sql_refsols/simple_cross_14_databricks.sql +++ b/tests/test_sql_refsols/simple_cross_14_databricks.sql @@ -4,7 +4,7 @@ WITH _s5 AS ( COUNT(*) AS n_rows FROM tpch.nation AS nation CROSS JOIN VALUES - (NULL) AS _q_1(_col_0) + (NULL) AS _1(_col_0) WHERE SUBSTRING(nation.n_name, 1, 1) IN ('A', 'B', 'C') GROUP BY @@ -16,7 +16,7 @@ SELECT COALESCE(_s5.n_rows, 0) AS n FROM tpch.region AS region CROSS JOIN VALUES - (NULL) AS _q_0(_col_0) + (NULL) AS _0(_col_0) LEFT JOIN _s5 AS _s5 ON _s5.n_regionkey = region.r_regionkey ORDER BY diff --git a/tests/test_sql_refsols/simple_cross_14_duckdb.sql b/tests/test_sql_refsols/simple_cross_14_duckdb.sql index 4f18d6100..0bc17ad75 100644 --- a/tests/test_sql_refsols/simple_cross_14_duckdb.sql +++ b/tests/test_sql_refsols/simple_cross_14_duckdb.sql @@ -4,7 +4,7 @@ WITH _s5 AS ( COUNT(*) AS n_rows FROM tpch.nation AS nation CROSS JOIN (VALUES - (NULL)) AS _q_1(_col_0) + (NULL)) AS _1(_col_0) WHERE SUBSTRING(nation.n_name, 1, 1) IN ('A', 'B', 'C') GROUP BY @@ -16,7 +16,7 @@ SELECT COALESCE(_s5.n_rows, 0) AS n FROM tpch.region AS region CROSS JOIN (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) LEFT JOIN _s5 AS _s5 ON _s5.n_regionkey = region.r_regionkey ORDER BY diff --git a/tests/test_sql_refsols/simple_cross_14_mysql.sql b/tests/test_sql_refsols/simple_cross_14_mysql.sql index 07a13e487..07dfd421a 100644 --- a/tests/test_sql_refsols/simple_cross_14_mysql.sql +++ b/tests/test_sql_refsols/simple_cross_14_mysql.sql @@ -4,7 +4,7 @@ WITH _s5 AS ( COUNT(*) AS n_rows FROM tpch.NATION AS NATION CROSS JOIN (VALUES - ROW(NULL)) AS _q_1(_col_0) + ROW(NULL)) AS _1(_col_0) WHERE SUBSTRING(NATION.n_name, 1, 1) IN ('A', 'B', 'C') GROUP BY @@ -16,7 +16,7 @@ SELECT COALESCE(_s5.n_rows, 0) AS n FROM tpch.REGION AS REGION CROSS JOIN (VALUES - ROW(NULL)) AS _q_0(_col_0) + ROW(NULL)) AS _0(_col_0) LEFT JOIN _s5 AS _s5 ON REGION.r_regionkey = _s5.n_regionkey ORDER BY diff --git a/tests/test_sql_refsols/simple_cross_14_oracle.sql b/tests/test_sql_refsols/simple_cross_14_oracle.sql index 453dc7f0b..fcdf19bda 100644 --- a/tests/test_sql_refsols/simple_cross_14_oracle.sql +++ b/tests/test_sql_refsols/simple_cross_14_oracle.sql @@ -1,23 +1,23 @@ -WITH "_S5" AS ( +WITH "_s5" AS ( SELECT - NATION.n_regionkey AS N_REGIONKEY, + NATION.N_REGIONKEY, COUNT(*) AS N_ROWS FROM TPCH.NATION NATION CROSS JOIN (VALUES - (NULL)) AS "_Q_1"("_COL_0") + (NULL)) AS "_1"("_COL_0") WHERE - SUBSTR(NATION.n_name, 1, 1) IN ('A', 'B', 'C') + SUBSTR(NATION.N_NAME, 1, 1) IN ('A', 'B', 'C') GROUP BY - NATION.n_regionkey + NATION.N_REGIONKEY ) SELECT - REGION.r_name AS region_name, + REGION.R_NAME AS region_name, 'foo' AS x, - COALESCE("_S5".N_ROWS, 0) AS n + COALESCE("_s5".N_ROWS, 0) AS n FROM TPCH.REGION REGION CROSS JOIN (VALUES - (NULL)) AS "_Q_0"("_COL_0") -LEFT JOIN "_S5" "_S5" - ON REGION.r_regionkey = "_S5".N_REGIONKEY + (NULL)) AS "_0"("_COL_0") +LEFT JOIN "_s5" "_s5" + ON REGION.R_REGIONKEY = "_s5".N_REGIONKEY ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/simple_cross_14_postgres.sql b/tests/test_sql_refsols/simple_cross_14_postgres.sql index bafb48a40..e5a9ed9a0 100644 --- a/tests/test_sql_refsols/simple_cross_14_postgres.sql +++ b/tests/test_sql_refsols/simple_cross_14_postgres.sql @@ -4,7 +4,7 @@ WITH _s5 AS ( COUNT(*) AS n_rows FROM tpch.nation AS nation CROSS JOIN (VALUES - (NULL)) AS _q_1(_col_0) + (NULL)) AS _1(_col_0) WHERE SUBSTRING(nation.n_name FROM 1 FOR 1) IN ('A', 'B', 'C') GROUP BY @@ -16,7 +16,7 @@ SELECT COALESCE(_s5.n_rows, 0) AS n FROM tpch.region AS region CROSS JOIN (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) LEFT JOIN _s5 AS _s5 ON _s5.n_regionkey = region.r_regionkey ORDER BY diff --git a/tests/test_sql_refsols/simple_cross_14_snowflake.sql b/tests/test_sql_refsols/simple_cross_14_snowflake.sql index 4f18d6100..0bc17ad75 100644 --- a/tests/test_sql_refsols/simple_cross_14_snowflake.sql +++ b/tests/test_sql_refsols/simple_cross_14_snowflake.sql @@ -4,7 +4,7 @@ WITH _s5 AS ( COUNT(*) AS n_rows FROM tpch.nation AS nation CROSS JOIN (VALUES - (NULL)) AS _q_1(_col_0) + (NULL)) AS _1(_col_0) WHERE SUBSTRING(nation.n_name, 1, 1) IN ('A', 'B', 'C') GROUP BY @@ -16,7 +16,7 @@ SELECT COALESCE(_s5.n_rows, 0) AS n FROM tpch.region AS region CROSS JOIN (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) LEFT JOIN _s5 AS _s5 ON _s5.n_regionkey = region.r_regionkey ORDER BY diff --git a/tests/test_sql_refsols/simple_cross_14_sqlite.sql b/tests/test_sql_refsols/simple_cross_14_sqlite.sql index 4da3b437a..1bc6edc51 100644 --- a/tests/test_sql_refsols/simple_cross_14_sqlite.sql +++ b/tests/test_sql_refsols/simple_cross_14_sqlite.sql @@ -4,7 +4,7 @@ WITH _s5 AS ( COUNT(*) AS n_rows FROM tpch.nation AS nation CROSS JOIN (VALUES - (NULL)) AS _q_1 + (NULL)) AS _1 WHERE SUBSTRING(nation.n_name, 1, 1) IN ('A', 'B', 'C') GROUP BY @@ -16,7 +16,7 @@ SELECT COALESCE(_s5.n_rows, 0) AS n FROM tpch.region AS region CROSS JOIN (VALUES - (NULL)) AS _q_0 + (NULL)) AS _0 LEFT JOIN _s5 AS _s5 ON _s5.n_regionkey = region.r_regionkey ORDER BY diff --git a/tests/test_sql_refsols/simple_cross_14_trino.sql b/tests/test_sql_refsols/simple_cross_14_trino.sql index 4f18d6100..efdb3bfc1 100644 --- a/tests/test_sql_refsols/simple_cross_14_trino.sql +++ b/tests/test_sql_refsols/simple_cross_14_trino.sql @@ -4,9 +4,9 @@ WITH _s5 AS ( COUNT(*) AS n_rows FROM tpch.nation AS nation CROSS JOIN (VALUES - (NULL)) AS _q_1(_col_0) + (NULL)) AS _1(_col_0) WHERE - SUBSTRING(nation.n_name, 1, 1) IN ('A', 'B', 'C') + SUBSTR(nation.n_name, 1, 1) IN ('A', 'B', 'C') GROUP BY 1 ) @@ -16,7 +16,7 @@ SELECT COALESCE(_s5.n_rows, 0) AS n FROM tpch.region AS region CROSS JOIN (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) LEFT JOIN _s5 AS _s5 ON _s5.n_regionkey = region.r_regionkey ORDER BY diff --git a/tests/test_sql_refsols/simple_cross_15_oracle.sql b/tests/test_sql_refsols/simple_cross_15_oracle.sql index 15bea6351..54cfb1917 100644 --- a/tests/test_sql_refsols/simple_cross_15_oracle.sql +++ b/tests/test_sql_refsols/simple_cross_15_oracle.sql @@ -1,33 +1,33 @@ -WITH "_T1" AS ( +WITH "_t1" AS ( SELECT - r_name AS R_NAME + R_NAME FROM TPCH.REGION -), "_S0" AS ( +), "_s0" AS ( SELECT DISTINCT CASE WHEN R_NAME LIKE '%A%' THEN 'A' ELSE '*' END AS A - FROM "_T1" -), "_S1" AS ( + FROM "_t1" +), "_s1" AS ( SELECT DISTINCT CASE WHEN R_NAME LIKE '%E%' THEN 'E' ELSE '*' END AS E - FROM "_T1" -), "_S3" AS ( + FROM "_t1" +), "_s3" AS ( SELECT DISTINCT CASE WHEN R_NAME LIKE '%I%' THEN 'I' ELSE '*' END AS I - FROM "_T1" -), "_S5" AS ( + FROM "_t1" +), "_s5" AS ( SELECT DISTINCT CASE WHEN R_NAME LIKE '%O%' THEN 'O' ELSE '*' END AS O - FROM "_T1" + FROM "_t1" ) SELECT - "_S0".A AS a, - "_S1".E AS e, - "_S3".I AS i, - "_S5".O AS o -FROM "_S0" "_S0" -CROSS JOIN "_S1" "_S1" -CROSS JOIN "_S3" "_S3" -CROSS JOIN "_S5" "_S5" + "_s0".A AS a, + "_s1".E AS e, + "_s3".I AS i, + "_s5".O AS o +FROM "_s0" "_s0" +CROSS JOIN "_s1" "_s1" +CROSS JOIN "_s3" "_s3" +CROSS JOIN "_s5" "_s5" ORDER BY 1 NULLS FIRST, 2 NULLS FIRST, diff --git a/tests/test_sql_refsols/simple_cross_16_oracle.sql b/tests/test_sql_refsols/simple_cross_16_oracle.sql index 2ef37b6cb..a2489e26d 100644 --- a/tests/test_sql_refsols/simple_cross_16_oracle.sql +++ b/tests/test_sql_refsols/simple_cross_16_oracle.sql @@ -1,38 +1,38 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - c_acctbal AS C_ACCTBAL + C_ACCTBAL FROM TPCH.CUSTOMER -), "_S1" AS ( +), "_s1" AS ( SELECT MIN(C_ACCTBAL) AS MIN_C_ACCTBAL - FROM "_S0" -), "_S4" AS ( + FROM "_s0" +), "_s4" AS ( SELECT COUNT(*) AS N_ROWS - FROM "_S0" "_S0" - JOIN "_S1" "_S1" - ON "_S0".C_ACCTBAL <= ( - "_S1".MIN_C_ACCTBAL + 10.0 + FROM "_s0" "_s0" + JOIN "_s1" "_s1" + ON "_s0".C_ACCTBAL <= ( + "_s1".MIN_C_ACCTBAL + 10.0 ) -), "_S2" AS ( +), "_s2" AS ( SELECT - s_acctbal AS S_ACCTBAL + S_ACCTBAL FROM TPCH.SUPPLIER -), "_S3" AS ( +), "_s3" AS ( SELECT MAX(S_ACCTBAL) AS MAX_S_ACCTBAL - FROM "_S2" -), "_S5" AS ( + FROM "_s2" +), "_s5" AS ( SELECT COUNT(*) AS N_ROWS - FROM "_S2" "_S2" - JOIN "_S3" "_S3" - ON "_S2".S_ACCTBAL >= ( - "_S3".MAX_S_ACCTBAL - 10.0 + FROM "_s2" "_s2" + JOIN "_s3" "_s3" + ON "_s2".S_ACCTBAL >= ( + "_s3".MAX_S_ACCTBAL - 10.0 ) ) SELECT - "_S4".N_ROWS AS n1, - "_S5".N_ROWS AS n2 -FROM "_S4" "_S4" -CROSS JOIN "_S5" "_S5" + "_s4".N_ROWS AS n1, + "_s5".N_ROWS AS n2 +FROM "_s4" "_s4" +CROSS JOIN "_s5" "_s5" diff --git a/tests/test_sql_refsols/simple_cross_1_oracle.sql b/tests/test_sql_refsols/simple_cross_1_oracle.sql index 7177e4a39..b1a3261c2 100644 --- a/tests/test_sql_refsols/simple_cross_1_oracle.sql +++ b/tests/test_sql_refsols/simple_cross_1_oracle.sql @@ -1,13 +1,13 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - r_name AS R_NAME + R_NAME FROM TPCH.REGION ) SELECT - "_S0".R_NAME AS r1, - "_S1".R_NAME AS r2 -FROM "_S0" "_S0" -CROSS JOIN "_S0" "_S1" + "_s0".R_NAME AS r1, + "_s1".R_NAME AS r2 +FROM "_s0" "_s0" +CROSS JOIN "_s0" "_s1" ORDER BY 1 NULLS FIRST, 2 NULLS FIRST diff --git a/tests/test_sql_refsols/simple_cross_2_oracle.sql b/tests/test_sql_refsols/simple_cross_2_oracle.sql index a12207aec..703e65ed4 100644 --- a/tests/test_sql_refsols/simple_cross_2_oracle.sql +++ b/tests/test_sql_refsols/simple_cross_2_oracle.sql @@ -1,14 +1,14 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - r_name AS R_NAME + R_NAME FROM TPCH.REGION ) SELECT - "_S0".R_NAME AS r1, - "_S1".R_NAME AS r2 -FROM "_S0" "_S0" -JOIN "_S0" "_S1" - ON "_S0".R_NAME <> "_S1".R_NAME + "_s0".R_NAME AS r1, + "_s1".R_NAME AS r2 +FROM "_s0" "_s0" +JOIN "_s0" "_s1" + ON "_s0".R_NAME <> "_s1".R_NAME ORDER BY 1 NULLS FIRST, 2 NULLS FIRST diff --git a/tests/test_sql_refsols/simple_cross_3_oracle.sql b/tests/test_sql_refsols/simple_cross_3_oracle.sql index a383093a1..4ff15f023 100644 --- a/tests/test_sql_refsols/simple_cross_3_oracle.sql +++ b/tests/test_sql_refsols/simple_cross_3_oracle.sql @@ -1,36 +1,36 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - n_name AS N_NAME, - n_nationkey AS N_NATIONKEY, - n_regionkey AS N_REGIONKEY + N_NAME, + N_NATIONKEY, + N_REGIONKEY FROM TPCH.NATION ) SELECT - ANY_VALUE("_S1".N_NAME) AS supplier_nation, - ANY_VALUE("_S5".N_NAME) AS customer_nation, + ANY_VALUE("_s1".N_NAME) AS supplier_nation, + ANY_VALUE("_s5".N_NAME) AS customer_nation, COUNT(*) AS nation_combinations FROM TPCH.REGION REGION -JOIN "_S1" "_S1" - ON REGION.r_regionkey = "_S1".N_REGIONKEY +JOIN "_s1" "_s1" + ON REGION.R_REGIONKEY = "_s1".N_REGIONKEY JOIN TPCH.REGION REGION_2 - ON REGION_2.r_name = 'AMERICA' -JOIN "_S1" "_S5" - ON REGION_2.r_regionkey = "_S5".N_REGIONKEY + ON REGION_2.R_NAME = 'AMERICA' +JOIN "_s1" "_s5" + ON REGION_2.R_REGIONKEY = "_s5".N_REGIONKEY JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_acctbal < 0 AND CUSTOMER.c_nationkey = "_S5".N_NATIONKEY + ON CUSTOMER.C_ACCTBAL < 0 AND CUSTOMER.C_NATIONKEY = "_s5".N_NATIONKEY JOIN TPCH.ORDERS ORDERS - ON CUSTOMER.c_custkey = ORDERS.o_custkey - AND EXTRACT(MONTH FROM CAST(ORDERS.o_orderdate AS DATE)) = 4 - AND EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) = 1992 + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY + AND EXTRACT(MONTH FROM CAST(ORDERS.O_ORDERDATE AS DATE)) = 4 + AND EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) = 1992 JOIN TPCH.LINEITEM LINEITEM - ON LINEITEM.l_orderkey = ORDERS.o_orderkey AND LINEITEM.l_shipmode = 'SHIP' + ON LINEITEM.L_ORDERKEY = ORDERS.O_ORDERKEY AND LINEITEM.L_SHIPMODE = 'SHIP' JOIN TPCH.SUPPLIER SUPPLIER - ON LINEITEM.l_suppkey = SUPPLIER.s_suppkey - AND SUPPLIER.s_nationkey = "_S1".N_NATIONKEY + ON LINEITEM.L_SUPPKEY = SUPPLIER.S_SUPPKEY + AND SUPPLIER.S_NATIONKEY = "_s1".N_NATIONKEY WHERE - REGION.r_name = 'ASIA' + REGION.R_NAME = 'ASIA' GROUP BY - REGION_2.r_regionkey, - "_S5".N_NATIONKEY, - "_S1".N_NATIONKEY, - REGION.r_regionkey + REGION_2.R_REGIONKEY, + "_s5".N_NATIONKEY, + "_s1".N_NATIONKEY, + REGION.R_REGIONKEY diff --git a/tests/test_sql_refsols/simple_cross_3_postgres.sql b/tests/test_sql_refsols/simple_cross_3_postgres.sql index 814af2c1f..bb7ac01ef 100644 --- a/tests/test_sql_refsols/simple_cross_3_postgres.sql +++ b/tests/test_sql_refsols/simple_cross_3_postgres.sql @@ -6,8 +6,8 @@ WITH _s1 AS ( FROM tpch.nation ) SELECT - MAX(_s1.n_name) AS supplier_nation, - MAX(_s5.n_name) AS customer_nation, + ANY_VALUE(_s1.n_name) AS supplier_nation, + ANY_VALUE(_s5.n_name) AS customer_nation, COUNT(*) AS nation_combinations FROM tpch.region AS region JOIN _s1 AS _s1 diff --git a/tests/test_sql_refsols/simple_cross_4_oracle.sql b/tests/test_sql_refsols/simple_cross_4_oracle.sql index 5142d3964..b34899f2d 100644 --- a/tests/test_sql_refsols/simple_cross_4_oracle.sql +++ b/tests/test_sql_refsols/simple_cross_4_oracle.sql @@ -1,24 +1,24 @@ -WITH "_S2" AS ( +WITH "_s2" AS ( SELECT - r_name AS R_NAME, - r_regionkey AS R_REGIONKEY + R_NAME, + R_REGIONKEY FROM TPCH.REGION -), "_S3" AS ( +), "_s3" AS ( SELECT - "_S0".R_REGIONKEY, + "_s0".R_REGIONKEY, COUNT(*) AS N_ROWS - FROM "_S2" "_S0" + FROM "_s2" "_s0" JOIN TPCH.REGION REGION - ON REGION.r_name <> "_S0".R_NAME - AND SUBSTR(REGION.r_name, 1, 1) = SUBSTR("_S0".R_NAME, 1, 1) + ON REGION.R_NAME <> "_s0".R_NAME + AND SUBSTR(REGION.R_NAME, 1, 1) = SUBSTR("_s0".R_NAME, 1, 1) GROUP BY - "_S0".R_REGIONKEY + "_s0".R_REGIONKEY ) SELECT - "_S2".R_NAME AS region_name, - COALESCE("_S3".N_ROWS, 0) AS n_other_regions -FROM "_S2" "_S2" -LEFT JOIN "_S3" "_S3" - ON "_S2".R_REGIONKEY = "_S3".R_REGIONKEY + "_s2".R_NAME AS region_name, + COALESCE("_s3".N_ROWS, 0) AS n_other_regions +FROM "_s2" "_s2" +LEFT JOIN "_s3" "_s3" + ON "_s2".R_REGIONKEY = "_s3".R_REGIONKEY ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/simple_cross_4_trino.sql b/tests/test_sql_refsols/simple_cross_4_trino.sql index 60d8e4c90..9a2539946 100644 --- a/tests/test_sql_refsols/simple_cross_4_trino.sql +++ b/tests/test_sql_refsols/simple_cross_4_trino.sql @@ -9,7 +9,7 @@ WITH _s2 AS ( COUNT(*) AS n_rows FROM _s2 AS _s0 JOIN tpch.region AS region - ON SUBSTRING(_s0.r_name, 1, 1) = SUBSTRING(region.r_name, 1, 1) + ON SUBSTR(_s0.r_name, 1, 1) = SUBSTR(region.r_name, 1, 1) AND _s0.r_name <> region.r_name GROUP BY 1 diff --git a/tests/test_sql_refsols/simple_cross_5_ansi.sql b/tests/test_sql_refsols/simple_cross_5_ansi.sql index d22f27069..472323914 100644 --- a/tests/test_sql_refsols/simple_cross_5_ansi.sql +++ b/tests/test_sql_refsols/simple_cross_5_ansi.sql @@ -41,13 +41,16 @@ WITH _t1 AS ( 1, 2 QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s0.p_size ORDER BY CASE - WHEN ( - NOT SUM(lineitem.l_quantity) IS NULL AND SUM(lineitem.l_quantity) > 0 - ) - THEN COALESCE(SUM(lineitem.l_quantity), 0) - ELSE NULL - END DESC NULLS FIRST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s0.p_size + ORDER BY CASE + WHEN ( + NOT SUM(lineitem.l_quantity) IS NULL AND SUM(lineitem.l_quantity) > 0 + ) + THEN COALESCE(SUM(lineitem.l_quantity), 0) + ELSE NULL + END DESC NULLS FIRST + ) = 1 ) SELECT _s6.p_size AS part_size, diff --git a/tests/test_sql_refsols/simple_cross_5_databricks.sql b/tests/test_sql_refsols/simple_cross_5_databricks.sql index 3c143c405..e961a53c7 100644 --- a/tests/test_sql_refsols/simple_cross_5_databricks.sql +++ b/tests/test_sql_refsols/simple_cross_5_databricks.sql @@ -41,13 +41,16 @@ WITH _t1 AS ( 1, 2 QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s0.p_size ORDER BY CASE - WHEN ( - NOT sum_l_quantity IS NULL AND sum_l_quantity > 0 - ) - THEN COALESCE(sum_l_quantity, 0) - ELSE NULL - END DESC NULLS FIRST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s0.p_size + ORDER BY CASE + WHEN ( + NOT sum_l_quantity IS NULL AND sum_l_quantity > 0 + ) + THEN COALESCE(sum_l_quantity, 0) + ELSE NULL + END DESC NULLS FIRST + ) = 1 ) SELECT _s6.p_size AS part_size, diff --git a/tests/test_sql_refsols/simple_cross_5_duckdb.sql b/tests/test_sql_refsols/simple_cross_5_duckdb.sql index ac9c56874..36f234973 100644 --- a/tests/test_sql_refsols/simple_cross_5_duckdb.sql +++ b/tests/test_sql_refsols/simple_cross_5_duckdb.sql @@ -41,13 +41,16 @@ WITH _t1 AS ( 1, 2 QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s0.p_size ORDER BY CASE - WHEN ( - NOT SUM(lineitem.l_quantity) IS NULL AND SUM(lineitem.l_quantity) > 0 - ) - THEN COALESCE(SUM(lineitem.l_quantity), 0) - ELSE NULL - END DESC NULLS FIRST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s0.p_size + ORDER BY CASE + WHEN ( + NOT SUM(lineitem.l_quantity) IS NULL AND SUM(lineitem.l_quantity) > 0 + ) + THEN COALESCE(SUM(lineitem.l_quantity), 0) + ELSE NULL + END DESC NULLS FIRST + ) = 1 ) SELECT _s6.p_size AS part_size, diff --git a/tests/test_sql_refsols/simple_cross_5_mysql.sql b/tests/test_sql_refsols/simple_cross_5_mysql.sql index 964010d0e..ee115c837 100644 --- a/tests/test_sql_refsols/simple_cross_5_mysql.sql +++ b/tests/test_sql_refsols/simple_cross_5_mysql.sql @@ -45,23 +45,26 @@ WITH _t1 AS ( o_orderpriority, p_size, sum_l_quantity, - ROW_NUMBER() OVER (PARTITION BY p_size ORDER BY CASE - WHEN CASE + ROW_NUMBER() OVER ( + PARTITION BY p_size + ORDER BY CASE + WHEN CASE + WHEN ( + NOT sum_l_quantity IS NULL AND sum_l_quantity > 0 + ) + THEN COALESCE(sum_l_quantity, 0) + ELSE NULL + END IS NULL + THEN 1 + ELSE 0 + END DESC, CASE WHEN ( NOT sum_l_quantity IS NULL AND sum_l_quantity > 0 ) THEN COALESCE(sum_l_quantity, 0) ELSE NULL - END IS NULL - THEN 1 - ELSE 0 - END DESC, CASE - WHEN ( - NOT sum_l_quantity IS NULL AND sum_l_quantity > 0 - ) - THEN COALESCE(sum_l_quantity, 0) - ELSE NULL - END DESC) AS _w + END DESC + ) AS _w FROM _t4 ), _s7 AS ( SELECT diff --git a/tests/test_sql_refsols/simple_cross_5_oracle.sql b/tests/test_sql_refsols/simple_cross_5_oracle.sql index 8ea9255bd..f585d0228 100644 --- a/tests/test_sql_refsols/simple_cross_5_oracle.sql +++ b/tests/test_sql_refsols/simple_cross_5_oracle.sql @@ -1,59 +1,62 @@ -WITH "_T1" AS ( +WITH "_t1" AS ( SELECT - p_container AS P_CONTAINER, - p_size AS P_SIZE + P_CONTAINER, + P_SIZE FROM TPCH.PART WHERE - p_container LIKE 'LG%' -), "_S6" AS ( + P_CONTAINER LIKE 'LG%' +), "_s6" AS ( SELECT DISTINCT P_SIZE - FROM "_T1" + FROM "_t1" ORDER BY 1 NULLS FIRST FETCH FIRST 10 ROWS ONLY -), "_S0" AS ( +), "_s0" AS ( SELECT DISTINCT P_SIZE - FROM "_T1" + FROM "_t1" ORDER BY 1 NULLS FIRST FETCH FIRST 10 ROWS ONLY -), "_T4" AS ( +), "_t4" AS ( SELECT - ORDERS.o_orderpriority AS O_ORDERPRIORITY, - "_S0".P_SIZE, - SUM(LINEITEM.l_quantity) AS SUM_L_QUANTITY - FROM "_S0" "_S0" + ORDERS.O_ORDERPRIORITY, + "_s0".P_SIZE, + SUM(LINEITEM.L_QUANTITY) AS SUM_L_QUANTITY + FROM "_s0" "_s0" JOIN TPCH.ORDERS ORDERS - ON EXTRACT(MONTH FROM CAST(ORDERS.o_orderdate AS DATE)) = 1 - AND EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) = 1998 + ON EXTRACT(MONTH FROM CAST(ORDERS.O_ORDERDATE AS DATE)) = 1 + AND EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) = 1998 JOIN TPCH.LINEITEM LINEITEM - ON LINEITEM.l_discount = 0 - AND LINEITEM.l_orderkey = ORDERS.o_orderkey - AND LINEITEM.l_shipmode = 'SHIP' - AND LINEITEM.l_tax = 0 + ON LINEITEM.L_DISCOUNT = 0 + AND LINEITEM.L_ORDERKEY = ORDERS.O_ORDERKEY + AND LINEITEM.L_SHIPMODE = 'SHIP' + AND LINEITEM.L_TAX = 0 JOIN TPCH.PART PART - ON LINEITEM.l_partkey = PART.p_partkey - AND PART.p_container LIKE 'LG%' - AND PART.p_size = "_S0".P_SIZE + ON LINEITEM.L_PARTKEY = PART.P_PARTKEY + AND PART.P_CONTAINER LIKE 'LG%' + AND PART.P_SIZE = "_s0".P_SIZE GROUP BY - ORDERS.o_orderpriority, - "_S0".P_SIZE -), "_T" AS ( + ORDERS.O_ORDERPRIORITY, + "_s0".P_SIZE +), "_t" AS ( SELECT O_ORDERPRIORITY, P_SIZE, SUM_L_QUANTITY, - ROW_NUMBER() OVER (PARTITION BY P_SIZE ORDER BY CASE - WHEN ( - NOT SUM_L_QUANTITY IS NULL AND SUM_L_QUANTITY > 0 - ) - THEN COALESCE(SUM_L_QUANTITY, 0) - ELSE NULL - END DESC) AS "_W" - FROM "_T4" -), "_S7" AS ( + ROW_NUMBER() OVER ( + PARTITION BY P_SIZE + ORDER BY CASE + WHEN ( + NOT SUM_L_QUANTITY IS NULL AND SUM_L_QUANTITY > 0 + ) + THEN COALESCE(SUM_L_QUANTITY, 0) + ELSE NULL + END DESC + ) AS "_w" + FROM "_t4" +), "_s7" AS ( SELECT CASE WHEN ( @@ -64,16 +67,16 @@ WITH "_T1" AS ( END AS TOTAL_QTY, O_ORDERPRIORITY, P_SIZE - FROM "_T" + FROM "_t" WHERE - "_W" = 1 + "_w" = 1 ) SELECT - "_S6".P_SIZE AS part_size, - "_S7".O_ORDERPRIORITY AS best_order_priority, - "_S7".TOTAL_QTY AS best_order_priority_qty -FROM "_S6" "_S6" -LEFT JOIN "_S7" "_S7" - ON "_S6".P_SIZE = "_S7".P_SIZE + "_s6".P_SIZE AS part_size, + "_s7".O_ORDERPRIORITY AS best_order_priority, + "_s7".TOTAL_QTY AS best_order_priority_qty +FROM "_s6" "_s6" +LEFT JOIN "_s7" "_s7" + ON "_s6".P_SIZE = "_s7".P_SIZE ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/simple_cross_5_postgres.sql b/tests/test_sql_refsols/simple_cross_5_postgres.sql index e71a5e8c0..38153b991 100644 --- a/tests/test_sql_refsols/simple_cross_5_postgres.sql +++ b/tests/test_sql_refsols/simple_cross_5_postgres.sql @@ -45,13 +45,16 @@ WITH _t1 AS ( o_orderpriority, p_size, sum_l_quantity, - ROW_NUMBER() OVER (PARTITION BY p_size ORDER BY CASE - WHEN ( - NOT sum_l_quantity IS NULL AND sum_l_quantity > 0 - ) - THEN COALESCE(sum_l_quantity, 0) - ELSE NULL - END DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY p_size + ORDER BY CASE + WHEN ( + NOT sum_l_quantity IS NULL AND sum_l_quantity > 0 + ) + THEN COALESCE(sum_l_quantity, 0) + ELSE NULL + END DESC + ) AS _w FROM _t4 ), _s7 AS ( SELECT diff --git a/tests/test_sql_refsols/simple_cross_5_snowflake.sql b/tests/test_sql_refsols/simple_cross_5_snowflake.sql index 4bb42239f..c334bd84b 100644 --- a/tests/test_sql_refsols/simple_cross_5_snowflake.sql +++ b/tests/test_sql_refsols/simple_cross_5_snowflake.sql @@ -41,13 +41,16 @@ WITH _t1 AS ( 1, 2 QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s0.p_size ORDER BY CASE - WHEN ( - NOT SUM(lineitem.l_quantity) IS NULL AND SUM(lineitem.l_quantity) > 0 - ) - THEN COALESCE(SUM(lineitem.l_quantity), 0) - ELSE NULL - END DESC) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s0.p_size + ORDER BY CASE + WHEN ( + NOT SUM(lineitem.l_quantity) IS NULL AND SUM(lineitem.l_quantity) > 0 + ) + THEN COALESCE(SUM(lineitem.l_quantity), 0) + ELSE NULL + END DESC + ) = 1 ) SELECT _s6.p_size AS part_size, diff --git a/tests/test_sql_refsols/simple_cross_5_sqlite.sql b/tests/test_sql_refsols/simple_cross_5_sqlite.sql index 64593d96f..1afafb716 100644 --- a/tests/test_sql_refsols/simple_cross_5_sqlite.sql +++ b/tests/test_sql_refsols/simple_cross_5_sqlite.sql @@ -45,13 +45,16 @@ WITH _t1 AS ( o_orderpriority, p_size, sum_l_quantity, - ROW_NUMBER() OVER (PARTITION BY p_size ORDER BY CASE - WHEN ( - NOT sum_l_quantity IS NULL AND sum_l_quantity > 0 - ) - THEN COALESCE(sum_l_quantity, 0) - ELSE NULL - END DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY p_size + ORDER BY CASE + WHEN ( + NOT sum_l_quantity IS NULL AND sum_l_quantity > 0 + ) + THEN COALESCE(sum_l_quantity, 0) + ELSE NULL + END DESC + ) AS _w FROM _t4 ), _s7 AS ( SELECT diff --git a/tests/test_sql_refsols/simple_cross_5_trino.sql b/tests/test_sql_refsols/simple_cross_5_trino.sql index 98549975e..86229ed26 100644 --- a/tests/test_sql_refsols/simple_cross_5_trino.sql +++ b/tests/test_sql_refsols/simple_cross_5_trino.sql @@ -45,13 +45,16 @@ WITH _t1 AS ( o_orderpriority, p_size, sum_l_quantity, - ROW_NUMBER() OVER (PARTITION BY p_size ORDER BY CASE - WHEN ( - NOT sum_l_quantity IS NULL AND sum_l_quantity > 0 - ) - THEN COALESCE(sum_l_quantity, 0) - ELSE NULL - END DESC NULLS FIRST) AS _w + ROW_NUMBER() OVER ( + PARTITION BY p_size + ORDER BY CASE + WHEN ( + NOT sum_l_quantity IS NULL AND sum_l_quantity > 0 + ) + THEN COALESCE(sum_l_quantity, 0) + ELSE NULL + END DESC NULLS FIRST + ) AS _w FROM _t4 ), _s7 AS ( SELECT diff --git a/tests/test_sql_refsols/simple_cross_6_oracle.sql b/tests/test_sql_refsols/simple_cross_6_oracle.sql index a3ab17391..9922bae76 100644 --- a/tests/test_sql_refsols/simple_cross_6_oracle.sql +++ b/tests/test_sql_refsols/simple_cross_6_oracle.sql @@ -1,17 +1,17 @@ -WITH "_T1" AS ( +WITH "_t1" AS ( SELECT - c_acctbal AS C_ACCTBAL, - c_custkey AS C_CUSTKEY, - c_mktsegment AS C_MKTSEGMENT, - c_nationkey AS C_NATIONKEY + C_ACCTBAL, + C_CUSTKEY, + C_MKTSEGMENT, + C_NATIONKEY FROM TPCH.CUSTOMER WHERE - c_acctbal > 9990 + C_ACCTBAL > 9990 ) SELECT COUNT(*) AS n_pairs -FROM "_T1" "_T1" -JOIN "_T1" "_T2" - ON "_T1".C_CUSTKEY < "_T2".C_CUSTKEY - AND "_T1".C_MKTSEGMENT = "_T2".C_MKTSEGMENT - AND "_T1".C_NATIONKEY = "_T2".C_NATIONKEY +FROM "_t1" "_t1" +JOIN "_t1" "_t2" + ON "_t1".C_CUSTKEY < "_t2".C_CUSTKEY + AND "_t1".C_MKTSEGMENT = "_t2".C_MKTSEGMENT + AND "_t1".C_NATIONKEY = "_t2".C_NATIONKEY diff --git a/tests/test_sql_refsols/simple_cross_7_oracle.sql b/tests/test_sql_refsols/simple_cross_7_oracle.sql index c1c93cb24..a9f1ee5e8 100644 --- a/tests/test_sql_refsols/simple_cross_7_oracle.sql +++ b/tests/test_sql_refsols/simple_cross_7_oracle.sql @@ -1,31 +1,31 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - PART.p_partkey AS P_PARTKEY, + PART.P_PARTKEY, COUNT(*) AS N_ROWS FROM TPCH.PART PART JOIN TPCH.PART PART_2 - ON ABS(PART_2.p_retailprice - PART.p_retailprice) < 5.0 - AND PART.p_brand = PART_2.p_brand - AND PART.p_mfgr = PART_2.p_mfgr - AND PART.p_partkey < PART_2.p_partkey - AND PART_2.p_name LIKE '%tomato%' + ON ABS(PART_2.P_RETAILPRICE - PART.P_RETAILPRICE) < 5.0 + AND PART.P_BRAND = PART_2.P_BRAND + AND PART.P_MFGR = PART_2.P_MFGR + AND PART.P_PARTKEY < PART_2.P_PARTKEY + AND PART_2.P_NAME LIKE '%tomato%' WHERE - PART.p_brand = 'Brand#35' - AND PART.p_mfgr = 'Manufacturer#3' - AND PART.p_name LIKE '%tomato%' + PART.P_BRAND = 'Brand#35' + AND PART.P_MFGR = 'Manufacturer#3' + AND PART.P_NAME LIKE '%tomato%' GROUP BY - PART.p_partkey + PART.P_PARTKEY ) SELECT - PART.p_partkey AS original_part_key, - COALESCE("_S3".N_ROWS, 0) AS n_other_parts + PART.P_PARTKEY AS original_part_key, + COALESCE("_s3".N_ROWS, 0) AS n_other_parts FROM TPCH.PART PART -LEFT JOIN "_S3" "_S3" - ON PART.p_partkey = "_S3".P_PARTKEY +LEFT JOIN "_s3" "_s3" + ON PART.P_PARTKEY = "_s3".P_PARTKEY WHERE - PART.p_brand = 'Brand#35' - AND PART.p_mfgr = 'Manufacturer#3' - AND PART.p_name LIKE '%tomato%' + PART.P_BRAND = 'Brand#35' + AND PART.P_MFGR = 'Manufacturer#3' + AND PART.P_NAME LIKE '%tomato%' ORDER BY 2 DESC NULLS LAST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/simple_cross_8_oracle.sql b/tests/test_sql_refsols/simple_cross_8_oracle.sql index 006915d21..84a7c3c83 100644 --- a/tests/test_sql_refsols/simple_cross_8_oracle.sql +++ b/tests/test_sql_refsols/simple_cross_8_oracle.sql @@ -1,43 +1,43 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - r_name AS R_NAME, - r_regionkey AS R_REGIONKEY + R_NAME, + R_REGIONKEY FROM TPCH.REGION -), "_S3" AS ( +), "_s3" AS ( SELECT - n_nationkey AS N_NATIONKEY, - n_regionkey AS N_REGIONKEY + N_NATIONKEY, + N_REGIONKEY FROM TPCH.NATION -), "_S15" AS ( +), "_s15" AS ( SELECT - "_S13".R_NAME, - SUPPLIER.s_suppkey AS S_SUPPKEY + "_s13".R_NAME, + SUPPLIER.S_SUPPKEY FROM TPCH.SUPPLIER SUPPLIER - JOIN "_S3" "_S11" - ON SUPPLIER.s_nationkey = "_S11".N_NATIONKEY - JOIN "_S0" "_S13" - ON "_S11".N_REGIONKEY = "_S13".R_REGIONKEY + JOIN "_s3" "_s11" + ON SUPPLIER.S_NATIONKEY = "_s11".N_NATIONKEY + JOIN "_s0" "_s13" + ON "_s11".N_REGIONKEY = "_s13".R_REGIONKEY WHERE - SUPPLIER.s_acctbal < 0 + SUPPLIER.S_ACCTBAL < 0 ) SELECT - ANY_VALUE("_S0".R_NAME) AS supplier_region, - ANY_VALUE("_S1".R_NAME) AS customer_region, + ANY_VALUE("_s0".R_NAME) AS supplier_region, + ANY_VALUE("_s1".R_NAME) AS customer_region, COUNT(*) AS region_combinations -FROM "_S0" "_S0" -CROSS JOIN "_S0" "_S1" -JOIN "_S3" "_S3" - ON "_S1".R_REGIONKEY = "_S3".N_REGIONKEY +FROM "_s0" "_s0" +CROSS JOIN "_s0" "_s1" +JOIN "_s3" "_s3" + ON "_s1".R_REGIONKEY = "_s3".N_REGIONKEY JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_mktsegment = 'AUTOMOBILE' AND CUSTOMER.c_nationkey = "_S3".N_NATIONKEY + ON CUSTOMER.C_MKTSEGMENT = 'AUTOMOBILE' AND CUSTOMER.C_NATIONKEY = "_s3".N_NATIONKEY JOIN TPCH.ORDERS ORDERS - ON CUSTOMER.c_custkey = ORDERS.o_custkey AND ORDERS.o_clerk = 'Clerk#000000007' + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY AND ORDERS.O_CLERK = 'Clerk#000000007' JOIN TPCH.LINEITEM LINEITEM - ON EXTRACT(MONTH FROM CAST(LINEITEM.l_shipdate AS DATE)) = 3 - AND EXTRACT(YEAR FROM CAST(LINEITEM.l_shipdate AS DATE)) = 1998 - AND LINEITEM.l_orderkey = ORDERS.o_orderkey -JOIN "_S15" "_S15" - ON LINEITEM.l_suppkey = "_S15".S_SUPPKEY AND "_S0".R_NAME = "_S15".R_NAME + ON EXTRACT(MONTH FROM CAST(LINEITEM.L_SHIPDATE AS DATE)) = 3 + AND EXTRACT(YEAR FROM CAST(LINEITEM.L_SHIPDATE AS DATE)) = 1998 + AND LINEITEM.L_ORDERKEY = ORDERS.O_ORDERKEY +JOIN "_s15" "_s15" + ON LINEITEM.L_SUPPKEY = "_s15".S_SUPPKEY AND "_s0".R_NAME = "_s15".R_NAME GROUP BY - "_S1".R_REGIONKEY, - "_S0".R_REGIONKEY + "_s1".R_REGIONKEY, + "_s0".R_REGIONKEY diff --git a/tests/test_sql_refsols/simple_cross_8_postgres.sql b/tests/test_sql_refsols/simple_cross_8_postgres.sql index c1e859e2a..b540d83f0 100644 --- a/tests/test_sql_refsols/simple_cross_8_postgres.sql +++ b/tests/test_sql_refsols/simple_cross_8_postgres.sql @@ -21,8 +21,8 @@ WITH _s0 AS ( supplier.s_acctbal < 0 ) SELECT - MAX(_s0.r_name) AS supplier_region, - MAX(_s1.r_name) AS customer_region, + ANY_VALUE(_s0.r_name) AS supplier_region, + ANY_VALUE(_s1.r_name) AS customer_region, COUNT(*) AS region_combinations FROM _s0 AS _s0 CROSS JOIN _s0 AS _s1 diff --git a/tests/test_sql_refsols/simple_cross_9_oracle.sql b/tests/test_sql_refsols/simple_cross_9_oracle.sql index eb6916e36..2a465df82 100644 --- a/tests/test_sql_refsols/simple_cross_9_oracle.sql +++ b/tests/test_sql_refsols/simple_cross_9_oracle.sql @@ -1,24 +1,24 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - r_name AS R_NAME, - r_regionkey AS R_REGIONKEY + R_NAME, + R_REGIONKEY FROM TPCH.REGION -), "_S1" AS ( +), "_s1" AS ( SELECT - n_name AS N_NAME, - n_regionkey AS N_REGIONKEY + N_NAME, + N_REGIONKEY FROM TPCH.NATION ) SELECT - "_S1".N_NAME AS n1, - "_S5".N_NAME AS n2 -FROM "_S0" "_S0" -JOIN "_S1" "_S1" - ON "_S0".R_REGIONKEY = "_S1".N_REGIONKEY -JOIN "_S0" "_S3" - ON "_S0".R_NAME = "_S3".R_NAME -JOIN "_S1" "_S5" - ON "_S1".N_NAME <> "_S5".N_NAME AND "_S3".R_REGIONKEY = "_S5".N_REGIONKEY + "_s1".N_NAME AS n1, + "_s5".N_NAME AS n2 +FROM "_s0" "_s0" +JOIN "_s1" "_s1" + ON "_s0".R_REGIONKEY = "_s1".N_REGIONKEY +JOIN "_s0" "_s3" + ON "_s0".R_NAME = "_s3".R_NAME +JOIN "_s1" "_s5" + ON "_s1".N_NAME <> "_s5".N_NAME AND "_s3".R_REGIONKEY = "_s5".N_REGIONKEY ORDER BY 1 NULLS FIRST, 2 NULLS FIRST diff --git a/tests/test_sql_refsols/simple_dataframe_collection_2_snowflake.sql b/tests/test_sql_refsols/simple_dataframe_collection_2_snowflake.sql index b07077509..b34655fa0 100644 --- a/tests/test_sql_refsols/simple_dataframe_collection_2_snowflake.sql +++ b/tests/test_sql_refsols/simple_dataframe_collection_2_snowflake.sql @@ -2,7 +2,7 @@ SELECT users.signup_date, users.user_id FROM (VALUES - (CAST('2024-01-10 00:00:00' AS TIMESTAMP), 1), - (CAST('2024-01-12 00:00:00' AS TIMESTAMP), 2), - (CAST('2024-02-01 00:00:00' AS TIMESTAMP), 3), - (CAST('2024-02-01 00:00:00' AS TIMESTAMP), 4)) AS users(signup_date, user_id) + (CAST('2024-01-10 00:00:00' AS TIMESTAMPNTZ), 1), + (CAST('2024-01-12 00:00:00' AS TIMESTAMPNTZ), 2), + (CAST('2024-02-01 00:00:00' AS TIMESTAMPNTZ), 3), + (CAST('2024-02-01 00:00:00' AS TIMESTAMPNTZ), 4)) AS users(signup_date, user_id) diff --git a/tests/test_sql_refsols/simple_filter_oracle.sql b/tests/test_sql_refsols/simple_filter_oracle.sql index dfa0ed0dd..2250d1f2c 100644 --- a/tests/test_sql_refsols/simple_filter_oracle.sql +++ b/tests/test_sql_refsols/simple_filter_oracle.sql @@ -1,7 +1,7 @@ SELECT - o_orderdate AS order_date, - o_orderkey, - o_totalprice + O_ORDERDATE AS order_date, + O_ORDERKEY AS o_orderkey, + O_TOTALPRICE AS o_totalprice FROM TPCH.ORDERS WHERE - o_totalprice < 1000.0 + O_TOTALPRICE < 1000.0 diff --git a/tests/test_sql_refsols/simple_filter_top_five_oracle.sql b/tests/test_sql_refsols/simple_filter_top_five_oracle.sql index 67fedfa3b..91197c8df 100644 --- a/tests/test_sql_refsols/simple_filter_top_five_oracle.sql +++ b/tests/test_sql_refsols/simple_filter_top_five_oracle.sql @@ -1,8 +1,8 @@ SELECT - o_orderkey AS "key" + O_ORDERKEY AS "key" FROM TPCH.ORDERS WHERE - o_totalprice < 1000.0 + O_TOTALPRICE < 1000.0 ORDER BY 1 DESC NULLS LAST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/simple_int_float_string_cast_ansi.sql b/tests/test_sql_refsols/simple_int_float_string_cast_ansi.sql index f3b101d8f..0b045c438 100644 --- a/tests/test_sql_refsols/simple_int_float_string_cast_ansi.sql +++ b/tests/test_sql_refsols/simple_int_float_string_cast_ansi.sql @@ -22,4 +22,4 @@ SELECT CAST('0.0' AS TEXT) AS s8, CAST('abc def' AS TEXT) AS s9 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/simple_int_float_string_cast_databricks.sql b/tests/test_sql_refsols/simple_int_float_string_cast_databricks.sql index 76043a20b..75158db1d 100644 --- a/tests/test_sql_refsols/simple_int_float_string_cast_databricks.sql +++ b/tests/test_sql_refsols/simple_int_float_string_cast_databricks.sql @@ -22,4 +22,4 @@ SELECT CAST('0.0' AS STRING) AS s8, CAST('abc def' AS STRING) AS s9 FROM VALUES - (NULL) AS _q_0(_col_0) + (NULL) AS _0(_col_0) diff --git a/tests/test_sql_refsols/simple_int_float_string_cast_duckdb.sql b/tests/test_sql_refsols/simple_int_float_string_cast_duckdb.sql index f11f2ec31..f975a74a7 100644 --- a/tests/test_sql_refsols/simple_int_float_string_cast_duckdb.sql +++ b/tests/test_sql_refsols/simple_int_float_string_cast_duckdb.sql @@ -22,4 +22,4 @@ SELECT CAST('0.0' AS TEXT) AS s8, CAST('abc def' AS TEXT) AS s9 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/simple_int_float_string_cast_mysql.sql b/tests/test_sql_refsols/simple_int_float_string_cast_mysql.sql index 5482977f6..754253d05 100644 --- a/tests/test_sql_refsols/simple_int_float_string_cast_mysql.sql +++ b/tests/test_sql_refsols/simple_int_float_string_cast_mysql.sql @@ -22,4 +22,4 @@ SELECT CAST('0.0' AS CHAR) AS s8, CAST('abc def' AS CHAR) AS s9 FROM (VALUES - ROW(NULL)) AS _q_0(_col_0) + ROW(NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/simple_int_float_string_cast_oracle.sql b/tests/test_sql_refsols/simple_int_float_string_cast_oracle.sql index bfe239d17..f5323ac74 100644 --- a/tests/test_sql_refsols/simple_int_float_string_cast_oracle.sql +++ b/tests/test_sql_refsols/simple_int_float_string_cast_oracle.sql @@ -1,10 +1,10 @@ SELECT 1 AS i1, - TRUNC(2.2, '0') AS i2, - TRUNC(CAST('3' AS DOUBLE PRECISION), '0') AS i3, - TRUNC(CAST('4.3' AS DOUBLE PRECISION), '0') AS i4, - TRUNC(CAST('-5.888' AS DOUBLE PRECISION), '0') AS i5, - TRUNC(-6.0, '0') AS i6, + TRUNC(2.2, 0) AS i2, + TRUNC(CAST('3' AS DOUBLE PRECISION), 0) AS i3, + TRUNC(CAST('4.3' AS DOUBLE PRECISION), 0) AS i4, + TRUNC(CAST('-5.888' AS DOUBLE PRECISION), 0) AS i5, + TRUNC(-6.0, 0) AS i6, 1.0 AS f1, 2.2 AS f2, CAST('3' AS DOUBLE PRECISION) AS f3, @@ -22,4 +22,4 @@ SELECT TO_CHAR('0.0') AS s8, TO_CHAR('abc def') AS s9 FROM (VALUES - (NULL)) AS "_Q_0"("_COL_0") + (NULL)) AS "_0"("_COL_0") diff --git a/tests/test_sql_refsols/simple_int_float_string_cast_postgres.sql b/tests/test_sql_refsols/simple_int_float_string_cast_postgres.sql index ba56a07ad..31ffded89 100644 --- a/tests/test_sql_refsols/simple_int_float_string_cast_postgres.sql +++ b/tests/test_sql_refsols/simple_int_float_string_cast_postgres.sql @@ -4,7 +4,7 @@ SELECT TRUNC(CAST('3' AS DECIMAL)) AS i3, TRUNC(CAST('4.3' AS DECIMAL)) AS i4, TRUNC(CAST('-5.888' AS DECIMAL)) AS i5, - TRUNC(CAST(-6.0 AS DECIMAL)) AS i6, + CAST(-6.0 AS INT) AS i6, 1.0 AS f1, 2.2 AS f2, CAST('3' AS DOUBLE PRECISION) AS f3, @@ -22,4 +22,4 @@ SELECT CAST('0.0' AS TEXT) AS s8, CAST('abc def' AS TEXT) AS s9 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/simple_int_float_string_cast_snowflake.sql b/tests/test_sql_refsols/simple_int_float_string_cast_snowflake.sql index 26b86943f..9fca6e26d 100644 --- a/tests/test_sql_refsols/simple_int_float_string_cast_snowflake.sql +++ b/tests/test_sql_refsols/simple_int_float_string_cast_snowflake.sql @@ -1,10 +1,10 @@ SELECT 1 AS i1, - TRUNCATE(2.2) AS i2, - TRUNCATE(CAST('3' AS DOUBLE)) AS i3, - TRUNCATE(CAST('4.3' AS DOUBLE)) AS i4, - TRUNCATE(CAST('-5.888' AS DOUBLE)) AS i5, - TRUNCATE(-6.0) AS i6, + TRUNC(2.2) AS i2, + TRUNC(CAST('3' AS DOUBLE)) AS i3, + TRUNC(CAST('4.3' AS DOUBLE)) AS i4, + TRUNC(CAST('-5.888' AS DOUBLE)) AS i5, + CAST(-6.0 AS BIGINT) AS i6, 1.0 AS f1, 2.2 AS f2, CAST('3' AS DOUBLE) AS f3, @@ -12,14 +12,14 @@ SELECT CAST('-5.888' AS DOUBLE) AS f5, -6.0 AS f6, 0.0 AS f7, - CAST(1 AS TEXT) AS s1, - CAST(2.2 AS TEXT) AS s2, - CAST('3' AS TEXT) AS s3, - CAST('4.3' AS TEXT) AS s4, - CAST('-5.888' AS TEXT) AS s5, - CAST(-6.1 AS TEXT) AS s6, - CAST(0.1 AS TEXT) AS s7, - CAST('0.0' AS TEXT) AS s8, - CAST('abc def' AS TEXT) AS s9 + CAST(1 AS VARCHAR) AS s1, + CAST(2.2 AS VARCHAR) AS s2, + '3' AS s3, + '4.3' AS s4, + '-5.888' AS s5, + CAST(-6.1 AS VARCHAR) AS s6, + CAST(0.1 AS VARCHAR) AS s7, + '0.0' AS s8, + 'abc def' AS s9 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/simple_int_float_string_cast_sqlite.sql b/tests/test_sql_refsols/simple_int_float_string_cast_sqlite.sql index 486f777e6..f22cfb537 100644 --- a/tests/test_sql_refsols/simple_int_float_string_cast_sqlite.sql +++ b/tests/test_sql_refsols/simple_int_float_string_cast_sqlite.sql @@ -22,4 +22,4 @@ SELECT CAST('0.0' AS TEXT) AS s8, CAST('abc def' AS TEXT) AS s9 FROM (VALUES - (NULL)) AS _q_0 + (NULL)) AS _0 diff --git a/tests/test_sql_refsols/simple_int_float_string_cast_trino.sql b/tests/test_sql_refsols/simple_int_float_string_cast_trino.sql index a9a013a6c..bcaebb9b3 100644 --- a/tests/test_sql_refsols/simple_int_float_string_cast_trino.sql +++ b/tests/test_sql_refsols/simple_int_float_string_cast_trino.sql @@ -22,4 +22,4 @@ SELECT '0.0' AS s8, 'abc def' AS s9 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/simple_range_1_snowflake.sql b/tests/test_sql_refsols/simple_range_1_snowflake.sql index 4b3d04b0c..38355fa41 100644 --- a/tests/test_sql_refsols/simple_range_1_snowflake.sql +++ b/tests/test_sql_refsols/simple_range_1_snowflake.sql @@ -1,7 +1,7 @@ WITH simple_range AS ( SELECT SEQ4() AS value - FROM TABLE(GENERATOR(ROWCOUNT => 10)) + FROM TABLE(GENERATOR(ROWCOUNT => 10)) AS _0 ) SELECT value diff --git a/tests/test_sql_refsols/simple_range_2_snowflake.sql b/tests/test_sql_refsols/simple_range_2_snowflake.sql index 02bcba6a3..bf76b2612 100644 --- a/tests/test_sql_refsols/simple_range_2_snowflake.sql +++ b/tests/test_sql_refsols/simple_range_2_snowflake.sql @@ -1,7 +1,7 @@ WITH simple_range AS ( SELECT SEQ4() AS value - FROM TABLE(GENERATOR(ROWCOUNT => 10)) + FROM TABLE(GENERATOR(ROWCOUNT => 10)) AS _0 ) SELECT value diff --git a/tests/test_sql_refsols/simple_range_3_snowflake.sql b/tests/test_sql_refsols/simple_range_3_snowflake.sql index 2d57558b1..6625d5f10 100644 --- a/tests/test_sql_refsols/simple_range_3_snowflake.sql +++ b/tests/test_sql_refsols/simple_range_3_snowflake.sql @@ -1,7 +1,7 @@ WITH t1 AS ( SELECT 15 + SEQ4() AS foo - FROM TABLE(GENERATOR(ROWCOUNT => 5)) + FROM TABLE(GENERATOR(ROWCOUNT => 5)) AS _0 ) SELECT foo diff --git a/tests/test_sql_refsols/simple_range_4_snowflake.sql b/tests/test_sql_refsols/simple_range_4_snowflake.sql index 8f6f8658d..f487e5c52 100644 --- a/tests/test_sql_refsols/simple_range_4_snowflake.sql +++ b/tests/test_sql_refsols/simple_range_4_snowflake.sql @@ -1,7 +1,7 @@ WITH t2 AS ( SELECT 10 + SEQ4() * -1 AS n - FROM TABLE(GENERATOR(ROWCOUNT => 10)) + FROM TABLE(GENERATOR(ROWCOUNT => 10)) AS _0 ) SELECT n AS N diff --git a/tests/test_sql_refsols/simple_range_6_oracle.sql b/tests/test_sql_refsols/simple_range_6_oracle.sql index 9bda8bdba..df142d3e9 100644 --- a/tests/test_sql_refsols/simple_range_6_oracle.sql +++ b/tests/test_sql_refsols/simple_range_6_oracle.sql @@ -1,5 +1,5 @@ SELECT - TRUNC(CAST(SUBSTR(TO_CHAR(TBL.V), 1, 1) AS DOUBLE PRECISION), '0') AS first_digit, + TRUNC(CAST(SUBSTR(TO_CHAR(TBL.V), 1, 1) AS DOUBLE PRECISION), 0) AS first_digit, COUNT(*) AS n FROM (VALUES (0), @@ -42,4 +42,4 @@ FROM (VALUES (481), (494)) AS TBL(V) GROUP BY - TRUNC(CAST(SUBSTR(TO_CHAR(TBL.V), 1, 1) AS DOUBLE PRECISION), '0') + TRUNC(CAST(SUBSTR(TO_CHAR(TBL.V), 1, 1) AS DOUBLE PRECISION), 0) diff --git a/tests/test_sql_refsols/simple_range_6_snowflake.sql b/tests/test_sql_refsols/simple_range_6_snowflake.sql index f2d8e308a..17605af2a 100644 --- a/tests/test_sql_refsols/simple_range_6_snowflake.sql +++ b/tests/test_sql_refsols/simple_range_6_snowflake.sql @@ -1,10 +1,10 @@ WITH tbl AS ( SELECT SEQ4() * 13 AS v - FROM TABLE(GENERATOR(ROWCOUNT => 39)) + FROM TABLE(GENERATOR(ROWCOUNT => 39)) AS _0 ) SELECT - CAST(SUBSTRING(CAST(v AS TEXT), 1, 1) AS BIGINT) AS first_digit, + CAST(SUBSTRING(CAST(v AS VARCHAR), 1, 1) AS BIGINT) AS first_digit, COUNT(*) AS n FROM tbl GROUP BY diff --git a/tests/test_sql_refsols/simple_range_6_trino.sql b/tests/test_sql_refsols/simple_range_6_trino.sql index d531f0284..572ffad6e 100644 --- a/tests/test_sql_refsols/simple_range_6_trino.sql +++ b/tests/test_sql_refsols/simple_range_6_trino.sql @@ -1,5 +1,5 @@ SELECT - CAST(CAST(SUBSTRING(CAST(tbl.v AS VARCHAR), 1, 1) AS DOUBLE) AS BIGINT) AS first_digit, + CAST(CAST(SUBSTR(CAST(tbl.v AS VARCHAR), 1, 1) AS DOUBLE) AS BIGINT) AS first_digit, COUNT(*) AS n FROM (VALUES (0), diff --git a/tests/test_sql_refsols/simple_range_7_snowflake.sql b/tests/test_sql_refsols/simple_range_7_snowflake.sql index 77fdcfa3b..d0d6e0eaa 100644 --- a/tests/test_sql_refsols/simple_range_7_snowflake.sql +++ b/tests/test_sql_refsols/simple_range_7_snowflake.sql @@ -1,11 +1,11 @@ WITH d1 AS ( SELECT 1 + SEQ4() AS x - FROM TABLE(GENERATOR(ROWCOUNT => 6)) + FROM TABLE(GENERATOR(ROWCOUNT => 6)) AS _0 ), d2 AS ( SELECT 1 + SEQ4() AS y - FROM TABLE(GENERATOR(ROWCOUNT => 6)) + FROM TABLE(GENERATOR(ROWCOUNT => 6)) AS _1 ) SELECT d1.x + d2.y AS s, diff --git a/tests/test_sql_refsols/simple_range_8_snowflake.sql b/tests/test_sql_refsols/simple_range_8_snowflake.sql index 2851db38d..fb5e650a5 100644 --- a/tests/test_sql_refsols/simple_range_8_snowflake.sql +++ b/tests/test_sql_refsols/simple_range_8_snowflake.sql @@ -1,15 +1,15 @@ WITH d1 AS ( SELECT 1 + SEQ4() AS x - FROM TABLE(GENERATOR(ROWCOUNT => 4)) + FROM TABLE(GENERATOR(ROWCOUNT => 4)) AS _0 ), d2 AS ( SELECT 1 + SEQ4() AS y - FROM TABLE(GENERATOR(ROWCOUNT => 4)) + FROM TABLE(GENERATOR(ROWCOUNT => 4)) AS _1 ), d3 AS ( SELECT 1 + SEQ4() AS z - FROM TABLE(GENERATOR(ROWCOUNT => 4)) + FROM TABLE(GENERATOR(ROWCOUNT => 4)) AS _2 ) SELECT ( diff --git a/tests/test_sql_refsols/simple_range_9_snowflake.sql b/tests/test_sql_refsols/simple_range_9_snowflake.sql index 47871c1d5..0301f42ab 100644 --- a/tests/test_sql_refsols/simple_range_9_snowflake.sql +++ b/tests/test_sql_refsols/simple_range_9_snowflake.sql @@ -1,7 +1,7 @@ WITH "quoted-name" AS ( SELECT SEQ4() AS "name space" - FROM TABLE(GENERATOR(ROWCOUNT => 5)) + FROM TABLE(GENERATOR(ROWCOUNT => 5)) AS _0 ) SELECT "name space" diff --git a/tests/test_sql_refsols/simple_scan_oracle.sql b/tests/test_sql_refsols/simple_scan_oracle.sql index dfa7c1a79..d134eda14 100644 --- a/tests/test_sql_refsols/simple_scan_oracle.sql +++ b/tests/test_sql_refsols/simple_scan_oracle.sql @@ -1,3 +1,3 @@ SELECT - o_orderkey AS "key" + O_ORDERKEY AS "key" FROM TPCH.ORDERS diff --git a/tests/test_sql_refsols/simple_scan_top_five_oracle.sql b/tests/test_sql_refsols/simple_scan_top_five_oracle.sql index c43817080..9c3547285 100644 --- a/tests/test_sql_refsols/simple_scan_top_five_oracle.sql +++ b/tests/test_sql_refsols/simple_scan_top_five_oracle.sql @@ -1,5 +1,5 @@ SELECT - o_orderkey AS "key" + O_ORDERKEY AS "key" FROM TPCH.ORDERS ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/simple_smallest_or_largest_ansi.sql b/tests/test_sql_refsols/simple_smallest_or_largest_ansi.sql index ed72347e2..84ce701c5 100644 --- a/tests/test_sql_refsols/simple_smallest_or_largest_ansi.sql +++ b/tests/test_sql_refsols/simple_smallest_or_largest_ansi.sql @@ -18,4 +18,4 @@ SELECT 'alphabet soup' AS l8, NULL AS l9 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/simple_smallest_or_largest_databricks.sql b/tests/test_sql_refsols/simple_smallest_or_largest_databricks.sql index c74f16b53..d12261bdb 100644 --- a/tests/test_sql_refsols/simple_smallest_or_largest_databricks.sql +++ b/tests/test_sql_refsols/simple_smallest_or_largest_databricks.sql @@ -26,4 +26,4 @@ SELECT GREATEST('', 'alphabet soup', 'Hello World') AS l8, NULL AS l9 FROM VALUES - (NULL) AS _q_0(_col_0) + (NULL) AS _0(_col_0) diff --git a/tests/test_sql_refsols/simple_smallest_or_largest_duckdb.sql b/tests/test_sql_refsols/simple_smallest_or_largest_duckdb.sql index ed72347e2..84ce701c5 100644 --- a/tests/test_sql_refsols/simple_smallest_or_largest_duckdb.sql +++ b/tests/test_sql_refsols/simple_smallest_or_largest_duckdb.sql @@ -18,4 +18,4 @@ SELECT 'alphabet soup' AS l8, NULL AS l9 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/simple_smallest_or_largest_mysql.sql b/tests/test_sql_refsols/simple_smallest_or_largest_mysql.sql index 76ce935bd..b3a43302b 100644 --- a/tests/test_sql_refsols/simple_smallest_or_largest_mysql.sql +++ b/tests/test_sql_refsols/simple_smallest_or_largest_mysql.sql @@ -26,4 +26,4 @@ SELECT GREATEST('', 'alphabet soup' COLLATE utf8mb4_bin, 'Hello World' COLLATE utf8mb4_bin) AS l8, NULL AS l9 FROM (VALUES - ROW(NULL)) AS _q_0(_col_0) + ROW(NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/simple_smallest_or_largest_oracle.sql b/tests/test_sql_refsols/simple_smallest_or_largest_oracle.sql index 7f73c9188..87f692742 100644 --- a/tests/test_sql_refsols/simple_smallest_or_largest_oracle.sql +++ b/tests/test_sql_refsols/simple_smallest_or_largest_oracle.sql @@ -10,7 +10,7 @@ SELECT TO_DATE('2024-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2023-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') ) AS s7, - LEAST(NVL(NULL, CHR(0)), 'alphabet soup', 'Hello World') AS s8, + LEAST(NVL(NULL, CHR( 0)), 'alphabet soup', 'Hello World') AS s8, NULL AS s9, GREATEST(20, 10) AS l1, GREATEST(20, 20) AS l2, @@ -23,7 +23,7 @@ SELECT TO_DATE('2024-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2023-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') ) AS l7, - GREATEST(NVL(NULL, CHR(0)), 'alphabet soup', 'Hello World') AS l8, + GREATEST(NVL(NULL, CHR( 0)), 'alphabet soup', 'Hello World') AS l8, NULL AS l9 FROM (VALUES - (NULL)) AS "_Q_0"("_COL_0") + (NULL)) AS "_0"("_COL_0") diff --git a/tests/test_sql_refsols/simple_smallest_or_largest_postgres.sql b/tests/test_sql_refsols/simple_smallest_or_largest_postgres.sql index bc75fa2b4..de439594d 100644 --- a/tests/test_sql_refsols/simple_smallest_or_largest_postgres.sql +++ b/tests/test_sql_refsols/simple_smallest_or_largest_postgres.sql @@ -26,4 +26,4 @@ SELECT GREATEST('', 'alphabet soup', 'Hello World') AS l8, NULL AS l9 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/simple_smallest_or_largest_snowflake.sql b/tests/test_sql_refsols/simple_smallest_or_largest_snowflake.sql index bc75fa2b4..de439594d 100644 --- a/tests/test_sql_refsols/simple_smallest_or_largest_snowflake.sql +++ b/tests/test_sql_refsols/simple_smallest_or_largest_snowflake.sql @@ -26,4 +26,4 @@ SELECT GREATEST('', 'alphabet soup', 'Hello World') AS l8, NULL AS l9 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/simple_smallest_or_largest_sqlite.sql b/tests/test_sql_refsols/simple_smallest_or_largest_sqlite.sql index ca3a12291..69da2df41 100644 --- a/tests/test_sql_refsols/simple_smallest_or_largest_sqlite.sql +++ b/tests/test_sql_refsols/simple_smallest_or_largest_sqlite.sql @@ -18,4 +18,4 @@ SELECT MAX('', 'alphabet soup', 'Hello World') AS l8, NULL AS l9 FROM (VALUES - (NULL)) AS _q_0 + (NULL)) AS _0 diff --git a/tests/test_sql_refsols/simple_smallest_or_largest_trino.sql b/tests/test_sql_refsols/simple_smallest_or_largest_trino.sql index bc75fa2b4..de439594d 100644 --- a/tests/test_sql_refsols/simple_smallest_or_largest_trino.sql +++ b/tests/test_sql_refsols/simple_smallest_or_largest_trino.sql @@ -26,4 +26,4 @@ SELECT GREATEST('', 'alphabet soup', 'Hello World') AS l8, NULL AS l9 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/simple_values_sqlite.sql b/tests/test_sql_refsols/simple_values_sqlite.sql index 09d22f453..ef4bb3798 100644 --- a/tests/test_sql_refsols/simple_values_sqlite.sql +++ b/tests/test_sql_refsols/simple_values_sqlite.sql @@ -2,4 +2,4 @@ SELECT 42 AS A, 'foo' AS B FROM (VALUES - (NULL)) AS _q_0 + (NULL)) AS _0 diff --git a/tests/test_sql_refsols/simple_var_std_oracle.sql b/tests/test_sql_refsols/simple_var_std_oracle.sql index f5a6ebd85..d1525617c 100644 --- a/tests/test_sql_refsols/simple_var_std_oracle.sql +++ b/tests/test_sql_refsols/simple_var_std_oracle.sql @@ -1,23 +1,23 @@ SELECT - ANY_VALUE(NATION.n_name) AS name, - VAR_POP(SUPPLIER.s_acctbal) AS var, - STDDEV_POP(SUPPLIER.s_acctbal) AS std, + ANY_VALUE(NATION.N_NAME) AS name, + VAR_POP(SUPPLIER.S_ACCTBAL) AS var, + STDDEV_POP(SUPPLIER.S_ACCTBAL) AS std, CASE - WHEN COUNT(SUPPLIER.s_acctbal) < 2 + WHEN COUNT(SUPPLIER.S_ACCTBAL) < 2 THEN NULL - ELSE VARIANCE(SUPPLIER.s_acctbal) + ELSE VARIANCE(SUPPLIER.S_ACCTBAL) END AS sample_var, CASE - WHEN COUNT(SUPPLIER.s_acctbal) < 2 + WHEN COUNT(SUPPLIER.S_ACCTBAL) < 2 THEN NULL - ELSE STDDEV(SUPPLIER.s_acctbal) + ELSE STDDEV(SUPPLIER.S_ACCTBAL) END AS sample_std, - VAR_POP(SUPPLIER.s_acctbal) AS pop_var, - STDDEV_POP(SUPPLIER.s_acctbal) AS pop_std + VAR_POP(SUPPLIER.S_ACCTBAL) AS pop_var, + STDDEV_POP(SUPPLIER.S_ACCTBAL) AS pop_std FROM TPCH.NATION NATION JOIN TPCH.SUPPLIER SUPPLIER - ON NATION.n_nationkey = SUPPLIER.s_nationkey + ON NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY WHERE - NATION.n_name IN ('ALGERIA', 'ARGENTINA') + NATION.N_NAME IN ('ALGERIA', 'ARGENTINA') GROUP BY - SUPPLIER.s_nationkey + SUPPLIER.S_NATIONKEY diff --git a/tests/test_sql_refsols/simple_var_std_postgres.sql b/tests/test_sql_refsols/simple_var_std_postgres.sql index 94419638f..c592341bb 100644 --- a/tests/test_sql_refsols/simple_var_std_postgres.sql +++ b/tests/test_sql_refsols/simple_var_std_postgres.sql @@ -1,5 +1,5 @@ SELECT - MAX(nation.n_name) AS name, + ANY_VALUE(nation.n_name) AS name, VAR_POP(supplier.s_acctbal) AS var, STDDEV_POP(supplier.s_acctbal) AS std, VAR_SAMP(supplier.s_acctbal) AS sample_var, diff --git a/tests/test_sql_refsols/simple_var_std_with_nulls_oracle.sql b/tests/test_sql_refsols/simple_var_std_with_nulls_oracle.sql index 315959fff..f9795e711 100644 --- a/tests/test_sql_refsols/simple_var_std_with_nulls_oracle.sql +++ b/tests/test_sql_refsols/simple_var_std_with_nulls_oracle.sql @@ -1,40 +1,40 @@ SELECT CASE - WHEN COUNT(CASE WHEN c_custkey > 3 THEN c_acctbal ELSE NULL END) < 2 + WHEN COUNT(CASE WHEN C_CUSTKEY > 3 THEN C_ACCTBAL ELSE NULL END) < 2 THEN NULL - ELSE VARIANCE(CASE WHEN c_custkey > 3 THEN c_acctbal ELSE NULL END) + ELSE VARIANCE(CASE WHEN C_CUSTKEY > 3 THEN C_ACCTBAL ELSE NULL END) END AS var_samp_0_nnull, CASE - WHEN COUNT(CASE WHEN c_custkey > 2 THEN c_acctbal ELSE NULL END) < 2 + WHEN COUNT(CASE WHEN C_CUSTKEY > 2 THEN C_ACCTBAL ELSE NULL END) < 2 THEN NULL - ELSE VARIANCE(CASE WHEN c_custkey > 2 THEN c_acctbal ELSE NULL END) + ELSE VARIANCE(CASE WHEN C_CUSTKEY > 2 THEN C_ACCTBAL ELSE NULL END) END AS var_samp_1_nnull, CASE - WHEN COUNT(CASE WHEN c_custkey > 1 THEN c_acctbal ELSE NULL END) < 2 + WHEN COUNT(CASE WHEN C_CUSTKEY > 1 THEN C_ACCTBAL ELSE NULL END) < 2 THEN NULL - ELSE VARIANCE(CASE WHEN c_custkey > 1 THEN c_acctbal ELSE NULL END) + ELSE VARIANCE(CASE WHEN C_CUSTKEY > 1 THEN C_ACCTBAL ELSE NULL END) END AS var_samp_2_nnull, - VAR_POP(CASE WHEN c_custkey > 3 THEN c_acctbal ELSE NULL END) AS var_pop_0_nnull, - VAR_POP(CASE WHEN c_custkey > 2 THEN c_acctbal ELSE NULL END) AS var_pop_1_nnull, - VAR_POP(CASE WHEN c_custkey > 1 THEN c_acctbal ELSE NULL END) AS var_pop_2_nnull, + VAR_POP(CASE WHEN C_CUSTKEY > 3 THEN C_ACCTBAL ELSE NULL END) AS var_pop_0_nnull, + VAR_POP(CASE WHEN C_CUSTKEY > 2 THEN C_ACCTBAL ELSE NULL END) AS var_pop_1_nnull, + VAR_POP(CASE WHEN C_CUSTKEY > 1 THEN C_ACCTBAL ELSE NULL END) AS var_pop_2_nnull, CASE - WHEN COUNT(CASE WHEN c_custkey > 3 THEN c_acctbal ELSE NULL END) < 2 + WHEN COUNT(CASE WHEN C_CUSTKEY > 3 THEN C_ACCTBAL ELSE NULL END) < 2 THEN NULL - ELSE STDDEV(CASE WHEN c_custkey > 3 THEN c_acctbal ELSE NULL END) + ELSE STDDEV(CASE WHEN C_CUSTKEY > 3 THEN C_ACCTBAL ELSE NULL END) END AS std_samp_0_nnull, CASE - WHEN COUNT(CASE WHEN c_custkey > 2 THEN c_acctbal ELSE NULL END) < 2 + WHEN COUNT(CASE WHEN C_CUSTKEY > 2 THEN C_ACCTBAL ELSE NULL END) < 2 THEN NULL - ELSE STDDEV(CASE WHEN c_custkey > 2 THEN c_acctbal ELSE NULL END) + ELSE STDDEV(CASE WHEN C_CUSTKEY > 2 THEN C_ACCTBAL ELSE NULL END) END AS std_samp_1_nnull, CASE - WHEN COUNT(CASE WHEN c_custkey > 1 THEN c_acctbal ELSE NULL END) < 2 + WHEN COUNT(CASE WHEN C_CUSTKEY > 1 THEN C_ACCTBAL ELSE NULL END) < 2 THEN NULL - ELSE STDDEV(CASE WHEN c_custkey > 1 THEN c_acctbal ELSE NULL END) + ELSE STDDEV(CASE WHEN C_CUSTKEY > 1 THEN C_ACCTBAL ELSE NULL END) END AS std_samp_2_nnull, - STDDEV_POP(CASE WHEN c_custkey > 3 THEN c_acctbal ELSE NULL END) AS std_pop_0_nnull, - STDDEV_POP(CASE WHEN c_custkey > 2 THEN c_acctbal ELSE NULL END) AS std_pop_1_nnull, - STDDEV_POP(CASE WHEN c_custkey > 1 THEN c_acctbal ELSE NULL END) AS std_pop_2_nnull + STDDEV_POP(CASE WHEN C_CUSTKEY > 3 THEN C_ACCTBAL ELSE NULL END) AS std_pop_0_nnull, + STDDEV_POP(CASE WHEN C_CUSTKEY > 2 THEN C_ACCTBAL ELSE NULL END) AS std_pop_1_nnull, + STDDEV_POP(CASE WHEN C_CUSTKEY > 1 THEN C_ACCTBAL ELSE NULL END) AS std_pop_2_nnull FROM TPCH.CUSTOMER WHERE - c_custkey IN (1, 2, 3) + C_CUSTKEY IN (1, 2, 3) diff --git a/tests/test_sql_refsols/simplification_1_mysql.sql b/tests/test_sql_refsols/simplification_1_mysql.sql index c76b9f254..2773a6897 100644 --- a/tests/test_sql_refsols/simplification_1_mysql.sql +++ b/tests/test_sql_refsols/simplification_1_mysql.sql @@ -19,7 +19,7 @@ SELECT COUNT(*) < 25 AS s17, COUNT(*) <= 25 AS s18, COUNT(*) AS s19, - AVG(COALESCE(CHAR_LENGTH(sbcustname), 0)) AS s20, + AVG(COALESCE(CHAR_LENGTH(sbCustName), 0)) AS s20, TRUE AS s21, TRUE AS s22, TRUE AS s23 diff --git a/tests/test_sql_refsols/simplification_1_oracle.sql b/tests/test_sql_refsols/simplification_1_oracle.sql index 295d976e7..d985c8de0 100644 --- a/tests/test_sql_refsols/simplification_1_oracle.sql +++ b/tests/test_sql_refsols/simplification_1_oracle.sql @@ -19,7 +19,7 @@ SELECT COUNT(*) < 25 AS s17, COUNT(*) <= 25 AS s18, COUNT(*) AS s19, - AVG(COALESCE(LENGTH(sbcustname), 0)) AS s20, + AVG(COALESCE(LENGTH(SBCUSTNAME), 0)) AS s20, TRUE AS s21, TRUE AS s22, TRUE AS s23 diff --git a/tests/test_sql_refsols/simplification_2_mysql.sql b/tests/test_sql_refsols/simplification_2_mysql.sql index ae0fe6c24..7c6a3f0ac 100644 --- a/tests/test_sql_refsols/simplification_2_mysql.sql +++ b/tests/test_sql_refsols/simplification_2_mysql.sql @@ -46,5 +46,5 @@ SELECT NULL AS s44, NULL AS s45, NULL AS s46, - COALESCE(MAX(sbcustname), '') LIKE '%r%' AS s47 + COALESCE(MAX(sbCustName), '') LIKE '%r%' AS s47 FROM main.sbCustomer diff --git a/tests/test_sql_refsols/simplification_2_oracle.sql b/tests/test_sql_refsols/simplification_2_oracle.sql index b4df6c451..1059f9c6e 100644 --- a/tests/test_sql_refsols/simplification_2_oracle.sql +++ b/tests/test_sql_refsols/simplification_2_oracle.sql @@ -46,5 +46,5 @@ SELECT NULL AS s44, NULL AS s45, NULL AS s46, - COALESCE(MAX(sbcustname), '') LIKE '%r%' AS s47 + COALESCE(MAX(SBCUSTNAME), '') LIKE '%r%' AS s47 FROM MAIN.SBCUSTOMER diff --git a/tests/test_sql_refsols/simplification_3_mysql.sql b/tests/test_sql_refsols/simplification_3_mysql.sql index cf625ef8e..3db7f514b 100644 --- a/tests/test_sql_refsols/simplification_3_mysql.sql +++ b/tests/test_sql_refsols/simplification_3_mysql.sql @@ -1,25 +1,39 @@ WITH _t2 AS ( SELECT - ABS(TRUNCATE(CAST(sbcustpostalcode AS FLOAT), 0)) AS expr_13, - ROW_NUMBER() OVER (ORDER BY CASE WHEN sbcustname COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, sbcustname COLLATE utf8mb4_bin) AS `rank`, - AVG(CAST(ABS(COALESCE(TRUNCATE(CAST(sbcustpostalcode AS FLOAT), 0), 0)) AS DOUBLE)) OVER () AS ravg1, + ABS(TRUNCATE(CAST(sbCustPostalCode AS FLOAT), 0)) AS expr_13, + ROW_NUMBER() OVER ( + ORDER BY CASE WHEN sbCustName COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, sbCustName COLLATE utf8mb4_bin + ) AS `rank`, + AVG(CAST(ABS(COALESCE(TRUNCATE(CAST(sbCustPostalCode AS FLOAT), 0), 0)) AS DOUBLE)) OVER () AS ravg1, COALESCE( - AVG(CAST(ABS(COALESCE(TRUNCATE(CAST(sbcustpostalcode AS FLOAT), 0), 0)) AS DOUBLE)) OVER (ORDER BY sbcustname COLLATE utf8mb4_bin ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING), + AVG(CAST(ABS(COALESCE(TRUNCATE(CAST(sbCustPostalCode AS FLOAT), 0), 0)) AS DOUBLE)) OVER ( + ORDER BY sbCustName COLLATE utf8mb4_bin + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ), 0.1 ) AS ravg2, - COUNT(TRUNCATE(CAST(sbcustpostalcode AS FLOAT), 0)) OVER () AS rcnt1, + COUNT(TRUNCATE(CAST(sbCustPostalCode AS FLOAT), 0)) OVER () AS rcnt1, COALESCE( - COUNT(TRUNCATE(CAST(sbcustpostalcode AS FLOAT), 0)) OVER (ORDER BY sbcustname COLLATE utf8mb4_bin ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + COUNT(TRUNCATE(CAST(sbCustPostalCode AS FLOAT), 0)) OVER ( + ORDER BY sbCustName COLLATE utf8mb4_bin + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ), 0.1 ) AS rcnt2, COUNT(*) OVER () AS rsiz1, COALESCE( - COUNT(*) OVER (ORDER BY sbcustname COLLATE utf8mb4_bin ROWS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING), + COUNT(*) OVER ( + ORDER BY sbCustName COLLATE utf8mb4_bin + ROWS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING + ), 0.1 ) AS rsiz2, - SUM(ABS(COALESCE(TRUNCATE(CAST(sbcustpostalcode AS FLOAT), 0), 0))) OVER () AS rsum1, + SUM(ABS(COALESCE(TRUNCATE(CAST(sbCustPostalCode AS FLOAT), 0), 0))) OVER () AS rsum1, COALESCE( - SUM(ABS(COALESCE(TRUNCATE(CAST(sbcustpostalcode AS FLOAT), 0), 0))) OVER (ORDER BY sbcustname COLLATE utf8mb4_bin ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + SUM(ABS(COALESCE(TRUNCATE(CAST(sbCustPostalCode AS FLOAT), 0), 0))) OVER ( + ORDER BY sbCustName COLLATE utf8mb4_bin + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ), 0.1 ) AS rsum2 FROM main.sbCustomer diff --git a/tests/test_sql_refsols/simplification_3_oracle.sql b/tests/test_sql_refsols/simplification_3_oracle.sql index 3da3a6bb4..104d8b9a4 100644 --- a/tests/test_sql_refsols/simplification_3_oracle.sql +++ b/tests/test_sql_refsols/simplification_3_oracle.sql @@ -1,33 +1,33 @@ -WITH "_T2" AS ( +WITH "_t2" AS ( SELECT - ABS(TRUNC(CAST(sbcustpostalcode AS DOUBLE PRECISION), '0')) AS EXPR_13, - ROW_NUMBER() OVER (ORDER BY sbcustname) AS RANK, + ABS(TRUNC(CAST(SBCUSTPOSTALCODE AS DOUBLE PRECISION), 0)) AS EXPR_13, + ROW_NUMBER() OVER (ORDER BY SBCUSTNAME) AS RANK, AVG( - CAST(ABS(COALESCE(TRUNC(CAST(sbcustpostalcode AS DOUBLE PRECISION), '0'), 0)) AS DOUBLE PRECISION) + CAST(ABS(COALESCE(TRUNC(CAST(SBCUSTPOSTALCODE AS DOUBLE PRECISION), 0), 0)) AS DOUBLE PRECISION) ) OVER () AS RAVG1, COALESCE( AVG( - CAST(ABS(COALESCE(TRUNC(CAST(sbcustpostalcode AS DOUBLE PRECISION), '0'), 0)) AS DOUBLE PRECISION) - ) OVER (ORDER BY sbcustname ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING), + CAST(ABS(COALESCE(TRUNC(CAST(SBCUSTPOSTALCODE AS DOUBLE PRECISION), 0), 0)) AS DOUBLE PRECISION) + ) OVER (ORDER BY SBCUSTNAME ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING), 0.1 ) AS RAVG2, - COUNT(TRUNC(CAST(sbcustpostalcode AS DOUBLE PRECISION), '0')) OVER () AS RCNT1, + COUNT(TRUNC(CAST(SBCUSTPOSTALCODE AS DOUBLE PRECISION), 0)) OVER () AS RCNT1, COALESCE( - COUNT(TRUNC(CAST(sbcustpostalcode AS DOUBLE PRECISION), '0')) OVER (ORDER BY sbcustname ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + COUNT(TRUNC(CAST(SBCUSTPOSTALCODE AS DOUBLE PRECISION), 0)) OVER (ORDER BY SBCUSTNAME ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), 0.1 ) AS RCNT2, COUNT(*) OVER () AS RSIZ1, COALESCE( - COUNT(*) OVER (ORDER BY sbcustname ROWS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING), + COUNT(*) OVER (ORDER BY SBCUSTNAME ROWS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING), 0.1 ) AS RSIZ2, - SUM(ABS(COALESCE(TRUNC(CAST(sbcustpostalcode AS DOUBLE PRECISION), '0'), 0))) OVER () AS RSUM1, + SUM(ABS(COALESCE(TRUNC(CAST(SBCUSTPOSTALCODE AS DOUBLE PRECISION), 0), 0))) OVER () AS RSUM1, COALESCE( - SUM(ABS(COALESCE(TRUNC(CAST(sbcustpostalcode AS DOUBLE PRECISION), '0'), 0))) OVER (ORDER BY sbcustname ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + SUM(ABS(COALESCE(TRUNC(CAST(SBCUSTPOSTALCODE AS DOUBLE PRECISION), 0), 0))) OVER (ORDER BY SBCUSTNAME ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), 0.1 ) AS RSUM2 FROM MAIN.SBCUSTOMER -), "_T1" AS ( +), "_t1" AS ( SELECT RANK, RAVG1, @@ -56,7 +56,7 @@ WITH "_T2" AS ( THEN EXPR_13 ELSE NULL END AS EXPR_16 - FROM "_T2" + FROM "_t2" ) SELECT TRUE AS s00, @@ -96,4 +96,4 @@ SELECT ROUND(SUM(RCNT2), 2) AS s34, ANY_VALUE(RSIZ1) AS s35, ROUND(SUM(RSIZ2), 2) AS s36 -FROM "_T1" +FROM "_t1" diff --git a/tests/test_sql_refsols/simplification_3_postgres.sql b/tests/test_sql_refsols/simplification_3_postgres.sql index e742d8e9e..a9788040c 100644 --- a/tests/test_sql_refsols/simplification_3_postgres.sql +++ b/tests/test_sql_refsols/simplification_3_postgres.sql @@ -56,12 +56,12 @@ SELECT ABS(CAST(sbcustpostalcode AS INT))) AS s26, MIN(rank) AS s27, MAX(rank) AS s28, - MAX(rsum1) AS s29, + ANY_VALUE(rsum1) AS s29, ROUND(CAST(SUM(rsum2) AS DECIMAL), 2) AS s30, - MAX(ravg1) AS s31, + ANY_VALUE(ravg1) AS s31, ROUND(CAST(SUM(ravg2) AS DECIMAL), 2) AS s32, - MAX(rcnt1) AS s33, + ANY_VALUE(rcnt1) AS s33, ROUND(CAST(SUM(rcnt2) AS DECIMAL), 2) AS s34, - MAX(rsiz1) AS s35, + ANY_VALUE(rsiz1) AS s35, ROUND(CAST(SUM(rsiz2) AS DECIMAL), 2) AS s36 FROM _t1 diff --git a/tests/test_sql_refsols/simplification_3_trino.sql b/tests/test_sql_refsols/simplification_3_trino.sql index ad3dcc36d..a305dfec8 100644 --- a/tests/test_sql_refsols/simplification_3_trino.sql +++ b/tests/test_sql_refsols/simplification_3_trino.sql @@ -48,9 +48,9 @@ WITH _t2 AS ( ( ROW_NUMBER() OVER (ORDER BY expr_13 DESC) - 1.0 ) - ( - CAST(( + ( COUNT(expr_13) OVER () - 1.0 - ) AS DOUBLE) / 2.0 + ) / 2.0 ) ) < 1.0 THEN expr_13 diff --git a/tests/test_sql_refsols/simplification_4_databricks.sql b/tests/test_sql_refsols/simplification_4_databricks.sql index b316a460d..0b4d0a366 100644 --- a/tests/test_sql_refsols/simplification_4_databricks.sql +++ b/tests/test_sql_refsols/simplification_4_databricks.sql @@ -10,18 +10,16 @@ WITH _t1 AS ( ) SELECT sbtxdatetime AS date_time, - DATEADD( - DAY, - -56, - DATEADD( - DAY, + DATE_ADD( + DATE_ADD( + CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST(sbtxdatetime AS TIMESTAMP))) + 5 + DAYOFWEEK(CAST(sbtxdatetime AS TIMESTAMP)) + 5 ) % 7 - ), - CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE) - ) + ) + ), + -56 ) AS s00, FALSE AS s01, EXTRACT(MONTH FROM CAST(sbtxdatetime AS TIMESTAMP)) IN (1, 2, 3) AS s02, diff --git a/tests/test_sql_refsols/simplification_4_duckdb.sql b/tests/test_sql_refsols/simplification_4_duckdb.sql index 2e34038c0..622804fe5 100644 --- a/tests/test_sql_refsols/simplification_4_duckdb.sql +++ b/tests/test_sql_refsols/simplification_4_duckdb.sql @@ -14,7 +14,7 @@ SELECT ( DAYOFWEEK(CAST(sbtxdatetime AS TIMESTAMP)) + 6 ) % 7 - ) AS INT) - 7 * INTERVAL '8' DAY AS s00, + ) AS INT) - INTERVAL '8' WEEK AS s00, FALSE AS s01, EXTRACT(MONTH FROM CAST(sbtxdatetime AS TIMESTAMP)) IN (1, 2, 3) AS s02, EXTRACT(MONTH FROM CAST(sbtxdatetime AS TIMESTAMP)) IN (4, 5, 6) AS s03, diff --git a/tests/test_sql_refsols/simplification_4_mysql.sql b/tests/test_sql_refsols/simplification_4_mysql.sql index bdff7e8d1..9a172b06d 100644 --- a/tests/test_sql_refsols/simplification_4_mysql.sql +++ b/tests/test_sql_refsols/simplification_4_mysql.sql @@ -1,11 +1,13 @@ WITH _t AS ( SELECT - sbtxdatetime AS sbTxDateTime, - ROW_NUMBER() OVER (ORDER BY CASE WHEN sbtxdatetime IS NULL THEN 1 ELSE 0 END DESC, sbtxdatetime DESC) AS _w, - ROW_NUMBER() OVER (ORDER BY CASE WHEN sbtxdatetime IS NULL THEN 1 ELSE 0 END, sbtxdatetime) AS _w_2 + sbTxDateTime, + ROW_NUMBER() OVER ( + ORDER BY CASE WHEN sbTxDateTime IS NULL THEN 1 ELSE 0 END DESC, sbTxDateTime DESC + ) AS _w, + ROW_NUMBER() OVER (ORDER BY CASE WHEN sbTxDateTime IS NULL THEN 1 ELSE 0 END, sbTxDateTime) AS _w_2 FROM main.sbTransaction WHERE - EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) = 2023 + EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) = 2023 ) SELECT sbTxDateTime AS date_time, diff --git a/tests/test_sql_refsols/simplification_4_oracle.sql b/tests/test_sql_refsols/simplification_4_oracle.sql index d5f7d3c97..6a1d25f3c 100644 --- a/tests/test_sql_refsols/simplification_4_oracle.sql +++ b/tests/test_sql_refsols/simplification_4_oracle.sql @@ -1,11 +1,11 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - sbtxdatetime AS SBTXDATETIME, - ROW_NUMBER() OVER (ORDER BY sbtxdatetime DESC) AS "_W", - ROW_NUMBER() OVER (ORDER BY sbtxdatetime) AS "_W_2" + SBTXDATETIME, + ROW_NUMBER() OVER (ORDER BY SBTXDATETIME DESC) AS "_w", + ROW_NUMBER() OVER (ORDER BY SBTXDATETIME) AS "_w_2" FROM MAIN.SBTRANSACTION WHERE - EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) = 2023 + EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) = 2023 ) SELECT SBTXDATETIME AS date_time, @@ -119,6 +119,6 @@ SELECT TO_DATE('2024-12-30', 'YYYY-MM-DD') AS s102, TO_DATE('2025-01-06', 'YYYY-MM-DD') AS s103, TO_DATE('2025-01-06', 'YYYY-MM-DD') AS s104 -FROM "_T" +FROM "_t" WHERE - "_W" = 1 OR "_W_2" = 1 + "_w" = 1 OR "_w_2" = 1 diff --git a/tests/test_sql_refsols/singular1_oracle.sql b/tests/test_sql_refsols/singular1_oracle.sql index ea9d1ce08..6ff3ffbc1 100644 --- a/tests/test_sql_refsols/singular1_oracle.sql +++ b/tests/test_sql_refsols/singular1_oracle.sql @@ -1,14 +1,14 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - n_name AS N_NAME, - n_regionkey AS N_REGIONKEY + N_NAME, + N_REGIONKEY FROM TPCH.NATION WHERE - n_nationkey = 4 + N_NATIONKEY = 4 ) SELECT - REGION.r_name AS name, - "_S1".N_NAME AS nation_4_name + REGION.R_NAME AS name, + "_s1".N_NAME AS nation_4_name FROM TPCH.REGION REGION -LEFT JOIN "_S1" "_S1" - ON REGION.r_regionkey = "_S1".N_REGIONKEY +LEFT JOIN "_s1" "_s1" + ON REGION.R_REGIONKEY = "_s1".N_REGIONKEY diff --git a/tests/test_sql_refsols/singular2_oracle.sql b/tests/test_sql_refsols/singular2_oracle.sql index f86a27fa3..fc0426829 100644 --- a/tests/test_sql_refsols/singular2_oracle.sql +++ b/tests/test_sql_refsols/singular2_oracle.sql @@ -1,16 +1,16 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - CUSTOMER.c_nationkey AS C_NATIONKEY, - ORDERS.o_orderkey AS O_ORDERKEY + CUSTOMER.C_NATIONKEY, + ORDERS.O_ORDERKEY FROM TPCH.CUSTOMER CUSTOMER JOIN TPCH.ORDERS ORDERS - ON CUSTOMER.c_custkey = ORDERS.o_custkey AND ORDERS.o_orderkey = 454791 + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY AND ORDERS.O_ORDERKEY = 454791 WHERE - CUSTOMER.c_custkey = 1 + CUSTOMER.C_CUSTKEY = 1 ) SELECT - NATION.n_name AS name, - "_S3".O_ORDERKEY AS okey + NATION.N_NAME AS name, + "_s3".O_ORDERKEY AS okey FROM TPCH.NATION NATION -LEFT JOIN "_S3" "_S3" - ON NATION.n_nationkey = "_S3".C_NATIONKEY +LEFT JOIN "_s3" "_s3" + ON NATION.N_NATIONKEY = "_s3".C_NATIONKEY diff --git a/tests/test_sql_refsols/singular3_mysql.sql b/tests/test_sql_refsols/singular3_mysql.sql index 1cf5d5476..408bd9fab 100644 --- a/tests/test_sql_refsols/singular3_mysql.sql +++ b/tests/test_sql_refsols/singular3_mysql.sql @@ -10,7 +10,10 @@ WITH _s0 AS ( SELECT o_custkey, o_orderdate, - ROW_NUMBER() OVER (PARTITION BY o_custkey ORDER BY CASE WHEN o_totalprice IS NULL THEN 1 ELSE 0 END DESC, o_totalprice DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY o_custkey + ORDER BY CASE WHEN o_totalprice IS NULL THEN 1 ELSE 0 END DESC, o_totalprice DESC + ) AS _w FROM tpch.ORDERS ), _s1 AS ( SELECT diff --git a/tests/test_sql_refsols/singular3_oracle.sql b/tests/test_sql_refsols/singular3_oracle.sql index aeba1984f..f1e638058 100644 --- a/tests/test_sql_refsols/singular3_oracle.sql +++ b/tests/test_sql_refsols/singular3_oracle.sql @@ -1,29 +1,29 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - c_custkey AS C_CUSTKEY, - c_name AS C_NAME + C_CUSTKEY, + C_NAME FROM TPCH.CUSTOMER ORDER BY 2 NULLS FIRST FETCH FIRST 5 ROWS ONLY -), "_T" AS ( +), "_t" AS ( SELECT - o_custkey AS O_CUSTKEY, - o_orderdate AS O_ORDERDATE, - ROW_NUMBER() OVER (PARTITION BY o_custkey ORDER BY o_totalprice DESC) AS "_W" + O_CUSTKEY, + O_ORDERDATE, + ROW_NUMBER() OVER (PARTITION BY O_CUSTKEY ORDER BY O_TOTALPRICE DESC) AS "_w" FROM TPCH.ORDERS -), "_S1" AS ( +), "_s1" AS ( SELECT O_CUSTKEY, O_ORDERDATE - FROM "_T" + FROM "_t" WHERE - "_W" = 1 + "_w" = 1 ) SELECT - "_S0".C_NAME AS name -FROM "_S0" "_S0" -LEFT JOIN "_S1" "_S1" - ON "_S0".C_CUSTKEY = "_S1".O_CUSTKEY + "_s0".C_NAME AS name +FROM "_s0" "_s0" +LEFT JOIN "_s1" "_s1" + ON "_s0".C_CUSTKEY = "_s1".O_CUSTKEY ORDER BY - "_S1".O_ORDERDATE + "_s1".O_ORDERDATE diff --git a/tests/test_sql_refsols/singular4_mysql.sql b/tests/test_sql_refsols/singular4_mysql.sql index 76eef40e7..add440d4e 100644 --- a/tests/test_sql_refsols/singular4_mysql.sql +++ b/tests/test_sql_refsols/singular4_mysql.sql @@ -2,7 +2,10 @@ WITH _t AS ( SELECT o_custkey, o_orderdate, - ROW_NUMBER() OVER (PARTITION BY o_custkey ORDER BY CASE WHEN o_totalprice IS NULL THEN 1 ELSE 0 END DESC, o_totalprice DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY o_custkey + ORDER BY CASE WHEN o_totalprice IS NULL THEN 1 ELSE 0 END DESC, o_totalprice DESC + ) AS _w FROM tpch.ORDERS WHERE o_orderpriority = '1-URGENT' diff --git a/tests/test_sql_refsols/singular4_oracle.sql b/tests/test_sql_refsols/singular4_oracle.sql index a6f6d10f4..0fa24a08b 100644 --- a/tests/test_sql_refsols/singular4_oracle.sql +++ b/tests/test_sql_refsols/singular4_oracle.sql @@ -1,26 +1,26 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - o_custkey AS O_CUSTKEY, - o_orderdate AS O_ORDERDATE, - ROW_NUMBER() OVER (PARTITION BY o_custkey ORDER BY o_totalprice DESC) AS "_W" + O_CUSTKEY, + O_ORDERDATE, + ROW_NUMBER() OVER (PARTITION BY O_CUSTKEY ORDER BY O_TOTALPRICE DESC) AS "_w" FROM TPCH.ORDERS WHERE - o_orderpriority = '1-URGENT' -), "_S1" AS ( + O_ORDERPRIORITY = '1-URGENT' +), "_s1" AS ( SELECT O_CUSTKEY, O_ORDERDATE - FROM "_T" + FROM "_t" WHERE - "_W" = 1 + "_w" = 1 ) SELECT - CUSTOMER.c_name AS name + CUSTOMER.C_NAME AS name FROM TPCH.CUSTOMER CUSTOMER -LEFT JOIN "_S1" "_S1" - ON CUSTOMER.c_custkey = "_S1".O_CUSTKEY +LEFT JOIN "_s1" "_s1" + ON CUSTOMER.C_CUSTKEY = "_s1".O_CUSTKEY WHERE - CUSTOMER.c_nationkey = 6 + CUSTOMER.C_NATIONKEY = 6 ORDER BY - COALESCE("_S1".O_ORDERDATE, TO_DATE('2000-01-01', 'YYYY-MM-DD')) + COALESCE("_s1".O_ORDERDATE, TO_DATE('2000-01-01', 'YYYY-MM-DD')) FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/singular5_ansi.sql b/tests/test_sql_refsols/singular5_ansi.sql index 9ef321a55..7bcecc834 100644 --- a/tests/test_sql_refsols/singular5_ansi.sql +++ b/tests/test_sql_refsols/singular5_ansi.sql @@ -16,7 +16,10 @@ WITH _t3 AS ( AND lineitem.l_shipmode = 'RAIL' AND lineitem.l_tax = 0 QUALIFY - ROW_NUMBER() OVER (PARTITION BY _t7.p_container ORDER BY lineitem.l_extendedprice DESC NULLS FIRST, lineitem.l_shipdate NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _t7.p_container + ORDER BY lineitem.l_extendedprice DESC NULLS FIRST, lineitem.l_shipdate NULLS LAST + ) = 1 ), _s3 AS ( SELECT p_partkey, diff --git a/tests/test_sql_refsols/singular5_databricks.sql b/tests/test_sql_refsols/singular5_databricks.sql index 9ef321a55..7bcecc834 100644 --- a/tests/test_sql_refsols/singular5_databricks.sql +++ b/tests/test_sql_refsols/singular5_databricks.sql @@ -16,7 +16,10 @@ WITH _t3 AS ( AND lineitem.l_shipmode = 'RAIL' AND lineitem.l_tax = 0 QUALIFY - ROW_NUMBER() OVER (PARTITION BY _t7.p_container ORDER BY lineitem.l_extendedprice DESC NULLS FIRST, lineitem.l_shipdate NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _t7.p_container + ORDER BY lineitem.l_extendedprice DESC NULLS FIRST, lineitem.l_shipdate NULLS LAST + ) = 1 ), _s3 AS ( SELECT p_partkey, diff --git a/tests/test_sql_refsols/singular5_duckdb.sql b/tests/test_sql_refsols/singular5_duckdb.sql index 73efa9945..7c47167f8 100644 --- a/tests/test_sql_refsols/singular5_duckdb.sql +++ b/tests/test_sql_refsols/singular5_duckdb.sql @@ -16,7 +16,10 @@ WITH _t3 AS ( AND lineitem.l_shipmode = 'RAIL' AND lineitem.l_tax = 0 QUALIFY - ROW_NUMBER() OVER (PARTITION BY _t7.p_container ORDER BY lineitem.l_extendedprice DESC NULLS FIRST, lineitem.l_shipdate) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _t7.p_container + ORDER BY lineitem.l_extendedprice DESC NULLS FIRST, lineitem.l_shipdate + ) = 1 ), _s3 AS ( SELECT p_partkey, diff --git a/tests/test_sql_refsols/singular5_mysql.sql b/tests/test_sql_refsols/singular5_mysql.sql index d92fa8f53..3c265d394 100644 --- a/tests/test_sql_refsols/singular5_mysql.sql +++ b/tests/test_sql_refsols/singular5_mysql.sql @@ -10,7 +10,10 @@ WITH _t3 AS ( SELECT LINEITEM.l_shipdate, _t7.p_partkey, - ROW_NUMBER() OVER (PARTITION BY _t7.p_container ORDER BY CASE WHEN LINEITEM.l_extendedprice IS NULL THEN 1 ELSE 0 END DESC, LINEITEM.l_extendedprice DESC, CASE WHEN LINEITEM.l_shipdate IS NULL THEN 1 ELSE 0 END, LINEITEM.l_shipdate) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _t7.p_container + ORDER BY CASE WHEN LINEITEM.l_extendedprice IS NULL THEN 1 ELSE 0 END DESC, LINEITEM.l_extendedprice DESC, CASE WHEN LINEITEM.l_shipdate IS NULL THEN 1 ELSE 0 END, LINEITEM.l_shipdate + ) AS _w FROM _t3 AS _t7 JOIN tpch.LINEITEM AS LINEITEM ON LINEITEM.l_partkey = _t7.p_partkey diff --git a/tests/test_sql_refsols/singular5_oracle.sql b/tests/test_sql_refsols/singular5_oracle.sql index 933f4d53a..520f471ac 100644 --- a/tests/test_sql_refsols/singular5_oracle.sql +++ b/tests/test_sql_refsols/singular5_oracle.sql @@ -1,46 +1,49 @@ -WITH "_T3" AS ( +WITH "_t3" AS ( SELECT - p_brand AS P_BRAND, - p_container AS P_CONTAINER, - p_partkey AS P_PARTKEY + P_BRAND, + P_CONTAINER, + P_PARTKEY FROM TPCH.PART WHERE - p_brand = 'Brand#13' -), "_T" AS ( + P_BRAND = 'Brand#13' +), "_t" AS ( SELECT - LINEITEM.l_shipdate AS L_SHIPDATE, - "_T7".P_PARTKEY, - ROW_NUMBER() OVER (PARTITION BY "_T7".P_CONTAINER ORDER BY LINEITEM.l_extendedprice DESC, LINEITEM.l_shipdate) AS "_W" - FROM "_T3" "_T7" + LINEITEM.L_SHIPDATE, + "_t7".P_PARTKEY, + ROW_NUMBER() OVER ( + PARTITION BY "_t7".P_CONTAINER + ORDER BY LINEITEM.L_EXTENDEDPRICE DESC, LINEITEM.L_SHIPDATE + ) AS "_w" + FROM "_t3" "_t7" JOIN TPCH.LINEITEM LINEITEM - ON LINEITEM.l_partkey = "_T7".P_PARTKEY - AND LINEITEM.l_shipmode = 'RAIL' - AND LINEITEM.l_tax = 0 -), "_S3" AS ( + ON LINEITEM.L_PARTKEY = "_t7".P_PARTKEY + AND LINEITEM.L_SHIPMODE = 'RAIL' + AND LINEITEM.L_TAX = 0 +), "_s3" AS ( SELECT P_PARTKEY, ANY_VALUE(L_SHIPDATE) AS ANYTHING_L_SHIPDATE, COUNT(*) AS N_ROWS - FROM "_T" + FROM "_t" WHERE - "_W" = 1 + "_w" = 1 GROUP BY P_PARTKEY -), "_T1" AS ( +), "_t1" AS ( SELECT - "_T3".P_CONTAINER, - MAX("_S3".ANYTHING_L_SHIPDATE) AS MAX_ANYTHING_L_SHIPDATE, - SUM("_S3".N_ROWS) AS SUM_N_ROWS - FROM "_T3" "_T3" - LEFT JOIN "_S3" "_S3" - ON "_S3".P_PARTKEY = "_T3".P_PARTKEY + "_t3".P_CONTAINER, + MAX("_s3".ANYTHING_L_SHIPDATE) AS MAX_ANYTHING_L_SHIPDATE, + SUM("_s3".N_ROWS) AS SUM_N_ROWS + FROM "_t3" "_t3" + LEFT JOIN "_s3" "_s3" + ON "_s3".P_PARTKEY = "_t3".P_PARTKEY GROUP BY - "_T3".P_CONTAINER + "_t3".P_CONTAINER ) SELECT P_CONTAINER AS container, MAX_ANYTHING_L_SHIPDATE AS highest_price_ship_date -FROM "_T1" +FROM "_t1" WHERE SUM_N_ROWS <> 0 ORDER BY diff --git a/tests/test_sql_refsols/singular5_postgres.sql b/tests/test_sql_refsols/singular5_postgres.sql index 32bd0bc1a..92d54ab1a 100644 --- a/tests/test_sql_refsols/singular5_postgres.sql +++ b/tests/test_sql_refsols/singular5_postgres.sql @@ -10,7 +10,10 @@ WITH _t3 AS ( SELECT lineitem.l_shipdate, _t7.p_partkey, - ROW_NUMBER() OVER (PARTITION BY _t7.p_container ORDER BY lineitem.l_extendedprice DESC, lineitem.l_shipdate) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _t7.p_container + ORDER BY lineitem.l_extendedprice DESC, lineitem.l_shipdate + ) AS _w FROM _t3 AS _t7 JOIN tpch.lineitem AS lineitem ON _t7.p_partkey = lineitem.l_partkey @@ -19,7 +22,7 @@ WITH _t3 AS ( ), _s3 AS ( SELECT p_partkey, - MAX(l_shipdate) AS anything_l_shipdate, + ANY_VALUE(l_shipdate) AS anything_l_shipdate, COUNT(*) AS n_rows FROM _t WHERE diff --git a/tests/test_sql_refsols/singular5_snowflake.sql b/tests/test_sql_refsols/singular5_snowflake.sql index 7462dfc62..d9a4c9f6b 100644 --- a/tests/test_sql_refsols/singular5_snowflake.sql +++ b/tests/test_sql_refsols/singular5_snowflake.sql @@ -16,7 +16,10 @@ WITH _t3 AS ( AND lineitem.l_shipmode = 'RAIL' AND lineitem.l_tax = 0 QUALIFY - ROW_NUMBER() OVER (PARTITION BY _t7.p_container ORDER BY lineitem.l_extendedprice DESC, lineitem.l_shipdate) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _t7.p_container + ORDER BY lineitem.l_extendedprice DESC, lineitem.l_shipdate + ) = 1 ), _s3 AS ( SELECT p_partkey, diff --git a/tests/test_sql_refsols/singular5_sqlite.sql b/tests/test_sql_refsols/singular5_sqlite.sql index d0922d876..9c3008970 100644 --- a/tests/test_sql_refsols/singular5_sqlite.sql +++ b/tests/test_sql_refsols/singular5_sqlite.sql @@ -10,7 +10,10 @@ WITH _t3 AS ( SELECT lineitem.l_shipdate, _t7.p_partkey, - ROW_NUMBER() OVER (PARTITION BY _t7.p_container ORDER BY lineitem.l_extendedprice DESC, lineitem.l_shipdate) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _t7.p_container + ORDER BY lineitem.l_extendedprice DESC, lineitem.l_shipdate + ) AS _w FROM _t3 AS _t7 JOIN tpch.lineitem AS lineitem ON _t7.p_partkey = lineitem.l_partkey diff --git a/tests/test_sql_refsols/singular5_trino.sql b/tests/test_sql_refsols/singular5_trino.sql index 88e1ba1dc..852a1e720 100644 --- a/tests/test_sql_refsols/singular5_trino.sql +++ b/tests/test_sql_refsols/singular5_trino.sql @@ -10,7 +10,10 @@ WITH _t3 AS ( SELECT lineitem.l_shipdate, _t7.p_partkey, - ROW_NUMBER() OVER (PARTITION BY _t7.p_container ORDER BY lineitem.l_extendedprice DESC NULLS FIRST, lineitem.l_shipdate) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _t7.p_container + ORDER BY lineitem.l_extendedprice DESC NULLS FIRST, lineitem.l_shipdate + ) AS _w FROM _t3 AS _t7 JOIN tpch.lineitem AS lineitem ON _t7.p_partkey = lineitem.l_partkey diff --git a/tests/test_sql_refsols/singular6_ansi.sql b/tests/test_sql_refsols/singular6_ansi.sql index 0ae48714e..012ed00fa 100644 --- a/tests/test_sql_refsols/singular6_ansi.sql +++ b/tests/test_sql_refsols/singular6_ansi.sql @@ -9,9 +9,12 @@ WITH _t2 AS ( WHERE orders.o_clerk = 'Clerk#000000017' QUALIFY - ROW_NUMBER() OVER (PARTITION BY orders.o_custkey ORDER BY lineitem.l_receiptdate NULLS LAST, lineitem.l_extendedprice * ( - 1 - lineitem.l_discount - ) DESC NULLS FIRST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY orders.o_custkey + ORDER BY lineitem.l_receiptdate NULLS LAST, lineitem.l_extendedprice * ( + 1 - lineitem.l_discount + ) DESC NULLS FIRST + ) = 1 ) SELECT customer.c_name AS name, diff --git a/tests/test_sql_refsols/singular6_databricks.sql b/tests/test_sql_refsols/singular6_databricks.sql index 0ae48714e..012ed00fa 100644 --- a/tests/test_sql_refsols/singular6_databricks.sql +++ b/tests/test_sql_refsols/singular6_databricks.sql @@ -9,9 +9,12 @@ WITH _t2 AS ( WHERE orders.o_clerk = 'Clerk#000000017' QUALIFY - ROW_NUMBER() OVER (PARTITION BY orders.o_custkey ORDER BY lineitem.l_receiptdate NULLS LAST, lineitem.l_extendedprice * ( - 1 - lineitem.l_discount - ) DESC NULLS FIRST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY orders.o_custkey + ORDER BY lineitem.l_receiptdate NULLS LAST, lineitem.l_extendedprice * ( + 1 - lineitem.l_discount + ) DESC NULLS FIRST + ) = 1 ) SELECT customer.c_name AS name, diff --git a/tests/test_sql_refsols/singular6_duckdb.sql b/tests/test_sql_refsols/singular6_duckdb.sql index 7f5ec12ae..4c8323757 100644 --- a/tests/test_sql_refsols/singular6_duckdb.sql +++ b/tests/test_sql_refsols/singular6_duckdb.sql @@ -9,9 +9,12 @@ WITH _t2 AS ( WHERE orders.o_clerk = 'Clerk#000000017' QUALIFY - ROW_NUMBER() OVER (PARTITION BY orders.o_custkey ORDER BY lineitem.l_receiptdate, lineitem.l_extendedprice * ( - 1 - lineitem.l_discount - ) DESC NULLS FIRST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY orders.o_custkey + ORDER BY lineitem.l_receiptdate, lineitem.l_extendedprice * ( + 1 - lineitem.l_discount + ) DESC NULLS FIRST + ) = 1 ) SELECT customer.c_name AS name, diff --git a/tests/test_sql_refsols/singular6_mysql.sql b/tests/test_sql_refsols/singular6_mysql.sql index 0cdce6ab2..f8bc26e49 100644 --- a/tests/test_sql_refsols/singular6_mysql.sql +++ b/tests/test_sql_refsols/singular6_mysql.sql @@ -3,15 +3,18 @@ WITH _t AS ( LINEITEM.l_receiptdate, LINEITEM.l_suppkey, ORDERS.o_custkey, - ROW_NUMBER() OVER (PARTITION BY ORDERS.o_custkey ORDER BY CASE WHEN LINEITEM.l_receiptdate IS NULL THEN 1 ELSE 0 END, LINEITEM.l_receiptdate, CASE - WHEN LINEITEM.l_extendedprice * ( + ROW_NUMBER() OVER ( + PARTITION BY ORDERS.o_custkey + ORDER BY CASE WHEN LINEITEM.l_receiptdate IS NULL THEN 1 ELSE 0 END, LINEITEM.l_receiptdate, CASE + WHEN LINEITEM.l_extendedprice * ( + 1 - LINEITEM.l_discount + ) IS NULL + THEN 1 + ELSE 0 + END DESC, LINEITEM.l_extendedprice * ( 1 - LINEITEM.l_discount - ) IS NULL - THEN 1 - ELSE 0 - END DESC, LINEITEM.l_extendedprice * ( - 1 - LINEITEM.l_discount - ) DESC) AS _w + ) DESC + ) AS _w FROM tpch.ORDERS AS ORDERS JOIN tpch.LINEITEM AS LINEITEM ON LINEITEM.l_orderkey = ORDERS.o_orderkey diff --git a/tests/test_sql_refsols/singular6_oracle.sql b/tests/test_sql_refsols/singular6_oracle.sql index 207c4b677..9aa21c6c1 100644 --- a/tests/test_sql_refsols/singular6_oracle.sql +++ b/tests/test_sql_refsols/singular6_oracle.sql @@ -1,30 +1,33 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - LINEITEM.l_receiptdate AS L_RECEIPTDATE, - LINEITEM.l_suppkey AS L_SUPPKEY, - ORDERS.o_custkey AS O_CUSTKEY, - ROW_NUMBER() OVER (PARTITION BY ORDERS.o_custkey ORDER BY LINEITEM.l_receiptdate, LINEITEM.l_extendedprice * ( - 1 - LINEITEM.l_discount - ) DESC) AS "_W" + LINEITEM.L_RECEIPTDATE, + LINEITEM.L_SUPPKEY, + ORDERS.O_CUSTKEY, + ROW_NUMBER() OVER ( + PARTITION BY ORDERS.O_CUSTKEY + ORDER BY LINEITEM.L_RECEIPTDATE, LINEITEM.L_EXTENDEDPRICE * ( + 1 - LINEITEM.L_DISCOUNT + ) DESC + ) AS "_w" FROM TPCH.ORDERS ORDERS JOIN TPCH.LINEITEM LINEITEM - ON LINEITEM.l_orderkey = ORDERS.o_orderkey + ON LINEITEM.L_ORDERKEY = ORDERS.O_ORDERKEY WHERE - ORDERS.o_clerk = 'Clerk#000000017' + ORDERS.O_CLERK = 'Clerk#000000017' ) SELECT - CUSTOMER.c_name AS name, - "_T".L_RECEIPTDATE AS receipt_date, - NATION.n_name AS nation_name + CUSTOMER.C_NAME AS name, + "_t".L_RECEIPTDATE AS receipt_date, + NATION.N_NAME AS nation_name FROM TPCH.CUSTOMER CUSTOMER -JOIN "_T" "_T" - ON CUSTOMER.c_custkey = "_T".O_CUSTKEY AND "_T"."_W" = 1 +JOIN "_t" "_t" + ON CUSTOMER.C_CUSTKEY = "_t".O_CUSTKEY AND "_t"."_w" = 1 JOIN TPCH.SUPPLIER SUPPLIER - ON SUPPLIER.s_suppkey = "_T".L_SUPPKEY + ON SUPPLIER.S_SUPPKEY = "_t".L_SUPPKEY JOIN TPCH.NATION NATION - ON NATION.n_nationkey = SUPPLIER.s_nationkey + ON NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY WHERE - CUSTOMER.c_nationkey = 4 + CUSTOMER.C_NATIONKEY = 4 ORDER BY 2 NULLS FIRST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/singular6_postgres.sql b/tests/test_sql_refsols/singular6_postgres.sql index 0c86772d0..fa51a1591 100644 --- a/tests/test_sql_refsols/singular6_postgres.sql +++ b/tests/test_sql_refsols/singular6_postgres.sql @@ -3,9 +3,12 @@ WITH _t AS ( lineitem.l_receiptdate, lineitem.l_suppkey, orders.o_custkey, - ROW_NUMBER() OVER (PARTITION BY orders.o_custkey ORDER BY lineitem.l_receiptdate, lineitem.l_extendedprice * ( - 1 - lineitem.l_discount - ) DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY orders.o_custkey + ORDER BY lineitem.l_receiptdate, lineitem.l_extendedprice * ( + 1 - lineitem.l_discount + ) DESC + ) AS _w FROM tpch.orders AS orders JOIN tpch.lineitem AS lineitem ON lineitem.l_orderkey = orders.o_orderkey diff --git a/tests/test_sql_refsols/singular6_snowflake.sql b/tests/test_sql_refsols/singular6_snowflake.sql index d838b2d2f..a8201c524 100644 --- a/tests/test_sql_refsols/singular6_snowflake.sql +++ b/tests/test_sql_refsols/singular6_snowflake.sql @@ -9,9 +9,12 @@ WITH _t2 AS ( WHERE orders.o_clerk = 'Clerk#000000017' QUALIFY - ROW_NUMBER() OVER (PARTITION BY orders.o_custkey ORDER BY lineitem.l_receiptdate, lineitem.l_extendedprice * ( - 1 - lineitem.l_discount - ) DESC) = 1 + ROW_NUMBER() OVER ( + PARTITION BY orders.o_custkey + ORDER BY lineitem.l_receiptdate, lineitem.l_extendedprice * ( + 1 - lineitem.l_discount + ) DESC + ) = 1 ) SELECT customer.c_name AS name, diff --git a/tests/test_sql_refsols/singular6_sqlite.sql b/tests/test_sql_refsols/singular6_sqlite.sql index 24b82aec0..f6fa97832 100644 --- a/tests/test_sql_refsols/singular6_sqlite.sql +++ b/tests/test_sql_refsols/singular6_sqlite.sql @@ -3,9 +3,12 @@ WITH _t AS ( lineitem.l_receiptdate, lineitem.l_suppkey, orders.o_custkey, - ROW_NUMBER() OVER (PARTITION BY orders.o_custkey ORDER BY lineitem.l_receiptdate, lineitem.l_extendedprice * ( - 1 - lineitem.l_discount - ) DESC) AS _w + ROW_NUMBER() OVER ( + PARTITION BY orders.o_custkey + ORDER BY lineitem.l_receiptdate, lineitem.l_extendedprice * ( + 1 - lineitem.l_discount + ) DESC + ) AS _w FROM tpch.orders AS orders JOIN tpch.lineitem AS lineitem ON lineitem.l_orderkey = orders.o_orderkey diff --git a/tests/test_sql_refsols/singular6_trino.sql b/tests/test_sql_refsols/singular6_trino.sql index 56e24ff3c..58dd13488 100644 --- a/tests/test_sql_refsols/singular6_trino.sql +++ b/tests/test_sql_refsols/singular6_trino.sql @@ -3,9 +3,12 @@ WITH _t AS ( lineitem.l_receiptdate, lineitem.l_suppkey, orders.o_custkey, - ROW_NUMBER() OVER (PARTITION BY orders.o_custkey ORDER BY lineitem.l_receiptdate, lineitem.l_extendedprice * ( - 1 - lineitem.l_discount - ) DESC NULLS FIRST) AS _w + ROW_NUMBER() OVER ( + PARTITION BY orders.o_custkey + ORDER BY lineitem.l_receiptdate, lineitem.l_extendedprice * ( + 1 - lineitem.l_discount + ) DESC NULLS FIRST + ) AS _w FROM tpch.orders AS orders JOIN tpch.lineitem AS lineitem ON lineitem.l_orderkey = orders.o_orderkey diff --git a/tests/test_sql_refsols/singular7_ansi.sql b/tests/test_sql_refsols/singular7_ansi.sql index b09b979c2..918dd2300 100644 --- a/tests/test_sql_refsols/singular7_ansi.sql +++ b/tests/test_sql_refsols/singular7_ansi.sql @@ -19,7 +19,10 @@ WITH _s3 AS ( partsupp.ps_partkey, 1 QUALIFY - ROW_NUMBER() OVER (PARTITION BY partsupp.ps_suppkey ORDER BY COUNT(_s3.l_suppkey) DESC NULLS FIRST, ANY_VALUE(part.p_name) NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY partsupp.ps_suppkey + ORDER BY COUNT(_s3.l_suppkey) DESC NULLS FIRST, ANY_VALUE(part.p_name) NULLS LAST + ) = 1 ) SELECT supplier.s_name AS supplier_name, diff --git a/tests/test_sql_refsols/singular7_databricks.sql b/tests/test_sql_refsols/singular7_databricks.sql index 0857cda0d..8ba185985 100644 --- a/tests/test_sql_refsols/singular7_databricks.sql +++ b/tests/test_sql_refsols/singular7_databricks.sql @@ -19,7 +19,10 @@ WITH _s3 AS ( partsupp.ps_partkey, 1 QUALIFY - ROW_NUMBER() OVER (PARTITION BY partsupp.ps_suppkey ORDER BY count_l_suppkey DESC NULLS FIRST, anything_p_name NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY partsupp.ps_suppkey + ORDER BY count_l_suppkey DESC NULLS FIRST, anything_p_name NULLS LAST + ) = 1 ) SELECT supplier.s_name AS supplier_name, diff --git a/tests/test_sql_refsols/singular7_duckdb.sql b/tests/test_sql_refsols/singular7_duckdb.sql index 9ac5702ba..399af991c 100644 --- a/tests/test_sql_refsols/singular7_duckdb.sql +++ b/tests/test_sql_refsols/singular7_duckdb.sql @@ -19,7 +19,10 @@ WITH _s3 AS ( partsupp.ps_partkey, 1 QUALIFY - ROW_NUMBER() OVER (PARTITION BY partsupp.ps_suppkey ORDER BY COUNT(_s3.l_suppkey) DESC NULLS FIRST, ANY_VALUE(part.p_name)) = 1 + ROW_NUMBER() OVER ( + PARTITION BY partsupp.ps_suppkey + ORDER BY COUNT(_s3.l_suppkey) DESC NULLS FIRST, ANY_VALUE(part.p_name) + ) = 1 ) SELECT supplier.s_name AS supplier_name, diff --git a/tests/test_sql_refsols/singular7_mysql.sql b/tests/test_sql_refsols/singular7_mysql.sql index df4aeeffe..630d6f634 100644 --- a/tests/test_sql_refsols/singular7_mysql.sql +++ b/tests/test_sql_refsols/singular7_mysql.sql @@ -23,7 +23,10 @@ WITH _s3 AS ( ps_suppkey, anything_p_name, count_l_suppkey, - ROW_NUMBER() OVER (PARTITION BY ps_suppkey ORDER BY COALESCE(count_l_suppkey, 0) DESC, CASE WHEN anything_p_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, anything_p_name COLLATE utf8mb4_bin) AS _w + ROW_NUMBER() OVER ( + PARTITION BY ps_suppkey + ORDER BY COALESCE(count_l_suppkey, 0) DESC, CASE WHEN anything_p_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, anything_p_name COLLATE utf8mb4_bin + ) AS _w FROM _t4 ), _s5 AS ( SELECT diff --git a/tests/test_sql_refsols/singular7_oracle.sql b/tests/test_sql_refsols/singular7_oracle.sql index 9c3793635..5d7e82277 100644 --- a/tests/test_sql_refsols/singular7_oracle.sql +++ b/tests/test_sql_refsols/singular7_oracle.sql @@ -1,48 +1,51 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - l_partkey AS L_PARTKEY, - l_suppkey AS L_SUPPKEY + L_PARTKEY, + L_SUPPKEY FROM TPCH.LINEITEM WHERE - EXTRACT(YEAR FROM CAST(l_shipdate AS DATE)) = 1994 -), "_T4" AS ( + EXTRACT(YEAR FROM CAST(L_SHIPDATE AS DATE)) = 1994 +), "_t4" AS ( SELECT - PARTSUPP.ps_suppkey AS PS_SUPPKEY, - ANY_VALUE(PART.p_name) AS ANYTHING_P_NAME, - COUNT("_S3".L_SUPPKEY) AS COUNT_L_SUPPKEY + PARTSUPP.PS_SUPPKEY, + ANY_VALUE(PART.P_NAME) AS ANYTHING_P_NAME, + COUNT("_s3".L_SUPPKEY) AS COUNT_L_SUPPKEY FROM TPCH.PARTSUPP PARTSUPP JOIN TPCH.PART PART - ON PART.p_brand = 'Brand#13' AND PART.p_partkey = PARTSUPP.ps_partkey - LEFT JOIN "_S3" "_S3" - ON PARTSUPP.ps_partkey = "_S3".L_PARTKEY AND PARTSUPP.ps_suppkey = "_S3".L_SUPPKEY + ON PART.P_BRAND = 'Brand#13' AND PART.P_PARTKEY = PARTSUPP.PS_PARTKEY + LEFT JOIN "_s3" "_s3" + ON PARTSUPP.PS_PARTKEY = "_s3".L_PARTKEY AND PARTSUPP.PS_SUPPKEY = "_s3".L_SUPPKEY GROUP BY - PARTSUPP.ps_partkey, - PARTSUPP.ps_suppkey -), "_T" AS ( + PARTSUPP.PS_PARTKEY, + PARTSUPP.PS_SUPPKEY +), "_t" AS ( SELECT PS_SUPPKEY, ANYTHING_P_NAME, COUNT_L_SUPPKEY, - ROW_NUMBER() OVER (PARTITION BY PS_SUPPKEY ORDER BY COALESCE(COUNT_L_SUPPKEY, 0) DESC, ANYTHING_P_NAME) AS "_W" - FROM "_T4" -), "_S5" AS ( + ROW_NUMBER() OVER ( + PARTITION BY PS_SUPPKEY + ORDER BY COALESCE(COUNT_L_SUPPKEY, 0) DESC, ANYTHING_P_NAME + ) AS "_w" + FROM "_t4" +), "_s5" AS ( SELECT COALESCE(COUNT_L_SUPPKEY, 0) AS N_ORDERS, ANYTHING_P_NAME, PS_SUPPKEY - FROM "_T" + FROM "_t" WHERE - "_W" = 1 + "_w" = 1 ) SELECT - SUPPLIER.s_name AS supplier_name, - "_S5".ANYTHING_P_NAME AS part_name, - "_S5".N_ORDERS AS n_orders + SUPPLIER.S_NAME AS supplier_name, + "_s5".ANYTHING_P_NAME AS part_name, + "_s5".N_ORDERS AS n_orders FROM TPCH.SUPPLIER SUPPLIER -LEFT JOIN "_S5" "_S5" - ON SUPPLIER.s_suppkey = "_S5".PS_SUPPKEY +LEFT JOIN "_s5" "_s5" + ON SUPPLIER.S_SUPPKEY = "_s5".PS_SUPPKEY WHERE - SUPPLIER.s_nationkey = 20 + SUPPLIER.S_NATIONKEY = 20 ORDER BY 3 DESC NULLS LAST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/singular7_postgres.sql b/tests/test_sql_refsols/singular7_postgres.sql index 38ce336cd..be8336bd6 100644 --- a/tests/test_sql_refsols/singular7_postgres.sql +++ b/tests/test_sql_refsols/singular7_postgres.sql @@ -8,7 +8,7 @@ WITH _s3 AS ( ), _t4 AS ( SELECT partsupp.ps_suppkey, - MAX(part.p_name) AS anything_p_name, + ANY_VALUE(part.p_name) AS anything_p_name, COUNT(_s3.l_suppkey) AS count_l_suppkey FROM tpch.partsupp AS partsupp JOIN tpch.part AS part @@ -23,7 +23,10 @@ WITH _s3 AS ( ps_suppkey, anything_p_name, count_l_suppkey, - ROW_NUMBER() OVER (PARTITION BY ps_suppkey ORDER BY COALESCE(count_l_suppkey, 0) DESC, anything_p_name) AS _w + ROW_NUMBER() OVER ( + PARTITION BY ps_suppkey + ORDER BY COALESCE(count_l_suppkey, 0) DESC, anything_p_name + ) AS _w FROM _t4 ), _s5 AS ( SELECT diff --git a/tests/test_sql_refsols/singular7_snowflake.sql b/tests/test_sql_refsols/singular7_snowflake.sql index d7e47ff4c..091605cbe 100644 --- a/tests/test_sql_refsols/singular7_snowflake.sql +++ b/tests/test_sql_refsols/singular7_snowflake.sql @@ -19,7 +19,10 @@ WITH _s3 AS ( partsupp.ps_partkey, 1 QUALIFY - ROW_NUMBER() OVER (PARTITION BY partsupp.ps_suppkey ORDER BY COUNT(_s3.l_suppkey) DESC, ANY_VALUE(part.p_name)) = 1 + ROW_NUMBER() OVER ( + PARTITION BY partsupp.ps_suppkey + ORDER BY COUNT(_s3.l_suppkey) DESC, ANY_VALUE(part.p_name) + ) = 1 ) SELECT supplier.s_name AS supplier_name, diff --git a/tests/test_sql_refsols/singular7_sqlite.sql b/tests/test_sql_refsols/singular7_sqlite.sql index 97ecc0007..779cf5015 100644 --- a/tests/test_sql_refsols/singular7_sqlite.sql +++ b/tests/test_sql_refsols/singular7_sqlite.sql @@ -23,7 +23,10 @@ WITH _s3 AS ( ps_suppkey, anything_p_name, count_l_suppkey, - ROW_NUMBER() OVER (PARTITION BY ps_suppkey ORDER BY COALESCE(count_l_suppkey, 0) DESC, anything_p_name) AS _w + ROW_NUMBER() OVER ( + PARTITION BY ps_suppkey + ORDER BY COALESCE(count_l_suppkey, 0) DESC, anything_p_name + ) AS _w FROM _t4 ), _s5 AS ( SELECT diff --git a/tests/test_sql_refsols/singular7_trino.sql b/tests/test_sql_refsols/singular7_trino.sql index 399b90863..13fccf96f 100644 --- a/tests/test_sql_refsols/singular7_trino.sql +++ b/tests/test_sql_refsols/singular7_trino.sql @@ -23,7 +23,10 @@ WITH _s3 AS ( ps_suppkey, anything_p_name, count_l_suppkey, - ROW_NUMBER() OVER (PARTITION BY ps_suppkey ORDER BY COALESCE(count_l_suppkey, 0) DESC NULLS FIRST, anything_p_name) AS _w + ROW_NUMBER() OVER ( + PARTITION BY ps_suppkey + ORDER BY COALESCE(count_l_suppkey, 0) DESC NULLS FIRST, anything_p_name + ) AS _w FROM _t4 ), _s5 AS ( SELECT diff --git a/tests/test_sql_refsols/smoke_a_databricks.sql b/tests/test_sql_refsols/smoke_a_databricks.sql index 6b5a435dc..2a0521ec1 100644 --- a/tests/test_sql_refsols/smoke_a_databricks.sql +++ b/tests/test_sql_refsols/smoke_a_databricks.sql @@ -1,17 +1,16 @@ SELECT p_partkey AS key, - CAST(CAST(CONCAT_WS( - '', - SUBSTRING( + CAST(CAST(CASE + WHEN SUBSTRING(p_brand, 8) IS NULL + OR SUBSTRING( p_brand, CASE WHEN ( LENGTH(p_brand) + -1 ) < 1 THEN 1 ELSE ( LENGTH(p_brand) + -1 ) END - ), - SUBSTRING(p_brand, 8), - SUBSTRING( + ) IS NULL + OR SUBSTRING( p_brand, CASE WHEN ( LENGTH(p_brand) + -1 @@ -31,8 +30,42 @@ SELECT LENGTH(p_brand) + -1 ) END END + ) IS NULL + THEN NULL + ELSE CONCAT_WS( + '', + SUBSTRING( + p_brand, + CASE WHEN ( + LENGTH(p_brand) + -1 + ) < 1 THEN 1 ELSE ( + LENGTH(p_brand) + -1 + ) END + ), + SUBSTRING(p_brand, 8), + SUBSTRING( + p_brand, + CASE WHEN ( + LENGTH(p_brand) + -1 + ) < 1 THEN 1 ELSE ( + LENGTH(p_brand) + -1 + ) END, + CASE + WHEN ( + LENGTH(p_brand) + 0 + ) < 1 + THEN 0 + ELSE ( + LENGTH(p_brand) + 0 + ) - CASE WHEN ( + LENGTH(p_brand) + -1 + ) < 1 THEN 1 ELSE ( + LENGTH(p_brand) + -1 + ) END + END + ) ) - ) AS DOUBLE) AS BIGINT) AS a, + END AS DOUBLE) AS BIGINT) AS a, UPPER(LEAST(SPLIT_PART(p_name, ' ', 2), SPLIT_PART(p_name, ' ', -1))) AS b, TRIM('o' FROM SUBSTRING(p_name, 1, 2)) AS c, LPAD(CAST(p_size AS STRING), 3, '0') AS d, diff --git a/tests/test_sql_refsols/smoke_a_duckdb.sql b/tests/test_sql_refsols/smoke_a_duckdb.sql index 02b12aaf6..03bde2d82 100644 --- a/tests/test_sql_refsols/smoke_a_duckdb.sql +++ b/tests/test_sql_refsols/smoke_a_duckdb.sql @@ -1,18 +1,17 @@ SELECT p_partkey AS key, CAST(TRUNC( - CAST(CONCAT_WS( - '', - SUBSTRING( + CAST(CASE + WHEN SUBSTRING(p_brand, 8) IS NULL + OR SUBSTRING( p_brand, CASE WHEN ( LENGTH(p_brand) + -1 ) < 1 THEN 1 ELSE ( LENGTH(p_brand) + -1 ) END - ), - SUBSTRING(p_brand, 8), - SUBSTRING( + ) IS NULL + OR SUBSTRING( p_brand, CASE WHEN ( LENGTH(p_brand) + -1 @@ -32,8 +31,42 @@ SELECT LENGTH(p_brand) + -1 ) END END + ) IS NULL + THEN NULL + ELSE CONCAT_WS( + '', + SUBSTRING( + p_brand, + CASE WHEN ( + LENGTH(p_brand) + -1 + ) < 1 THEN 1 ELSE ( + LENGTH(p_brand) + -1 + ) END + ), + SUBSTRING(p_brand, 8), + SUBSTRING( + p_brand, + CASE WHEN ( + LENGTH(p_brand) + -1 + ) < 1 THEN 1 ELSE ( + LENGTH(p_brand) + -1 + ) END, + CASE + WHEN ( + LENGTH(p_brand) + 0 + ) < 1 + THEN 0 + ELSE ( + LENGTH(p_brand) + 0 + ) - CASE WHEN ( + LENGTH(p_brand) + -1 + ) < 1 THEN 1 ELSE ( + LENGTH(p_brand) + -1 + ) END + END + ) ) - ) AS DOUBLE) + END AS DOUBLE) ) AS BIGINT) AS a, UPPER( CASE @@ -47,9 +80,9 @@ SELECT CASE WHEN LENGTH(CAST(p_size AS TEXT)) >= 3 THEN SUBSTRING(CAST(p_size AS TEXT), 1, 3) - ELSE SUBSTRING(CONCAT('000', CAST(p_size AS TEXT)), -3) + ELSE SUBSTRING('000' || CAST(p_size AS TEXT), -3) END AS d, - SUBSTRING(CONCAT(CAST(p_size AS TEXT), '000'), 1, 3) AS e, + SUBSTRING(CAST(p_size AS TEXT) || '000', 1, 3) AS e, REPLACE(p_mfgr, 'Manufacturer#', 'm') AS f, REPLACE(LOWER(p_container), ' ', '') AS g, CAST(( diff --git a/tests/test_sql_refsols/smoke_a_oracle.sql b/tests/test_sql_refsols/smoke_a_oracle.sql index 7c8ef0c09..368de10e5 100644 --- a/tests/test_sql_refsols/smoke_a_oracle.sql +++ b/tests/test_sql_refsols/smoke_a_oracle.sql @@ -1,30 +1,30 @@ SELECT - p_partkey AS "key", + P_PARTKEY AS "key", TRUNC( - CAST(NVL(SUBSTR(p_brand, CASE WHEN ABS(-2) < LENGTH(p_brand) THEN -2 ELSE 1 END), '') || '' || NVL(SUBSTR(p_brand, 8), '') || '' || NVL( + CAST(NVL(SUBSTR(P_BRAND, CASE WHEN ABS(-2) < LENGTH(P_BRAND) THEN -2 ELSE 1 END), '') || '' || NVL(SUBSTR(P_BRAND, 8), '') || '' || NVL( SUBSTR( - p_brand, - CASE WHEN ABS(-2) < LENGTH(p_brand) THEN -2 ELSE 1 END, + P_BRAND, + CASE WHEN ABS(-2) < LENGTH(P_BRAND) THEN -2 ELSE 1 END, CASE - WHEN ABS(-2) > LENGTH(p_brand) - THEN LENGTH(p_brand) + -1 + WHEN ABS(-2) > LENGTH(P_BRAND) + THEN LENGTH(P_BRAND) + -1 ELSE GREATEST(1, 0) END ), '' ) AS DOUBLE PRECISION), - '0' + 0 ) AS a, UPPER( LEAST( NVL( REGEXP_SUBSTR( - p_name, + P_NAME, '(.*?)(' || REGEXP_REPLACE(' ', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(p_name) - LENGTH(REPLACE(p_name, ' ')) + LENGTH(P_NAME) - LENGTH(REPLACE(P_NAME, ' ')) ) >= 1 THEN 2 ELSE NULL @@ -32,51 +32,51 @@ SELECT NULL, 1 ), - CHR(0) + CHR( 0) ), NVL( REGEXP_SUBSTR( - p_name, + P_NAME, '(.*?)(' || REGEXP_REPLACE(' ', '([][(){}.*+?^$|\#-])', '\\\1') || '|$)', 1, CASE WHEN ( - LENGTH(p_name) - LENGTH(REPLACE(p_name, ' ')) + LENGTH(P_NAME) - LENGTH(REPLACE(P_NAME, ' ')) ) + 1 >= ( - LENGTH(p_name) - LENGTH(REPLACE(p_name, ' ')) + LENGTH(P_NAME) - LENGTH(REPLACE(P_NAME, ' ')) ) + 1 AND ( - LENGTH(p_name) - LENGTH(REPLACE(p_name, ' ')) + LENGTH(P_NAME) - LENGTH(REPLACE(P_NAME, ' ')) ) >= 0 THEN ( - LENGTH(p_name) - LENGTH(REPLACE(p_name, ' ')) + LENGTH(P_NAME) - LENGTH(REPLACE(P_NAME, ' ')) ) + 1 ELSE NULL END, NULL, 1 ), - CHR(0) + CHR( 0) ) ) ) AS b, - RTRIM(LTRIM(SUBSTR(p_name, 1, 2), 'o'), 'o') AS c, - LPAD(TO_CHAR(p_size), 3, '0') AS d, - RPAD(TO_CHAR(p_size), 3, '0') AS e, - REPLACE(p_mfgr, 'Manufacturer#', 'm') AS f, - REPLACE(LOWER(p_container), ' ', '') AS g, + RTRIM(LTRIM(SUBSTR(P_NAME, 1, 2), 'o'), 'o') AS c, + LPAD(TO_CHAR(P_SIZE), 3, '0') AS d, + RPAD(TO_CHAR(P_SIZE), 3, '0') AS e, + REPLACE(P_MFGR, 'Manufacturer#', 'm') AS f, + REPLACE(LOWER(P_CONTAINER), ' ', '') AS g, CASE - WHEN LENGTH(p_name) = 0 OR LENGTH(p_name) IS NULL + WHEN LENGTH(P_NAME) = 0 OR LENGTH(P_NAME) IS NULL THEN 0 ELSE CAST(( - LENGTH(p_name) - NVL(LENGTH(REPLACE(p_name, 'o', '')), 0) + LENGTH(P_NAME) - NVL(LENGTH(REPLACE(P_NAME, 'o', '')), 0) ) AS INT) END + ( ( - INSTR(p_name, 'o') - 1 + INSTR(P_NAME, 'o') - 1 ) / 100.0 ) AS h, - ROUND(POWER(GREATEST(p_size, 10), 0.5), 3) AS i + ROUND(POWER(GREATEST(P_SIZE, 10), 0.5), 3) AS i FROM TPCH.PART ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/smoke_a_postgres.sql b/tests/test_sql_refsols/smoke_a_postgres.sql index c9077fd79..200b3d6f3 100644 --- a/tests/test_sql_refsols/smoke_a_postgres.sql +++ b/tests/test_sql_refsols/smoke_a_postgres.sql @@ -1,11 +1,17 @@ SELECT p_partkey AS key, - CAST(CONCAT_WS( - '', - SUBSTRING(p_brand FROM GREATEST(LENGTH(p_brand) + -1, 1)), - SUBSTRING(p_brand FROM 8), - SUBSTRING(p_brand FROM GREATEST(LENGTH(p_brand) + -1, 1) FOR GREATEST(LENGTH(p_brand) + -1 - GREATEST(LENGTH(p_brand) + -2, 0), 0)) - ) AS INT) AS a, + CAST(CASE + WHEN SUBSTRING(p_brand FROM 8) IS NULL + OR SUBSTRING(p_brand FROM GREATEST(LENGTH(p_brand) + -1, 1)) IS NULL + OR SUBSTRING(p_brand FROM GREATEST(LENGTH(p_brand) + -1, 1) FOR GREATEST(LENGTH(p_brand) + -1 - GREATEST(LENGTH(p_brand) + -2, 0), 0)) IS NULL + THEN NULL + ELSE CONCAT_WS( + '', + SUBSTRING(p_brand FROM GREATEST(LENGTH(p_brand) + -1, 1)), + SUBSTRING(p_brand FROM 8), + SUBSTRING(p_brand FROM GREATEST(LENGTH(p_brand) + -1, 1) FOR GREATEST(LENGTH(p_brand) + -1 - GREATEST(LENGTH(p_brand) + -2, 0), 0)) + ) + END AS INT) AS a, UPPER(LEAST(SPLIT_PART(p_name, ' ', 2), SPLIT_PART(p_name, ' ', -1))) AS b, TRIM('o' FROM SUBSTRING(p_name FROM 1 FOR 2)) AS c, LPAD(CAST(p_size AS TEXT), 3, '0') AS d, @@ -19,7 +25,7 @@ SELECT POSITION('o' IN p_name) - 1 ) AS DOUBLE PRECISION) / 100.0 ) AS h, - ROUND(CAST(GREATEST(p_size, 10) ^ 0.5 AS DECIMAL), 3) AS i + ROUND(CAST(POWER(GREATEST(p_size, 10), 0.5) AS DECIMAL), 3) AS i FROM tpch.part ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/smoke_a_snowflake.sql b/tests/test_sql_refsols/smoke_a_snowflake.sql index 5f0c325db..fbc325809 100644 --- a/tests/test_sql_refsols/smoke_a_snowflake.sql +++ b/tests/test_sql_refsols/smoke_a_snowflake.sql @@ -35,8 +35,8 @@ SELECT ) AS BIGINT) AS a, UPPER(LEAST(SPLIT_PART(p_name, ' ', 2), SPLIT_PART(p_name, ' ', -1))) AS b, TRIM(SUBSTRING(p_name, 1, 2), 'o') AS c, - LPAD(CAST(p_size AS TEXT), 3, '0') AS d, - RPAD(CAST(p_size AS TEXT), 3, '0') AS e, + LPAD(CAST(p_size AS VARCHAR), 3, '0') AS d, + RPAD(CAST(p_size AS VARCHAR), 3, '0') AS e, REPLACE(p_mfgr, 'Manufacturer#', 'm') AS f, REPLACE(LOWER(p_container), ' ', '') AS g, CAST(( diff --git a/tests/test_sql_refsols/smoke_a_trino.sql b/tests/test_sql_refsols/smoke_a_trino.sql index 43a01f24a..dcb91c784 100644 --- a/tests/test_sql_refsols/smoke_a_trino.sql +++ b/tests/test_sql_refsols/smoke_a_trino.sql @@ -1,17 +1,16 @@ SELECT p_partkey AS key, - CAST(CAST(CONCAT_WS( - '', - SUBSTRING( + CAST(CAST(CASE + WHEN SUBSTR(p_brand, 8) IS NULL + OR SUBSTR( p_brand, CASE WHEN ( LENGTH(p_brand) + -1 ) < 1 THEN 1 ELSE ( LENGTH(p_brand) + -1 ) END - ), - SUBSTRING(p_brand, 8), - SUBSTRING( + ) IS NULL + OR SUBSTR( p_brand, CASE WHEN ( LENGTH(p_brand) + -1 @@ -31,8 +30,42 @@ SELECT LENGTH(p_brand) + -1 ) END END + ) IS NULL + THEN NULL + ELSE CONCAT_WS( + '', + SUBSTR( + p_brand, + CASE WHEN ( + LENGTH(p_brand) + -1 + ) < 1 THEN 1 ELSE ( + LENGTH(p_brand) + -1 + ) END + ), + SUBSTR(p_brand, 8), + SUBSTR( + p_brand, + CASE WHEN ( + LENGTH(p_brand) + -1 + ) < 1 THEN 1 ELSE ( + LENGTH(p_brand) + -1 + ) END, + CASE + WHEN ( + LENGTH(p_brand) + 0 + ) < 1 + THEN 0 + ELSE ( + LENGTH(p_brand) + 0 + ) - CASE WHEN ( + LENGTH(p_brand) + -1 + ) < 1 THEN 1 ELSE ( + LENGTH(p_brand) + -1 + ) END + END + ) ) - ) AS DOUBLE) AS BIGINT) AS a, + END AS DOUBLE) AS BIGINT) AS a, UPPER( LEAST( CASE @@ -67,7 +100,7 @@ SELECT END ) ) AS b, - TRIM('o' FROM SUBSTRING(p_name, 1, 2)) AS c, + TRIM('o' FROM SUBSTR(p_name, 1, 2)) AS c, LPAD(CAST(p_size AS VARCHAR), 3, '0') AS d, RPAD(CAST(p_size AS VARCHAR), 3, '0') AS e, REPLACE(p_mfgr, 'Manufacturer#', 'm') AS f, diff --git a/tests/test_sql_refsols/smoke_b_databricks.sql b/tests/test_sql_refsols/smoke_b_databricks.sql index fe77a4514..931d840d3 100644 --- a/tests/test_sql_refsols/smoke_b_databricks.sql +++ b/tests/test_sql_refsols/smoke_b_databricks.sql @@ -1,69 +1,95 @@ SELECT o_orderkey AS key, - CONCAT_WS( - '_', - EXTRACT(YEAR FROM CAST(o_orderdate AS TIMESTAMP)), - EXTRACT(QUARTER FROM CAST(o_orderdate AS TIMESTAMP)), - EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)), - EXTRACT(DAY FROM CAST(o_orderdate AS TIMESTAMP)) - ) AS a, - CONCAT_WS( - ':', - CASE - WHEN DAYOFWEEK(TO_DATE(o_orderdate)) = 1 + CASE + WHEN EXTRACT(DAY FROM CAST(o_orderdate AS TIMESTAMP)) IS NULL + OR EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)) IS NULL + OR EXTRACT(QUARTER FROM CAST(o_orderdate AS TIMESTAMP)) IS NULL + OR EXTRACT(YEAR FROM CAST(o_orderdate AS TIMESTAMP)) IS NULL + THEN NULL + ELSE CONCAT_WS( + '_', + EXTRACT(YEAR FROM CAST(o_orderdate AS TIMESTAMP)), + EXTRACT(QUARTER FROM CAST(o_orderdate AS TIMESTAMP)), + EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)), + EXTRACT(DAY FROM CAST(o_orderdate AS TIMESTAMP)) + ) + END AS a, + CASE + WHEN ( + ( + DAYOFWEEK(o_orderdate) + -1 + ) % 7 + ) IS NULL + OR CASE + WHEN DAYOFWEEK(o_orderdate) = 1 THEN 'Sunday' - WHEN DAYOFWEEK(TO_DATE(o_orderdate)) = 2 + WHEN DAYOFWEEK(o_orderdate) = 2 THEN 'Monday' - WHEN DAYOFWEEK(TO_DATE(o_orderdate)) = 3 + WHEN DAYOFWEEK(o_orderdate) = 3 THEN 'Tuesday' - WHEN DAYOFWEEK(TO_DATE(o_orderdate)) = 4 + WHEN DAYOFWEEK(o_orderdate) = 4 THEN 'Wednesday' - WHEN DAYOFWEEK(TO_DATE(o_orderdate)) = 5 + WHEN DAYOFWEEK(o_orderdate) = 5 THEN 'Thursday' - WHEN DAYOFWEEK(TO_DATE(o_orderdate)) = 6 + WHEN DAYOFWEEK(o_orderdate) = 6 THEN 'Friday' - WHEN DAYOFWEEK(TO_DATE(o_orderdate)) = 7 + WHEN DAYOFWEEK(o_orderdate) = 7 THEN 'Saturday' - END, - ( + END IS NULL + THEN NULL + ELSE CONCAT_WS( + ':', + CASE + WHEN DAYOFWEEK(o_orderdate) = 1 + THEN 'Sunday' + WHEN DAYOFWEEK(o_orderdate) = 2 + THEN 'Monday' + WHEN DAYOFWEEK(o_orderdate) = 3 + THEN 'Tuesday' + WHEN DAYOFWEEK(o_orderdate) = 4 + THEN 'Wednesday' + WHEN DAYOFWEEK(o_orderdate) = 5 + THEN 'Thursday' + WHEN DAYOFWEEK(o_orderdate) = 6 + THEN 'Friday' + WHEN DAYOFWEEK(o_orderdate) = 7 + THEN 'Saturday' + END, ( - DAYOFWEEK(TO_DATE(o_orderdate)) + -1 - ) % 7 + ( + DAYOFWEEK(o_orderdate) + -1 + ) % 7 + ) ) - ) AS b, - DATEADD(DAY, -13, DATEADD(MONTH, 6, TRUNC(CAST(o_orderdate AS TIMESTAMP), 'YEAR'))) AS c, - DATEADD(YEAR, 1, TRUNC(CAST(o_orderdate AS TIMESTAMP), 'QUARTER')) + INTERVAL '25' HOUR AS d, + END AS b, + DATE_ADD(DATE_ADD(MONTH, 6, TRUNC(CAST(o_orderdate AS TIMESTAMP), 'YEAR')), -13) AS c, + DATE_ADD(YEAR, 1, TRUNC(CAST(o_orderdate AS TIMESTAMP), 'QUARTER')) + INTERVAL '25' HOUR AS d, CAST('2025-01-01 12:35:00' AS TIMESTAMP) AS e, CAST('2025-07-22 12:00:00' AS TIMESTAMP) AS f, CAST('2025-01-01' AS DATE) AS g, CONCAT_WS(';', 12, 20, 6) AS h, - YEAR(TO_DATE(o_orderdate)) - YEAR(TO_DATE(CAST('1993-05-25 12:45:36' AS TIMESTAMP))) AS i, + YEAR(o_orderdate) - YEAR(CAST('1993-05-25 12:45:36' AS TIMESTAMP)) AS i, ( - YEAR(TO_DATE(o_orderdate)) - YEAR(TO_DATE(CAST('1993-05-25 12:45:36' AS TIMESTAMP))) + YEAR(o_orderdate) - YEAR(CAST('1993-05-25 12:45:36' AS TIMESTAMP)) ) * 4 + QUARTER(o_orderdate) - QUARTER(CAST('1993-05-25 12:45:36' AS TIMESTAMP)) AS j, ( - YEAR(TO_DATE(o_orderdate)) - YEAR(TO_DATE(CAST('1993-05-25 12:45:36' AS TIMESTAMP))) - ) * 12 + MONTH(TO_DATE(o_orderdate)) - MONTH(TO_DATE(CAST('1993-05-25 12:45:36' AS TIMESTAMP))) AS k, + YEAR(o_orderdate) - YEAR(CAST('1993-05-25 12:45:36' AS TIMESTAMP)) + ) * 12 + MONTH(o_orderdate) - MONTH(CAST('1993-05-25 12:45:36' AS TIMESTAMP)) AS k, CAST(DATEDIFF( DAY, - DATEADD( - DAY, + DATE_ADD( + CAST(CAST('1993-05-25 12:45:36' AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST('1993-05-25 12:45:36' AS TIMESTAMP))) + -1 + DAYOFWEEK(CAST('1993-05-25 12:45:36' AS TIMESTAMP)) + -1 ) % 7 - ), - CAST(CAST('1993-05-25 12:45:36' AS TIMESTAMP) AS DATE) + ) ), - DATEADD( - DAY, - -( - ( - DAYOFWEEK(TO_DATE(o_orderdate)) + -1 - ) % 7 - ), - CAST(o_orderdate AS DATE) - ) + DATE_ADD(CAST(o_orderdate AS DATE), -( + ( + DAYOFWEEK(o_orderdate) + -1 + ) % 7 + )) ) / 7 AS BIGINT) AS l, DATEDIFF( DAY, @@ -91,21 +117,26 @@ SELECT ) * 24 + EXTRACT(HOUR FROM CAST(o_orderdate AS TIMESTAMP)) - EXTRACT(HOUR FROM CAST('1993-05-25 12:45:36' AS TIMESTAMP)) ) * 60 + EXTRACT(MINUTE FROM CAST(o_orderdate AS TIMESTAMP)) - EXTRACT(MINUTE FROM CAST('1993-05-25 12:45:36' AS TIMESTAMP)) ) * 60 + EXTRACT(SECOND FROM CAST(o_orderdate AS TIMESTAMP)) - EXTRACT(SECOND FROM CAST('1993-05-25 12:45:36' AS TIMESTAMP)) AS p, - DATEADD( - DAY, + DATE_ADD( + CAST(CAST(o_orderdate AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST(o_orderdate AS TIMESTAMP))) + -1 + DAYOFWEEK(CAST(o_orderdate AS TIMESTAMP)) + -1 ) % 7 - ), - CAST(CAST(o_orderdate AS TIMESTAMP) AS DATE) + ) ) AS q, - CONCAT_WS( - ':', - MONTHNAME(o_orderdate), - MONTHNAME(DATEADD(MONTH, 3, CAST(o_orderdate AS TIMESTAMP))), - MONTHNAME(ADD_MONTHS(CAST(o_orderdate AS TIMESTAMP), -2)) - ) AS r + CASE + WHEN MONTHNAME(ADD_MONTHS(CAST(o_orderdate AS TIMESTAMP), -2)) IS NULL + OR MONTHNAME(DATE_ADD(MONTH, 3, CAST(o_orderdate AS TIMESTAMP))) IS NULL + OR MONTHNAME(o_orderdate) IS NULL + THEN NULL + ELSE CONCAT_WS( + ':', + MONTHNAME(o_orderdate), + MONTHNAME(DATE_ADD(MONTH, 3, CAST(o_orderdate AS TIMESTAMP))), + MONTHNAME(ADD_MONTHS(CAST(o_orderdate AS TIMESTAMP), -2)) + ) + END AS r FROM tpch.orders WHERE CONTAINS(o_comment, 'fo') diff --git a/tests/test_sql_refsols/smoke_b_duckdb.sql b/tests/test_sql_refsols/smoke_b_duckdb.sql index 4f037b606..e24dde74b 100644 --- a/tests/test_sql_refsols/smoke_b_duckdb.sql +++ b/tests/test_sql_refsols/smoke_b_duckdb.sql @@ -1,15 +1,21 @@ SELECT o_orderkey AS key, - CONCAT_WS( - '_', - EXTRACT(YEAR FROM CAST(o_orderdate AS TIMESTAMP)), - EXTRACT(QUARTER FROM CAST(o_orderdate AS TIMESTAMP)), - EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)), - EXTRACT(DAY FROM CAST(o_orderdate AS TIMESTAMP)) - ) AS a, - CONCAT_WS( - ':', - CASE + CASE + WHEN EXTRACT(DAY FROM CAST(o_orderdate AS TIMESTAMP)) IS NULL + OR EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)) IS NULL + OR EXTRACT(QUARTER FROM CAST(o_orderdate AS TIMESTAMP)) IS NULL + OR EXTRACT(YEAR FROM CAST(o_orderdate AS TIMESTAMP)) IS NULL + THEN NULL + ELSE CONCAT_WS( + '_', + EXTRACT(YEAR FROM CAST(o_orderdate AS TIMESTAMP)), + EXTRACT(QUARTER FROM CAST(o_orderdate AS TIMESTAMP)), + EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)), + EXTRACT(DAY FROM CAST(o_orderdate AS TIMESTAMP)) + ) + END AS a, + CASE + WHEN CASE WHEN DAYOFWEEK(o_orderdate) = 0 THEN 'Sunday' WHEN DAYOFWEEK(o_orderdate) = 1 @@ -24,9 +30,30 @@ SELECT THEN 'Friday' WHEN DAYOFWEEK(o_orderdate) = 6 THEN 'Saturday' - END, - DAYOFWEEK(o_orderdate) - ) AS b, + END IS NULL + OR DAYOFWEEK(o_orderdate) IS NULL + THEN NULL + ELSE CONCAT_WS( + ':', + CASE + WHEN DAYOFWEEK(o_orderdate) = 0 + THEN 'Sunday' + WHEN DAYOFWEEK(o_orderdate) = 1 + THEN 'Monday' + WHEN DAYOFWEEK(o_orderdate) = 2 + THEN 'Tuesday' + WHEN DAYOFWEEK(o_orderdate) = 3 + THEN 'Wednesday' + WHEN DAYOFWEEK(o_orderdate) = 4 + THEN 'Thursday' + WHEN DAYOFWEEK(o_orderdate) = 5 + THEN 'Friday' + WHEN DAYOFWEEK(o_orderdate) = 6 + THEN 'Saturday' + END, + DAYOFWEEK(o_orderdate) + ) + END AS b, DATE_TRUNC('YEAR', CAST(o_orderdate AS TIMESTAMP)) + INTERVAL '6' MONTH - INTERVAL '13' DAY AS c, DATE_TRUNC('QUARTER', CAST(o_orderdate AS TIMESTAMP)) + INTERVAL '1' YEAR + INTERVAL '25' HOUR AS d, CAST('2025-01-01 12:35:00' AS TIMESTAMP) AS e, @@ -46,9 +73,8 @@ SELECT DATE_DIFF('MINUTE', CAST('1993-05-25 12:45:36' AS TIMESTAMP), CAST(o_orderdate AS TIMESTAMP)) AS o, DATE_DIFF('SECOND', CAST('1993-05-25 12:45:36' AS TIMESTAMP), CAST(o_orderdate AS TIMESTAMP)) AS p, CAST(CAST(o_orderdate AS TIMESTAMP) AS DATE) - CAST(DAYOFWEEK(CAST(o_orderdate AS TIMESTAMP)) AS INT) AS q, - CONCAT_WS( - ':', - CASE + CASE + WHEN CASE WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)) = 1 THEN 'Jan' WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)) = 2 @@ -72,8 +98,8 @@ SELECT WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)) = 11 THEN 'Nov' ELSE 'Dec' - END, - CASE + END IS NULL + OR CASE WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) + INTERVAL '3' MONTH) = 1 THEN 'Jan' WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) + INTERVAL '3' MONTH) = 2 @@ -97,8 +123,8 @@ SELECT WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) + INTERVAL '3' MONTH) = 11 THEN 'Nov' ELSE 'Dec' - END, - CASE + END IS NULL + OR CASE WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) - INTERVAL '2' MONTH) = 1 THEN 'Jan' WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) - INTERVAL '2' MONTH) = 2 @@ -122,8 +148,87 @@ SELECT WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) - INTERVAL '2' MONTH) = 11 THEN 'Nov' ELSE 'Dec' - END - ) AS r + END IS NULL + THEN NULL + ELSE CONCAT_WS( + ':', + CASE + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)) = 1 + THEN 'Jan' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)) = 2 + THEN 'Feb' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)) = 3 + THEN 'Mar' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)) = 4 + THEN 'Apr' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)) = 5 + THEN 'May' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)) = 6 + THEN 'Jun' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)) = 7 + THEN 'Jul' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)) = 8 + THEN 'Aug' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)) = 9 + THEN 'Sep' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)) = 10 + THEN 'Oct' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)) = 11 + THEN 'Nov' + ELSE 'Dec' + END, + CASE + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) + INTERVAL '3' MONTH) = 1 + THEN 'Jan' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) + INTERVAL '3' MONTH) = 2 + THEN 'Feb' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) + INTERVAL '3' MONTH) = 3 + THEN 'Mar' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) + INTERVAL '3' MONTH) = 4 + THEN 'Apr' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) + INTERVAL '3' MONTH) = 5 + THEN 'May' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) + INTERVAL '3' MONTH) = 6 + THEN 'Jun' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) + INTERVAL '3' MONTH) = 7 + THEN 'Jul' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) + INTERVAL '3' MONTH) = 8 + THEN 'Aug' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) + INTERVAL '3' MONTH) = 9 + THEN 'Sep' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) + INTERVAL '3' MONTH) = 10 + THEN 'Oct' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) + INTERVAL '3' MONTH) = 11 + THEN 'Nov' + ELSE 'Dec' + END, + CASE + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) - INTERVAL '2' MONTH) = 1 + THEN 'Jan' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) - INTERVAL '2' MONTH) = 2 + THEN 'Feb' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) - INTERVAL '2' MONTH) = 3 + THEN 'Mar' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) - INTERVAL '2' MONTH) = 4 + THEN 'Apr' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) - INTERVAL '2' MONTH) = 5 + THEN 'May' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) - INTERVAL '2' MONTH) = 6 + THEN 'Jun' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) - INTERVAL '2' MONTH) = 7 + THEN 'Jul' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) - INTERVAL '2' MONTH) = 8 + THEN 'Aug' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) - INTERVAL '2' MONTH) = 9 + THEN 'Sep' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) - INTERVAL '2' MONTH) = 10 + THEN 'Oct' + WHEN EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP) - INTERVAL '2' MONTH) = 11 + THEN 'Nov' + ELSE 'Dec' + END + ) + END AS r FROM tpch.orders WHERE o_clerk LIKE '%5' AND o_comment LIKE '%fo%' AND o_orderpriority LIKE '3%' diff --git a/tests/test_sql_refsols/smoke_b_oracle.sql b/tests/test_sql_refsols/smoke_b_oracle.sql index a3c986a27..17efe3878 100644 --- a/tests/test_sql_refsols/smoke_b_oracle.sql +++ b/tests/test_sql_refsols/smoke_b_oracle.sql @@ -1,43 +1,43 @@ SELECT - o_orderkey AS "key", - NVL(EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)), '') || '_' || NVL(FLOOR(( - EXTRACT(MONTH FROM CAST(o_orderdate AS DATE)) - 1 - ) / 3) + 1, '') || '_' || NVL(EXTRACT(MONTH FROM CAST(o_orderdate AS DATE)), '') || '_' || NVL(EXTRACT(DAY FROM CAST(o_orderdate AS DATE)), '') AS a, + O_ORDERKEY AS "key", + NVL(EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)), '') || '_' || NVL(FLOOR(( + EXTRACT(MONTH FROM CAST(O_ORDERDATE AS DATE)) - 1 + ) / 3) + 1, '') || '_' || NVL(EXTRACT(MONTH FROM CAST(O_ORDERDATE AS DATE)), '') || '_' || NVL(EXTRACT(DAY FROM CAST(O_ORDERDATE AS DATE)), '') AS a, NVL( CASE - WHEN TO_CHAR(o_orderdate, 'D') = 1 + WHEN TO_CHAR(O_ORDERDATE, 'D') = 1 THEN 'Sunday' - WHEN TO_CHAR(o_orderdate, 'D') = 2 + WHEN TO_CHAR(O_ORDERDATE, 'D') = 2 THEN 'Monday' - WHEN TO_CHAR(o_orderdate, 'D') = 3 + WHEN TO_CHAR(O_ORDERDATE, 'D') = 3 THEN 'Tuesday' - WHEN TO_CHAR(o_orderdate, 'D') = 4 + WHEN TO_CHAR(O_ORDERDATE, 'D') = 4 THEN 'Wednesday' - WHEN TO_CHAR(o_orderdate, 'D') = 5 + WHEN TO_CHAR(O_ORDERDATE, 'D') = 5 THEN 'Thursday' - WHEN TO_CHAR(o_orderdate, 'D') = 6 + WHEN TO_CHAR(O_ORDERDATE, 'D') = 6 THEN 'Friday' - WHEN TO_CHAR(o_orderdate, 'D') = 7 + WHEN TO_CHAR(O_ORDERDATE, 'D') = 7 THEN 'Saturday' END, '' ) || ':' || NVL(( MOD(( - TO_CHAR(o_orderdate, 'D') + -1 + TO_CHAR(O_ORDERDATE, 'D') + -1 ), 7) ), '') AS b, - ADD_MONTHS(TRUNC(CAST(o_orderdate AS DATE), 'YEAR'), 6) - NUMTODSINTERVAL(13, 'day') AS c, - ADD_MONTHS(TRUNC(CAST(CAST(o_orderdate AS DATE) AS DATE), 'Q'), 12) + NUMTODSINTERVAL(25, 'hour') AS d, + ADD_MONTHS(TRUNC(CAST(O_ORDERDATE AS DATE), 'YEAR'), 6) - NUMTODSINTERVAL(13, 'day') AS c, + ADD_MONTHS(TRUNC(CAST(CAST(O_ORDERDATE AS DATE) AS DATE), 'Q'), 12) + NUMTODSINTERVAL(25, 'hour') AS d, TO_DATE('2025-01-01 12:35:00', 'YYYY-MM-DD HH24:MI:SS') AS e, TO_DATE('2025-07-22 12:00:00', 'YYYY-MM-DD HH24:MI:SS') AS f, TO_DATE('2025-01-01', 'YYYY-MM-DD') AS g, 12 || ';' || 20 || ';' || 6 AS h, - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) - EXTRACT(YEAR FROM TO_DATE('1993-05-25 12:45:36', 'YYYY-MM-DD HH24:MI:SS')) AS i, + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) - EXTRACT(YEAR FROM TO_DATE('1993-05-25 12:45:36', 'YYYY-MM-DD HH24:MI:SS')) AS i, ( - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) - EXTRACT(YEAR FROM TO_DATE('1993-05-25 12:45:36', 'YYYY-MM-DD HH24:MI:SS')) + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) - EXTRACT(YEAR FROM TO_DATE('1993-05-25 12:45:36', 'YYYY-MM-DD HH24:MI:SS')) ) * 4 + ( FLOOR(( - EXTRACT(MONTH FROM CAST(o_orderdate AS DATE)) - 1 + EXTRACT(MONTH FROM CAST(O_ORDERDATE AS DATE)) - 1 ) / 3) - FLOOR( ( EXTRACT(MONTH FROM TO_DATE('1993-05-25 12:45:36', 'YYYY-MM-DD HH24:MI:SS')) - 1 @@ -45,13 +45,13 @@ SELECT ) ) AS j, ( - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) - EXTRACT(YEAR FROM TO_DATE('1993-05-25 12:45:36', 'YYYY-MM-DD HH24:MI:SS')) + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) - EXTRACT(YEAR FROM TO_DATE('1993-05-25 12:45:36', 'YYYY-MM-DD HH24:MI:SS')) ) * 12 + ( - EXTRACT(MONTH FROM CAST(o_orderdate AS DATE)) - EXTRACT(MONTH FROM TO_DATE('1993-05-25 12:45:36', 'YYYY-MM-DD HH24:MI:SS')) + EXTRACT(MONTH FROM CAST(O_ORDERDATE AS DATE)) - EXTRACT(MONTH FROM TO_DATE('1993-05-25 12:45:36', 'YYYY-MM-DD HH24:MI:SS')) ) AS k, FLOOR( ( - TRUNC(CAST(CAST(o_orderdate AS DATE) AS DATE), 'DD') - TRUNC(CAST(TO_DATE('1993-05-25 12:45:36', 'YYYY-MM-DD HH24:MI:SS') AS DATE), 'DD') + ( + TRUNC(CAST(CAST(O_ORDERDATE AS DATE) AS DATE), 'DD') - TRUNC(CAST(TO_DATE('1993-05-25 12:45:36', 'YYYY-MM-DD HH24:MI:SS') AS DATE), 'DD') + ( MOD( ( TO_CHAR(TO_DATE('1993-05-25 12:45:36', 'YYYY-MM-DD HH24:MI:SS'), 'D') + -1 @@ -60,31 +60,31 @@ SELECT ) ) - ( MOD(( - TO_CHAR(CAST(o_orderdate AS DATE), 'D') + -1 + TO_CHAR(CAST(O_ORDERDATE AS DATE), 'D') + -1 ), 7) ) ) / 7 ) AS l, - TRUNC(CAST(CAST(o_orderdate AS DATE) AS DATE), 'DD') - TRUNC(CAST(TO_DATE('1993-05-25 12:45:36', 'YYYY-MM-DD HH24:MI:SS') AS DATE), 'DD') AS m, + TRUNC(CAST(CAST(O_ORDERDATE AS DATE) AS DATE), 'DD') - TRUNC(CAST(TO_DATE('1993-05-25 12:45:36', 'YYYY-MM-DD HH24:MI:SS') AS DATE), 'DD') AS m, ( - TRUNC(CAST(CAST(o_orderdate AS DATE) AS DATE), 'HH24') - TRUNC(CAST(TO_DATE('1993-05-25 12:45:36', 'YYYY-MM-DD HH24:MI:SS') AS DATE), 'HH24') + TRUNC(CAST(CAST(O_ORDERDATE AS DATE) AS DATE), 'HH24') - TRUNC(CAST(TO_DATE('1993-05-25 12:45:36', 'YYYY-MM-DD HH24:MI:SS') AS DATE), 'HH24') ) * 24 AS n, ( - TRUNC(CAST(CAST(o_orderdate AS DATE) AS DATE), 'MI') - TRUNC(CAST(TO_DATE('1993-05-25 12:45:36', 'YYYY-MM-DD HH24:MI:SS') AS DATE), 'MI') + TRUNC(CAST(CAST(O_ORDERDATE AS DATE) AS DATE), 'MI') - TRUNC(CAST(TO_DATE('1993-05-25 12:45:36', 'YYYY-MM-DD HH24:MI:SS') AS DATE), 'MI') ) * 1440 AS o, ( - CAST(o_orderdate AS DATE) - TO_DATE('1993-05-25 12:45:36', 'YYYY-MM-DD HH24:MI:SS') + CAST(O_ORDERDATE AS DATE) - TO_DATE('1993-05-25 12:45:36', 'YYYY-MM-DD HH24:MI:SS') ) * 86400 AS p, TRUNC( - CAST(CAST(o_orderdate AS DATE) - MOD(( - TO_CHAR(CAST(o_orderdate AS DATE), 'D') + -1 + CAST(CAST(O_ORDERDATE AS DATE) - MOD(( + TO_CHAR(CAST(O_ORDERDATE AS DATE), 'D') + -1 ), 7) AS DATE), 'DD' ) AS q, - NVL(TO_CHAR(o_orderdate, 'Mon'), '') || ':' || NVL(TO_CHAR(ADD_MONTHS(CAST(o_orderdate AS DATE), 3), 'Mon'), '') || ':' || NVL(TO_CHAR(ADD_MONTHS(CAST(o_orderdate AS DATE), -2), 'Mon'), '') AS r + NVL(TO_CHAR(O_ORDERDATE, 'Mon'), '') || ':' || NVL(TO_CHAR(ADD_MONTHS(CAST(O_ORDERDATE AS DATE), 3), 'Mon'), '') || ':' || NVL(TO_CHAR(ADD_MONTHS(CAST(O_ORDERDATE AS DATE), -2), 'Mon'), '') AS r FROM TPCH.ORDERS WHERE - o_clerk LIKE '%5' AND o_comment LIKE '%fo%' AND o_orderpriority LIKE '3%' + O_CLERK LIKE '%5' AND O_COMMENT LIKE '%fo%' AND O_ORDERPRIORITY LIKE '3%' ORDER BY 1 NULLS FIRST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/smoke_b_postgres.sql b/tests/test_sql_refsols/smoke_b_postgres.sql index 9daa0c932..4966e1664 100644 --- a/tests/test_sql_refsols/smoke_b_postgres.sql +++ b/tests/test_sql_refsols/smoke_b_postgres.sql @@ -1,15 +1,21 @@ SELECT o_orderkey AS key, - CONCAT_WS( - '_', - EXTRACT(YEAR FROM CAST(o_orderdate AS TIMESTAMP)), - EXTRACT(QUARTER FROM CAST(o_orderdate AS TIMESTAMP)), - EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)), - EXTRACT(DAY FROM CAST(o_orderdate AS TIMESTAMP)) - ) AS a, - CONCAT_WS( - ':', - CASE + CASE + WHEN EXTRACT(DAY FROM CAST(o_orderdate AS TIMESTAMP)) IS NULL + OR EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)) IS NULL + OR EXTRACT(QUARTER FROM CAST(o_orderdate AS TIMESTAMP)) IS NULL + OR EXTRACT(YEAR FROM CAST(o_orderdate AS TIMESTAMP)) IS NULL + THEN NULL + ELSE CONCAT_WS( + '_', + EXTRACT(YEAR FROM CAST(o_orderdate AS TIMESTAMP)), + EXTRACT(QUARTER FROM CAST(o_orderdate AS TIMESTAMP)), + EXTRACT(MONTH FROM CAST(o_orderdate AS TIMESTAMP)), + EXTRACT(DAY FROM CAST(o_orderdate AS TIMESTAMP)) + ) + END AS a, + CASE + WHEN CASE WHEN EXTRACT(DOW FROM CAST(o_orderdate AS TIMESTAMP)) = 0 THEN 'Sunday' WHEN EXTRACT(DOW FROM CAST(o_orderdate AS TIMESTAMP)) = 1 @@ -24,9 +30,30 @@ SELECT THEN 'Friday' WHEN EXTRACT(DOW FROM CAST(o_orderdate AS TIMESTAMP)) = 6 THEN 'Saturday' - END, - EXTRACT(DOW FROM CAST(o_orderdate AS TIMESTAMP)) - ) AS b, + END IS NULL + OR EXTRACT(DOW FROM CAST(o_orderdate AS TIMESTAMP)) IS NULL + THEN NULL + ELSE CONCAT_WS( + ':', + CASE + WHEN EXTRACT(DOW FROM CAST(o_orderdate AS TIMESTAMP)) = 0 + THEN 'Sunday' + WHEN EXTRACT(DOW FROM CAST(o_orderdate AS TIMESTAMP)) = 1 + THEN 'Monday' + WHEN EXTRACT(DOW FROM CAST(o_orderdate AS TIMESTAMP)) = 2 + THEN 'Tuesday' + WHEN EXTRACT(DOW FROM CAST(o_orderdate AS TIMESTAMP)) = 3 + THEN 'Wednesday' + WHEN EXTRACT(DOW FROM CAST(o_orderdate AS TIMESTAMP)) = 4 + THEN 'Thursday' + WHEN EXTRACT(DOW FROM CAST(o_orderdate AS TIMESTAMP)) = 5 + THEN 'Friday' + WHEN EXTRACT(DOW FROM CAST(o_orderdate AS TIMESTAMP)) = 6 + THEN 'Saturday' + END, + EXTRACT(DOW FROM CAST(o_orderdate AS TIMESTAMP)) + ) + END AS b, DATE_TRUNC('YEAR', CAST(o_orderdate AS TIMESTAMP)) + INTERVAL '6 MONTH' - INTERVAL '13 DAY' AS c, DATE_TRUNC('QUARTER', CAST(o_orderdate AS TIMESTAMP)) + INTERVAL '1 YEAR' + INTERVAL '25 HOUR' AS d, CAST('2025-01-01 12:35:00' AS TIMESTAMP) AS e, @@ -61,12 +88,18 @@ SELECT 'DAY', CAST(o_orderdate AS TIMESTAMP) - CAST(EXTRACT(DOW FROM CAST(o_orderdate AS TIMESTAMP)) || ' days' AS INTERVAL) ) AS q, - CONCAT_WS( - ':', - TO_CHAR(o_orderdate, 'Mon'), - TO_CHAR(CAST(o_orderdate AS TIMESTAMP) + INTERVAL '3 MONTH', 'Mon'), - TO_CHAR(CAST(o_orderdate AS TIMESTAMP) - INTERVAL '2 MONTH', 'Mon') - ) AS r + CASE + WHEN TO_CHAR(CAST(o_orderdate AS TIMESTAMP) + INTERVAL '3 MONTH', 'Mon') IS NULL + OR TO_CHAR(CAST(o_orderdate AS TIMESTAMP) - INTERVAL '2 MONTH', 'Mon') IS NULL + OR TO_CHAR(o_orderdate, 'Mon') IS NULL + THEN NULL + ELSE CONCAT_WS( + ':', + TO_CHAR(o_orderdate, 'Mon'), + TO_CHAR(CAST(o_orderdate AS TIMESTAMP) + INTERVAL '3 MONTH', 'Mon'), + TO_CHAR(CAST(o_orderdate AS TIMESTAMP) - INTERVAL '2 MONTH', 'Mon') + ) + END AS r FROM tpch.orders WHERE o_clerk LIKE '%5' AND o_comment LIKE '%fo%' AND o_orderpriority LIKE '3%' diff --git a/tests/test_sql_refsols/smoke_b_trino.sql b/tests/test_sql_refsols/smoke_b_trino.sql index e9a718369..61de43881 100644 --- a/tests/test_sql_refsols/smoke_b_trino.sql +++ b/tests/test_sql_refsols/smoke_b_trino.sql @@ -1,15 +1,21 @@ SELECT o_orderkey AS key, - CONCAT_WS( - '_', - CAST(YEAR(CAST(o_orderdate AS TIMESTAMP)) AS VARCHAR), - CAST(QUARTER(CAST(o_orderdate AS TIMESTAMP)) AS VARCHAR), - CAST(MONTH(CAST(o_orderdate AS TIMESTAMP)) AS VARCHAR), - CAST(DAY(CAST(o_orderdate AS TIMESTAMP)) AS VARCHAR) - ) AS a, - CONCAT_WS( - ':', - CASE + CASE + WHEN CAST(DAY(CAST(o_orderdate AS TIMESTAMP)) AS VARCHAR) IS NULL + OR CAST(MONTH(CAST(o_orderdate AS TIMESTAMP)) AS VARCHAR) IS NULL + OR CAST(QUARTER(CAST(o_orderdate AS TIMESTAMP)) AS VARCHAR) IS NULL + OR CAST(YEAR(CAST(o_orderdate AS TIMESTAMP)) AS VARCHAR) IS NULL + THEN NULL + ELSE CONCAT_WS( + '_', + CAST(YEAR(CAST(o_orderdate AS TIMESTAMP)) AS VARCHAR), + CAST(QUARTER(CAST(o_orderdate AS TIMESTAMP)) AS VARCHAR), + CAST(MONTH(CAST(o_orderdate AS TIMESTAMP)) AS VARCHAR), + CAST(DAY(CAST(o_orderdate AS TIMESTAMP)) AS VARCHAR) + ) + END AS a, + CASE + WHEN CASE WHEN DAY_OF_WEEK(o_orderdate) = 1 THEN 'Monday' WHEN DAY_OF_WEEK(o_orderdate) = 2 @@ -24,13 +30,38 @@ SELECT THEN 'Saturday' WHEN DAY_OF_WEEK(o_orderdate) = 7 THEN 'Sunday' - END, - CAST(( + END IS NULL + OR CAST(( ( DAY_OF_WEEK(o_orderdate) + 0 ) % 7 - ) AS VARCHAR) - ) AS b, + ) AS VARCHAR) IS NULL + THEN NULL + ELSE CONCAT_WS( + ':', + CASE + WHEN DAY_OF_WEEK(o_orderdate) = 1 + THEN 'Monday' + WHEN DAY_OF_WEEK(o_orderdate) = 2 + THEN 'Tuesday' + WHEN DAY_OF_WEEK(o_orderdate) = 3 + THEN 'Wednesday' + WHEN DAY_OF_WEEK(o_orderdate) = 4 + THEN 'Thursday' + WHEN DAY_OF_WEEK(o_orderdate) = 5 + THEN 'Friday' + WHEN DAY_OF_WEEK(o_orderdate) = 6 + THEN 'Saturday' + WHEN DAY_OF_WEEK(o_orderdate) = 7 + THEN 'Sunday' + END, + CAST(( + ( + DAY_OF_WEEK(o_orderdate) + 0 + ) % 7 + ) AS VARCHAR) + ) + END AS b, DATE_ADD('DAY', -13, DATE_ADD('MONTH', 6, DATE_TRUNC('YEAR', CAST(o_orderdate AS TIMESTAMP)))) AS c, DATE_ADD( 'HOUR', @@ -40,7 +71,13 @@ SELECT CAST('2025-01-01 12:35:00' AS TIMESTAMP) AS e, CAST('2025-07-22 12:00:00' AS TIMESTAMP) AS f, CAST('2025-01-01' AS DATE) AS g, - CONCAT_WS(';', CAST(12 AS VARCHAR), CAST(20 AS VARCHAR), CAST(6 AS VARCHAR)) AS h, + CASE + WHEN CAST(12 AS VARCHAR) IS NULL + OR CAST(20 AS VARCHAR) IS NULL + OR CAST(6 AS VARCHAR) IS NULL + THEN NULL + ELSE CONCAT_WS(';', CAST(12 AS VARCHAR), CAST(20 AS VARCHAR), CAST(6 AS VARCHAR)) + END AS h, DATE_DIFF( 'YEAR', CAST(DATE_TRUNC('YEAR', CAST('1993-05-25 12:45:36' AS TIMESTAMP)) AS TIMESTAMP), @@ -103,12 +140,18 @@ SELECT CAST(o_orderdate AS TIMESTAMP) ) ) AS q, - CONCAT_WS( - ':', - FORMAT_DATETIME(CAST(o_orderdate AS TIMESTAMP), 'MMM'), - FORMAT_DATETIME(DATE_ADD('MONTH', 3, CAST(o_orderdate AS TIMESTAMP)), 'MMM'), - FORMAT_DATETIME(DATE_ADD('MONTH', -2, CAST(o_orderdate AS TIMESTAMP)), 'MMM') - ) AS r + CASE + WHEN FORMAT_DATETIME(CAST(o_orderdate AS TIMESTAMP), 'MMM') IS NULL + OR FORMAT_DATETIME(DATE_ADD('MONTH', -2, CAST(o_orderdate AS TIMESTAMP)), 'MMM') IS NULL + OR FORMAT_DATETIME(DATE_ADD('MONTH', 3, CAST(o_orderdate AS TIMESTAMP)), 'MMM') IS NULL + THEN NULL + ELSE CONCAT_WS( + ':', + FORMAT_DATETIME(CAST(o_orderdate AS TIMESTAMP), 'MMM'), + FORMAT_DATETIME(DATE_ADD('MONTH', 3, CAST(o_orderdate AS TIMESTAMP)), 'MMM'), + FORMAT_DATETIME(DATE_ADD('MONTH', -2, CAST(o_orderdate AS TIMESTAMP)), 'MMM') + ) + END AS r FROM tpch.orders WHERE STARTS_WITH(o_orderpriority, '3') AND o_clerk LIKE '%5' AND o_comment LIKE '%fo%' diff --git a/tests/test_sql_refsols/smoke_c_oracle.sql b/tests/test_sql_refsols/smoke_c_oracle.sql index 421ef44ff..735328734 100644 --- a/tests/test_sql_refsols/smoke_c_oracle.sql +++ b/tests/test_sql_refsols/smoke_c_oracle.sql @@ -1,24 +1,24 @@ -WITH "_T1" AS ( +WITH "_t1" AS ( SELECT - c_acctbal AS C_ACCTBAL, - c_mktsegment AS C_MKTSEGMENT, - c_name AS C_NAME, + C_ACCTBAL, + C_MKTSEGMENT, + C_NAME, CASE - WHEN FLOOR(0.8 * COUNT(c_acctbal) OVER ()) < ROW_NUMBER() OVER (ORDER BY c_acctbal DESC NULLS LAST) - THEN c_acctbal + WHEN FLOOR(0.8 * COUNT(C_ACCTBAL) OVER ()) < ROW_NUMBER() OVER (ORDER BY C_ACCTBAL DESC NULLS LAST) + THEN C_ACCTBAL ELSE NULL END AS EXPR_30, CASE WHEN ABS( ( - ROW_NUMBER() OVER (ORDER BY c_acctbal DESC NULLS LAST) - 1.0 + ROW_NUMBER() OVER (ORDER BY C_ACCTBAL DESC NULLS LAST) - 1.0 ) - ( ( - COUNT(c_acctbal) OVER () - 1.0 + COUNT(C_ACCTBAL) OVER () - 1.0 ) / 2.0 ) ) < 1.0 - THEN c_acctbal + THEN C_ACCTBAL ELSE NULL END AS EXPR_31 FROM TPCH.CUSTOMER @@ -56,4 +56,4 @@ SELECT SUM(CASE WHEN C_ACCTBAL > 1000 THEN C_ACCTBAL ELSE NULL END IS NULL) AS p, MAX(EXPR_30) AS q, AVG(EXPR_31) AS r -FROM "_T1" +FROM "_t1" diff --git a/tests/test_sql_refsols/smoke_c_postgres.sql b/tests/test_sql_refsols/smoke_c_postgres.sql index fc91c4c68..0ffd46e63 100644 --- a/tests/test_sql_refsols/smoke_c_postgres.sql +++ b/tests/test_sql_refsols/smoke_c_postgres.sql @@ -6,7 +6,7 @@ SELECT ROUND(CAST(AVG(CAST(ABS(c_acctbal) AS DECIMAL)) AS DECIMAL), 4) AS e, MIN(c_acctbal) AS f, MAX(c_acctbal) AS g, - MAX(SUBSTRING(c_name FROM 1 FOR 1)) AS h, + ANY_VALUE(SUBSTRING(c_name FROM 1 FOR 1)) AS h, COUNT(CASE WHEN c_acctbal > 0 THEN c_acctbal ELSE NULL END) AS i, CEIL(VAR_POP(CASE WHEN c_acctbal > 0 THEN c_acctbal ELSE NULL END)) AS j, ROUND(CAST(VAR_SAMP(CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END) AS DECIMAL), 4) AS k, diff --git a/tests/test_sql_refsols/smoke_c_trino.sql b/tests/test_sql_refsols/smoke_c_trino.sql index 69d993fbb..7d393f659 100644 --- a/tests/test_sql_refsols/smoke_c_trino.sql +++ b/tests/test_sql_refsols/smoke_c_trino.sql @@ -13,9 +13,9 @@ WITH _t1 AS ( ( ROW_NUMBER() OVER (ORDER BY c_acctbal DESC) - 1.0 ) - ( - CAST(( + ( COUNT(c_acctbal) OVER () - 1.0 - ) AS DOUBLE) / 2.0 + ) / 2.0 ) ) < 1.0 THEN c_acctbal @@ -31,7 +31,7 @@ SELECT ROUND(AVG(ABS(c_acctbal)), 4) AS e, MIN(c_acctbal) AS f, MAX(c_acctbal) AS g, - ARBITRARY(SUBSTRING(c_name, 1, 1)) AS h, + ARBITRARY(SUBSTR(c_name, 1, 1)) AS h, COUNT(CASE WHEN c_acctbal > 0 THEN c_acctbal ELSE NULL END) AS i, CEIL(VAR_POP(CASE WHEN c_acctbal > 0 THEN c_acctbal ELSE NULL END)) AS j, ROUND(VARIANCE(CASE WHEN c_acctbal < 0 THEN c_acctbal ELSE NULL END), 4) AS k, diff --git a/tests/test_sql_refsols/smoke_d_ansi.sql b/tests/test_sql_refsols/smoke_d_ansi.sql index 407929d81..004622b09 100644 --- a/tests/test_sql_refsols/smoke_d_ansi.sql +++ b/tests/test_sql_refsols/smoke_d_ansi.sql @@ -1,20 +1,33 @@ SELECT customer.c_custkey AS key, ROW_NUMBER() OVER (ORDER BY customer.c_acctbal NULLS LAST, customer.c_custkey NULLS LAST) AS a, - ROW_NUMBER() OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_acctbal NULLS LAST, customer.c_custkey NULLS LAST) AS b, + ROW_NUMBER() OVER ( + PARTITION BY customer.c_nationkey + ORDER BY customer.c_acctbal NULLS LAST, customer.c_custkey NULLS LAST + ) AS b, RANK() OVER (ORDER BY customer.c_mktsegment NULLS LAST) AS c, DENSE_RANK() OVER (ORDER BY customer.c_mktsegment NULLS LAST) AS d, NTILE(100) OVER (ORDER BY customer.c_acctbal NULLS LAST, customer.c_custkey NULLS LAST) AS e, - NTILE(12) OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_acctbal NULLS LAST, customer.c_custkey NULLS LAST) AS f, + NTILE(12) OVER ( + PARTITION BY customer.c_nationkey + ORDER BY customer.c_acctbal NULLS LAST, customer.c_custkey NULLS LAST + ) AS f, LAG(customer.c_custkey, 1) OVER (ORDER BY customer.c_custkey NULLS LAST) AS g, LAG(customer.c_custkey, 2, 42) OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_custkey NULLS LAST) AS h, LEAD(customer.c_custkey, 1) OVER (ORDER BY customer.c_custkey NULLS LAST) AS i, LEAD(customer.c_custkey, 6000) OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_custkey NULLS LAST) AS j, SUM(customer.c_acctbal) OVER (PARTITION BY customer.c_nationkey) AS k, - SUM(customer.c_acctbal) OVER (ORDER BY customer.c_custkey NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS l, + SUM(customer.c_acctbal) OVER ( + ORDER BY customer.c_custkey NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS l, ROUND(AVG(CAST(customer.c_acctbal AS DOUBLE)) OVER (), 2) AS m, ROUND( - AVG(CAST(customer.c_acctbal AS DOUBLE)) OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_custkey NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING), + AVG(CAST(customer.c_acctbal AS DOUBLE)) OVER ( + PARTITION BY customer.c_nationkey + ORDER BY customer.c_custkey NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ), 2 ) AS n, COUNT(CASE WHEN customer.c_acctbal > 0 THEN customer.c_acctbal ELSE NULL END) OVER () AS o, diff --git a/tests/test_sql_refsols/smoke_d_databricks.sql b/tests/test_sql_refsols/smoke_d_databricks.sql index 407929d81..004622b09 100644 --- a/tests/test_sql_refsols/smoke_d_databricks.sql +++ b/tests/test_sql_refsols/smoke_d_databricks.sql @@ -1,20 +1,33 @@ SELECT customer.c_custkey AS key, ROW_NUMBER() OVER (ORDER BY customer.c_acctbal NULLS LAST, customer.c_custkey NULLS LAST) AS a, - ROW_NUMBER() OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_acctbal NULLS LAST, customer.c_custkey NULLS LAST) AS b, + ROW_NUMBER() OVER ( + PARTITION BY customer.c_nationkey + ORDER BY customer.c_acctbal NULLS LAST, customer.c_custkey NULLS LAST + ) AS b, RANK() OVER (ORDER BY customer.c_mktsegment NULLS LAST) AS c, DENSE_RANK() OVER (ORDER BY customer.c_mktsegment NULLS LAST) AS d, NTILE(100) OVER (ORDER BY customer.c_acctbal NULLS LAST, customer.c_custkey NULLS LAST) AS e, - NTILE(12) OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_acctbal NULLS LAST, customer.c_custkey NULLS LAST) AS f, + NTILE(12) OVER ( + PARTITION BY customer.c_nationkey + ORDER BY customer.c_acctbal NULLS LAST, customer.c_custkey NULLS LAST + ) AS f, LAG(customer.c_custkey, 1) OVER (ORDER BY customer.c_custkey NULLS LAST) AS g, LAG(customer.c_custkey, 2, 42) OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_custkey NULLS LAST) AS h, LEAD(customer.c_custkey, 1) OVER (ORDER BY customer.c_custkey NULLS LAST) AS i, LEAD(customer.c_custkey, 6000) OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_custkey NULLS LAST) AS j, SUM(customer.c_acctbal) OVER (PARTITION BY customer.c_nationkey) AS k, - SUM(customer.c_acctbal) OVER (ORDER BY customer.c_custkey NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS l, + SUM(customer.c_acctbal) OVER ( + ORDER BY customer.c_custkey NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS l, ROUND(AVG(CAST(customer.c_acctbal AS DOUBLE)) OVER (), 2) AS m, ROUND( - AVG(CAST(customer.c_acctbal AS DOUBLE)) OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_custkey NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING), + AVG(CAST(customer.c_acctbal AS DOUBLE)) OVER ( + PARTITION BY customer.c_nationkey + ORDER BY customer.c_custkey NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ), 2 ) AS n, COUNT(CASE WHEN customer.c_acctbal > 0 THEN customer.c_acctbal ELSE NULL END) OVER () AS o, diff --git a/tests/test_sql_refsols/smoke_d_duckdb.sql b/tests/test_sql_refsols/smoke_d_duckdb.sql index b1092feb4..2c8ccefae 100644 --- a/tests/test_sql_refsols/smoke_d_duckdb.sql +++ b/tests/test_sql_refsols/smoke_d_duckdb.sql @@ -14,7 +14,11 @@ SELECT SUM(customer.c_acctbal) OVER (ORDER BY customer.c_custkey ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS l, ROUND(AVG(CAST(customer.c_acctbal AS DOUBLE)) OVER (), 2) AS m, ROUND( - AVG(CAST(customer.c_acctbal AS DOUBLE)) OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_custkey ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING), + AVG(CAST(customer.c_acctbal AS DOUBLE)) OVER ( + PARTITION BY customer.c_nationkey + ORDER BY customer.c_custkey + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ), 2 ) AS n, COUNT(CASE WHEN customer.c_acctbal > 0 THEN customer.c_acctbal ELSE NULL END) OVER () AS o, diff --git a/tests/test_sql_refsols/smoke_d_mysql.sql b/tests/test_sql_refsols/smoke_d_mysql.sql index 52ab89304..3c9d652ec 100644 --- a/tests/test_sql_refsols/smoke_d_mysql.sql +++ b/tests/test_sql_refsols/smoke_d_mysql.sql @@ -1,20 +1,48 @@ SELECT CUSTOMER.c_custkey AS `key`, - ROW_NUMBER() OVER (ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_acctbal, CASE WHEN CUSTOMER.c_custkey IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_custkey) AS a, - ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_acctbal, CASE WHEN CUSTOMER.c_custkey IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_custkey) AS b, - RANK() OVER (ORDER BY CASE WHEN CUSTOMER.c_mktsegment COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_mktsegment COLLATE utf8mb4_bin) AS c, - DENSE_RANK() OVER (ORDER BY CASE WHEN CUSTOMER.c_mktsegment COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_mktsegment COLLATE utf8mb4_bin) AS d, - NTILE(100) OVER (ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_acctbal, CASE WHEN CUSTOMER.c_custkey IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_custkey) AS e, - NTILE(12) OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_acctbal, CASE WHEN CUSTOMER.c_custkey IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_custkey) AS f, - LAG(CUSTOMER.c_custkey, 1) OVER (ORDER BY CASE WHEN CUSTOMER.c_custkey IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_custkey) AS g, - LAG(CUSTOMER.c_custkey, 2, 42) OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY CASE WHEN CUSTOMER.c_custkey IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_custkey) AS h, - LEAD(CUSTOMER.c_custkey, 1) OVER (ORDER BY CASE WHEN CUSTOMER.c_custkey IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_custkey) AS i, - LEAD(CUSTOMER.c_custkey, 6000) OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY CASE WHEN CUSTOMER.c_custkey IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_custkey) AS j, + ROW_NUMBER() OVER ( + ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_acctbal, CASE WHEN CUSTOMER.c_custkey IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_custkey + ) AS a, + ROW_NUMBER() OVER ( + PARTITION BY CUSTOMER.c_nationkey + ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_acctbal, CASE WHEN CUSTOMER.c_custkey IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_custkey + ) AS b, + RANK() OVER ( + ORDER BY CASE WHEN CUSTOMER.c_mktsegment COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_mktsegment COLLATE utf8mb4_bin + ) AS c, + DENSE_RANK() OVER ( + ORDER BY CASE WHEN CUSTOMER.c_mktsegment COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_mktsegment COLLATE utf8mb4_bin + ) AS d, + NTILE(100) OVER ( + ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_acctbal, CASE WHEN CUSTOMER.c_custkey IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_custkey + ) AS e, + NTILE(12) OVER ( + PARTITION BY CUSTOMER.c_nationkey + ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_acctbal, CASE WHEN CUSTOMER.c_custkey IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_custkey + ) AS f, + LAG(CUSTOMER.c_custkey, 1) OVER ( + ORDER BY CASE WHEN CUSTOMER.c_custkey IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_custkey + ) AS g, + LAG(CUSTOMER.c_custkey, 2, 42) OVER ( + PARTITION BY CUSTOMER.c_nationkey + ORDER BY CASE WHEN CUSTOMER.c_custkey IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_custkey + ) AS h, + LEAD(CUSTOMER.c_custkey, 1) OVER ( + ORDER BY CASE WHEN CUSTOMER.c_custkey IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_custkey + ) AS i, + LEAD(CUSTOMER.c_custkey, 6000) OVER ( + PARTITION BY CUSTOMER.c_nationkey + ORDER BY CASE WHEN CUSTOMER.c_custkey IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_custkey + ) AS j, SUM(CUSTOMER.c_acctbal) OVER (PARTITION BY CUSTOMER.c_nationkey) AS k, SUM(CUSTOMER.c_acctbal) OVER (ORDER BY CUSTOMER.c_custkey ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS l, ROUND(AVG(CAST(CUSTOMER.c_acctbal AS DOUBLE)) OVER (), 2) AS m, ROUND( - AVG(CAST(CUSTOMER.c_acctbal AS DOUBLE)) OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY CUSTOMER.c_custkey ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING), + AVG(CAST(CUSTOMER.c_acctbal AS DOUBLE)) OVER ( + PARTITION BY CUSTOMER.c_nationkey + ORDER BY CUSTOMER.c_custkey + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ), 2 ) AS n, COUNT(CASE WHEN CUSTOMER.c_acctbal > 0 THEN CUSTOMER.c_acctbal ELSE NULL END) OVER () AS o, diff --git a/tests/test_sql_refsols/smoke_d_oracle.sql b/tests/test_sql_refsols/smoke_d_oracle.sql index c4e35b0ac..d4194d1f0 100644 --- a/tests/test_sql_refsols/smoke_d_oracle.sql +++ b/tests/test_sql_refsols/smoke_d_oracle.sql @@ -1,29 +1,33 @@ SELECT - CUSTOMER.c_custkey AS "key", - ROW_NUMBER() OVER (ORDER BY CUSTOMER.c_acctbal, CUSTOMER.c_custkey) AS a, - ROW_NUMBER() OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY CUSTOMER.c_acctbal, CUSTOMER.c_custkey) AS b, - RANK() OVER (ORDER BY CUSTOMER.c_mktsegment) AS c, - DENSE_RANK() OVER (ORDER BY CUSTOMER.c_mktsegment) AS d, - NTILE(100) OVER (ORDER BY CUSTOMER.c_acctbal, CUSTOMER.c_custkey) AS e, - NTILE(12) OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY CUSTOMER.c_acctbal, CUSTOMER.c_custkey) AS f, - LAG(CUSTOMER.c_custkey, 1) OVER (ORDER BY CUSTOMER.c_custkey) AS g, - LAG(CUSTOMER.c_custkey, 2, 42) OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY CUSTOMER.c_custkey) AS h, - LEAD(CUSTOMER.c_custkey, 1) OVER (ORDER BY CUSTOMER.c_custkey) AS i, - LEAD(CUSTOMER.c_custkey, 6000) OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY CUSTOMER.c_custkey) AS j, - SUM(CUSTOMER.c_acctbal) OVER (PARTITION BY CUSTOMER.c_nationkey) AS k, - SUM(CUSTOMER.c_acctbal) OVER (ORDER BY CUSTOMER.c_custkey ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS l, - ROUND(AVG(CAST(CUSTOMER.c_acctbal AS DOUBLE PRECISION)) OVER (), 2) AS m, + CUSTOMER.C_CUSTKEY AS "key", + ROW_NUMBER() OVER (ORDER BY CUSTOMER.C_ACCTBAL, CUSTOMER.C_CUSTKEY) AS a, + ROW_NUMBER() OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY CUSTOMER.C_ACCTBAL, CUSTOMER.C_CUSTKEY) AS b, + RANK() OVER (ORDER BY CUSTOMER.C_MKTSEGMENT) AS c, + DENSE_RANK() OVER (ORDER BY CUSTOMER.C_MKTSEGMENT) AS d, + NTILE(100) OVER (ORDER BY CUSTOMER.C_ACCTBAL, CUSTOMER.C_CUSTKEY) AS e, + NTILE(12) OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY CUSTOMER.C_ACCTBAL, CUSTOMER.C_CUSTKEY) AS f, + LAG(CUSTOMER.C_CUSTKEY, 1) OVER (ORDER BY CUSTOMER.C_CUSTKEY) AS g, + LAG(CUSTOMER.C_CUSTKEY, 2, 42) OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY CUSTOMER.C_CUSTKEY) AS h, + LEAD(CUSTOMER.C_CUSTKEY, 1) OVER (ORDER BY CUSTOMER.C_CUSTKEY) AS i, + LEAD(CUSTOMER.C_CUSTKEY, 6000) OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY CUSTOMER.C_CUSTKEY) AS j, + SUM(CUSTOMER.C_ACCTBAL) OVER (PARTITION BY CUSTOMER.C_NATIONKEY) AS k, + SUM(CUSTOMER.C_ACCTBAL) OVER (ORDER BY CUSTOMER.C_CUSTKEY ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS l, + ROUND(AVG(CAST(CUSTOMER.C_ACCTBAL AS DOUBLE PRECISION)) OVER (), 2) AS m, ROUND( - AVG(CAST(CUSTOMER.c_acctbal AS DOUBLE PRECISION)) OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY CUSTOMER.c_custkey ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING), + AVG(CAST(CUSTOMER.C_ACCTBAL AS DOUBLE PRECISION)) OVER ( + PARTITION BY CUSTOMER.C_NATIONKEY + ORDER BY CUSTOMER.C_CUSTKEY + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ), 2 ) AS n, - COUNT(CASE WHEN CUSTOMER.c_acctbal > 0 THEN CUSTOMER.c_acctbal ELSE NULL END) OVER () AS o, + COUNT(CASE WHEN CUSTOMER.C_ACCTBAL > 0 THEN CUSTOMER.C_ACCTBAL ELSE NULL END) OVER () AS o, COUNT(*) OVER () AS p FROM TPCH.NATION NATION JOIN TPCH.REGION REGION - ON NATION.n_regionkey = REGION.r_regionkey AND REGION.r_name = 'ASIA' + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY AND REGION.R_NAME = 'ASIA' JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_nationkey = NATION.n_nationkey + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY ORDER BY 1 NULLS FIRST FETCH FIRST 10 ROWS ONLY diff --git a/tests/test_sql_refsols/smoke_d_postgres.sql b/tests/test_sql_refsols/smoke_d_postgres.sql index cb8b76ca8..77a2f669f 100644 --- a/tests/test_sql_refsols/smoke_d_postgres.sql +++ b/tests/test_sql_refsols/smoke_d_postgres.sql @@ -14,7 +14,11 @@ SELECT SUM(customer.c_acctbal) OVER (ORDER BY customer.c_custkey ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS l, ROUND(CAST(AVG(CAST(customer.c_acctbal AS DOUBLE PRECISION)) OVER () AS DECIMAL), 2) AS m, ROUND( - CAST(AVG(CAST(customer.c_acctbal AS DOUBLE PRECISION)) OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_custkey ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS DECIMAL), + CAST(AVG(CAST(customer.c_acctbal AS DOUBLE PRECISION)) OVER ( + PARTITION BY customer.c_nationkey + ORDER BY customer.c_custkey + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ) AS DECIMAL), 2 ) AS n, COUNT(CASE WHEN customer.c_acctbal > 0 THEN customer.c_acctbal ELSE NULL END) OVER () AS o, diff --git a/tests/test_sql_refsols/smoke_d_snowflake.sql b/tests/test_sql_refsols/smoke_d_snowflake.sql index b1092feb4..2c8ccefae 100644 --- a/tests/test_sql_refsols/smoke_d_snowflake.sql +++ b/tests/test_sql_refsols/smoke_d_snowflake.sql @@ -14,7 +14,11 @@ SELECT SUM(customer.c_acctbal) OVER (ORDER BY customer.c_custkey ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS l, ROUND(AVG(CAST(customer.c_acctbal AS DOUBLE)) OVER (), 2) AS m, ROUND( - AVG(CAST(customer.c_acctbal AS DOUBLE)) OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_custkey ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING), + AVG(CAST(customer.c_acctbal AS DOUBLE)) OVER ( + PARTITION BY customer.c_nationkey + ORDER BY customer.c_custkey + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ), 2 ) AS n, COUNT(CASE WHEN customer.c_acctbal > 0 THEN customer.c_acctbal ELSE NULL END) OVER () AS o, diff --git a/tests/test_sql_refsols/smoke_d_sqlite.sql b/tests/test_sql_refsols/smoke_d_sqlite.sql index c47189095..a9ee4ec1d 100644 --- a/tests/test_sql_refsols/smoke_d_sqlite.sql +++ b/tests/test_sql_refsols/smoke_d_sqlite.sql @@ -14,7 +14,11 @@ SELECT SUM(customer.c_acctbal) OVER (ORDER BY customer.c_custkey ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS l, ROUND(AVG(CAST(customer.c_acctbal AS REAL)) OVER (), 2) AS m, ROUND( - AVG(CAST(customer.c_acctbal AS REAL)) OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_custkey ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING), + AVG(CAST(customer.c_acctbal AS REAL)) OVER ( + PARTITION BY customer.c_nationkey + ORDER BY customer.c_custkey + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ), 2 ) AS n, COUNT(CASE WHEN customer.c_acctbal > 0 THEN customer.c_acctbal ELSE NULL END) OVER () AS o, diff --git a/tests/test_sql_refsols/smoke_d_trino.sql b/tests/test_sql_refsols/smoke_d_trino.sql index b1092feb4..2c8ccefae 100644 --- a/tests/test_sql_refsols/smoke_d_trino.sql +++ b/tests/test_sql_refsols/smoke_d_trino.sql @@ -14,7 +14,11 @@ SELECT SUM(customer.c_acctbal) OVER (ORDER BY customer.c_custkey ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS l, ROUND(AVG(CAST(customer.c_acctbal AS DOUBLE)) OVER (), 2) AS m, ROUND( - AVG(CAST(customer.c_acctbal AS DOUBLE)) OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_custkey ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING), + AVG(CAST(customer.c_acctbal AS DOUBLE)) OVER ( + PARTITION BY customer.c_nationkey + ORDER BY customer.c_custkey + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ), 2 ) AS n, COUNT(CASE WHEN customer.c_acctbal > 0 THEN customer.c_acctbal ELSE NULL END) OVER () AS o, diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_friday_one_databricks.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_friday_one_databricks.sql index 9d00b7e10..c84350cb8 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_friday_one_databricks.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_friday_one_databricks.sql @@ -1,33 +1,32 @@ SELECT sbtxdatetime AS date_time, - DATEADD( - DAY, + DATE_ADD( + CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST(sbtxdatetime AS TIMESTAMP))) + 1 + DAYOFWEEK(CAST(sbtxdatetime AS TIMESTAMP)) + 1 ) % 7 - ), - CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE) + ) ) AS sow, CASE - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 1 + WHEN DAYOFWEEK(sbtxdatetime) = 1 THEN 'Sunday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 2 + WHEN DAYOFWEEK(sbtxdatetime) = 2 THEN 'Monday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 3 + WHEN DAYOFWEEK(sbtxdatetime) = 3 THEN 'Tuesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 4 + WHEN DAYOFWEEK(sbtxdatetime) = 4 THEN 'Wednesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 5 + WHEN DAYOFWEEK(sbtxdatetime) = 5 THEN 'Thursday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 6 + WHEN DAYOFWEEK(sbtxdatetime) = 6 THEN 'Friday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 7 + WHEN DAYOFWEEK(sbtxdatetime) = 7 THEN 'Saturday' END AS dayname, ( ( - DAYOFWEEK(TO_DATE(sbtxdatetime)) + 1 + DAYOFWEEK(sbtxdatetime) + 1 ) % 7 ) + 1 AS dayofweek FROM main.sbtransaction diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_friday_one_mysql.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_friday_one_mysql.sql index 64a3df88c..f9780ef41 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_friday_one_mysql.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_friday_one_mysql.sql @@ -1,20 +1,20 @@ SELECT - sbtxdatetime AS date_time, + sbTxDateTime AS date_time, CAST(DATE_SUB( - CAST(sbtxdatetime AS DATETIME), + CAST(sbTxDateTime AS DATETIME), INTERVAL ( ( - DAYOFWEEK(CAST(sbtxdatetime AS DATETIME)) + 1 + DAYOFWEEK(CAST(sbTxDateTime AS DATETIME)) + 1 ) % 7 ) DAY ) AS DATE) AS sow, - DAYNAME(sbtxdatetime) AS dayname, + DAYNAME(sbTxDateTime) AS dayname, ( ( - DAYOFWEEK(sbtxdatetime) + 1 + DAYOFWEEK(sbTxDateTime) + 1 ) % 7 ) + 1 AS dayofweek FROM main.sbTransaction WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATETIME)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) < 2025 + EXTRACT(DAY FROM CAST(sbTxDateTime AS DATETIME)) > 1 + AND EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_friday_one_oracle.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_friday_one_oracle.sql index 8eeca96d1..645366c6b 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_friday_one_oracle.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_friday_one_oracle.sql @@ -1,33 +1,33 @@ SELECT - sbtxdatetime AS date_time, + SBTXDATETIME AS date_time, TRUNC( - CAST(CAST(sbtxdatetime AS DATE) - MOD(( - TO_CHAR(CAST(sbtxdatetime AS DATE), 'D') + 1 + CAST(CAST(SBTXDATETIME AS DATE) - MOD(( + TO_CHAR(CAST(SBTXDATETIME AS DATE), 'D') + 1 ), 7) AS DATE), 'DD' ) AS sow, CASE - WHEN TO_CHAR(sbtxdatetime, 'D') = 1 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 1 THEN 'Sunday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 2 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 2 THEN 'Monday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 3 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 3 THEN 'Tuesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 4 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 4 THEN 'Wednesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 5 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 5 THEN 'Thursday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 6 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 6 THEN 'Friday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 7 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 7 THEN 'Saturday' END AS dayname, ( MOD(( - TO_CHAR(sbtxdatetime, 'D') + 1 + TO_CHAR(SBTXDATETIME, 'D') + 1 ), 7) ) + 1 AS dayofweek FROM MAIN.SBTRANSACTION WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATE)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) < 2025 + EXTRACT(DAY FROM CAST(SBTXDATETIME AS DATE)) > 1 + AND EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_friday_zero_databricks.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_friday_zero_databricks.sql index d67c98797..38c84306c 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_friday_zero_databricks.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_friday_zero_databricks.sql @@ -1,32 +1,31 @@ SELECT sbtxdatetime AS date_time, - DATEADD( - DAY, + DATE_ADD( + CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST(sbtxdatetime AS TIMESTAMP))) + 1 + DAYOFWEEK(CAST(sbtxdatetime AS TIMESTAMP)) + 1 ) % 7 - ), - CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE) + ) ) AS sow, CASE - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 1 + WHEN DAYOFWEEK(sbtxdatetime) = 1 THEN 'Sunday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 2 + WHEN DAYOFWEEK(sbtxdatetime) = 2 THEN 'Monday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 3 + WHEN DAYOFWEEK(sbtxdatetime) = 3 THEN 'Tuesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 4 + WHEN DAYOFWEEK(sbtxdatetime) = 4 THEN 'Wednesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 5 + WHEN DAYOFWEEK(sbtxdatetime) = 5 THEN 'Thursday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 6 + WHEN DAYOFWEEK(sbtxdatetime) = 6 THEN 'Friday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 7 + WHEN DAYOFWEEK(sbtxdatetime) = 7 THEN 'Saturday' END AS dayname, ( - DAYOFWEEK(TO_DATE(sbtxdatetime)) + 1 + DAYOFWEEK(sbtxdatetime) + 1 ) % 7 AS dayofweek FROM main.sbtransaction WHERE diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_friday_zero_mysql.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_friday_zero_mysql.sql index 9a8fca38f..b98171b3b 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_friday_zero_mysql.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_friday_zero_mysql.sql @@ -1,18 +1,18 @@ SELECT - sbtxdatetime AS date_time, + sbTxDateTime AS date_time, CAST(DATE_SUB( - CAST(sbtxdatetime AS DATETIME), + CAST(sbTxDateTime AS DATETIME), INTERVAL ( ( - DAYOFWEEK(CAST(sbtxdatetime AS DATETIME)) + 1 + DAYOFWEEK(CAST(sbTxDateTime AS DATETIME)) + 1 ) % 7 ) DAY ) AS DATE) AS sow, - DAYNAME(sbtxdatetime) AS dayname, + DAYNAME(sbTxDateTime) AS dayname, ( - DAYOFWEEK(sbtxdatetime) + 1 + DAYOFWEEK(sbTxDateTime) + 1 ) % 7 AS dayofweek FROM main.sbTransaction WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATETIME)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) < 2025 + EXTRACT(DAY FROM CAST(sbTxDateTime AS DATETIME)) > 1 + AND EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_friday_zero_oracle.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_friday_zero_oracle.sql index a38426a61..722b40c66 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_friday_zero_oracle.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_friday_zero_oracle.sql @@ -1,31 +1,31 @@ SELECT - sbtxdatetime AS date_time, + SBTXDATETIME AS date_time, TRUNC( - CAST(CAST(sbtxdatetime AS DATE) - MOD(( - TO_CHAR(CAST(sbtxdatetime AS DATE), 'D') + 1 + CAST(CAST(SBTXDATETIME AS DATE) - MOD(( + TO_CHAR(CAST(SBTXDATETIME AS DATE), 'D') + 1 ), 7) AS DATE), 'DD' ) AS sow, CASE - WHEN TO_CHAR(sbtxdatetime, 'D') = 1 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 1 THEN 'Sunday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 2 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 2 THEN 'Monday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 3 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 3 THEN 'Tuesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 4 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 4 THEN 'Wednesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 5 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 5 THEN 'Thursday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 6 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 6 THEN 'Friday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 7 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 7 THEN 'Saturday' END AS dayname, MOD(( - TO_CHAR(sbtxdatetime, 'D') + 1 + TO_CHAR(SBTXDATETIME, 'D') + 1 ), 7) AS dayofweek FROM MAIN.SBTRANSACTION WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATE)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) < 2025 + EXTRACT(DAY FROM CAST(SBTXDATETIME AS DATE)) > 1 + AND EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_monday_one_databricks.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_monday_one_databricks.sql index d44715c10..b7fd53189 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_monday_one_databricks.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_monday_one_databricks.sql @@ -1,33 +1,32 @@ SELECT sbtxdatetime AS date_time, - DATEADD( - DAY, + DATE_ADD( + CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST(sbtxdatetime AS TIMESTAMP))) + 5 + DAYOFWEEK(CAST(sbtxdatetime AS TIMESTAMP)) + 5 ) % 7 - ), - CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE) + ) ) AS sow, CASE - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 1 + WHEN DAYOFWEEK(sbtxdatetime) = 1 THEN 'Sunday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 2 + WHEN DAYOFWEEK(sbtxdatetime) = 2 THEN 'Monday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 3 + WHEN DAYOFWEEK(sbtxdatetime) = 3 THEN 'Tuesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 4 + WHEN DAYOFWEEK(sbtxdatetime) = 4 THEN 'Wednesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 5 + WHEN DAYOFWEEK(sbtxdatetime) = 5 THEN 'Thursday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 6 + WHEN DAYOFWEEK(sbtxdatetime) = 6 THEN 'Friday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 7 + WHEN DAYOFWEEK(sbtxdatetime) = 7 THEN 'Saturday' END AS dayname, ( ( - DAYOFWEEK(TO_DATE(sbtxdatetime)) + 5 + DAYOFWEEK(sbtxdatetime) + 5 ) % 7 ) + 1 AS dayofweek FROM main.sbtransaction diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_monday_one_mysql.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_monday_one_mysql.sql index b97773516..0587d9fa9 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_monday_one_mysql.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_monday_one_mysql.sql @@ -1,20 +1,20 @@ SELECT - sbtxdatetime AS date_time, + sbTxDateTime AS date_time, CAST(DATE_SUB( - CAST(sbtxdatetime AS DATETIME), + CAST(sbTxDateTime AS DATETIME), INTERVAL ( ( - DAYOFWEEK(CAST(sbtxdatetime AS DATETIME)) + 5 + DAYOFWEEK(CAST(sbTxDateTime AS DATETIME)) + 5 ) % 7 ) DAY ) AS DATE) AS sow, - DAYNAME(sbtxdatetime) AS dayname, + DAYNAME(sbTxDateTime) AS dayname, ( ( - DAYOFWEEK(sbtxdatetime) + 5 + DAYOFWEEK(sbTxDateTime) + 5 ) % 7 ) + 1 AS dayofweek FROM main.sbTransaction WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATETIME)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) < 2025 + EXTRACT(DAY FROM CAST(sbTxDateTime AS DATETIME)) > 1 + AND EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_monday_one_oracle.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_monday_one_oracle.sql index f3c95a383..3cd7b2f59 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_monday_one_oracle.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_monday_one_oracle.sql @@ -1,33 +1,33 @@ SELECT - sbtxdatetime AS date_time, + SBTXDATETIME AS date_time, TRUNC( - CAST(CAST(sbtxdatetime AS DATE) - MOD(( - TO_CHAR(CAST(sbtxdatetime AS DATE), 'D') + 5 + CAST(CAST(SBTXDATETIME AS DATE) - MOD(( + TO_CHAR(CAST(SBTXDATETIME AS DATE), 'D') + 5 ), 7) AS DATE), 'DD' ) AS sow, CASE - WHEN TO_CHAR(sbtxdatetime, 'D') = 1 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 1 THEN 'Sunday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 2 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 2 THEN 'Monday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 3 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 3 THEN 'Tuesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 4 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 4 THEN 'Wednesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 5 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 5 THEN 'Thursday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 6 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 6 THEN 'Friday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 7 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 7 THEN 'Saturday' END AS dayname, ( MOD(( - TO_CHAR(sbtxdatetime, 'D') + 5 + TO_CHAR(SBTXDATETIME, 'D') + 5 ), 7) ) + 1 AS dayofweek FROM MAIN.SBTRANSACTION WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATE)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) < 2025 + EXTRACT(DAY FROM CAST(SBTXDATETIME AS DATE)) > 1 + AND EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_monday_zero_databricks.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_monday_zero_databricks.sql index ead52e7d5..8c3f45d75 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_monday_zero_databricks.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_monday_zero_databricks.sql @@ -1,32 +1,31 @@ SELECT sbtxdatetime AS date_time, - DATEADD( - DAY, + DATE_ADD( + CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST(sbtxdatetime AS TIMESTAMP))) + 5 + DAYOFWEEK(CAST(sbtxdatetime AS TIMESTAMP)) + 5 ) % 7 - ), - CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE) + ) ) AS sow, CASE - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 1 + WHEN DAYOFWEEK(sbtxdatetime) = 1 THEN 'Sunday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 2 + WHEN DAYOFWEEK(sbtxdatetime) = 2 THEN 'Monday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 3 + WHEN DAYOFWEEK(sbtxdatetime) = 3 THEN 'Tuesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 4 + WHEN DAYOFWEEK(sbtxdatetime) = 4 THEN 'Wednesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 5 + WHEN DAYOFWEEK(sbtxdatetime) = 5 THEN 'Thursday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 6 + WHEN DAYOFWEEK(sbtxdatetime) = 6 THEN 'Friday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 7 + WHEN DAYOFWEEK(sbtxdatetime) = 7 THEN 'Saturday' END AS dayname, ( - DAYOFWEEK(TO_DATE(sbtxdatetime)) + 5 + DAYOFWEEK(sbtxdatetime) + 5 ) % 7 AS dayofweek FROM main.sbtransaction WHERE diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_monday_zero_mysql.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_monday_zero_mysql.sql index a0dfce5e1..df4ac3539 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_monday_zero_mysql.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_monday_zero_mysql.sql @@ -1,18 +1,18 @@ SELECT - sbtxdatetime AS date_time, + sbTxDateTime AS date_time, CAST(DATE_SUB( - CAST(sbtxdatetime AS DATETIME), + CAST(sbTxDateTime AS DATETIME), INTERVAL ( ( - DAYOFWEEK(CAST(sbtxdatetime AS DATETIME)) + 5 + DAYOFWEEK(CAST(sbTxDateTime AS DATETIME)) + 5 ) % 7 ) DAY ) AS DATE) AS sow, - DAYNAME(sbtxdatetime) AS dayname, + DAYNAME(sbTxDateTime) AS dayname, ( - DAYOFWEEK(sbtxdatetime) + 5 + DAYOFWEEK(sbTxDateTime) + 5 ) % 7 AS dayofweek FROM main.sbTransaction WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATETIME)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) < 2025 + EXTRACT(DAY FROM CAST(sbTxDateTime AS DATETIME)) > 1 + AND EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_monday_zero_oracle.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_monday_zero_oracle.sql index 3c96ada60..80af78493 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_monday_zero_oracle.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_monday_zero_oracle.sql @@ -1,31 +1,31 @@ SELECT - sbtxdatetime AS date_time, + SBTXDATETIME AS date_time, TRUNC( - CAST(CAST(sbtxdatetime AS DATE) - MOD(( - TO_CHAR(CAST(sbtxdatetime AS DATE), 'D') + 5 + CAST(CAST(SBTXDATETIME AS DATE) - MOD(( + TO_CHAR(CAST(SBTXDATETIME AS DATE), 'D') + 5 ), 7) AS DATE), 'DD' ) AS sow, CASE - WHEN TO_CHAR(sbtxdatetime, 'D') = 1 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 1 THEN 'Sunday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 2 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 2 THEN 'Monday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 3 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 3 THEN 'Tuesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 4 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 4 THEN 'Wednesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 5 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 5 THEN 'Thursday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 6 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 6 THEN 'Friday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 7 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 7 THEN 'Saturday' END AS dayname, MOD(( - TO_CHAR(sbtxdatetime, 'D') + 5 + TO_CHAR(SBTXDATETIME, 'D') + 5 ), 7) AS dayofweek FROM MAIN.SBTRANSACTION WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATE)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) < 2025 + EXTRACT(DAY FROM CAST(SBTXDATETIME AS DATE)) > 1 + AND EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_one_databricks.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_one_databricks.sql index b34f15f11..e51d82154 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_one_databricks.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_one_databricks.sql @@ -1,33 +1,32 @@ SELECT sbtxdatetime AS date_time, - DATEADD( - DAY, + DATE_ADD( + CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST(sbtxdatetime AS TIMESTAMP))) + 0 + DAYOFWEEK(CAST(sbtxdatetime AS TIMESTAMP)) + 0 ) % 7 - ), - CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE) + ) ) AS sow, CASE - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 1 + WHEN DAYOFWEEK(sbtxdatetime) = 1 THEN 'Sunday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 2 + WHEN DAYOFWEEK(sbtxdatetime) = 2 THEN 'Monday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 3 + WHEN DAYOFWEEK(sbtxdatetime) = 3 THEN 'Tuesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 4 + WHEN DAYOFWEEK(sbtxdatetime) = 4 THEN 'Wednesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 5 + WHEN DAYOFWEEK(sbtxdatetime) = 5 THEN 'Thursday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 6 + WHEN DAYOFWEEK(sbtxdatetime) = 6 THEN 'Friday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 7 + WHEN DAYOFWEEK(sbtxdatetime) = 7 THEN 'Saturday' END AS dayname, ( ( - DAYOFWEEK(TO_DATE(sbtxdatetime)) + 0 + DAYOFWEEK(sbtxdatetime) + 0 ) % 7 ) + 1 AS dayofweek FROM main.sbtransaction diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_one_mysql.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_one_mysql.sql index cba89f20c..dfdc691b9 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_one_mysql.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_one_mysql.sql @@ -1,20 +1,20 @@ SELECT - sbtxdatetime AS date_time, + sbTxDateTime AS date_time, CAST(DATE_SUB( - CAST(sbtxdatetime AS DATETIME), + CAST(sbTxDateTime AS DATETIME), INTERVAL ( ( - DAYOFWEEK(CAST(sbtxdatetime AS DATETIME)) + 0 + DAYOFWEEK(CAST(sbTxDateTime AS DATETIME)) + 0 ) % 7 ) DAY ) AS DATE) AS sow, - DAYNAME(sbtxdatetime) AS dayname, + DAYNAME(sbTxDateTime) AS dayname, ( ( - DAYOFWEEK(sbtxdatetime) + 0 + DAYOFWEEK(sbTxDateTime) + 0 ) % 7 ) + 1 AS dayofweek FROM main.sbTransaction WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATETIME)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) < 2025 + EXTRACT(DAY FROM CAST(sbTxDateTime AS DATETIME)) > 1 + AND EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_one_oracle.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_one_oracle.sql index fa14f366d..2b6d37795 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_one_oracle.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_one_oracle.sql @@ -1,33 +1,33 @@ SELECT - sbtxdatetime AS date_time, + SBTXDATETIME AS date_time, TRUNC( - CAST(CAST(sbtxdatetime AS DATE) - MOD(( - TO_CHAR(CAST(sbtxdatetime AS DATE), 'D') + 0 + CAST(CAST(SBTXDATETIME AS DATE) - MOD(( + TO_CHAR(CAST(SBTXDATETIME AS DATE), 'D') + 0 ), 7) AS DATE), 'DD' ) AS sow, CASE - WHEN TO_CHAR(sbtxdatetime, 'D') = 1 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 1 THEN 'Sunday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 2 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 2 THEN 'Monday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 3 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 3 THEN 'Tuesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 4 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 4 THEN 'Wednesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 5 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 5 THEN 'Thursday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 6 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 6 THEN 'Friday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 7 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 7 THEN 'Saturday' END AS dayname, ( MOD(( - TO_CHAR(sbtxdatetime, 'D') + 0 + TO_CHAR(SBTXDATETIME, 'D') + 0 ), 7) ) + 1 AS dayofweek FROM MAIN.SBTRANSACTION WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATE)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) < 2025 + EXTRACT(DAY FROM CAST(SBTXDATETIME AS DATE)) > 1 + AND EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_zero_databricks.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_zero_databricks.sql index 72ed51ee4..3ac43935a 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_zero_databricks.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_zero_databricks.sql @@ -1,32 +1,31 @@ SELECT sbtxdatetime AS date_time, - DATEADD( - DAY, + DATE_ADD( + CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST(sbtxdatetime AS TIMESTAMP))) + 0 + DAYOFWEEK(CAST(sbtxdatetime AS TIMESTAMP)) + 0 ) % 7 - ), - CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE) + ) ) AS sow, CASE - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 1 + WHEN DAYOFWEEK(sbtxdatetime) = 1 THEN 'Sunday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 2 + WHEN DAYOFWEEK(sbtxdatetime) = 2 THEN 'Monday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 3 + WHEN DAYOFWEEK(sbtxdatetime) = 3 THEN 'Tuesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 4 + WHEN DAYOFWEEK(sbtxdatetime) = 4 THEN 'Wednesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 5 + WHEN DAYOFWEEK(sbtxdatetime) = 5 THEN 'Thursday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 6 + WHEN DAYOFWEEK(sbtxdatetime) = 6 THEN 'Friday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 7 + WHEN DAYOFWEEK(sbtxdatetime) = 7 THEN 'Saturday' END AS dayname, ( - DAYOFWEEK(TO_DATE(sbtxdatetime)) + 0 + DAYOFWEEK(sbtxdatetime) + 0 ) % 7 AS dayofweek FROM main.sbtransaction WHERE diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_zero_mysql.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_zero_mysql.sql index 0856e6eec..f8d1a78a5 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_zero_mysql.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_zero_mysql.sql @@ -1,18 +1,18 @@ SELECT - sbtxdatetime AS date_time, + sbTxDateTime AS date_time, CAST(DATE_SUB( - CAST(sbtxdatetime AS DATETIME), + CAST(sbTxDateTime AS DATETIME), INTERVAL ( ( - DAYOFWEEK(CAST(sbtxdatetime AS DATETIME)) + 0 + DAYOFWEEK(CAST(sbTxDateTime AS DATETIME)) + 0 ) % 7 ) DAY ) AS DATE) AS sow, - DAYNAME(sbtxdatetime) AS dayname, + DAYNAME(sbTxDateTime) AS dayname, ( - DAYOFWEEK(sbtxdatetime) + 0 + DAYOFWEEK(sbTxDateTime) + 0 ) % 7 AS dayofweek FROM main.sbTransaction WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATETIME)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) < 2025 + EXTRACT(DAY FROM CAST(sbTxDateTime AS DATETIME)) > 1 + AND EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_zero_oracle.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_zero_oracle.sql index 4d9044590..6df0e1afd 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_zero_oracle.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_saturday_zero_oracle.sql @@ -1,31 +1,31 @@ SELECT - sbtxdatetime AS date_time, + SBTXDATETIME AS date_time, TRUNC( - CAST(CAST(sbtxdatetime AS DATE) - MOD(( - TO_CHAR(CAST(sbtxdatetime AS DATE), 'D') + 0 + CAST(CAST(SBTXDATETIME AS DATE) - MOD(( + TO_CHAR(CAST(SBTXDATETIME AS DATE), 'D') + 0 ), 7) AS DATE), 'DD' ) AS sow, CASE - WHEN TO_CHAR(sbtxdatetime, 'D') = 1 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 1 THEN 'Sunday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 2 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 2 THEN 'Monday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 3 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 3 THEN 'Tuesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 4 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 4 THEN 'Wednesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 5 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 5 THEN 'Thursday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 6 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 6 THEN 'Friday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 7 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 7 THEN 'Saturday' END AS dayname, MOD(( - TO_CHAR(sbtxdatetime, 'D') + 0 + TO_CHAR(SBTXDATETIME, 'D') + 0 ), 7) AS dayofweek FROM MAIN.SBTRANSACTION WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATE)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) < 2025 + EXTRACT(DAY FROM CAST(SBTXDATETIME AS DATE)) > 1 + AND EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_one_databricks.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_one_databricks.sql index c0661b686..1ff897d5d 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_one_databricks.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_one_databricks.sql @@ -1,33 +1,32 @@ SELECT sbtxdatetime AS date_time, - DATEADD( - DAY, + DATE_ADD( + CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST(sbtxdatetime AS TIMESTAMP))) + -1 + DAYOFWEEK(CAST(sbtxdatetime AS TIMESTAMP)) + -1 ) % 7 - ), - CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE) + ) ) AS sow, CASE - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 1 + WHEN DAYOFWEEK(sbtxdatetime) = 1 THEN 'Sunday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 2 + WHEN DAYOFWEEK(sbtxdatetime) = 2 THEN 'Monday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 3 + WHEN DAYOFWEEK(sbtxdatetime) = 3 THEN 'Tuesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 4 + WHEN DAYOFWEEK(sbtxdatetime) = 4 THEN 'Wednesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 5 + WHEN DAYOFWEEK(sbtxdatetime) = 5 THEN 'Thursday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 6 + WHEN DAYOFWEEK(sbtxdatetime) = 6 THEN 'Friday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 7 + WHEN DAYOFWEEK(sbtxdatetime) = 7 THEN 'Saturday' END AS dayname, ( ( - DAYOFWEEK(TO_DATE(sbtxdatetime)) + -1 + DAYOFWEEK(sbtxdatetime) + -1 ) % 7 ) + 1 AS dayofweek FROM main.sbtransaction diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_one_mysql.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_one_mysql.sql index 9296b026b..c55426fa1 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_one_mysql.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_one_mysql.sql @@ -1,20 +1,20 @@ SELECT - sbtxdatetime AS date_time, + sbTxDateTime AS date_time, CAST(DATE_SUB( - CAST(sbtxdatetime AS DATETIME), + CAST(sbTxDateTime AS DATETIME), INTERVAL ( ( - DAYOFWEEK(CAST(sbtxdatetime AS DATETIME)) + -1 + DAYOFWEEK(CAST(sbTxDateTime AS DATETIME)) + -1 ) % 7 ) DAY ) AS DATE) AS sow, - DAYNAME(sbtxdatetime) AS dayname, + DAYNAME(sbTxDateTime) AS dayname, ( ( - DAYOFWEEK(sbtxdatetime) + -1 + DAYOFWEEK(sbTxDateTime) + -1 ) % 7 ) + 1 AS dayofweek FROM main.sbTransaction WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATETIME)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) < 2025 + EXTRACT(DAY FROM CAST(sbTxDateTime AS DATETIME)) > 1 + AND EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_one_oracle.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_one_oracle.sql index dc0d15ecf..78bf2bee8 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_one_oracle.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_one_oracle.sql @@ -1,33 +1,33 @@ SELECT - sbtxdatetime AS date_time, + SBTXDATETIME AS date_time, TRUNC( - CAST(CAST(sbtxdatetime AS DATE) - MOD(( - TO_CHAR(CAST(sbtxdatetime AS DATE), 'D') + -1 + CAST(CAST(SBTXDATETIME AS DATE) - MOD(( + TO_CHAR(CAST(SBTXDATETIME AS DATE), 'D') + -1 ), 7) AS DATE), 'DD' ) AS sow, CASE - WHEN TO_CHAR(sbtxdatetime, 'D') = 1 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 1 THEN 'Sunday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 2 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 2 THEN 'Monday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 3 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 3 THEN 'Tuesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 4 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 4 THEN 'Wednesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 5 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 5 THEN 'Thursday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 6 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 6 THEN 'Friday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 7 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 7 THEN 'Saturday' END AS dayname, ( MOD(( - TO_CHAR(sbtxdatetime, 'D') + -1 + TO_CHAR(SBTXDATETIME, 'D') + -1 ), 7) ) + 1 AS dayofweek FROM MAIN.SBTRANSACTION WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATE)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) < 2025 + EXTRACT(DAY FROM CAST(SBTXDATETIME AS DATE)) > 1 + AND EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_zero_databricks.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_zero_databricks.sql index 787202b50..cd7ca585c 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_zero_databricks.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_zero_databricks.sql @@ -1,32 +1,31 @@ SELECT sbtxdatetime AS date_time, - DATEADD( - DAY, + DATE_ADD( + CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST(sbtxdatetime AS TIMESTAMP))) + -1 + DAYOFWEEK(CAST(sbtxdatetime AS TIMESTAMP)) + -1 ) % 7 - ), - CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE) + ) ) AS sow, CASE - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 1 + WHEN DAYOFWEEK(sbtxdatetime) = 1 THEN 'Sunday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 2 + WHEN DAYOFWEEK(sbtxdatetime) = 2 THEN 'Monday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 3 + WHEN DAYOFWEEK(sbtxdatetime) = 3 THEN 'Tuesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 4 + WHEN DAYOFWEEK(sbtxdatetime) = 4 THEN 'Wednesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 5 + WHEN DAYOFWEEK(sbtxdatetime) = 5 THEN 'Thursday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 6 + WHEN DAYOFWEEK(sbtxdatetime) = 6 THEN 'Friday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 7 + WHEN DAYOFWEEK(sbtxdatetime) = 7 THEN 'Saturday' END AS dayname, ( - DAYOFWEEK(TO_DATE(sbtxdatetime)) + -1 + DAYOFWEEK(sbtxdatetime) + -1 ) % 7 AS dayofweek FROM main.sbtransaction WHERE diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_zero_mysql.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_zero_mysql.sql index d343e744d..ce410312b 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_zero_mysql.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_zero_mysql.sql @@ -1,18 +1,18 @@ SELECT - sbtxdatetime AS date_time, + sbTxDateTime AS date_time, CAST(DATE_SUB( - CAST(sbtxdatetime AS DATETIME), + CAST(sbTxDateTime AS DATETIME), INTERVAL ( ( - DAYOFWEEK(CAST(sbtxdatetime AS DATETIME)) + -1 + DAYOFWEEK(CAST(sbTxDateTime AS DATETIME)) + -1 ) % 7 ) DAY ) AS DATE) AS sow, - DAYNAME(sbtxdatetime) AS dayname, + DAYNAME(sbTxDateTime) AS dayname, ( - DAYOFWEEK(sbtxdatetime) + -1 + DAYOFWEEK(sbTxDateTime) + -1 ) % 7 AS dayofweek FROM main.sbTransaction WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATETIME)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) < 2025 + EXTRACT(DAY FROM CAST(sbTxDateTime AS DATETIME)) > 1 + AND EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_zero_oracle.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_zero_oracle.sql index cdee8eab9..3d304d0cc 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_zero_oracle.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_sunday_zero_oracle.sql @@ -1,31 +1,31 @@ SELECT - sbtxdatetime AS date_time, + SBTXDATETIME AS date_time, TRUNC( - CAST(CAST(sbtxdatetime AS DATE) - MOD(( - TO_CHAR(CAST(sbtxdatetime AS DATE), 'D') + -1 + CAST(CAST(SBTXDATETIME AS DATE) - MOD(( + TO_CHAR(CAST(SBTXDATETIME AS DATE), 'D') + -1 ), 7) AS DATE), 'DD' ) AS sow, CASE - WHEN TO_CHAR(sbtxdatetime, 'D') = 1 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 1 THEN 'Sunday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 2 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 2 THEN 'Monday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 3 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 3 THEN 'Tuesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 4 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 4 THEN 'Wednesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 5 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 5 THEN 'Thursday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 6 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 6 THEN 'Friday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 7 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 7 THEN 'Saturday' END AS dayname, MOD(( - TO_CHAR(sbtxdatetime, 'D') + -1 + TO_CHAR(SBTXDATETIME, 'D') + -1 ), 7) AS dayofweek FROM MAIN.SBTRANSACTION WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATE)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) < 2025 + EXTRACT(DAY FROM CAST(SBTXDATETIME AS DATE)) > 1 + AND EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_one_databricks.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_one_databricks.sql index 08fd24be0..f7edbbcbd 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_one_databricks.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_one_databricks.sql @@ -1,33 +1,32 @@ SELECT sbtxdatetime AS date_time, - DATEADD( - DAY, + DATE_ADD( + CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST(sbtxdatetime AS TIMESTAMP))) + 2 + DAYOFWEEK(CAST(sbtxdatetime AS TIMESTAMP)) + 2 ) % 7 - ), - CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE) + ) ) AS sow, CASE - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 1 + WHEN DAYOFWEEK(sbtxdatetime) = 1 THEN 'Sunday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 2 + WHEN DAYOFWEEK(sbtxdatetime) = 2 THEN 'Monday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 3 + WHEN DAYOFWEEK(sbtxdatetime) = 3 THEN 'Tuesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 4 + WHEN DAYOFWEEK(sbtxdatetime) = 4 THEN 'Wednesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 5 + WHEN DAYOFWEEK(sbtxdatetime) = 5 THEN 'Thursday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 6 + WHEN DAYOFWEEK(sbtxdatetime) = 6 THEN 'Friday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 7 + WHEN DAYOFWEEK(sbtxdatetime) = 7 THEN 'Saturday' END AS dayname, ( ( - DAYOFWEEK(TO_DATE(sbtxdatetime)) + 2 + DAYOFWEEK(sbtxdatetime) + 2 ) % 7 ) + 1 AS dayofweek FROM main.sbtransaction diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_one_mysql.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_one_mysql.sql index 8555255b9..416357951 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_one_mysql.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_one_mysql.sql @@ -1,20 +1,20 @@ SELECT - sbtxdatetime AS date_time, + sbTxDateTime AS date_time, CAST(DATE_SUB( - CAST(sbtxdatetime AS DATETIME), + CAST(sbTxDateTime AS DATETIME), INTERVAL ( ( - DAYOFWEEK(CAST(sbtxdatetime AS DATETIME)) + 2 + DAYOFWEEK(CAST(sbTxDateTime AS DATETIME)) + 2 ) % 7 ) DAY ) AS DATE) AS sow, - DAYNAME(sbtxdatetime) AS dayname, + DAYNAME(sbTxDateTime) AS dayname, ( ( - DAYOFWEEK(sbtxdatetime) + 2 + DAYOFWEEK(sbTxDateTime) + 2 ) % 7 ) + 1 AS dayofweek FROM main.sbTransaction WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATETIME)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) < 2025 + EXTRACT(DAY FROM CAST(sbTxDateTime AS DATETIME)) > 1 + AND EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_one_oracle.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_one_oracle.sql index 5c4286e28..50e9d7b79 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_one_oracle.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_one_oracle.sql @@ -1,33 +1,33 @@ SELECT - sbtxdatetime AS date_time, + SBTXDATETIME AS date_time, TRUNC( - CAST(CAST(sbtxdatetime AS DATE) - MOD(( - TO_CHAR(CAST(sbtxdatetime AS DATE), 'D') + 2 + CAST(CAST(SBTXDATETIME AS DATE) - MOD(( + TO_CHAR(CAST(SBTXDATETIME AS DATE), 'D') + 2 ), 7) AS DATE), 'DD' ) AS sow, CASE - WHEN TO_CHAR(sbtxdatetime, 'D') = 1 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 1 THEN 'Sunday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 2 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 2 THEN 'Monday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 3 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 3 THEN 'Tuesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 4 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 4 THEN 'Wednesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 5 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 5 THEN 'Thursday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 6 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 6 THEN 'Friday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 7 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 7 THEN 'Saturday' END AS dayname, ( MOD(( - TO_CHAR(sbtxdatetime, 'D') + 2 + TO_CHAR(SBTXDATETIME, 'D') + 2 ), 7) ) + 1 AS dayofweek FROM MAIN.SBTRANSACTION WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATE)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) < 2025 + EXTRACT(DAY FROM CAST(SBTXDATETIME AS DATE)) > 1 + AND EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_zero_databricks.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_zero_databricks.sql index c519c101c..25f30306b 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_zero_databricks.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_zero_databricks.sql @@ -1,32 +1,31 @@ SELECT sbtxdatetime AS date_time, - DATEADD( - DAY, + DATE_ADD( + CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST(sbtxdatetime AS TIMESTAMP))) + 2 + DAYOFWEEK(CAST(sbtxdatetime AS TIMESTAMP)) + 2 ) % 7 - ), - CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE) + ) ) AS sow, CASE - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 1 + WHEN DAYOFWEEK(sbtxdatetime) = 1 THEN 'Sunday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 2 + WHEN DAYOFWEEK(sbtxdatetime) = 2 THEN 'Monday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 3 + WHEN DAYOFWEEK(sbtxdatetime) = 3 THEN 'Tuesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 4 + WHEN DAYOFWEEK(sbtxdatetime) = 4 THEN 'Wednesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 5 + WHEN DAYOFWEEK(sbtxdatetime) = 5 THEN 'Thursday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 6 + WHEN DAYOFWEEK(sbtxdatetime) = 6 THEN 'Friday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 7 + WHEN DAYOFWEEK(sbtxdatetime) = 7 THEN 'Saturday' END AS dayname, ( - DAYOFWEEK(TO_DATE(sbtxdatetime)) + 2 + DAYOFWEEK(sbtxdatetime) + 2 ) % 7 AS dayofweek FROM main.sbtransaction WHERE diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_zero_mysql.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_zero_mysql.sql index d01d4d91d..90906ce64 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_zero_mysql.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_zero_mysql.sql @@ -1,18 +1,18 @@ SELECT - sbtxdatetime AS date_time, + sbTxDateTime AS date_time, CAST(DATE_SUB( - CAST(sbtxdatetime AS DATETIME), + CAST(sbTxDateTime AS DATETIME), INTERVAL ( ( - DAYOFWEEK(CAST(sbtxdatetime AS DATETIME)) + 2 + DAYOFWEEK(CAST(sbTxDateTime AS DATETIME)) + 2 ) % 7 ) DAY ) AS DATE) AS sow, - DAYNAME(sbtxdatetime) AS dayname, + DAYNAME(sbTxDateTime) AS dayname, ( - DAYOFWEEK(sbtxdatetime) + 2 + DAYOFWEEK(sbTxDateTime) + 2 ) % 7 AS dayofweek FROM main.sbTransaction WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATETIME)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) < 2025 + EXTRACT(DAY FROM CAST(sbTxDateTime AS DATETIME)) > 1 + AND EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_zero_oracle.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_zero_oracle.sql index 96fff6197..69cd7114e 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_zero_oracle.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_thursday_zero_oracle.sql @@ -1,31 +1,31 @@ SELECT - sbtxdatetime AS date_time, + SBTXDATETIME AS date_time, TRUNC( - CAST(CAST(sbtxdatetime AS DATE) - MOD(( - TO_CHAR(CAST(sbtxdatetime AS DATE), 'D') + 2 + CAST(CAST(SBTXDATETIME AS DATE) - MOD(( + TO_CHAR(CAST(SBTXDATETIME AS DATE), 'D') + 2 ), 7) AS DATE), 'DD' ) AS sow, CASE - WHEN TO_CHAR(sbtxdatetime, 'D') = 1 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 1 THEN 'Sunday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 2 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 2 THEN 'Monday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 3 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 3 THEN 'Tuesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 4 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 4 THEN 'Wednesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 5 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 5 THEN 'Thursday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 6 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 6 THEN 'Friday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 7 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 7 THEN 'Saturday' END AS dayname, MOD(( - TO_CHAR(sbtxdatetime, 'D') + 2 + TO_CHAR(SBTXDATETIME, 'D') + 2 ), 7) AS dayofweek FROM MAIN.SBTRANSACTION WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATE)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) < 2025 + EXTRACT(DAY FROM CAST(SBTXDATETIME AS DATE)) > 1 + AND EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_one_databricks.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_one_databricks.sql index 2cced42cd..7a60cb805 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_one_databricks.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_one_databricks.sql @@ -1,33 +1,32 @@ SELECT sbtxdatetime AS date_time, - DATEADD( - DAY, + DATE_ADD( + CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST(sbtxdatetime AS TIMESTAMP))) + 4 + DAYOFWEEK(CAST(sbtxdatetime AS TIMESTAMP)) + 4 ) % 7 - ), - CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE) + ) ) AS sow, CASE - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 1 + WHEN DAYOFWEEK(sbtxdatetime) = 1 THEN 'Sunday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 2 + WHEN DAYOFWEEK(sbtxdatetime) = 2 THEN 'Monday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 3 + WHEN DAYOFWEEK(sbtxdatetime) = 3 THEN 'Tuesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 4 + WHEN DAYOFWEEK(sbtxdatetime) = 4 THEN 'Wednesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 5 + WHEN DAYOFWEEK(sbtxdatetime) = 5 THEN 'Thursday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 6 + WHEN DAYOFWEEK(sbtxdatetime) = 6 THEN 'Friday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 7 + WHEN DAYOFWEEK(sbtxdatetime) = 7 THEN 'Saturday' END AS dayname, ( ( - DAYOFWEEK(TO_DATE(sbtxdatetime)) + 4 + DAYOFWEEK(sbtxdatetime) + 4 ) % 7 ) + 1 AS dayofweek FROM main.sbtransaction diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_one_mysql.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_one_mysql.sql index 21fabdc49..62b395f71 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_one_mysql.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_one_mysql.sql @@ -1,20 +1,20 @@ SELECT - sbtxdatetime AS date_time, + sbTxDateTime AS date_time, CAST(DATE_SUB( - CAST(sbtxdatetime AS DATETIME), + CAST(sbTxDateTime AS DATETIME), INTERVAL ( ( - DAYOFWEEK(CAST(sbtxdatetime AS DATETIME)) + 4 + DAYOFWEEK(CAST(sbTxDateTime AS DATETIME)) + 4 ) % 7 ) DAY ) AS DATE) AS sow, - DAYNAME(sbtxdatetime) AS dayname, + DAYNAME(sbTxDateTime) AS dayname, ( ( - DAYOFWEEK(sbtxdatetime) + 4 + DAYOFWEEK(sbTxDateTime) + 4 ) % 7 ) + 1 AS dayofweek FROM main.sbTransaction WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATETIME)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) < 2025 + EXTRACT(DAY FROM CAST(sbTxDateTime AS DATETIME)) > 1 + AND EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_one_oracle.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_one_oracle.sql index 4cfd9c09a..e04e044a9 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_one_oracle.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_one_oracle.sql @@ -1,33 +1,33 @@ SELECT - sbtxdatetime AS date_time, + SBTXDATETIME AS date_time, TRUNC( - CAST(CAST(sbtxdatetime AS DATE) - MOD(( - TO_CHAR(CAST(sbtxdatetime AS DATE), 'D') + 4 + CAST(CAST(SBTXDATETIME AS DATE) - MOD(( + TO_CHAR(CAST(SBTXDATETIME AS DATE), 'D') + 4 ), 7) AS DATE), 'DD' ) AS sow, CASE - WHEN TO_CHAR(sbtxdatetime, 'D') = 1 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 1 THEN 'Sunday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 2 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 2 THEN 'Monday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 3 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 3 THEN 'Tuesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 4 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 4 THEN 'Wednesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 5 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 5 THEN 'Thursday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 6 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 6 THEN 'Friday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 7 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 7 THEN 'Saturday' END AS dayname, ( MOD(( - TO_CHAR(sbtxdatetime, 'D') + 4 + TO_CHAR(SBTXDATETIME, 'D') + 4 ), 7) ) + 1 AS dayofweek FROM MAIN.SBTRANSACTION WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATE)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) < 2025 + EXTRACT(DAY FROM CAST(SBTXDATETIME AS DATE)) > 1 + AND EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_zero_databricks.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_zero_databricks.sql index 249ff0b3e..4bfec02ef 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_zero_databricks.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_zero_databricks.sql @@ -1,32 +1,31 @@ SELECT sbtxdatetime AS date_time, - DATEADD( - DAY, + DATE_ADD( + CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST(sbtxdatetime AS TIMESTAMP))) + 4 + DAYOFWEEK(CAST(sbtxdatetime AS TIMESTAMP)) + 4 ) % 7 - ), - CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE) + ) ) AS sow, CASE - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 1 + WHEN DAYOFWEEK(sbtxdatetime) = 1 THEN 'Sunday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 2 + WHEN DAYOFWEEK(sbtxdatetime) = 2 THEN 'Monday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 3 + WHEN DAYOFWEEK(sbtxdatetime) = 3 THEN 'Tuesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 4 + WHEN DAYOFWEEK(sbtxdatetime) = 4 THEN 'Wednesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 5 + WHEN DAYOFWEEK(sbtxdatetime) = 5 THEN 'Thursday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 6 + WHEN DAYOFWEEK(sbtxdatetime) = 6 THEN 'Friday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 7 + WHEN DAYOFWEEK(sbtxdatetime) = 7 THEN 'Saturday' END AS dayname, ( - DAYOFWEEK(TO_DATE(sbtxdatetime)) + 4 + DAYOFWEEK(sbtxdatetime) + 4 ) % 7 AS dayofweek FROM main.sbtransaction WHERE diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_zero_mysql.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_zero_mysql.sql index 6740e5155..fa9a89477 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_zero_mysql.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_zero_mysql.sql @@ -1,18 +1,18 @@ SELECT - sbtxdatetime AS date_time, + sbTxDateTime AS date_time, CAST(DATE_SUB( - CAST(sbtxdatetime AS DATETIME), + CAST(sbTxDateTime AS DATETIME), INTERVAL ( ( - DAYOFWEEK(CAST(sbtxdatetime AS DATETIME)) + 4 + DAYOFWEEK(CAST(sbTxDateTime AS DATETIME)) + 4 ) % 7 ) DAY ) AS DATE) AS sow, - DAYNAME(sbtxdatetime) AS dayname, + DAYNAME(sbTxDateTime) AS dayname, ( - DAYOFWEEK(sbtxdatetime) + 4 + DAYOFWEEK(sbTxDateTime) + 4 ) % 7 AS dayofweek FROM main.sbTransaction WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATETIME)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) < 2025 + EXTRACT(DAY FROM CAST(sbTxDateTime AS DATETIME)) > 1 + AND EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_zero_oracle.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_zero_oracle.sql index 6c9d16123..feecd5bf0 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_zero_oracle.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_tuesday_zero_oracle.sql @@ -1,31 +1,31 @@ SELECT - sbtxdatetime AS date_time, + SBTXDATETIME AS date_time, TRUNC( - CAST(CAST(sbtxdatetime AS DATE) - MOD(( - TO_CHAR(CAST(sbtxdatetime AS DATE), 'D') + 4 + CAST(CAST(SBTXDATETIME AS DATE) - MOD(( + TO_CHAR(CAST(SBTXDATETIME AS DATE), 'D') + 4 ), 7) AS DATE), 'DD' ) AS sow, CASE - WHEN TO_CHAR(sbtxdatetime, 'D') = 1 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 1 THEN 'Sunday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 2 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 2 THEN 'Monday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 3 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 3 THEN 'Tuesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 4 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 4 THEN 'Wednesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 5 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 5 THEN 'Thursday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 6 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 6 THEN 'Friday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 7 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 7 THEN 'Saturday' END AS dayname, MOD(( - TO_CHAR(sbtxdatetime, 'D') + 4 + TO_CHAR(SBTXDATETIME, 'D') + 4 ), 7) AS dayofweek FROM MAIN.SBTRANSACTION WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATE)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) < 2025 + EXTRACT(DAY FROM CAST(SBTXDATETIME AS DATE)) > 1 + AND EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_one_databricks.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_one_databricks.sql index ec7f370bc..d71b10fc1 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_one_databricks.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_one_databricks.sql @@ -1,33 +1,32 @@ SELECT sbtxdatetime AS date_time, - DATEADD( - DAY, + DATE_ADD( + CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST(sbtxdatetime AS TIMESTAMP))) + 3 + DAYOFWEEK(CAST(sbtxdatetime AS TIMESTAMP)) + 3 ) % 7 - ), - CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE) + ) ) AS sow, CASE - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 1 + WHEN DAYOFWEEK(sbtxdatetime) = 1 THEN 'Sunday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 2 + WHEN DAYOFWEEK(sbtxdatetime) = 2 THEN 'Monday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 3 + WHEN DAYOFWEEK(sbtxdatetime) = 3 THEN 'Tuesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 4 + WHEN DAYOFWEEK(sbtxdatetime) = 4 THEN 'Wednesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 5 + WHEN DAYOFWEEK(sbtxdatetime) = 5 THEN 'Thursday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 6 + WHEN DAYOFWEEK(sbtxdatetime) = 6 THEN 'Friday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 7 + WHEN DAYOFWEEK(sbtxdatetime) = 7 THEN 'Saturday' END AS dayname, ( ( - DAYOFWEEK(TO_DATE(sbtxdatetime)) + 3 + DAYOFWEEK(sbtxdatetime) + 3 ) % 7 ) + 1 AS dayofweek FROM main.sbtransaction diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_one_mysql.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_one_mysql.sql index ba262aef8..0eeb424d5 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_one_mysql.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_one_mysql.sql @@ -1,20 +1,20 @@ SELECT - sbtxdatetime AS date_time, + sbTxDateTime AS date_time, CAST(DATE_SUB( - CAST(sbtxdatetime AS DATETIME), + CAST(sbTxDateTime AS DATETIME), INTERVAL ( ( - DAYOFWEEK(CAST(sbtxdatetime AS DATETIME)) + 3 + DAYOFWEEK(CAST(sbTxDateTime AS DATETIME)) + 3 ) % 7 ) DAY ) AS DATE) AS sow, - DAYNAME(sbtxdatetime) AS dayname, + DAYNAME(sbTxDateTime) AS dayname, ( ( - DAYOFWEEK(sbtxdatetime) + 3 + DAYOFWEEK(sbTxDateTime) + 3 ) % 7 ) + 1 AS dayofweek FROM main.sbTransaction WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATETIME)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) < 2025 + EXTRACT(DAY FROM CAST(sbTxDateTime AS DATETIME)) > 1 + AND EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_one_oracle.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_one_oracle.sql index f92743508..b067abc6c 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_one_oracle.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_one_oracle.sql @@ -1,33 +1,33 @@ SELECT - sbtxdatetime AS date_time, + SBTXDATETIME AS date_time, TRUNC( - CAST(CAST(sbtxdatetime AS DATE) - MOD(( - TO_CHAR(CAST(sbtxdatetime AS DATE), 'D') + 3 + CAST(CAST(SBTXDATETIME AS DATE) - MOD(( + TO_CHAR(CAST(SBTXDATETIME AS DATE), 'D') + 3 ), 7) AS DATE), 'DD' ) AS sow, CASE - WHEN TO_CHAR(sbtxdatetime, 'D') = 1 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 1 THEN 'Sunday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 2 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 2 THEN 'Monday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 3 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 3 THEN 'Tuesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 4 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 4 THEN 'Wednesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 5 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 5 THEN 'Thursday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 6 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 6 THEN 'Friday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 7 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 7 THEN 'Saturday' END AS dayname, ( MOD(( - TO_CHAR(sbtxdatetime, 'D') + 3 + TO_CHAR(SBTXDATETIME, 'D') + 3 ), 7) ) + 1 AS dayofweek FROM MAIN.SBTRANSACTION WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATE)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) < 2025 + EXTRACT(DAY FROM CAST(SBTXDATETIME AS DATE)) > 1 + AND EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_zero_databricks.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_zero_databricks.sql index 647a6368d..3837a4fb0 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_zero_databricks.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_zero_databricks.sql @@ -1,32 +1,31 @@ SELECT sbtxdatetime AS date_time, - DATEADD( - DAY, + DATE_ADD( + CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE), -( ( - DAYOFWEEK(TO_DATE(CAST(sbtxdatetime AS TIMESTAMP))) + 3 + DAYOFWEEK(CAST(sbtxdatetime AS TIMESTAMP)) + 3 ) % 7 - ), - CAST(CAST(sbtxdatetime AS TIMESTAMP) AS DATE) + ) ) AS sow, CASE - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 1 + WHEN DAYOFWEEK(sbtxdatetime) = 1 THEN 'Sunday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 2 + WHEN DAYOFWEEK(sbtxdatetime) = 2 THEN 'Monday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 3 + WHEN DAYOFWEEK(sbtxdatetime) = 3 THEN 'Tuesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 4 + WHEN DAYOFWEEK(sbtxdatetime) = 4 THEN 'Wednesday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 5 + WHEN DAYOFWEEK(sbtxdatetime) = 5 THEN 'Thursday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 6 + WHEN DAYOFWEEK(sbtxdatetime) = 6 THEN 'Friday' - WHEN DAYOFWEEK(TO_DATE(sbtxdatetime)) = 7 + WHEN DAYOFWEEK(sbtxdatetime) = 7 THEN 'Saturday' END AS dayname, ( - DAYOFWEEK(TO_DATE(sbtxdatetime)) + 3 + DAYOFWEEK(sbtxdatetime) + 3 ) % 7 AS dayofweek FROM main.sbtransaction WHERE diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_zero_mysql.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_zero_mysql.sql index 7d854af73..7643be347 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_zero_mysql.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_zero_mysql.sql @@ -1,18 +1,18 @@ SELECT - sbtxdatetime AS date_time, + sbTxDateTime AS date_time, CAST(DATE_SUB( - CAST(sbtxdatetime AS DATETIME), + CAST(sbTxDateTime AS DATETIME), INTERVAL ( ( - DAYOFWEEK(CAST(sbtxdatetime AS DATETIME)) + 3 + DAYOFWEEK(CAST(sbTxDateTime AS DATETIME)) + 3 ) % 7 ) DAY ) AS DATE) AS sow, - DAYNAME(sbtxdatetime) AS dayname, + DAYNAME(sbTxDateTime) AS dayname, ( - DAYOFWEEK(sbtxdatetime) + 3 + DAYOFWEEK(sbTxDateTime) + 3 ) % 7 AS dayofweek FROM main.sbTransaction WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATETIME)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) < 2025 + EXTRACT(DAY FROM CAST(sbTxDateTime AS DATETIME)) > 1 + AND EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) < 2025 diff --git a/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_zero_oracle.sql b/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_zero_oracle.sql index 9149b4532..586f84cd2 100644 --- a/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_zero_oracle.sql +++ b/tests/test_sql_refsols/sql_transaction_week_sampler_wednesday_zero_oracle.sql @@ -1,31 +1,31 @@ SELECT - sbtxdatetime AS date_time, + SBTXDATETIME AS date_time, TRUNC( - CAST(CAST(sbtxdatetime AS DATE) - MOD(( - TO_CHAR(CAST(sbtxdatetime AS DATE), 'D') + 3 + CAST(CAST(SBTXDATETIME AS DATE) - MOD(( + TO_CHAR(CAST(SBTXDATETIME AS DATE), 'D') + 3 ), 7) AS DATE), 'DD' ) AS sow, CASE - WHEN TO_CHAR(sbtxdatetime, 'D') = 1 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 1 THEN 'Sunday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 2 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 2 THEN 'Monday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 3 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 3 THEN 'Tuesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 4 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 4 THEN 'Wednesday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 5 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 5 THEN 'Thursday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 6 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 6 THEN 'Friday' - WHEN TO_CHAR(sbtxdatetime, 'D') = 7 + WHEN TO_CHAR(SBTXDATETIME, 'D') = 7 THEN 'Saturday' END AS dayname, MOD(( - TO_CHAR(sbtxdatetime, 'D') + 3 + TO_CHAR(SBTXDATETIME, 'D') + 3 ), 7) AS dayofweek FROM MAIN.SBTRANSACTION WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATE)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) < 2025 + EXTRACT(DAY FROM CAST(SBTXDATETIME AS DATE)) > 1 + AND EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) < 2025 diff --git a/tests/test_sql_refsols/sqlite_udf_nval_sqlite.sql b/tests/test_sql_refsols/sqlite_udf_nval_sqlite.sql index ede209988..435fd7422 100644 --- a/tests/test_sql_refsols/sqlite_udf_nval_sqlite.sql +++ b/tests/test_sql_refsols/sqlite_udf_nval_sqlite.sql @@ -2,8 +2,16 @@ SELECT region.r_name AS rname, nation.n_name AS nname, NTH_VALUE(nation.n_name, 3) OVER (ORDER BY nation.n_name ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS v1, - NTH_VALUE(nation.n_name, 1) OVER (PARTITION BY nation.n_regionkey ORDER BY nation.n_name ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS v2, - NTH_VALUE(nation.n_name, 2) OVER (PARTITION BY nation.n_regionkey ORDER BY nation.n_name ROWS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING) AS v3, + NTH_VALUE(nation.n_name, 1) OVER ( + PARTITION BY nation.n_regionkey + ORDER BY nation.n_name + ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING + ) AS v2, + NTH_VALUE(nation.n_name, 2) OVER ( + PARTITION BY nation.n_regionkey + ORDER BY nation.n_name + ROWS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING + ) AS v3, NTH_VALUE(nation.n_name, 5) OVER (ORDER BY nation.n_name ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS v4 FROM tpch.region AS region JOIN tpch.nation AS nation diff --git a/tests/test_sql_refsols/string_format_specifiers_databricks.sql b/tests/test_sql_refsols/string_format_specifiers_databricks.sql index 835437926..1ce395c45 100644 --- a/tests/test_sql_refsols/string_format_specifiers_databricks.sql +++ b/tests/test_sql_refsols/string_format_specifiers_databricks.sql @@ -15,4 +15,4 @@ SELECT DATE_FORMAT(CAST('2023-07-15 14:30:45' AS TIMESTAMP), '.SSSSSS') AS d14, DATE_FORMAT(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'XXX') AS d15 FROM VALUES - (NULL) AS _q_0(_col_0) + (NULL) AS _0(_col_0) diff --git a/tests/test_sql_refsols/string_format_specifiers_mysql.sql b/tests/test_sql_refsols/string_format_specifiers_mysql.sql index c02c5d603..8dc16f0bc 100644 --- a/tests/test_sql_refsols/string_format_specifiers_mysql.sql +++ b/tests/test_sql_refsols/string_format_specifiers_mysql.sql @@ -33,4 +33,4 @@ SELECT DATE_FORMAT(CAST('2023-07-15 14:30:45' AS DATETIME), '%Y-%m-%d') AS d32, DATE_FORMAT(CAST('2023-07-15 14:30:45' AS DATETIME), '%H:%i') AS d33 FROM (VALUES - ROW(NULL)) AS _q_0(_col_0) + ROW(NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/string_format_specifiers_oracle.sql b/tests/test_sql_refsols/string_format_specifiers_oracle.sql index d924b9f85..dd8ec46fb 100644 --- a/tests/test_sql_refsols/string_format_specifiers_oracle.sql +++ b/tests/test_sql_refsols/string_format_specifiers_oracle.sql @@ -18,6 +18,6 @@ SELECT TO_CHAR(TO_DATE('2023-07-15 14:30:45', 'YYYY-MM-DD HH24:MI:SS'), 'HH12') AS d17, TO_CHAR(TO_DATE('2023-07-15 14:30:45', 'YYYY-MM-DD HH24:MI:SS'), 'MI') AS d18, TO_CHAR(TO_DATE('2023-07-15 14:30:45', 'YYYY-MM-DD HH24:MI:SS'), 'SS') AS d19, - TO_CHAR(TO_DATE('2023-07-15 14:30:45', 'YYYY-MM-DD HH24:MI:SS'), 'P.M.') AS d20 + TO_CHAR(TO_DATE('2023-07-15 14:30:45', 'YYYY-MM-DD HH24:MI:SS'), 'AM') AS d20 FROM (VALUES - (NULL)) AS "_Q_0"("_COL_0") + (NULL)) AS "_0"("_COL_0") diff --git a/tests/test_sql_refsols/string_format_specifiers_postgres.sql b/tests/test_sql_refsols/string_format_specifiers_postgres.sql index e146e94c2..f16f9f787 100644 --- a/tests/test_sql_refsols/string_format_specifiers_postgres.sql +++ b/tests/test_sql_refsols/string_format_specifiers_postgres.sql @@ -14,7 +14,7 @@ SELECT TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'FF6') AS ff6, TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'SSSS') AS ssss1, TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'SSSSS') AS ssss2, - TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'PM') AS am1, + TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'AM') AS am1, TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'am') AS am2, TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'A.M.') AS am3, TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'a.m.') AS am4, @@ -61,4 +61,4 @@ SELECT TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'TZM') AS tz4, TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'OF') AS tz5 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/string_format_specifiers_snowflake.sql b/tests/test_sql_refsols/string_format_specifiers_snowflake.sql index afcf54925..873e9bd5b 100644 --- a/tests/test_sql_refsols/string_format_specifiers_snowflake.sql +++ b/tests/test_sql_refsols/string_format_specifiers_snowflake.sql @@ -1,18 +1,18 @@ SELECT - TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'YYYY') AS d1, - TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'YY') AS d2, - TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'MM') AS d3, + TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'yyyy') AS d1, + TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'yy') AS d2, + TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'mm') AS d3, TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'Mon') AS d4, - TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'MMMM') AS d5, + TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'mmmm') AS d5, TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'DD') AS d6, TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'DY') AS d7, TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'DYDY') AS d8, - TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'HH24') AS d9, - TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'HH12') AS d10, - TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'MI') AS d11, - TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'SS') AS d12, - TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'PM') AS d13, - TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), '.FF') AS d14, - TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'TZH:TZM') AS d15 + TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'hh24') AS d9, + TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'hh12') AS d10, + TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'mi') AS d11, + TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'ss') AS d12, + TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'pm') AS d13, + TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), '.ff9') AS d14, + TO_CHAR(CAST('2023-07-15 14:30:45' AS TIMESTAMP), 'tzh:tzm') AS d15 FROM (VALUES - (NULL)) AS _q_0(_col_0) + (NULL)) AS _0(_col_0) diff --git a/tests/test_sql_refsols/string_functions_ansi.sql b/tests/test_sql_refsols/string_functions_ansi.sql index 162226563..e1d942bee 100644 --- a/tests/test_sql_refsols/string_functions_ansi.sql +++ b/tests/test_sql_refsols/string_functions_ansi.sql @@ -14,7 +14,7 @@ SELECT ELSE SUBSTRING(CONCAT('********************', customer.c_name), -20) END AS lpad_name, SUBSTRING(CONCAT(customer.c_name, '--------------------'), 1, 20) AS rpad_name, - TRIM(customer.c_name, CONCAT(CHR(10), CHR(9), CHR(13), ' ')) AS stripped, + TRIM(customer.c_name, CONCAT(CHR( 10), CHR( 9), CHR( 13), ' ')) AS stripped, TRIM(customer.c_name, 'aeiou') AS stripped_vowels, REPLACE(customer.c_name, 'Corp', 'Inc') AS replaced_name, REPLACE(customer.c_name, 'Ltd', '') AS removed_substr, diff --git a/tests/test_sql_refsols/string_functions_databricks.sql b/tests/test_sql_refsols/string_functions_databricks.sql index e4866f31d..d2c8e0977 100644 --- a/tests/test_sql_refsols/string_functions_databricks.sql +++ b/tests/test_sql_refsols/string_functions_databricks.sql @@ -6,11 +6,15 @@ SELECT ENDSWITH(customer.c_name, 'z') AS ends_with_z, CONTAINS(customer.c_name, 'sub') AS contains_sub, customer.c_name LIKE '%test%' AS matches_like, - CONCAT_WS('::', customer.c_name, nation.n_name) AS joined_string, + CASE + WHEN customer.c_name IS NULL OR nation.n_name IS NULL + THEN NULL + ELSE CONCAT_WS('::', customer.c_name, nation.n_name) + END AS joined_string, NULL AS join_nulls, LPAD(customer.c_name, 20, '*') AS lpad_name, RPAD(customer.c_name, 20, '-') AS rpad_name, - TRIM(CONCAT(CHR(10), CHR(9), CHR(13), ' ') FROM customer.c_name) AS stripped, + TRIM(CONCAT(CHR( 10), CHR( 9), CHR( 13), ' ') FROM customer.c_name) AS stripped, TRIM('aeiou' FROM customer.c_name) AS stripped_vowels, REPLACE(customer.c_name, 'Corp', 'Inc') AS replaced_name, REPLACE(customer.c_name, 'Ltd', '') AS removed_substr, diff --git a/tests/test_sql_refsols/string_functions_duckdb.sql b/tests/test_sql_refsols/string_functions_duckdb.sql index 915892de1..13b18b290 100644 --- a/tests/test_sql_refsols/string_functions_duckdb.sql +++ b/tests/test_sql_refsols/string_functions_duckdb.sql @@ -6,15 +6,19 @@ SELECT customer.c_name LIKE '%z' AS ends_with_z, customer.c_name LIKE '%sub%' AS contains_sub, customer.c_name LIKE '%test%' AS matches_like, - CONCAT_WS('::', customer.c_name, nation.n_name) AS joined_string, + CASE + WHEN customer.c_name IS NULL OR nation.n_name IS NULL + THEN NULL + ELSE CONCAT_WS('::', customer.c_name, nation.n_name) + END AS joined_string, NULL AS join_nulls, CASE WHEN LENGTH(customer.c_name) >= 20 THEN SUBSTRING(customer.c_name, 1, 20) - ELSE SUBSTRING(CONCAT('********************', customer.c_name), -20) + ELSE SUBSTRING('********************' || customer.c_name, -20) END AS lpad_name, - SUBSTRING(CONCAT(customer.c_name, '--------------------'), 1, 20) AS rpad_name, - TRIM(customer.c_name, CONCAT(CHR(10), CHR(9), CHR(13), ' ')) AS stripped, + SUBSTRING(customer.c_name || '--------------------', 1, 20) AS rpad_name, + TRIM(customer.c_name, CHR(10) || CHR(9) || CHR(13) || ' ') AS stripped, TRIM(customer.c_name, 'aeiou') AS stripped_vowels, REPLACE(customer.c_name, 'Corp', 'Inc') AS replaced_name, REPLACE(customer.c_name, 'Ltd', '') AS removed_substr, diff --git a/tests/test_sql_refsols/string_functions_oracle.sql b/tests/test_sql_refsols/string_functions_oracle.sql index 0313e5ff4..f420c080f 100644 --- a/tests/test_sql_refsols/string_functions_oracle.sql +++ b/tests/test_sql_refsols/string_functions_oracle.sql @@ -1,30 +1,30 @@ SELECT - LOWER(CUSTOMER.c_name) AS lowercase_name, - UPPER(CUSTOMER.c_name) AS uppercase_name, - LENGTH(CUSTOMER.c_name) AS name_length, - CUSTOMER.c_name LIKE 'A%' AS starts_with_A, - CUSTOMER.c_name LIKE '%z' AS ends_with_z, - CUSTOMER.c_name LIKE '%sub%' AS contains_sub, - CUSTOMER.c_name LIKE '%test%' AS matches_like, - NVL(CUSTOMER.c_name, '') || '::' || NVL(NATION.n_name, '') AS joined_string, + LOWER(CUSTOMER.C_NAME) AS lowercase_name, + UPPER(CUSTOMER.C_NAME) AS uppercase_name, + LENGTH(CUSTOMER.C_NAME) AS name_length, + CUSTOMER.C_NAME LIKE 'A%' AS starts_with_A, + CUSTOMER.C_NAME LIKE '%z' AS ends_with_z, + CUSTOMER.C_NAME LIKE '%sub%' AS contains_sub, + CUSTOMER.C_NAME LIKE '%test%' AS matches_like, + NVL(CUSTOMER.C_NAME, '') || '::' || NVL(NATION.N_NAME, '') AS joined_string, NULL AS join_nulls, - LPAD(CUSTOMER.c_name, 20, '*') AS lpad_name, - RPAD(CUSTOMER.c_name, 20, '-') AS rpad_name, + LPAD(CUSTOMER.C_NAME, 20, '*') AS lpad_name, + RPAD(CUSTOMER.C_NAME, 20, '-') AS rpad_name, RTRIM( - LTRIM(CUSTOMER.c_name, CONCAT(CHR(10), CHR(9), CHR(13), ' ')), - CONCAT(CHR(10), CHR(9), CHR(13), ' ') + LTRIM(CUSTOMER.C_NAME, CONCAT(CHR( 10), CHR( 9), CHR( 13), ' ')), + CONCAT(CHR( 10), CHR( 9), CHR( 13), ' ') ) AS stripped, - RTRIM(LTRIM(CUSTOMER.c_name, 'aeiou'), 'aeiou') AS stripped_vowels, - REPLACE(CUSTOMER.c_name, 'Corp', 'Inc') AS replaced_name, - REPLACE(CUSTOMER.c_name, 'Ltd', '') AS removed_substr, + RTRIM(LTRIM(CUSTOMER.C_NAME, 'aeiou'), 'aeiou') AS stripped_vowels, + REPLACE(CUSTOMER.C_NAME, 'Corp', 'Inc') AS replaced_name, + REPLACE(CUSTOMER.C_NAME, 'Ltd', '') AS removed_substr, CASE - WHEN LENGTH(CUSTOMER.c_name) = 0 OR LENGTH(CUSTOMER.c_name) IS NULL + WHEN LENGTH(CUSTOMER.C_NAME) = 0 OR LENGTH(CUSTOMER.C_NAME) IS NULL THEN 0 ELSE CAST(( - LENGTH(CUSTOMER.c_name) - NVL(LENGTH(REPLACE(CUSTOMER.c_name, 'e', '')), 0) + LENGTH(CUSTOMER.C_NAME) - NVL(LENGTH(REPLACE(CUSTOMER.C_NAME, 'e', '')), 0) ) AS INT) END AS count_e, - INSTR(CUSTOMER.c_name, 'Alex') - 1 AS idx_Alex + INSTR(CUSTOMER.C_NAME, 'Alex') - 1 AS idx_Alex FROM TPCH.CUSTOMER CUSTOMER JOIN TPCH.NATION NATION - ON CUSTOMER.c_nationkey = NATION.n_nationkey + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY diff --git a/tests/test_sql_refsols/string_functions_postgres.sql b/tests/test_sql_refsols/string_functions_postgres.sql index 0741d4825..9482d4592 100644 --- a/tests/test_sql_refsols/string_functions_postgres.sql +++ b/tests/test_sql_refsols/string_functions_postgres.sql @@ -6,11 +6,15 @@ SELECT customer.c_name LIKE '%z' AS ends_with_z, customer.c_name LIKE '%sub%' AS contains_sub, customer.c_name LIKE '%test%' AS matches_like, - CONCAT_WS('::', customer.c_name, nation.n_name) AS joined_string, + CASE + WHEN customer.c_name IS NULL OR nation.n_name IS NULL + THEN NULL + ELSE CONCAT_WS('::', customer.c_name, nation.n_name) + END AS joined_string, NULL AS join_nulls, LPAD(CAST(customer.c_name AS TEXT), 20, '*') AS lpad_name, RPAD(CAST(customer.c_name AS TEXT), 20, '-') AS rpad_name, - TRIM(CONCAT(CHR(10), CHR(9), CHR(13), ' ') FROM customer.c_name) AS stripped, + TRIM(CHR( 10) || CHR( 9) || CHR( 13) || ' ' FROM customer.c_name) AS stripped, TRIM('aeiou' FROM customer.c_name) AS stripped_vowels, REPLACE(CAST(customer.c_name AS TEXT), 'Corp', 'Inc') AS replaced_name, REPLACE(CAST(customer.c_name AS TEXT), 'Ltd', '') AS removed_substr, diff --git a/tests/test_sql_refsols/string_functions_snowflake.sql b/tests/test_sql_refsols/string_functions_snowflake.sql index 7fab1452b..2d9fb41b9 100644 --- a/tests/test_sql_refsols/string_functions_snowflake.sql +++ b/tests/test_sql_refsols/string_functions_snowflake.sql @@ -10,7 +10,7 @@ SELECT NULL AS join_nulls, LPAD(customer.c_name, 20, '*') AS lpad_name, RPAD(customer.c_name, 20, '-') AS rpad_name, - TRIM(customer.c_name, CONCAT(CHR(10), CHR(9), CHR(13), ' ')) AS stripped, + TRIM(customer.c_name, CONCAT(CHR( 10), CHR( 9), CHR( 13), ' ')) AS stripped, TRIM(customer.c_name, 'aeiou') AS stripped_vowels, REPLACE(customer.c_name, 'Corp', 'Inc') AS replaced_name, REPLACE(customer.c_name, 'Ltd', '') AS removed_substr, diff --git a/tests/test_sql_refsols/string_functions_trino.sql b/tests/test_sql_refsols/string_functions_trino.sql index 421bf5a6f..cd9205394 100644 --- a/tests/test_sql_refsols/string_functions_trino.sql +++ b/tests/test_sql_refsols/string_functions_trino.sql @@ -6,11 +6,15 @@ SELECT customer.c_name LIKE '%z' AS ends_with_z, customer.c_name LIKE '%sub%' AS contains_sub, customer.c_name LIKE '%test%' AS matches_like, - CONCAT_WS('::', customer.c_name, nation.n_name) AS joined_string, + CASE + WHEN customer.c_name IS NULL OR nation.n_name IS NULL + THEN NULL + ELSE CONCAT_WS('::', customer.c_name, nation.n_name) + END AS joined_string, NULL AS join_nulls, LPAD(customer.c_name, 20, '*') AS lpad_name, RPAD(customer.c_name, 20, '-') AS rpad_name, - TRIM(CONCAT(CHR(10), CHR(9), CHR(13), ' ') FROM customer.c_name) AS stripped, + TRIM(CONCAT(CHR( 10), CHR( 9), CHR( 13), ' ') FROM customer.c_name) AS stripped, TRIM('aeiou' FROM customer.c_name) AS stripped_vowels, REPLACE(customer.c_name, 'Corp', 'Inc') AS replaced_name, REPLACE(customer.c_name, 'Ltd', '') AS removed_substr, diff --git a/tests/test_sql_refsols/supplier_best_part_ansi.sql b/tests/test_sql_refsols/supplier_best_part_ansi.sql index b70d6c17f..adfcf2098 100644 --- a/tests/test_sql_refsols/supplier_best_part_ansi.sql +++ b/tests/test_sql_refsols/supplier_best_part_ansi.sql @@ -20,7 +20,10 @@ WITH _s2 AS ( JOIN tpch.part AS part ON _s2.l_partkey = part.p_partkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s2.l_suppkey ORDER BY COALESCE(_s2.sum_l_quantity, 0) DESC NULLS FIRST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s2.l_suppkey + ORDER BY COALESCE(_s2.sum_l_quantity, 0) DESC NULLS FIRST + ) = 1 ) SELECT supplier.s_name AS supplier_name, diff --git a/tests/test_sql_refsols/supplier_best_part_databricks.sql b/tests/test_sql_refsols/supplier_best_part_databricks.sql index 80893f85a..d97410e8e 100644 --- a/tests/test_sql_refsols/supplier_best_part_databricks.sql +++ b/tests/test_sql_refsols/supplier_best_part_databricks.sql @@ -20,7 +20,10 @@ WITH _s2 AS ( JOIN tpch.part AS part ON _s2.l_partkey = part.p_partkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s2.l_suppkey ORDER BY COALESCE(_s2.sum_l_quantity, 0) DESC NULLS FIRST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s2.l_suppkey + ORDER BY COALESCE(_s2.sum_l_quantity, 0) DESC NULLS FIRST + ) = 1 ) SELECT supplier.s_name AS supplier_name, diff --git a/tests/test_sql_refsols/supplier_best_part_duckdb.sql b/tests/test_sql_refsols/supplier_best_part_duckdb.sql index beb4ebfc8..77eae1720 100644 --- a/tests/test_sql_refsols/supplier_best_part_duckdb.sql +++ b/tests/test_sql_refsols/supplier_best_part_duckdb.sql @@ -20,7 +20,10 @@ WITH _s2 AS ( JOIN tpch.part AS part ON _s2.l_partkey = part.p_partkey QUALIFY - ROW_NUMBER() OVER (PARTITION BY _s2.l_suppkey ORDER BY COALESCE(_s2.sum_l_quantity, 0) DESC NULLS FIRST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY _s2.l_suppkey + ORDER BY COALESCE(_s2.sum_l_quantity, 0) DESC NULLS FIRST + ) = 1 ) SELECT supplier.s_name AS supplier_name, diff --git a/tests/test_sql_refsols/supplier_best_part_oracle.sql b/tests/test_sql_refsols/supplier_best_part_oracle.sql index e4aa338d3..e2ff4205b 100644 --- a/tests/test_sql_refsols/supplier_best_part_oracle.sql +++ b/tests/test_sql_refsols/supplier_best_part_oracle.sql @@ -1,36 +1,36 @@ -WITH "_S2" AS ( +WITH "_s2" AS ( SELECT - l_partkey AS L_PARTKEY, - l_suppkey AS L_SUPPKEY, + L_PARTKEY, + L_SUPPKEY, COUNT(*) AS N_ROWS, - SUM(l_quantity) AS SUM_L_QUANTITY + SUM(L_QUANTITY) AS SUM_L_QUANTITY FROM TPCH.LINEITEM WHERE - EXTRACT(YEAR FROM CAST(l_shipdate AS DATE)) = 1994 AND l_tax = 0 + EXTRACT(YEAR FROM CAST(L_SHIPDATE AS DATE)) = 1994 AND L_TAX = 0 GROUP BY - l_partkey, - l_suppkey -), "_T" AS ( + L_PARTKEY, + L_SUPPKEY +), "_t" AS ( SELECT - "_S2".L_SUPPKEY, - "_S2".N_ROWS, - PART.p_name AS P_NAME, - "_S2".SUM_L_QUANTITY, - ROW_NUMBER() OVER (PARTITION BY "_S2".L_SUPPKEY ORDER BY COALESCE("_S2".SUM_L_QUANTITY, 0) DESC) AS "_W" - FROM "_S2" "_S2" + "_s2".L_SUPPKEY, + "_s2".N_ROWS, + PART.P_NAME, + "_s2".SUM_L_QUANTITY, + ROW_NUMBER() OVER (PARTITION BY "_s2".L_SUPPKEY ORDER BY COALESCE("_s2".SUM_L_QUANTITY, 0) DESC) AS "_w" + FROM "_s2" "_s2" JOIN TPCH.PART PART - ON PART.p_partkey = "_S2".L_PARTKEY + ON PART.P_PARTKEY = "_s2".L_PARTKEY ) SELECT - SUPPLIER.s_name AS supplier_name, - "_T".P_NAME AS part_name, - COALESCE("_T".SUM_L_QUANTITY, 0) AS total_quantity, - "_T".N_ROWS AS n_shipments + SUPPLIER.S_NAME AS supplier_name, + "_t".P_NAME AS part_name, + COALESCE("_t".SUM_L_QUANTITY, 0) AS total_quantity, + "_t".N_ROWS AS n_shipments FROM TPCH.SUPPLIER SUPPLIER JOIN TPCH.NATION NATION - ON NATION.n_name = 'FRANCE' AND NATION.n_nationkey = SUPPLIER.s_nationkey -JOIN "_T" "_T" - ON SUPPLIER.s_suppkey = "_T".L_SUPPKEY AND "_T"."_W" = 1 + ON NATION.N_NAME = 'FRANCE' AND NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY +JOIN "_t" "_t" + ON SUPPLIER.S_SUPPKEY = "_t".L_SUPPKEY AND "_t"."_w" = 1 ORDER BY 3 DESC NULLS LAST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/supplier_best_part_trino.sql b/tests/test_sql_refsols/supplier_best_part_trino.sql index 495539188..c6b1cf9b3 100644 --- a/tests/test_sql_refsols/supplier_best_part_trino.sql +++ b/tests/test_sql_refsols/supplier_best_part_trino.sql @@ -16,7 +16,10 @@ WITH _s2 AS ( _s2.n_rows, part.p_name, _s2.sum_l_quantity, - ROW_NUMBER() OVER (PARTITION BY _s2.l_suppkey ORDER BY COALESCE(_s2.sum_l_quantity, 0) DESC NULLS FIRST) AS _w + ROW_NUMBER() OVER ( + PARTITION BY _s2.l_suppkey + ORDER BY COALESCE(_s2.sum_l_quantity, 0) DESC NULLS FIRST + ) AS _w FROM _s2 AS _s2 JOIN tpch.part AS part ON _s2.l_partkey = part.p_partkey diff --git a/tests/test_sql_refsols/supplier_pct_national_qty_oracle.sql b/tests/test_sql_refsols/supplier_pct_national_qty_oracle.sql index 7f4286672..bb8f9b46f 100644 --- a/tests/test_sql_refsols/supplier_pct_national_qty_oracle.sql +++ b/tests/test_sql_refsols/supplier_pct_national_qty_oracle.sql @@ -1,33 +1,33 @@ -WITH "_S7" AS ( +WITH "_s7" AS ( SELECT - LINEITEM.l_quantity AS L_QUANTITY, - LINEITEM.l_suppkey AS L_SUPPKEY + LINEITEM.L_QUANTITY, + LINEITEM.L_SUPPKEY FROM TPCH.LINEITEM LINEITEM JOIN TPCH.PART PART - ON LINEITEM.l_partkey = PART.p_partkey - AND PART.p_container LIKE 'LG%' - AND PART.p_name LIKE '%tomato%' + ON LINEITEM.L_PARTKEY = PART.P_PARTKEY + AND PART.P_CONTAINER LIKE 'LG%' + AND PART.P_NAME LIKE '%tomato%' WHERE - EXTRACT(MONTH FROM CAST(LINEITEM.l_shipdate AS DATE)) < 7 - AND EXTRACT(YEAR FROM CAST(LINEITEM.l_shipdate AS DATE)) = 1995 - AND LINEITEM.l_shipmode = 'SHIP' -), "_T0" AS ( + EXTRACT(MONTH FROM CAST(LINEITEM.L_SHIPDATE AS DATE)) < 7 + AND EXTRACT(YEAR FROM CAST(LINEITEM.L_SHIPDATE AS DATE)) = 1995 + AND LINEITEM.L_SHIPMODE = 'SHIP' +), "_t0" AS ( SELECT - ANY_VALUE(NATION.n_name) AS ANYTHING_N_NAME, - ANY_VALUE(SUPPLIER.s_name) AS ANYTHING_S_NAME, - ANY_VALUE(SUPPLIER.s_nationkey) AS ANYTHING_S_NATIONKEY, - SUM("_S7".L_QUANTITY) AS SUM_L_QUANTITY + ANY_VALUE(NATION.N_NAME) AS ANYTHING_N_NAME, + ANY_VALUE(SUPPLIER.S_NAME) AS ANYTHING_S_NAME, + ANY_VALUE(SUPPLIER.S_NATIONKEY) AS ANYTHING_S_NATIONKEY, + SUM("_s7".L_QUANTITY) AS SUM_L_QUANTITY FROM TPCH.NATION NATION JOIN TPCH.REGION REGION - ON NATION.n_regionkey = REGION.r_regionkey AND REGION.r_name = 'AFRICA' + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY AND REGION.R_NAME = 'AFRICA' JOIN TPCH.SUPPLIER SUPPLIER - ON NATION.n_nationkey = SUPPLIER.s_nationkey - AND SUPPLIER.s_acctbal >= 8000.0 - AND SUPPLIER.s_comment LIKE '%careful%' - LEFT JOIN "_S7" "_S7" - ON SUPPLIER.s_suppkey = "_S7".L_SUPPKEY + ON NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY + AND SUPPLIER.S_ACCTBAL >= 8000.0 + AND SUPPLIER.S_COMMENT LIKE '%careful%' + LEFT JOIN "_s7" "_s7" + ON SUPPLIER.S_SUPPKEY = "_s7".L_SUPPKEY GROUP BY - SUPPLIER.s_suppkey + SUPPLIER.S_SUPPKEY ) SELECT ANYTHING_S_NAME AS supplier_name, @@ -40,7 +40,7 @@ SELECT THEN SUM(COALESCE(SUM_L_QUANTITY, 0)) OVER (PARTITION BY ANYTHING_S_NATIONKEY) ELSE NULL END AS national_qty_pct -FROM "_T0" +FROM "_t0" ORDER BY 4 DESC NULLS LAST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/supplier_pct_national_qty_postgres.sql b/tests/test_sql_refsols/supplier_pct_national_qty_postgres.sql index a10ffc857..bb1f30597 100644 --- a/tests/test_sql_refsols/supplier_pct_national_qty_postgres.sql +++ b/tests/test_sql_refsols/supplier_pct_national_qty_postgres.sql @@ -13,9 +13,9 @@ WITH _s7 AS ( AND lineitem.l_shipmode = 'SHIP' ), _t0 AS ( SELECT - MAX(nation.n_name) AS anything_n_name, - MAX(supplier.s_name) AS anything_s_name, - MAX(supplier.s_nationkey) AS anything_s_nationkey, + ANY_VALUE(nation.n_name) AS anything_n_name, + ANY_VALUE(supplier.s_name) AS anything_s_name, + ANY_VALUE(supplier.s_nationkey) AS anything_s_nationkey, SUM(_s7.l_quantity) AS sum_l_quantity FROM tpch.nation AS nation JOIN tpch.region AS region @@ -33,9 +33,9 @@ SELECT anything_s_name AS supplier_name, anything_n_name AS nation_name, COALESCE(sum_l_quantity, 0) AS supplier_quantity, - ( + CAST(( 100.0 * COALESCE(sum_l_quantity, 0) - ) / CASE + ) AS DOUBLE PRECISION) / CASE WHEN SUM(COALESCE(sum_l_quantity, 0)) OVER (PARTITION BY anything_s_nationkey) > 0 THEN SUM(COALESCE(sum_l_quantity, 0)) OVER (PARTITION BY anything_s_nationkey) ELSE NULL diff --git a/tests/test_sql_refsols/supplier_pct_national_qty_trino.sql b/tests/test_sql_refsols/supplier_pct_national_qty_trino.sql index be172adc7..2f175c868 100644 --- a/tests/test_sql_refsols/supplier_pct_national_qty_trino.sql +++ b/tests/test_sql_refsols/supplier_pct_national_qty_trino.sql @@ -33,9 +33,9 @@ SELECT anything_s_name AS supplier_name, anything_n_name AS nation_name, COALESCE(sum_l_quantity, 0) AS supplier_quantity, - ( + CAST(( 100.0 * COALESCE(sum_l_quantity, 0) - ) / CASE + ) AS DOUBLE) / CASE WHEN SUM(COALESCE(sum_l_quantity, 0)) OVER (PARTITION BY anything_s_nationkey) > 0 THEN SUM(COALESCE(sum_l_quantity, 0)) OVER (PARTITION BY anything_s_nationkey) ELSE NULL diff --git a/tests/test_sql_refsols/suppliers_bal_diffs_mysql.sql b/tests/test_sql_refsols/suppliers_bal_diffs_mysql.sql index ddd5c44e4..a6a11eef6 100644 --- a/tests/test_sql_refsols/suppliers_bal_diffs_mysql.sql +++ b/tests/test_sql_refsols/suppliers_bal_diffs_mysql.sql @@ -1,7 +1,10 @@ SELECT SUPPLIER.s_name AS name, REGION.r_name AS region_name, - SUPPLIER.s_acctbal - LAG(SUPPLIER.s_acctbal, 1) OVER (PARTITION BY NATION.n_regionkey ORDER BY CASE WHEN SUPPLIER.s_acctbal IS NULL THEN 1 ELSE 0 END, SUPPLIER.s_acctbal) AS acctbal_delta + SUPPLIER.s_acctbal - LAG(SUPPLIER.s_acctbal, 1) OVER ( + PARTITION BY NATION.n_regionkey + ORDER BY CASE WHEN SUPPLIER.s_acctbal IS NULL THEN 1 ELSE 0 END, SUPPLIER.s_acctbal + ) AS acctbal_delta FROM tpch.REGION AS REGION JOIN tpch.NATION AS NATION ON NATION.n_regionkey = REGION.r_regionkey diff --git a/tests/test_sql_refsols/suppliers_bal_diffs_oracle.sql b/tests/test_sql_refsols/suppliers_bal_diffs_oracle.sql index e9d4f949f..a878cbb60 100644 --- a/tests/test_sql_refsols/suppliers_bal_diffs_oracle.sql +++ b/tests/test_sql_refsols/suppliers_bal_diffs_oracle.sql @@ -1,12 +1,12 @@ SELECT - SUPPLIER.s_name AS name, - REGION.r_name AS region_name, - SUPPLIER.s_acctbal - LAG(SUPPLIER.s_acctbal, 1) OVER (PARTITION BY NATION.n_regionkey ORDER BY SUPPLIER.s_acctbal) AS acctbal_delta + SUPPLIER.S_NAME AS name, + REGION.R_NAME AS region_name, + SUPPLIER.S_ACCTBAL - LAG(SUPPLIER.S_ACCTBAL, 1) OVER (PARTITION BY NATION.N_REGIONKEY ORDER BY SUPPLIER.S_ACCTBAL) AS acctbal_delta FROM TPCH.REGION REGION JOIN TPCH.NATION NATION - ON NATION.n_regionkey = REGION.r_regionkey + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY JOIN TPCH.SUPPLIER SUPPLIER - ON NATION.n_nationkey = SUPPLIER.s_nationkey + ON NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY ORDER BY 3 DESC NULLS LAST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/synthea_most_common_conditions_mysql.sql b/tests/test_sql_refsols/synthea_most_common_conditions_mysql.sql index 686465e2b..5ac42226e 100644 --- a/tests/test_sql_refsols/synthea_most_common_conditions_mysql.sql +++ b/tests/test_sql_refsols/synthea_most_common_conditions_mysql.sql @@ -1,8 +1,8 @@ SELECT - conditions.description COLLATE utf8mb4_bin AS condition_description + conditions.DESCRIPTION COLLATE utf8mb4_bin AS condition_description FROM main.patients AS patients JOIN main.conditions AS conditions - ON conditions.patient = patients.patient + ON conditions.PATIENT = patients.patient WHERE patients.ethnicity = 'italian' AND patients.gender = 'F' GROUP BY diff --git a/tests/test_sql_refsols/synthea_most_common_conditions_oracle.sql b/tests/test_sql_refsols/synthea_most_common_conditions_oracle.sql index 1d86c4628..3a2259423 100644 --- a/tests/test_sql_refsols/synthea_most_common_conditions_oracle.sql +++ b/tests/test_sql_refsols/synthea_most_common_conditions_oracle.sql @@ -1,12 +1,12 @@ SELECT - CONDITIONS.description AS condition_description + CONDITIONS.DESCRIPTION AS condition_description FROM MAIN.PATIENTS PATIENTS JOIN MAIN.CONDITIONS CONDITIONS - ON CONDITIONS.patient = PATIENTS.patient + ON CONDITIONS.PATIENT = PATIENTS.PATIENT WHERE - PATIENTS.ethnicity = 'italian' AND PATIENTS.gender = 'F' + PATIENTS.ETHNICITY = 'italian' AND PATIENTS.GENDER = 'F' GROUP BY - CONDITIONS.description + CONDITIONS.DESCRIPTION ORDER BY COUNT(*) DESC NULLS LAST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/technograph_battery_failure_rates_anomalies_oracle.sql b/tests/test_sql_refsols/technograph_battery_failure_rates_anomalies_oracle.sql index f9c6f0689..f82cb0371 100644 --- a/tests/test_sql_refsols/technograph_battery_failure_rates_anomalies_oracle.sql +++ b/tests/test_sql_refsols/technograph_battery_failure_rates_anomalies_oracle.sql @@ -1,27 +1,27 @@ -WITH "_S7" AS ( +WITH "_s7" AS ( SELECT - INCIDENTS.in_device_id AS IN_DEVICE_ID, + INCIDENTS.IN_DEVICE_ID, COUNT(*) AS N_ROWS FROM MAIN.INCIDENTS INCIDENTS JOIN MAIN.ERRORS ERRORS - ON ERRORS.er_id = INCIDENTS.in_error_id AND ERRORS.er_name = 'Battery Failure' + ON ERRORS.ER_ID = INCIDENTS.IN_ERROR_ID AND ERRORS.ER_NAME = 'Battery Failure' GROUP BY - INCIDENTS.in_device_id + INCIDENTS.IN_DEVICE_ID ) SELECT - COUNTRIES.co_name AS country_name, - PRODUCTS.pr_name AS product_name, - ROUND(COALESCE(SUM("_S7".N_ROWS), 0) / COUNT(*), 2) AS ir + COUNTRIES.CO_NAME AS country_name, + PRODUCTS.PR_NAME AS product_name, + ROUND(COALESCE(SUM("_s7".N_ROWS), 0) / COUNT(*), 2) AS ir FROM MAIN.COUNTRIES COUNTRIES JOIN MAIN.DEVICES DEVICES - ON COUNTRIES.co_id = DEVICES.de_production_country_id + ON COUNTRIES.CO_ID = DEVICES.DE_PRODUCTION_COUNTRY_ID JOIN MAIN.PRODUCTS PRODUCTS - ON DEVICES.de_product_id = PRODUCTS.pr_id -LEFT JOIN "_S7" "_S7" - ON DEVICES.de_id = "_S7".IN_DEVICE_ID + ON DEVICES.DE_PRODUCT_ID = PRODUCTS.PR_ID +LEFT JOIN "_s7" "_s7" + ON DEVICES.DE_ID = "_s7".IN_DEVICE_ID GROUP BY - COUNTRIES.co_name, - PRODUCTS.pr_name + COUNTRIES.CO_NAME, + PRODUCTS.PR_NAME ORDER BY 3 DESC NULLS LAST, 2 NULLS FIRST, diff --git a/tests/test_sql_refsols/technograph_country_cartesian_oddball_oracle.sql b/tests/test_sql_refsols/technograph_country_cartesian_oddball_oracle.sql index 39824a9b5..b42e5caa5 100644 --- a/tests/test_sql_refsols/technograph_country_cartesian_oddball_oracle.sql +++ b/tests/test_sql_refsols/technograph_country_cartesian_oddball_oracle.sql @@ -1,12 +1,12 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT COUNT(*) AS N_ROWS FROM MAIN.COUNTRIES ) SELECT - COUNTRIES.co_name AS name, - "_S1".N_ROWS AS n_other_countries + COUNTRIES.CO_NAME AS name, + "_s1".N_ROWS AS n_other_countries FROM MAIN.COUNTRIES COUNTRIES -CROSS JOIN "_S1" "_S1" +CROSS JOIN "_s1" "_s1" ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/technograph_country_combination_analysis_oracle.sql b/tests/test_sql_refsols/technograph_country_combination_analysis_oracle.sql index 92a6af6a4..d6728e774 100644 --- a/tests/test_sql_refsols/technograph_country_combination_analysis_oracle.sql +++ b/tests/test_sql_refsols/technograph_country_combination_analysis_oracle.sql @@ -1,45 +1,45 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - co_id AS CO_ID, - co_name AS CO_NAME + CO_ID, + CO_NAME FROM MAIN.COUNTRIES -), "_S2" AS ( +), "_s2" AS ( SELECT - co_id AS CO_ID + CO_ID FROM MAIN.COUNTRIES -), "_T1" AS ( +), "_t1" AS ( SELECT - ANY_VALUE("_S3".CO_ID) AS ANYTHING__ID_3, - ANY_VALUE("_S2".CO_ID) AS ANYTHING_CO_ID, - COUNT(INCIDENTS.in_device_id) AS COUNT_IN_DEVICE_ID - FROM "_S2" "_S2" - CROSS JOIN "_S2" "_S3" + ANY_VALUE("_s3".CO_ID) AS ANYTHING__ID_3, + ANY_VALUE("_s2".CO_ID) AS ANYTHING_CO_ID, + COUNT(INCIDENTS.IN_DEVICE_ID) AS COUNT_IN_DEVICE_ID + FROM "_s2" "_s2" + CROSS JOIN "_s2" "_s3" JOIN MAIN.DEVICES DEVICES - ON DEVICES.de_production_country_id = "_S2".CO_ID - AND DEVICES.de_purchase_country_id = "_S3".CO_ID + ON DEVICES.DE_PRODUCTION_COUNTRY_ID = "_s2".CO_ID + AND DEVICES.DE_PURCHASE_COUNTRY_ID = "_s3".CO_ID LEFT JOIN MAIN.INCIDENTS INCIDENTS - ON DEVICES.de_id = INCIDENTS.in_device_id + ON DEVICES.DE_ID = INCIDENTS.IN_DEVICE_ID GROUP BY - DEVICES.de_id -), "_S9" AS ( + DEVICES.DE_ID +), "_s9" AS ( SELECT ANYTHING__ID_3, ANYTHING_CO_ID, COUNT(*) AS N_ROWS, SUM(COUNT_IN_DEVICE_ID) AS SUM_N_ROWS - FROM "_T1" + FROM "_t1" GROUP BY ANYTHING__ID_3, ANYTHING_CO_ID ) SELECT - "_S0".CO_NAME AS factory_country, - "_S1".CO_NAME AS purchase_country, - ROUND(COALESCE("_S9".SUM_N_ROWS, 0) / COALESCE("_S9".N_ROWS, 0), 2) AS ir -FROM "_S0" "_S0" -CROSS JOIN "_S0" "_S1" -LEFT JOIN "_S9" "_S9" - ON "_S0".CO_ID = "_S9".ANYTHING_CO_ID AND "_S1".CO_ID = "_S9".ANYTHING__ID_3 + "_s0".CO_NAME AS factory_country, + "_s1".CO_NAME AS purchase_country, + ROUND(COALESCE("_s9".SUM_N_ROWS, 0) / COALESCE("_s9".N_ROWS, 0), 2) AS ir +FROM "_s0" "_s0" +CROSS JOIN "_s0" "_s1" +LEFT JOIN "_s9" "_s9" + ON "_s0".CO_ID = "_s9".ANYTHING_CO_ID AND "_s1".CO_ID = "_s9".ANYTHING__ID_3 ORDER BY 3 DESC NULLS LAST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/technograph_country_combination_analysis_postgres.sql b/tests/test_sql_refsols/technograph_country_combination_analysis_postgres.sql index eb48d5a1a..be69faf8d 100644 --- a/tests/test_sql_refsols/technograph_country_combination_analysis_postgres.sql +++ b/tests/test_sql_refsols/technograph_country_combination_analysis_postgres.sql @@ -9,8 +9,8 @@ WITH _s0 AS ( FROM main.countries ), _t1 AS ( SELECT - MAX(_s3.co_id) AS anything__id_3, - MAX(_s2.co_id) AS anything_co_id, + ANY_VALUE(_s3.co_id) AS anything__id_3, + ANY_VALUE(_s2.co_id) AS anything_co_id, COUNT(incidents.in_device_id) AS count_in_device_id FROM _s2 AS _s2 CROSS JOIN _s2 AS _s3 diff --git a/tests/test_sql_refsols/technograph_country_incident_rate_analysis_oracle.sql b/tests/test_sql_refsols/technograph_country_incident_rate_analysis_oracle.sql index 50c3c7c31..16e5cc6f8 100644 --- a/tests/test_sql_refsols/technograph_country_incident_rate_analysis_oracle.sql +++ b/tests/test_sql_refsols/technograph_country_incident_rate_analysis_oracle.sql @@ -1,72 +1,72 @@ -WITH "_T2" AS ( +WITH "_t2" AS ( SELECT - in_device_id AS IN_DEVICE_ID + IN_DEVICE_ID FROM MAIN.INCIDENTS -), "_S1" AS ( +), "_s1" AS ( SELECT IN_DEVICE_ID, COUNT(*) AS N_ROWS - FROM "_T2" + FROM "_t2" GROUP BY IN_DEVICE_ID -), "_S3" AS ( +), "_s3" AS ( SELECT - DEVICES.de_production_country_id AS DE_PRODUCTION_COUNTRY_ID, + DEVICES.DE_PRODUCTION_COUNTRY_ID, COUNT(*) AS N_ROWS, - SUM("_S1".N_ROWS) AS SUM_N_ROWS + SUM("_s1".N_ROWS) AS SUM_N_ROWS FROM MAIN.DEVICES DEVICES - LEFT JOIN "_S1" "_S1" - ON DEVICES.de_id = "_S1".IN_DEVICE_ID + LEFT JOIN "_s1" "_s1" + ON DEVICES.DE_ID = "_s1".IN_DEVICE_ID GROUP BY - DEVICES.de_production_country_id -), "_S5" AS ( + DEVICES.DE_PRODUCTION_COUNTRY_ID +), "_s5" AS ( SELECT IN_DEVICE_ID, COUNT(*) AS N_ROWS - FROM "_T2" + FROM "_t2" GROUP BY IN_DEVICE_ID -), "_S7" AS ( +), "_s7" AS ( SELECT - DEVICES.de_purchase_country_id AS DE_PURCHASE_COUNTRY_ID, + DEVICES.DE_PURCHASE_COUNTRY_ID, COUNT(*) AS N_ROWS, - SUM("_S5".N_ROWS) AS SUM_N_ROWS + SUM("_s5".N_ROWS) AS SUM_N_ROWS FROM MAIN.DEVICES DEVICES - LEFT JOIN "_S5" "_S5" - ON DEVICES.de_id = "_S5".IN_DEVICE_ID + LEFT JOIN "_s5" "_s5" + ON DEVICES.DE_ID = "_s5".IN_DEVICE_ID GROUP BY - DEVICES.de_purchase_country_id -), "_T5" AS ( + DEVICES.DE_PURCHASE_COUNTRY_ID +), "_t5" AS ( SELECT - ANY_VALUE(USERS.us_country_id) AS ANYTHING_US_COUNTRY_ID, - COUNT("_S11".IN_DEVICE_ID) AS COUNT_IN_DEVICE_ID + ANY_VALUE(USERS.US_COUNTRY_ID) AS ANYTHING_US_COUNTRY_ID, + COUNT("_s11".IN_DEVICE_ID) AS COUNT_IN_DEVICE_ID FROM MAIN.USERS USERS JOIN MAIN.DEVICES DEVICES - ON DEVICES.de_owner_id = USERS.us_id - LEFT JOIN "_T2" "_S11" - ON DEVICES.de_id = "_S11".IN_DEVICE_ID + ON DEVICES.DE_OWNER_ID = USERS.US_ID + LEFT JOIN "_t2" "_s11" + ON DEVICES.DE_ID = "_s11".IN_DEVICE_ID GROUP BY - DEVICES.de_id -), "_S13" AS ( + DEVICES.DE_ID +), "_s13" AS ( SELECT ANYTHING_US_COUNTRY_ID, COUNT(*) AS N_ROWS, SUM(COUNT_IN_DEVICE_ID) AS SUM_N_ROWS - FROM "_T5" + FROM "_t5" GROUP BY ANYTHING_US_COUNTRY_ID ) SELECT - COUNTRIES.co_name AS country_name, - ROUND(COALESCE("_S3".SUM_N_ROWS, 0) / "_S3".N_ROWS, 2) AS made_ir, - ROUND(COALESCE("_S7".SUM_N_ROWS, 0) / "_S7".N_ROWS, 2) AS sold_ir, - ROUND(COALESCE("_S13".SUM_N_ROWS, 0) / COALESCE("_S13".N_ROWS, 0), 2) AS user_ir + COUNTRIES.CO_NAME AS country_name, + ROUND(COALESCE("_s3".SUM_N_ROWS, 0) / "_s3".N_ROWS, 2) AS made_ir, + ROUND(COALESCE("_s7".SUM_N_ROWS, 0) / "_s7".N_ROWS, 2) AS sold_ir, + ROUND(COALESCE("_s13".SUM_N_ROWS, 0) / COALESCE("_s13".N_ROWS, 0), 2) AS user_ir FROM MAIN.COUNTRIES COUNTRIES -JOIN "_S3" "_S3" - ON COUNTRIES.co_id = "_S3".DE_PRODUCTION_COUNTRY_ID -JOIN "_S7" "_S7" - ON COUNTRIES.co_id = "_S7".DE_PURCHASE_COUNTRY_ID -LEFT JOIN "_S13" "_S13" - ON COUNTRIES.co_id = "_S13".ANYTHING_US_COUNTRY_ID +JOIN "_s3" "_s3" + ON COUNTRIES.CO_ID = "_s3".DE_PRODUCTION_COUNTRY_ID +JOIN "_s7" "_s7" + ON COUNTRIES.CO_ID = "_s7".DE_PURCHASE_COUNTRY_ID +LEFT JOIN "_s13" "_s13" + ON COUNTRIES.CO_ID = "_s13".ANYTHING_US_COUNTRY_ID ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/technograph_country_incident_rate_analysis_postgres.sql b/tests/test_sql_refsols/technograph_country_incident_rate_analysis_postgres.sql index c6b655158..c29baa1ac 100644 --- a/tests/test_sql_refsols/technograph_country_incident_rate_analysis_postgres.sql +++ b/tests/test_sql_refsols/technograph_country_incident_rate_analysis_postgres.sql @@ -38,7 +38,7 @@ WITH _t2 AS ( 1 ), _t5 AS ( SELECT - MAX(users.us_country_id) AS anything_us_country_id, + ANY_VALUE(users.us_country_id) AS anything_us_country_id, COUNT(_s11.in_device_id) AS count_in_device_id FROM main.users AS users JOIN main.devices AS devices diff --git a/tests/test_sql_refsols/technograph_error_percentages_sun_set_by_error_oracle.sql b/tests/test_sql_refsols/technograph_error_percentages_sun_set_by_error_oracle.sql index c100f405b..f6e159337 100644 --- a/tests/test_sql_refsols/technograph_error_percentages_sun_set_by_error_oracle.sql +++ b/tests/test_sql_refsols/technograph_error_percentages_sun_set_by_error_oracle.sql @@ -1,25 +1,25 @@ -WITH "_S5" AS ( +WITH "_s5" AS ( SELECT - INCIDENTS.in_error_id AS IN_ERROR_ID, + INCIDENTS.IN_ERROR_ID, COUNT(*) AS N_ROWS FROM MAIN.INCIDENTS INCIDENTS JOIN MAIN.DEVICES DEVICES - ON DEVICES.de_id = INCIDENTS.in_device_id + ON DEVICES.DE_ID = INCIDENTS.IN_DEVICE_ID JOIN MAIN.PRODUCTS PRODUCTS - ON DEVICES.de_product_id = PRODUCTS.pr_id AND PRODUCTS.pr_name = 'Sun-Set' + ON DEVICES.DE_PRODUCT_ID = PRODUCTS.PR_ID AND PRODUCTS.PR_NAME = 'Sun-Set' GROUP BY - INCIDENTS.in_error_id + INCIDENTS.IN_ERROR_ID ) SELECT - ERRORS.er_name AS error, + ERRORS.ER_NAME AS error, ROUND( ( - 100.0 * COALESCE("_S5".N_ROWS, 0) - ) / SUM(COALESCE("_S5".N_ROWS, 0)) OVER (), + 100.0 * COALESCE("_s5".N_ROWS, 0) + ) / SUM(COALESCE("_s5".N_ROWS, 0)) OVER (), 2 ) AS pct FROM MAIN.ERRORS ERRORS -LEFT JOIN "_S5" "_S5" - ON ERRORS.er_id = "_S5".IN_ERROR_ID +LEFT JOIN "_s5" "_s5" + ON ERRORS.ER_ID = "_s5".IN_ERROR_ID ORDER BY 2 DESC NULLS LAST diff --git a/tests/test_sql_refsols/technograph_error_rate_sun_set_by_factory_country_oracle.sql b/tests/test_sql_refsols/technograph_error_rate_sun_set_by_factory_country_oracle.sql index 2329068c1..53f91e083 100644 --- a/tests/test_sql_refsols/technograph_error_rate_sun_set_by_factory_country_oracle.sql +++ b/tests/test_sql_refsols/technograph_error_rate_sun_set_by_factory_country_oracle.sql @@ -1,28 +1,28 @@ -WITH "_T2" AS ( +WITH "_t2" AS ( SELECT - ANY_VALUE(DEVICES.de_production_country_id) AS ANYTHING_DE_PRODUCTION_COUNTRY_ID, - COUNT(INCIDENTS.in_device_id) AS COUNT_IN_DEVICE_ID + ANY_VALUE(DEVICES.DE_PRODUCTION_COUNTRY_ID) AS ANYTHING_DE_PRODUCTION_COUNTRY_ID, + COUNT(INCIDENTS.IN_DEVICE_ID) AS COUNT_IN_DEVICE_ID FROM MAIN.DEVICES DEVICES JOIN MAIN.PRODUCTS PRODUCTS - ON DEVICES.de_product_id = PRODUCTS.pr_id AND PRODUCTS.pr_name = 'Sun-Set' + ON DEVICES.DE_PRODUCT_ID = PRODUCTS.PR_ID AND PRODUCTS.PR_NAME = 'Sun-Set' LEFT JOIN MAIN.INCIDENTS INCIDENTS - ON DEVICES.de_id = INCIDENTS.in_device_id + ON DEVICES.DE_ID = INCIDENTS.IN_DEVICE_ID GROUP BY - DEVICES.de_id -), "_S5" AS ( + DEVICES.DE_ID +), "_s5" AS ( SELECT COALESCE(SUM(COUNT_IN_DEVICE_ID), 0) AS SUM_N_INCIDENTS, ANYTHING_DE_PRODUCTION_COUNTRY_ID, COUNT(*) AS N_ROWS - FROM "_T2" + FROM "_t2" GROUP BY ANYTHING_DE_PRODUCTION_COUNTRY_ID ) SELECT - COUNTRIES.co_name AS country, - ROUND(COALESCE("_S5".SUM_N_INCIDENTS, 0) / COALESCE("_S5".N_ROWS, 0), 2) AS ir + COUNTRIES.CO_NAME AS country, + ROUND(COALESCE("_s5".SUM_N_INCIDENTS, 0) / COALESCE("_s5".N_ROWS, 0), 2) AS ir FROM MAIN.COUNTRIES COUNTRIES -LEFT JOIN "_S5" "_S5" - ON COUNTRIES.co_id = "_S5".ANYTHING_DE_PRODUCTION_COUNTRY_ID +LEFT JOIN "_s5" "_s5" + ON COUNTRIES.CO_ID = "_s5".ANYTHING_DE_PRODUCTION_COUNTRY_ID ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/technograph_error_rate_sun_set_by_factory_country_postgres.sql b/tests/test_sql_refsols/technograph_error_rate_sun_set_by_factory_country_postgres.sql index f4f1602c9..ab2d9faa3 100644 --- a/tests/test_sql_refsols/technograph_error_rate_sun_set_by_factory_country_postgres.sql +++ b/tests/test_sql_refsols/technograph_error_rate_sun_set_by_factory_country_postgres.sql @@ -1,6 +1,6 @@ WITH _t2 AS ( SELECT - MAX(devices.de_production_country_id) AS anything_de_production_country_id, + ANY_VALUE(devices.de_production_country_id) AS anything_de_production_country_id, COUNT(incidents.in_device_id) AS count_in_device_id FROM main.devices AS devices JOIN main.products AS products diff --git a/tests/test_sql_refsols/technograph_global_incident_rate_oracle.sql b/tests/test_sql_refsols/technograph_global_incident_rate_oracle.sql index c6d1a9a99..6d440e1e8 100644 --- a/tests/test_sql_refsols/technograph_global_incident_rate_oracle.sql +++ b/tests/test_sql_refsols/technograph_global_incident_rate_oracle.sql @@ -1,13 +1,13 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT COUNT(*) AS N_ROWS FROM MAIN.INCIDENTS -), "_S1" AS ( +), "_s1" AS ( SELECT COUNT(*) AS N_ROWS FROM MAIN.DEVICES ) SELECT - ROUND("_S0".N_ROWS / "_S1".N_ROWS, 2) AS ir -FROM "_S0" "_S0" -CROSS JOIN "_S1" "_S1" + ROUND("_s0".N_ROWS / "_s1".N_ROWS, 2) AS ir +FROM "_s0" "_s0" +CROSS JOIN "_s1" "_s1" diff --git a/tests/test_sql_refsols/technograph_hot_purchase_window_databricks.sql b/tests/test_sql_refsols/technograph_hot_purchase_window_databricks.sql index 71d396dc6..aa335032a 100644 --- a/tests/test_sql_refsols/technograph_hot_purchase_window_databricks.sql +++ b/tests/test_sql_refsols/technograph_hot_purchase_window_databricks.sql @@ -4,7 +4,7 @@ SELECT FROM main.calendar AS calendar JOIN main.calendar AS calendar_2 ON calendar.ca_dt <= calendar_2.ca_dt - AND calendar_2.ca_dt < DATEADD(DAY, 5, CAST(calendar.ca_dt AS TIMESTAMP)) + AND calendar_2.ca_dt < DATE_ADD(DAY, 5, CAST(calendar.ca_dt AS TIMESTAMP)) JOIN main.devices AS devices ON calendar_2.ca_dt = DATE_TRUNC('DAY', CAST(devices.de_purchase_ts AS TIMESTAMP)) WHERE diff --git a/tests/test_sql_refsols/technograph_hot_purchase_window_oracle.sql b/tests/test_sql_refsols/technograph_hot_purchase_window_oracle.sql index 40c14ff5d..d673725df 100644 --- a/tests/test_sql_refsols/technograph_hot_purchase_window_oracle.sql +++ b/tests/test_sql_refsols/technograph_hot_purchase_window_oracle.sql @@ -1,18 +1,18 @@ SELECT - CALENDAR.ca_dt AS start_of_period, + CALENDAR.CA_DT AS start_of_period, COUNT(*) AS n_purchases FROM MAIN.CALENDAR CALENDAR JOIN MAIN.CALENDAR CALENDAR_2 - ON CALENDAR.ca_dt <= CALENDAR_2.ca_dt - AND CALENDAR_2.ca_dt < ( - CAST(CALENDAR.ca_dt AS DATE) + NUMTODSINTERVAL(5, 'day') + ON CALENDAR.CA_DT <= CALENDAR_2.CA_DT + AND CALENDAR_2.CA_DT < ( + CAST(CALENDAR.CA_DT AS DATE) + NUMTODSINTERVAL(5, 'day') ) JOIN MAIN.DEVICES DEVICES - ON CALENDAR_2.ca_dt = TRUNC(CAST(CAST(DEVICES.de_purchase_ts AS DATE) AS DATE), 'DD') + ON CALENDAR_2.CA_DT = TRUNC(CAST(CAST(DEVICES.DE_PURCHASE_TS AS DATE) AS DATE), 'DD') WHERE - EXTRACT(YEAR FROM CAST(CALENDAR.ca_dt AS DATE)) = 2024 + EXTRACT(YEAR FROM CAST(CALENDAR.CA_DT AS DATE)) = 2024 GROUP BY - CALENDAR.ca_dt + CALENDAR.CA_DT ORDER BY 2 DESC NULLS LAST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/technograph_incident_rate_by_release_year_oracle.sql b/tests/test_sql_refsols/technograph_incident_rate_by_release_year_oracle.sql index 3f7c82d76..d022f95d0 100644 --- a/tests/test_sql_refsols/technograph_incident_rate_by_release_year_oracle.sql +++ b/tests/test_sql_refsols/technograph_incident_rate_by_release_year_oracle.sql @@ -1,41 +1,41 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - de_product_id AS DE_PRODUCT_ID, + DE_PRODUCT_ID, COUNT(*) AS N_ROWS FROM MAIN.DEVICES GROUP BY - de_product_id -), "_S1" AS ( + DE_PRODUCT_ID +), "_s1" AS ( SELECT - pr_id AS PR_ID, - pr_release AS PR_RELEASE + PR_ID, + PR_RELEASE FROM MAIN.PRODUCTS -), "_S6" AS ( +), "_s6" AS ( SELECT - EXTRACT(YEAR FROM CAST("_S1".PR_RELEASE AS DATE)) AS YEAR_PR_RELEASE, - SUM("_S0".N_ROWS) AS SUM_N_ROWS - FROM "_S0" "_S0" - JOIN "_S1" "_S1" - ON "_S0".DE_PRODUCT_ID = "_S1".PR_ID + EXTRACT(YEAR FROM CAST("_s1".PR_RELEASE AS DATE)) AS YEAR_PR_RELEASE, + SUM("_s0".N_ROWS) AS SUM_N_ROWS + FROM "_s0" "_s0" + JOIN "_s1" "_s1" + ON "_s0".DE_PRODUCT_ID = "_s1".PR_ID GROUP BY - EXTRACT(YEAR FROM CAST("_S1".PR_RELEASE AS DATE)) -), "_S7" AS ( + EXTRACT(YEAR FROM CAST("_s1".PR_RELEASE AS DATE)) +), "_s7" AS ( SELECT - EXTRACT(YEAR FROM CAST("_S3".PR_RELEASE AS DATE)) AS YEAR_PR_RELEASE, + EXTRACT(YEAR FROM CAST("_s3".PR_RELEASE AS DATE)) AS YEAR_PR_RELEASE, COUNT(*) AS N_ROWS FROM MAIN.DEVICES DEVICES - JOIN "_S1" "_S3" - ON DEVICES.de_product_id = "_S3".PR_ID + JOIN "_s1" "_s3" + ON DEVICES.DE_PRODUCT_ID = "_s3".PR_ID JOIN MAIN.INCIDENTS INCIDENTS - ON DEVICES.de_id = INCIDENTS.in_device_id + ON DEVICES.DE_ID = INCIDENTS.IN_DEVICE_ID GROUP BY - EXTRACT(YEAR FROM CAST("_S3".PR_RELEASE AS DATE)) + EXTRACT(YEAR FROM CAST("_s3".PR_RELEASE AS DATE)) ) SELECT - "_S6".YEAR_PR_RELEASE AS year, - ROUND(COALESCE("_S7".N_ROWS, 0) / "_S6".SUM_N_ROWS, 2) AS ir -FROM "_S6" "_S6" -LEFT JOIN "_S7" "_S7" - ON "_S6".YEAR_PR_RELEASE = "_S7".YEAR_PR_RELEASE + "_s6".YEAR_PR_RELEASE AS year, + ROUND(COALESCE("_s7".N_ROWS, 0) / "_s6".SUM_N_ROWS, 2) AS ir +FROM "_s6" "_s6" +LEFT JOIN "_s7" "_s7" + ON "_s6".YEAR_PR_RELEASE = "_s7".YEAR_PR_RELEASE ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/technograph_incident_rate_per_brand_oracle.sql b/tests/test_sql_refsols/technograph_incident_rate_per_brand_oracle.sql index f538b51e1..ecee7bcbc 100644 --- a/tests/test_sql_refsols/technograph_incident_rate_per_brand_oracle.sql +++ b/tests/test_sql_refsols/technograph_incident_rate_per_brand_oracle.sql @@ -1,20 +1,20 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - in_device_id AS IN_DEVICE_ID, + IN_DEVICE_ID, COUNT(*) AS N_ROWS FROM MAIN.INCIDENTS GROUP BY - in_device_id + IN_DEVICE_ID ) SELECT - PRODUCTS.pr_brand AS brand, - ROUND(COALESCE(SUM("_S3".N_ROWS), 0) / COUNT(*), 2) AS ir + PRODUCTS.PR_BRAND AS brand, + ROUND(COALESCE(SUM("_s3".N_ROWS), 0) / COUNT(*), 2) AS ir FROM MAIN.DEVICES DEVICES JOIN MAIN.PRODUCTS PRODUCTS - ON DEVICES.de_product_id = PRODUCTS.pr_id -LEFT JOIN "_S3" "_S3" - ON DEVICES.de_id = "_S3".IN_DEVICE_ID + ON DEVICES.DE_PRODUCT_ID = PRODUCTS.PR_ID +LEFT JOIN "_s3" "_s3" + ON DEVICES.DE_ID = "_s3".IN_DEVICE_ID GROUP BY - PRODUCTS.pr_brand + PRODUCTS.PR_BRAND ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/technograph_monthly_incident_rate_databricks.sql b/tests/test_sql_refsols/technograph_monthly_incident_rate_databricks.sql index 2e62d69ff..eca9a641a 100644 --- a/tests/test_sql_refsols/technograph_monthly_incident_rate_databricks.sql +++ b/tests/test_sql_refsols/technograph_monthly_incident_rate_databricks.sql @@ -53,7 +53,11 @@ WITH _t2 AS ( 2 ) SELECT - CONCAT_WS('-', year_ca_dt, LPAD(month_ca_dt, 2, '0')) AS month, + CASE + WHEN LPAD(month_ca_dt, 2, '0') IS NULL OR year_ca_dt IS NULL + THEN NULL + ELSE CONCAT_WS('-', year_ca_dt, LPAD(month_ca_dt, 2, '0')) + END AS month, ROUND(( 1000000.0 * COALESCE(sum_n_rows, 0) ) / COALESCE(sum_expr_3, 0), 2) AS ir diff --git a/tests/test_sql_refsols/technograph_monthly_incident_rate_duckdb.sql b/tests/test_sql_refsols/technograph_monthly_incident_rate_duckdb.sql index 2ce62bc13..095ae7f73 100644 --- a/tests/test_sql_refsols/technograph_monthly_incident_rate_duckdb.sql +++ b/tests/test_sql_refsols/technograph_monthly_incident_rate_duckdb.sql @@ -53,15 +53,24 @@ WITH _t2 AS ( 2 ) SELECT - CONCAT_WS( - '-', - year_ca_dt, - CASE + CASE + WHEN CASE WHEN LENGTH(CAST(month_ca_dt AS TEXT)) >= 2 THEN SUBSTRING(CAST(month_ca_dt AS TEXT), 1, 2) - ELSE SUBSTRING(CONCAT('00', CAST(month_ca_dt AS TEXT)), -2) - END - ) AS month, + ELSE SUBSTRING('00' || CAST(month_ca_dt AS TEXT), -2) + END IS NULL + OR year_ca_dt IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + year_ca_dt, + CASE + WHEN LENGTH(CAST(month_ca_dt AS TEXT)) >= 2 + THEN SUBSTRING(CAST(month_ca_dt AS TEXT), 1, 2) + ELSE SUBSTRING('00' || CAST(month_ca_dt AS TEXT), -2) + END + ) + END AS month, ROUND(( 1000000.0 * COALESCE(sum_n_rows, 0) ) / COALESCE(sum_expr_3, 0), 2) AS ir diff --git a/tests/test_sql_refsols/technograph_monthly_incident_rate_oracle.sql b/tests/test_sql_refsols/technograph_monthly_incident_rate_oracle.sql index 469fdfb1d..274e97373 100644 --- a/tests/test_sql_refsols/technograph_monthly_incident_rate_oracle.sql +++ b/tests/test_sql_refsols/technograph_monthly_incident_rate_oracle.sql @@ -1,62 +1,62 @@ -WITH "_T2" AS ( +WITH "_t2" AS ( SELECT - ca_dt AS CA_DT + CA_DT FROM MAIN.CALENDAR WHERE - EXTRACT(YEAR FROM CAST(ca_dt AS DATE)) IN (2020, 2021) -), "_T5" AS ( + EXTRACT(YEAR FROM CAST(CA_DT AS DATE)) IN (2020, 2021) +), "_t5" AS ( SELECT - co_id AS CO_ID, - co_name AS CO_NAME + CO_ID, + CO_NAME FROM MAIN.COUNTRIES WHERE - co_name = 'CN' -), "_S7" AS ( + CO_NAME = 'CN' +), "_s7" AS ( SELECT - "_T4".CA_DT, + "_t4".CA_DT, COUNT(*) AS N_ROWS - FROM "_T2" "_T4" + FROM "_t2" "_t4" JOIN MAIN.CALENDAR CALENDAR - ON CALENDAR.ca_dt >= ADD_MONTHS(CAST("_T4".CA_DT AS DATE), -6) + ON CALENDAR.CA_DT >= ADD_MONTHS(CAST("_t4".CA_DT AS DATE), -6) JOIN MAIN.DEVICES DEVICES - ON CALENDAR.ca_dt = TRUNC(CAST(CAST(DEVICES.de_purchase_ts AS DATE) AS DATE), 'DD') - JOIN "_T5" "_T5" - ON DEVICES.de_production_country_id = "_T5".CO_ID + ON CALENDAR.CA_DT = TRUNC(CAST(CAST(DEVICES.DE_PURCHASE_TS AS DATE) AS DATE), 'DD') + JOIN "_t5" "_t5" + ON DEVICES.DE_PRODUCTION_COUNTRY_ID = "_t5".CO_ID GROUP BY - "_T4".CA_DT -), "_S15" AS ( + "_t4".CA_DT +), "_s15" AS ( SELECT - "_T7".CA_DT, + "_t7".CA_DT, COUNT(*) AS N_ROWS - FROM "_T2" "_T7" + FROM "_t2" "_t7" JOIN MAIN.INCIDENTS INCIDENTS - ON "_T7".CA_DT = TRUNC(CAST(CAST(INCIDENTS.in_error_report_ts AS DATE) AS DATE), 'DD') + ON "_t7".CA_DT = TRUNC(CAST(CAST(INCIDENTS.IN_ERROR_REPORT_TS AS DATE) AS DATE), 'DD') JOIN MAIN.DEVICES DEVICES - ON DEVICES.de_id = INCIDENTS.in_device_id - JOIN "_T5" "_T8" - ON DEVICES.de_production_country_id = "_T8".CO_ID + ON DEVICES.DE_ID = INCIDENTS.IN_DEVICE_ID + JOIN "_t5" "_t8" + ON DEVICES.DE_PRODUCTION_COUNTRY_ID = "_t8".CO_ID GROUP BY - "_T7".CA_DT -), "_T0" AS ( + "_t7".CA_DT +), "_t0" AS ( SELECT - EXTRACT(MONTH FROM CAST("_T2".CA_DT AS DATE)) AS MONTH_CA_DT, - EXTRACT(YEAR FROM CAST("_T2".CA_DT AS DATE)) AS YEAR_CA_DT, - SUM("_S7".N_ROWS) AS SUM_EXPR_3, - SUM("_S15".N_ROWS) AS SUM_N_ROWS - FROM "_T2" "_T2" - LEFT JOIN "_S7" "_S7" - ON "_S7".CA_DT = "_T2".CA_DT - LEFT JOIN "_S15" "_S15" - ON "_S15".CA_DT = "_T2".CA_DT + EXTRACT(MONTH FROM CAST("_t2".CA_DT AS DATE)) AS MONTH_CA_DT, + EXTRACT(YEAR FROM CAST("_t2".CA_DT AS DATE)) AS YEAR_CA_DT, + SUM("_s7".N_ROWS) AS SUM_EXPR_3, + SUM("_s15".N_ROWS) AS SUM_N_ROWS + FROM "_t2" "_t2" + LEFT JOIN "_s7" "_s7" + ON "_s7".CA_DT = "_t2".CA_DT + LEFT JOIN "_s15" "_s15" + ON "_s15".CA_DT = "_t2".CA_DT GROUP BY - EXTRACT(MONTH FROM CAST("_T2".CA_DT AS DATE)), - EXTRACT(YEAR FROM CAST("_T2".CA_DT AS DATE)) + EXTRACT(MONTH FROM CAST("_t2".CA_DT AS DATE)), + EXTRACT(YEAR FROM CAST("_t2".CA_DT AS DATE)) ) SELECT NVL(YEAR_CA_DT, '') || '-' || NVL(LPAD(MONTH_CA_DT, 2, '0'), '') AS month, ROUND(( 1000000.0 * COALESCE(SUM_N_ROWS, 0) ) / COALESCE(SUM_EXPR_3, 0), 2) AS ir -FROM "_T0" +FROM "_t0" ORDER BY MONTH_CA_DT NULLS FIRST diff --git a/tests/test_sql_refsols/technograph_monthly_incident_rate_postgres.sql b/tests/test_sql_refsols/technograph_monthly_incident_rate_postgres.sql index 573929405..b123d9020 100644 --- a/tests/test_sql_refsols/technograph_monthly_incident_rate_postgres.sql +++ b/tests/test_sql_refsols/technograph_monthly_incident_rate_postgres.sql @@ -53,7 +53,11 @@ WITH _t2 AS ( 2 ) SELECT - CONCAT_WS('-', year_ca_dt, LPAD(CAST(month_ca_dt AS TEXT), 2, '0')) AS month, + CASE + WHEN LPAD(CAST(month_ca_dt AS TEXT), 2, '0') IS NULL OR year_ca_dt IS NULL + THEN NULL + ELSE CONCAT_WS('-', year_ca_dt, LPAD(CAST(month_ca_dt AS TEXT), 2, '0')) + END AS month, ROUND( CAST(( 1000000.0 * COALESCE(sum_n_rows, 0) diff --git a/tests/test_sql_refsols/technograph_monthly_incident_rate_trino.sql b/tests/test_sql_refsols/technograph_monthly_incident_rate_trino.sql index 9f389d6d0..551268cff 100644 --- a/tests/test_sql_refsols/technograph_monthly_incident_rate_trino.sql +++ b/tests/test_sql_refsols/technograph_monthly_incident_rate_trino.sql @@ -53,11 +53,16 @@ WITH _t2 AS ( 2 ) SELECT - CONCAT_WS( - '-', - CAST(year_ca_dt AS VARCHAR), - CAST(LPAD(CAST(month_ca_dt AS VARCHAR), 2, '0') AS VARCHAR) - ) AS month, + CASE + WHEN CAST(LPAD(CAST(month_ca_dt AS VARCHAR), 2, '0') AS VARCHAR) IS NULL + OR CAST(year_ca_dt AS VARCHAR) IS NULL + THEN NULL + ELSE CONCAT_WS( + '-', + CAST(year_ca_dt AS VARCHAR), + CAST(LPAD(CAST(month_ca_dt AS VARCHAR), 2, '0') AS VARCHAR) + ) + END AS month, ROUND(( 1000000.0 * COALESCE(sum_n_rows, 0) ) / COALESCE(sum_expr_3, 0), 2) AS ir diff --git a/tests/test_sql_refsols/technograph_most_unreliable_products_oracle.sql b/tests/test_sql_refsols/technograph_most_unreliable_products_oracle.sql index 32cef5abb..62fe8b87e 100644 --- a/tests/test_sql_refsols/technograph_most_unreliable_products_oracle.sql +++ b/tests/test_sql_refsols/technograph_most_unreliable_products_oracle.sql @@ -1,29 +1,29 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - in_device_id AS IN_DEVICE_ID, + IN_DEVICE_ID, COUNT(*) AS N_ROWS FROM MAIN.INCIDENTS GROUP BY - in_device_id -), "_S3" AS ( + IN_DEVICE_ID +), "_s3" AS ( SELECT - DEVICES.de_product_id AS DE_PRODUCT_ID, + DEVICES.DE_PRODUCT_ID, COUNT(*) AS N_ROWS, - SUM("_S1".N_ROWS) AS SUM_N_ROWS + SUM("_s1".N_ROWS) AS SUM_N_ROWS FROM MAIN.DEVICES DEVICES - LEFT JOIN "_S1" "_S1" - ON DEVICES.de_id = "_S1".IN_DEVICE_ID + LEFT JOIN "_s1" "_s1" + ON DEVICES.DE_ID = "_s1".IN_DEVICE_ID GROUP BY - DEVICES.de_product_id + DEVICES.DE_PRODUCT_ID ) SELECT - PRODUCTS.pr_name AS product, - PRODUCTS.pr_brand AS product_brand, - PRODUCTS.pr_type AS product_type, - ROUND(COALESCE("_S3".SUM_N_ROWS, 0) / "_S3".N_ROWS, 2) AS ir + PRODUCTS.PR_NAME AS product, + PRODUCTS.PR_BRAND AS product_brand, + PRODUCTS.PR_TYPE AS product_type, + ROUND(COALESCE("_s3".SUM_N_ROWS, 0) / "_s3".N_ROWS, 2) AS ir FROM MAIN.PRODUCTS PRODUCTS -JOIN "_S3" "_S3" - ON PRODUCTS.pr_id = "_S3".DE_PRODUCT_ID +JOIN "_s3" "_s3" + ON PRODUCTS.PR_ID = "_s3".DE_PRODUCT_ID ORDER BY 4 DESC NULLS LAST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_goldcopperstar_ansi.sql b/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_goldcopperstar_ansi.sql index ccde0f1de..ece1142aa 100644 --- a/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_goldcopperstar_ansi.sql +++ b/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_goldcopperstar_ansi.sql @@ -55,7 +55,13 @@ WITH _s14 AS ( SELECT _s15.year_ca_dt - EXTRACT(YEAR FROM CAST(_s14.anything_pr_release AS DATETIME)) AS years_since_release, ROUND( - SUM(COALESCE(_s15.sum_expr_4, 0)) OVER (ORDER BY _s15.year_ca_dt NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) / SUM(COALESCE(_s15.sum_n_rows, 0)) OVER (ORDER BY _s15.year_ca_dt NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + SUM(COALESCE(_s15.sum_expr_4, 0)) OVER ( + ORDER BY _s15.year_ca_dt NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) / SUM(COALESCE(_s15.sum_n_rows, 0)) OVER ( + ORDER BY _s15.year_ca_dt NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ), 2 ) AS cum_ir, ROUND( diff --git a/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_goldcopperstar_databricks.sql b/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_goldcopperstar_databricks.sql index e789b6f0d..3638171ba 100644 --- a/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_goldcopperstar_databricks.sql +++ b/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_goldcopperstar_databricks.sql @@ -55,7 +55,13 @@ WITH _s14 AS ( SELECT _s15.year_ca_dt - EXTRACT(YEAR FROM CAST(_s14.anything_pr_release AS TIMESTAMP)) AS years_since_release, ROUND( - SUM(COALESCE(_s15.sum_expr_4, 0)) OVER (ORDER BY _s15.year_ca_dt NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) / SUM(COALESCE(_s15.sum_n_rows, 0)) OVER (ORDER BY _s15.year_ca_dt NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + SUM(COALESCE(_s15.sum_expr_4, 0)) OVER ( + ORDER BY _s15.year_ca_dt NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) / SUM(COALESCE(_s15.sum_n_rows, 0)) OVER ( + ORDER BY _s15.year_ca_dt NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ), 2 ) AS cum_ir, ROUND( diff --git a/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_goldcopperstar_oracle.sql b/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_goldcopperstar_oracle.sql index 82f42d1c0..09cc8f4e5 100644 --- a/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_goldcopperstar_oracle.sql +++ b/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_goldcopperstar_oracle.sql @@ -1,83 +1,83 @@ -WITH "_S14" AS ( +WITH "_s14" AS ( SELECT - ANY_VALUE(pr_release) AS ANYTHING_PR_RELEASE + ANY_VALUE(PR_RELEASE) AS ANYTHING_PR_RELEASE FROM MAIN.PRODUCTS WHERE - pr_name = 'GoldCopper-Star' -), "_S6" AS ( + PR_NAME = 'GoldCopper-Star' +), "_s6" AS ( SELECT - ca_dt AS CA_DT + CA_DT FROM MAIN.CALENDAR -), "_T5" AS ( +), "_t5" AS ( SELECT - pr_id AS PR_ID, - pr_name AS PR_NAME + PR_ID, + PR_NAME FROM MAIN.PRODUCTS WHERE - pr_name = 'GoldCopper-Star' -), "_S7" AS ( + PR_NAME = 'GoldCopper-Star' +), "_s7" AS ( SELECT - "_S0".CA_DT, + "_s0".CA_DT, COUNT(*) AS N_ROWS - FROM "_S6" "_S0" + FROM "_s6" "_s0" JOIN MAIN.INCIDENTS INCIDENTS - ON "_S0".CA_DT = TRUNC(CAST(CAST(INCIDENTS.in_error_report_ts AS DATE) AS DATE), 'DD') + ON "_s0".CA_DT = TRUNC(CAST(CAST(INCIDENTS.IN_ERROR_REPORT_TS AS DATE) AS DATE), 'DD') JOIN MAIN.DEVICES DEVICES - ON DEVICES.de_id = INCIDENTS.in_device_id - JOIN "_T5" "_T5" - ON DEVICES.de_product_id = "_T5".PR_ID + ON DEVICES.DE_ID = INCIDENTS.IN_DEVICE_ID + JOIN "_t5" "_t5" + ON DEVICES.DE_PRODUCT_ID = "_t5".PR_ID GROUP BY - "_S0".CA_DT -), "_S13" AS ( + "_s0".CA_DT +), "_s13" AS ( SELECT - "_S8".CA_DT, + "_s8".CA_DT, COUNT(*) AS N_ROWS - FROM "_S6" "_S8" + FROM "_s6" "_s8" JOIN MAIN.DEVICES DEVICES - ON "_S8".CA_DT = TRUNC(CAST(CAST(DEVICES.de_purchase_ts AS DATE) AS DATE), 'DD') - JOIN "_T5" "_T7" - ON DEVICES.de_product_id = "_T7".PR_ID + ON "_s8".CA_DT = TRUNC(CAST(CAST(DEVICES.DE_PURCHASE_TS AS DATE) AS DATE), 'DD') + JOIN "_t5" "_t7" + ON DEVICES.DE_PRODUCT_ID = "_t7".PR_ID GROUP BY - "_S8".CA_DT -), "_S15" AS ( + "_s8".CA_DT +), "_s15" AS ( SELECT - EXTRACT(YEAR FROM CAST("_S6".CA_DT AS DATE)) AS YEAR_CA_DT, - SUM("_S7".N_ROWS) AS SUM_EXPR_4, - SUM("_S13".N_ROWS) AS SUM_N_ROWS - FROM "_S6" "_S6" - LEFT JOIN "_S7" "_S7" - ON "_S6".CA_DT = "_S7".CA_DT - LEFT JOIN "_S13" "_S13" - ON "_S13".CA_DT = "_S6".CA_DT + EXTRACT(YEAR FROM CAST("_s6".CA_DT AS DATE)) AS YEAR_CA_DT, + SUM("_s7".N_ROWS) AS SUM_EXPR_4, + SUM("_s13".N_ROWS) AS SUM_N_ROWS + FROM "_s6" "_s6" + LEFT JOIN "_s7" "_s7" + ON "_s6".CA_DT = "_s7".CA_DT + LEFT JOIN "_s13" "_s13" + ON "_s13".CA_DT = "_s6".CA_DT GROUP BY - EXTRACT(YEAR FROM CAST("_S6".CA_DT AS DATE)) + EXTRACT(YEAR FROM CAST("_s6".CA_DT AS DATE)) ) SELECT - "_S15".YEAR_CA_DT - EXTRACT(YEAR FROM CAST("_S14".ANYTHING_PR_RELEASE AS DATE)) AS years_since_release, + "_s15".YEAR_CA_DT - EXTRACT(YEAR FROM CAST("_s14".ANYTHING_PR_RELEASE AS DATE)) AS years_since_release, ROUND( - SUM(COALESCE("_S15".SUM_EXPR_4, 0)) OVER (ORDER BY "_S15".YEAR_CA_DT ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) / SUM(COALESCE("_S15".SUM_N_ROWS, 0)) OVER (ORDER BY "_S15".YEAR_CA_DT ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), + SUM(COALESCE("_s15".SUM_EXPR_4, 0)) OVER (ORDER BY "_s15".YEAR_CA_DT ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) / SUM(COALESCE("_s15".SUM_N_ROWS, 0)) OVER (ORDER BY "_s15".YEAR_CA_DT ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), 2 ) AS cum_ir, ROUND( ( 100.0 * ( - COALESCE("_S15".SUM_N_ROWS, 0) - LAG(COALESCE("_S15".SUM_N_ROWS, 0), 1) OVER (ORDER BY "_S15".YEAR_CA_DT) + COALESCE("_s15".SUM_N_ROWS, 0) - LAG(COALESCE("_s15".SUM_N_ROWS, 0), 1) OVER (ORDER BY "_s15".YEAR_CA_DT) ) - ) / LAG(COALESCE("_S15".SUM_N_ROWS, 0), 1) OVER (ORDER BY "_S15".YEAR_CA_DT), + ) / LAG(COALESCE("_s15".SUM_N_ROWS, 0), 1) OVER (ORDER BY "_s15".YEAR_CA_DT), 2 ) AS pct_bought_change, ROUND( ( 100.0 * ( - COALESCE("_S15".SUM_EXPR_4, 0) - LAG(COALESCE("_S15".SUM_EXPR_4, 0), 1) OVER (ORDER BY "_S15".YEAR_CA_DT) + COALESCE("_s15".SUM_EXPR_4, 0) - LAG(COALESCE("_s15".SUM_EXPR_4, 0), 1) OVER (ORDER BY "_s15".YEAR_CA_DT) ) - ) / LAG(COALESCE("_S15".SUM_EXPR_4, 0), 1) OVER (ORDER BY "_S15".YEAR_CA_DT), + ) / LAG(COALESCE("_s15".SUM_EXPR_4, 0), 1) OVER (ORDER BY "_s15".YEAR_CA_DT), 2 ) AS pct_incident_change, - COALESCE("_S15".SUM_N_ROWS, 0) AS bought, - COALESCE("_S15".SUM_EXPR_4, 0) AS incidents -FROM "_S14" "_S14" -JOIN "_S15" "_S15" - ON "_S15".YEAR_CA_DT >= EXTRACT(YEAR FROM CAST("_S14".ANYTHING_PR_RELEASE AS DATE)) + COALESCE("_s15".SUM_N_ROWS, 0) AS bought, + COALESCE("_s15".SUM_EXPR_4, 0) AS incidents +FROM "_s14" "_s14" +JOIN "_s15" "_s15" + ON "_s15".YEAR_CA_DT >= EXTRACT(YEAR FROM CAST("_s14".ANYTHING_PR_RELEASE AS DATE)) ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_goldcopperstar_postgres.sql b/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_goldcopperstar_postgres.sql index b90bd2ee8..b17ef7791 100644 --- a/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_goldcopperstar_postgres.sql +++ b/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_goldcopperstar_postgres.sql @@ -1,6 +1,6 @@ WITH _s14 AS ( SELECT - MAX(pr_release) AS anything_pr_release + ANY_VALUE(pr_release) AS anything_pr_release FROM main.products WHERE pr_name = 'GoldCopper-Star' @@ -59,19 +59,19 @@ SELECT 2 ) AS cum_ir, ROUND( - CAST(CAST(( + CAST(( 100.0 * ( COALESCE(_s15.sum_n_rows, 0) - LAG(COALESCE(_s15.sum_n_rows, 0), 1) OVER (ORDER BY _s15.year_ca_dt) ) - ) AS DOUBLE PRECISION) / LAG(COALESCE(_s15.sum_n_rows, 0), 1) OVER (ORDER BY _s15.year_ca_dt) AS DECIMAL), + ) / LAG(COALESCE(_s15.sum_n_rows, 0), 1) OVER (ORDER BY _s15.year_ca_dt) AS DECIMAL), 2 ) AS pct_bought_change, ROUND( - CAST(CAST(( + CAST(( 100.0 * ( COALESCE(_s15.sum_expr_4, 0) - LAG(COALESCE(_s15.sum_expr_4, 0), 1) OVER (ORDER BY _s15.year_ca_dt) ) - ) AS DOUBLE PRECISION) / LAG(COALESCE(_s15.sum_expr_4, 0), 1) OVER (ORDER BY _s15.year_ca_dt) AS DECIMAL), + ) / LAG(COALESCE(_s15.sum_expr_4, 0), 1) OVER (ORDER BY _s15.year_ca_dt) AS DECIMAL), 2 ) AS pct_incident_change, COALESCE(_s15.sum_n_rows, 0) AS bought, diff --git a/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_goldcopperstar_trino.sql b/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_goldcopperstar_trino.sql index a8e8fef4d..5b17a6cf3 100644 --- a/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_goldcopperstar_trino.sql +++ b/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_goldcopperstar_trino.sql @@ -59,19 +59,19 @@ SELECT 2 ) AS cum_ir, ROUND( - CAST(( + ( 100.0 * ( COALESCE(_s15.sum_n_rows, 0) - LAG(COALESCE(_s15.sum_n_rows, 0), 1) OVER (ORDER BY _s15.year_ca_dt) ) - ) AS DOUBLE) / LAG(COALESCE(_s15.sum_n_rows, 0), 1) OVER (ORDER BY _s15.year_ca_dt), + ) / LAG(COALESCE(_s15.sum_n_rows, 0), 1) OVER (ORDER BY _s15.year_ca_dt), 2 ) AS pct_bought_change, ROUND( - CAST(( + ( 100.0 * ( COALESCE(_s15.sum_expr_4, 0) - LAG(COALESCE(_s15.sum_expr_4, 0), 1) OVER (ORDER BY _s15.year_ca_dt) ) - ) AS DOUBLE) / LAG(COALESCE(_s15.sum_expr_4, 0), 1) OVER (ORDER BY _s15.year_ca_dt), + ) / LAG(COALESCE(_s15.sum_expr_4, 0), 1) OVER (ORDER BY _s15.year_ca_dt), 2 ) AS pct_incident_change, COALESCE(_s15.sum_n_rows, 0) AS bought, diff --git a/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_overall_oracle.sql b/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_overall_oracle.sql index 9a9d71be2..35b7c0671 100644 --- a/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_overall_oracle.sql +++ b/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_overall_oracle.sql @@ -1,37 +1,37 @@ -WITH "_S2" AS ( +WITH "_s2" AS ( SELECT - ca_dt AS CA_DT + CA_DT FROM MAIN.CALENDAR -), "_S3" AS ( +), "_s3" AS ( SELECT - "_S0".CA_DT, + "_s0".CA_DT, COUNT(*) AS N_ROWS - FROM "_S2" "_S0" + FROM "_s2" "_s0" JOIN MAIN.DEVICES DEVICES - ON "_S0".CA_DT = TRUNC(CAST(CAST(DEVICES.de_purchase_ts AS DATE) AS DATE), 'DD') + ON "_s0".CA_DT = TRUNC(CAST(CAST(DEVICES.DE_PURCHASE_TS AS DATE) AS DATE), 'DD') GROUP BY - "_S0".CA_DT -), "_S7" AS ( + "_s0".CA_DT +), "_s7" AS ( SELECT - "_S4".CA_DT, + "_s4".CA_DT, COUNT(*) AS N_ROWS - FROM "_S2" "_S4" + FROM "_s2" "_s4" JOIN MAIN.INCIDENTS INCIDENTS - ON "_S4".CA_DT = TRUNC(CAST(CAST(INCIDENTS.in_error_report_ts AS DATE) AS DATE), 'DD') + ON "_s4".CA_DT = TRUNC(CAST(CAST(INCIDENTS.IN_ERROR_REPORT_TS AS DATE) AS DATE), 'DD') GROUP BY - "_S4".CA_DT -), "_T1" AS ( + "_s4".CA_DT +), "_t1" AS ( SELECT - EXTRACT(YEAR FROM CAST("_S2".CA_DT AS DATE)) AS YEAR_CA_DT, - SUM("_S3".N_ROWS) AS SUM_EXPR_3, - SUM("_S7".N_ROWS) AS SUM_N_ROWS - FROM "_S2" "_S2" - LEFT JOIN "_S3" "_S3" - ON "_S2".CA_DT = "_S3".CA_DT - LEFT JOIN "_S7" "_S7" - ON "_S2".CA_DT = "_S7".CA_DT + EXTRACT(YEAR FROM CAST("_s2".CA_DT AS DATE)) AS YEAR_CA_DT, + SUM("_s3".N_ROWS) AS SUM_EXPR_3, + SUM("_s7".N_ROWS) AS SUM_N_ROWS + FROM "_s2" "_s2" + LEFT JOIN "_s3" "_s3" + ON "_s2".CA_DT = "_s3".CA_DT + LEFT JOIN "_s7" "_s7" + ON "_s2".CA_DT = "_s7".CA_DT GROUP BY - EXTRACT(YEAR FROM CAST("_S2".CA_DT AS DATE)) + EXTRACT(YEAR FROM CAST("_s2".CA_DT AS DATE)) ) SELECT YEAR_CA_DT AS yr, @@ -57,7 +57,7 @@ SELECT ) AS pct_incident_change, SUM_EXPR_3 AS bought, COALESCE(SUM_N_ROWS, 0) AS incidents -FROM "_T1" +FROM "_t1" WHERE NOT SUM_EXPR_3 IS NULL AND SUM_EXPR_3 <> 0 ORDER BY diff --git a/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_overall_postgres.sql b/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_overall_postgres.sql index 03f872de7..913a5c80d 100644 --- a/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_overall_postgres.sql +++ b/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_overall_postgres.sql @@ -40,19 +40,19 @@ SELECT 2 ) AS cum_ir, ROUND( - CAST(CAST(( + CAST(( 100.0 * ( sum_expr_3 - LAG(sum_expr_3, 1) OVER (ORDER BY year_ca_dt) ) - ) AS DOUBLE PRECISION) / LAG(sum_expr_3, 1) OVER (ORDER BY year_ca_dt) AS DECIMAL), + ) / LAG(sum_expr_3, 1) OVER (ORDER BY year_ca_dt) AS DECIMAL), 2 ) AS pct_bought_change, ROUND( - CAST(CAST(( + CAST(( 100.0 * ( COALESCE(sum_n_rows, 0) - LAG(COALESCE(sum_n_rows, 0), 1) OVER (ORDER BY year_ca_dt) ) - ) AS DOUBLE PRECISION) / LAG(COALESCE(sum_n_rows, 0), 1) OVER (ORDER BY year_ca_dt) AS DECIMAL), + ) / LAG(COALESCE(sum_n_rows, 0), 1) OVER (ORDER BY year_ca_dt) AS DECIMAL), 2 ) AS pct_incident_change, sum_expr_3 AS bought, diff --git a/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_overall_trino.sql b/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_overall_trino.sql index af69e7242..2ac2aebc9 100644 --- a/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_overall_trino.sql +++ b/tests/test_sql_refsols/technograph_year_cumulative_incident_rate_overall_trino.sql @@ -40,19 +40,19 @@ SELECT 2 ) AS cum_ir, ROUND( - CAST(( + ( 100.0 * ( sum_expr_3 - LAG(sum_expr_3, 1) OVER (ORDER BY year_ca_dt) ) - ) AS DOUBLE) / LAG(sum_expr_3, 1) OVER (ORDER BY year_ca_dt), + ) / LAG(sum_expr_3, 1) OVER (ORDER BY year_ca_dt), 2 ) AS pct_bought_change, ROUND( - CAST(( + ( 100.0 * ( COALESCE(sum_n_rows, 0) - LAG(COALESCE(sum_n_rows, 0), 1) OVER (ORDER BY year_ca_dt) ) - ) AS DOUBLE) / LAG(COALESCE(sum_n_rows, 0), 1) OVER (ORDER BY year_ca_dt), + ) / LAG(COALESCE(sum_n_rows, 0), 1) OVER (ORDER BY year_ca_dt), 2 ) AS pct_incident_change, sum_expr_3 AS bought, diff --git a/tests/test_sql_refsols/time_threshold_reached_ansi.sql b/tests/test_sql_refsols/time_threshold_reached_ansi.sql index b2d69a286..8e21996b9 100644 --- a/tests/test_sql_refsols/time_threshold_reached_ansi.sql +++ b/tests/test_sql_refsols/time_threshold_reached_ansi.sql @@ -2,7 +2,11 @@ WITH _t3 AS ( SELECT sbtxdatetime, ( - 100.0 * SUM(sbtxshares) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) ORDER BY sbtxdatetime NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) + 100.0 * SUM(sbtxshares) OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) + ORDER BY sbtxdatetime NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) ) / SUM(sbtxshares) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP))) AS pct_of_day FROM main.sbtransaction WHERE @@ -14,7 +18,10 @@ WITH _t3 AS ( WHERE pct_of_day >= 50.0 QUALIFY - ROW_NUMBER() OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) ORDER BY pct_of_day NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) + ORDER BY pct_of_day NULLS LAST + ) = 1 ) SELECT sbtxdatetime AS date_time diff --git a/tests/test_sql_refsols/time_threshold_reached_databricks.sql b/tests/test_sql_refsols/time_threshold_reached_databricks.sql index 37e42aebd..81ed8977e 100644 --- a/tests/test_sql_refsols/time_threshold_reached_databricks.sql +++ b/tests/test_sql_refsols/time_threshold_reached_databricks.sql @@ -2,7 +2,11 @@ WITH _t3 AS ( SELECT sbtxdatetime, ( - 100.0 * SUM(sbtxshares) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) ORDER BY sbtxdatetime NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) + 100.0 * SUM(sbtxshares) OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) + ORDER BY sbtxdatetime NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) ) / SUM(sbtxshares) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP))) AS pct_of_day FROM main.sbtransaction WHERE @@ -14,7 +18,10 @@ WITH _t3 AS ( WHERE pct_of_day >= 50.0 QUALIFY - ROW_NUMBER() OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) ORDER BY pct_of_day NULLS LAST) = 1 + ROW_NUMBER() OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) + ORDER BY pct_of_day NULLS LAST + ) = 1 ) SELECT sbtxdatetime AS date_time diff --git a/tests/test_sql_refsols/time_threshold_reached_duckdb.sql b/tests/test_sql_refsols/time_threshold_reached_duckdb.sql index a6739db73..626a03c81 100644 --- a/tests/test_sql_refsols/time_threshold_reached_duckdb.sql +++ b/tests/test_sql_refsols/time_threshold_reached_duckdb.sql @@ -2,7 +2,11 @@ WITH _t3 AS ( SELECT sbtxdatetime, ( - 100.0 * SUM(sbtxshares) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) ORDER BY sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) + 100.0 * SUM(sbtxshares) OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) + ORDER BY sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) ) / SUM(sbtxshares) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP))) AS pct_of_day FROM main.sbtransaction WHERE @@ -14,7 +18,10 @@ WITH _t3 AS ( WHERE pct_of_day >= 50.0 QUALIFY - ROW_NUMBER() OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) ORDER BY pct_of_day) = 1 + ROW_NUMBER() OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) + ORDER BY pct_of_day + ) = 1 ) SELECT sbtxdatetime AS date_time diff --git a/tests/test_sql_refsols/time_threshold_reached_mysql.sql b/tests/test_sql_refsols/time_threshold_reached_mysql.sql index 696b20bc4..400749881 100644 --- a/tests/test_sql_refsols/time_threshold_reached_mysql.sql +++ b/tests/test_sql_refsols/time_threshold_reached_mysql.sql @@ -1,16 +1,23 @@ WITH _t3 AS ( SELECT - sbtxdatetime AS sbTxDateTime, + sbTxDateTime, ( - 100.0 * SUM(sbtxshares) OVER (PARTITION BY CAST(CAST(sbtxdatetime AS DATETIME) AS DATE) ORDER BY sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) - ) / SUM(sbtxshares) OVER (PARTITION BY CAST(CAST(sbtxdatetime AS DATETIME) AS DATE)) AS pct_of_day + 100.0 * SUM(sbTxShares) OVER ( + PARTITION BY CAST(CAST(sbTxDateTime AS DATETIME) AS DATE) + ORDER BY sbTxDateTime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) + ) / SUM(sbTxShares) OVER (PARTITION BY CAST(CAST(sbTxDateTime AS DATETIME) AS DATE)) AS pct_of_day FROM main.sbTransaction WHERE - EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) = 2023 + EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) = 2023 ), _t AS ( SELECT sbTxDateTime, - ROW_NUMBER() OVER (PARTITION BY CAST(CAST(sbTxDateTime AS DATETIME) AS DATE) ORDER BY CASE WHEN pct_of_day IS NULL THEN 1 ELSE 0 END, pct_of_day) AS _w + ROW_NUMBER() OVER ( + PARTITION BY CAST(CAST(sbTxDateTime AS DATETIME) AS DATE) + ORDER BY CASE WHEN pct_of_day IS NULL THEN 1 ELSE 0 END, pct_of_day + ) AS _w FROM _t3 WHERE pct_of_day >= 50.0 diff --git a/tests/test_sql_refsols/time_threshold_reached_oracle.sql b/tests/test_sql_refsols/time_threshold_reached_oracle.sql index b204f6a36..b9df9a002 100644 --- a/tests/test_sql_refsols/time_threshold_reached_oracle.sql +++ b/tests/test_sql_refsols/time_threshold_reached_oracle.sql @@ -1,24 +1,31 @@ -WITH "_T3" AS ( +WITH "_t3" AS ( SELECT - sbtxdatetime AS SBTXDATETIME, + SBTXDATETIME, ( - 100.0 * SUM(sbtxshares) OVER (PARTITION BY TRUNC(CAST(CAST(sbtxdatetime AS DATE) AS DATE), 'DD') ORDER BY sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) - ) / SUM(sbtxshares) OVER (PARTITION BY TRUNC(CAST(CAST(sbtxdatetime AS DATE) AS DATE), 'DD')) AS PCT_OF_DAY + 100.0 * SUM(SBTXSHARES) OVER ( + PARTITION BY TRUNC(CAST(CAST(SBTXDATETIME AS DATE) AS DATE), 'DD') + ORDER BY SBTXDATETIME + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) + ) / SUM(SBTXSHARES) OVER (PARTITION BY TRUNC(CAST(CAST(SBTXDATETIME AS DATE) AS DATE), 'DD')) AS PCT_OF_DAY FROM MAIN.SBTRANSACTION WHERE - EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) = 2023 -), "_T" AS ( + EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) = 2023 +), "_t" AS ( SELECT SBTXDATETIME, - ROW_NUMBER() OVER (PARTITION BY TRUNC(CAST(CAST(SBTXDATETIME AS DATE) AS DATE), 'DD') ORDER BY PCT_OF_DAY) AS "_W" - FROM "_T3" + ROW_NUMBER() OVER ( + PARTITION BY TRUNC(CAST(CAST(SBTXDATETIME AS DATE) AS DATE), 'DD') + ORDER BY PCT_OF_DAY + ) AS "_w" + FROM "_t3" WHERE PCT_OF_DAY >= 50.0 ) SELECT SBTXDATETIME AS date_time -FROM "_T" +FROM "_t" WHERE - "_W" = 1 + "_w" = 1 ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/time_threshold_reached_postgres.sql b/tests/test_sql_refsols/time_threshold_reached_postgres.sql index 2b7e4a280..f3c0f6e5c 100644 --- a/tests/test_sql_refsols/time_threshold_reached_postgres.sql +++ b/tests/test_sql_refsols/time_threshold_reached_postgres.sql @@ -2,7 +2,11 @@ WITH _t3 AS ( SELECT sbtxdatetime, CAST(( - 100.0 * SUM(sbtxshares) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) ORDER BY sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) + 100.0 * SUM(sbtxshares) OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) + ORDER BY sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) ) AS DOUBLE PRECISION) / SUM(sbtxshares) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP))) AS pct_of_day FROM main.sbtransaction WHERE @@ -10,7 +14,10 @@ WITH _t3 AS ( ), _t AS ( SELECT sbtxdatetime, - ROW_NUMBER() OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) ORDER BY pct_of_day) AS _w + ROW_NUMBER() OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) + ORDER BY pct_of_day + ) AS _w FROM _t3 WHERE pct_of_day >= 50.0 diff --git a/tests/test_sql_refsols/time_threshold_reached_snowflake.sql b/tests/test_sql_refsols/time_threshold_reached_snowflake.sql index 848a65a04..c1ef1c0be 100644 --- a/tests/test_sql_refsols/time_threshold_reached_snowflake.sql +++ b/tests/test_sql_refsols/time_threshold_reached_snowflake.sql @@ -2,7 +2,11 @@ WITH _t3 AS ( SELECT sbtxdatetime, ( - 100.0 * SUM(sbtxshares) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) ORDER BY sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) + 100.0 * SUM(sbtxshares) OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) + ORDER BY sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) ) / SUM(sbtxshares) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP))) AS pct_of_day FROM main.sbtransaction WHERE @@ -14,7 +18,10 @@ WITH _t3 AS ( WHERE pct_of_day >= 50.0 QUALIFY - ROW_NUMBER() OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) ORDER BY pct_of_day) = 1 + ROW_NUMBER() OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) + ORDER BY pct_of_day + ) = 1 ) SELECT sbtxdatetime AS date_time diff --git a/tests/test_sql_refsols/time_threshold_reached_sqlite.sql b/tests/test_sql_refsols/time_threshold_reached_sqlite.sql index 0eb85b46a..96ab93bc5 100644 --- a/tests/test_sql_refsols/time_threshold_reached_sqlite.sql +++ b/tests/test_sql_refsols/time_threshold_reached_sqlite.sql @@ -2,7 +2,11 @@ WITH _t3 AS ( SELECT sbtxdatetime, CAST(( - 100.0 * SUM(sbtxshares) OVER (PARTITION BY DATE(sbtxdatetime, 'start of day') ORDER BY sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) + 100.0 * SUM(sbtxshares) OVER ( + PARTITION BY DATE(sbtxdatetime, 'start of day') + ORDER BY sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) ) AS REAL) / SUM(sbtxshares) OVER (PARTITION BY DATE(sbtxdatetime, 'start of day')) AS pct_of_day FROM main.sbtransaction WHERE diff --git a/tests/test_sql_refsols/time_threshold_reached_trino.sql b/tests/test_sql_refsols/time_threshold_reached_trino.sql index a3eba676e..caf878848 100644 --- a/tests/test_sql_refsols/time_threshold_reached_trino.sql +++ b/tests/test_sql_refsols/time_threshold_reached_trino.sql @@ -2,7 +2,11 @@ WITH _t3 AS ( SELECT sbtxdatetime, CAST(( - 100.0 * SUM(sbtxshares) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) ORDER BY sbtxdatetime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) + 100.0 * SUM(sbtxshares) OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) + ORDER BY sbtxdatetime + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) ) AS DOUBLE) / SUM(sbtxshares) OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP))) AS pct_of_day FROM main.sbtransaction WHERE @@ -10,7 +14,10 @@ WITH _t3 AS ( ), _t AS ( SELECT sbtxdatetime, - ROW_NUMBER() OVER (PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) ORDER BY pct_of_day) AS _w + ROW_NUMBER() OVER ( + PARTITION BY DATE_TRUNC('DAY', CAST(sbtxdatetime AS TIMESTAMP)) + ORDER BY pct_of_day + ) AS _w FROM _t3 WHERE pct_of_day >= 50.0 diff --git a/tests/test_sql_refsols/to_table_test_10_oracle.sql b/tests/test_sql_refsols/to_table_test_10_oracle.sql index d5354c0fa..a1ed36c89 100644 --- a/tests/test_sql_refsols/to_table_test_10_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_10_oracle.sql @@ -1,9 +1,9 @@ SELECT - okey, - odate + OKEY AS okey, + ODATE AS odate FROM RECENT_ORDERS_T10 WHERE - odate < TO_DATE('1995-06-01', 'YYYY-MM-DD') + ODATE < TO_DATE('1995-06-01', 'YYYY-MM-DD') ORDER BY 1 FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/to_table_test_11_oracle.sql b/tests/test_sql_refsols/to_table_test_11_oracle.sql index c78c63b93..0eff15e49 100644 --- a/tests/test_sql_refsols/to_table_test_11_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_11_oracle.sql @@ -1,7 +1,7 @@ SELECT - pkey, - pname, - psize + PKEY AS pkey, + PNAME AS pname, + PSIZE AS psize FROM PARTS_SUMMARY_T11 ORDER BY 3 DESC NULLS LAST, diff --git a/tests/test_sql_refsols/to_table_test_12_oracle.sql b/tests/test_sql_refsols/to_table_test_12_oracle.sql index 1cc0db1b8..dbae05630 100644 --- a/tests/test_sql_refsols/to_table_test_12_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_12_oracle.sql @@ -1,9 +1,9 @@ SELECT - okey, - total + OKEY AS okey, + TOTAL AS total FROM ORDER_SUMMARY_T12 WHERE - total > 1000 + TOTAL > 1000 ORDER BY 2 DESC NULLS LAST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/to_table_test_13_oracle.sql b/tests/test_sql_refsols/to_table_test_13_oracle.sql index a9763d320..29af476b8 100644 --- a/tests/test_sql_refsols/to_table_test_13_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_13_oracle.sql @@ -1,6 +1,6 @@ SELECT "key", - name + NAME AS name FROM NATIONS_T13 ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/to_table_test_14_oracle.sql b/tests/test_sql_refsols/to_table_test_14_oracle.sql index f46b634b1..acda43ca6 100644 --- a/tests/test_sql_refsols/to_table_test_14_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_14_oracle.sql @@ -1,6 +1,6 @@ SELECT "key", - name + NAME AS name FROM SORTED_NATIONS_T14 ORDER BY 2 DESC NULLS LAST diff --git a/tests/test_sql_refsols/to_table_test_15_oracle.sql b/tests/test_sql_refsols/to_table_test_15_oracle.sql index 947d2aa0b..f665f6804 100644 --- a/tests/test_sql_refsols/to_table_test_15_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_15_oracle.sql @@ -1,4 +1,4 @@ SELECT "key", - name + NAME AS name FROM TOP_NATIONS_T15 diff --git a/tests/test_sql_refsols/to_table_test_16_oracle.sql b/tests/test_sql_refsols/to_table_test_16_oracle.sql index a37656319..7b5339d5d 100644 --- a/tests/test_sql_refsols/to_table_test_16_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_16_oracle.sql @@ -1,5 +1,5 @@ SELECT - rkey + RKEY AS rkey FROM REGION_COUNTS_T16 ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/to_table_test_17_oracle.sql b/tests/test_sql_refsols/to_table_test_17_oracle.sql index d874f2177..f3d1d9345 100644 --- a/tests/test_sql_refsols/to_table_test_17_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_17_oracle.sql @@ -1,4 +1,4 @@ SELECT "key", - name + NAME AS name FROM FIRST_NATION_T17 diff --git a/tests/test_sql_refsols/to_table_test_18_oracle.sql b/tests/test_sql_refsols/to_table_test_18_oracle.sql index ffaa5f1c6..cbf6e1844 100644 --- a/tests/test_sql_refsols/to_table_test_18_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_18_oracle.sql @@ -1,6 +1,6 @@ SELECT "key", - name + NAME AS name FROM BEST_NATION_T18 ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/to_table_test_19_oracle.sql b/tests/test_sql_refsols/to_table_test_19_oracle.sql index fe3106be9..9ba735442 100644 --- a/tests/test_sql_refsols/to_table_test_19_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_19_oracle.sql @@ -1,6 +1,6 @@ SELECT - nkey, - nname + NKEY AS nkey, + NNAME AS nname FROM STEP2_T19 ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/to_table_test_1_oracle.sql b/tests/test_sql_refsols/to_table_test_1_oracle.sql index 7d2d4764f..59ef68523 100644 --- a/tests/test_sql_refsols/to_table_test_1_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_1_oracle.sql @@ -1,3 +1,3 @@ SELECT - name + NAME AS name FROM ASIAN_NATIONS_T1 diff --git a/tests/test_sql_refsols/to_table_test_20_oracle.sql b/tests/test_sql_refsols/to_table_test_20_oracle.sql index 99c32f93c..c9c315002 100644 --- a/tests/test_sql_refsols/to_table_test_20_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_20_oracle.sql @@ -1,5 +1,5 @@ SELECT - num + NUM AS num FROM NUMS_T20 WHERE - num > 2 + NUM > 2 diff --git a/tests/test_sql_refsols/to_table_test_21_oracle.sql b/tests/test_sql_refsols/to_table_test_21_oracle.sql index 47f2db50f..e4dc49abd 100644 --- a/tests/test_sql_refsols/to_table_test_21_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_21_oracle.sql @@ -1,6 +1,6 @@ SELECT - user_id, - user_name + USER_ID AS user_id, + USER_NAME AS user_name FROM USERS_T21 ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/to_table_test_22_oracle.sql b/tests/test_sql_refsols/to_table_test_22_oracle.sql index df7c031c0..002f304b3 100644 --- a/tests/test_sql_refsols/to_table_test_22_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_22_oracle.sql @@ -1,7 +1,7 @@ SELECT - MULT_T22.mult, - PROD_T22.pid, - PROD_T22.product_name AS pname + MULT_T22.MULT AS mult, + PROD_T22.PID AS pid, + PROD_T22.PRODUCT_NAME AS pname FROM MULT_T22 MULT_T22 CROSS JOIN PROD_T22 PROD_T22 ORDER BY diff --git a/tests/test_sql_refsols/to_table_test_23_oracle.sql b/tests/test_sql_refsols/to_table_test_23_oracle.sql index dd577b910..945a04d38 100644 --- a/tests/test_sql_refsols/to_table_test_23_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_23_oracle.sql @@ -1,7 +1,7 @@ SELECT - ASIA_NATIONS_T23.nkey, - ASIA_NATIONS_T23.nname, - MULTS_T23.mult + ASIA_NATIONS_T23.NKEY AS nkey, + ASIA_NATIONS_T23.NNAME AS nname, + MULTS_T23.MULT AS mult FROM ASIA_NATIONS_T23 ASIA_NATIONS_T23 CROSS JOIN MULTS_T23 MULTS_T23 ORDER BY diff --git a/tests/test_sql_refsols/to_table_test_24_oracle.sql b/tests/test_sql_refsols/to_table_test_24_oracle.sql index 12cfe9000..94abb9cc1 100644 --- a/tests/test_sql_refsols/to_table_test_24_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_24_oracle.sql @@ -1,8 +1,8 @@ SELECT - EURO_REGIONS_T24.rkey, - EURO_REGIONS_T24.rname, - TIERS_T24.tier_id, - TIERS_T24.tier_label + EURO_REGIONS_T24.RKEY AS rkey, + EURO_REGIONS_T24.RNAME AS rname, + TIERS_T24.TIER_ID AS tier_id, + TIERS_T24.TIER_LABEL AS tier_label FROM EURO_REGIONS_T24 EURO_REGIONS_T24 CROSS JOIN TIERS_T24 TIERS_T24 ORDER BY diff --git a/tests/test_sql_refsols/to_table_test_25_mysql.sql b/tests/test_sql_refsols/to_table_test_25_mysql.sql index 1557acd24..c02356b34 100644 --- a/tests/test_sql_refsols/to_table_test_25_mysql.sql +++ b/tests/test_sql_refsols/to_table_test_25_mysql.sql @@ -4,7 +4,10 @@ WITH _t AS ( NATION.n_nationkey, regions_t25.rkey, regions_t25.rname, - ROW_NUMBER() OVER (PARTITION BY regions_t25.rkey ORDER BY CASE WHEN NATION.n_nationkey IS NULL THEN 1 ELSE 0 END, NATION.n_nationkey) AS _w + ROW_NUMBER() OVER ( + PARTITION BY regions_t25.rkey + ORDER BY CASE WHEN NATION.n_nationkey IS NULL THEN 1 ELSE 0 END, NATION.n_nationkey + ) AS _w FROM regions_t25 AS regions_t25 JOIN tpch.NATION AS NATION ON NATION.n_regionkey = regions_t25.rkey diff --git a/tests/test_sql_refsols/to_table_test_25_oracle.sql b/tests/test_sql_refsols/to_table_test_25_oracle.sql index 05d985567..f1fbcb315 100644 --- a/tests/test_sql_refsols/to_table_test_25_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_25_oracle.sql @@ -1,21 +1,21 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - NATION.n_name AS N_NAME, - NATION.n_nationkey AS N_NATIONKEY, - REGIONS_T25.rkey AS RKEY, - REGIONS_T25.rname AS RNAME, - ROW_NUMBER() OVER (PARTITION BY REGIONS_T25.rkey ORDER BY NATION.n_nationkey) AS "_W" + NATION.N_NAME, + NATION.N_NATIONKEY, + REGIONS_T25.RKEY, + REGIONS_T25.RNAME, + ROW_NUMBER() OVER (PARTITION BY REGIONS_T25.RKEY ORDER BY NATION.N_NATIONKEY) AS "_w" FROM REGIONS_T25 REGIONS_T25 JOIN TPCH.NATION NATION - ON NATION.n_regionkey = REGIONS_T25.rkey + ON NATION.N_REGIONKEY = REGIONS_T25.RKEY ) SELECT RKEY AS rkey, RNAME AS rname, N_NATIONKEY AS nkey, N_NAME AS nname -FROM "_T" +FROM "_t" WHERE - "_W" = 1 + "_w" = 1 ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/to_table_test_2_oracle.sql b/tests/test_sql_refsols/to_table_test_2_oracle.sql index e41a61957..47ce2b437 100644 --- a/tests/test_sql_refsols/to_table_test_2_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_2_oracle.sql @@ -1,5 +1,5 @@ SELECT - name + NAME AS name FROM ASIAN_NATIONS_T2 WHERE - name LIKE '%I%' + NAME LIKE '%I%' diff --git a/tests/test_sql_refsols/to_table_test_3_oracle.sql b/tests/test_sql_refsols/to_table_test_3_oracle.sql index 1a93f5440..ac474c845 100644 --- a/tests/test_sql_refsols/to_table_test_3_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_3_oracle.sql @@ -1,4 +1,4 @@ SELECT "key", - name + NAME AS name FROM ASIAN_NATIONS_T3 diff --git a/tests/test_sql_refsols/to_table_test_4_oracle.sql b/tests/test_sql_refsols/to_table_test_4_oracle.sql index 69647a3ee..cfa22282e 100644 --- a/tests/test_sql_refsols/to_table_test_4_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_4_oracle.sql @@ -1,6 +1,6 @@ SELECT - nation_key, - nation_name + NATION_KEY AS nation_key, + NATION_NAME AS nation_name FROM ASIAN_NATIONS_T4 ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/to_table_test_5_oracle.sql b/tests/test_sql_refsols/to_table_test_5_oracle.sql index fbb770410..4c13b0a70 100644 --- a/tests/test_sql_refsols/to_table_test_5_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_5_oracle.sql @@ -1,15 +1,15 @@ WITH "_u_0" AS ( SELECT - nation_key AS "_u_1" + NATION_KEY AS "_u_1" FROM ASIAN_NATIONS_T5 GROUP BY - nation_key + NATION_KEY ) SELECT - CUSTOMER.c_name AS name + CUSTOMER.C_NAME AS name FROM TPCH.CUSTOMER CUSTOMER LEFT JOIN "_u_0" "_u_0" - ON CUSTOMER.c_nationkey = "_u_0"."_u_1" + ON CUSTOMER.C_NATIONKEY = "_u_0"."_u_1" WHERE NOT "_u_0"."_u_1" IS NULL ORDER BY diff --git a/tests/test_sql_refsols/to_table_test_6_oracle.sql b/tests/test_sql_refsols/to_table_test_6_oracle.sql index eeef6e5d2..882f67267 100644 --- a/tests/test_sql_refsols/to_table_test_6_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_6_oracle.sql @@ -1,6 +1,6 @@ SELECT - okey, - total + OKEY AS okey, + TOTAL AS total FROM EXPENSIVE_ORDERS_T6 ORDER BY 2 DESC NULLS LAST diff --git a/tests/test_sql_refsols/to_table_test_7_oracle.sql b/tests/test_sql_refsols/to_table_test_7_oracle.sql index 99f6216d9..8a2d4e9f4 100644 --- a/tests/test_sql_refsols/to_table_test_7_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_7_oracle.sql @@ -1,9 +1,9 @@ SELECT - ASIAN_NATIONS_T7.nation_name, - ASIAN_CUSTS_T7.ckey + ASIAN_NATIONS_T7.NATION_NAME AS nation_name, + ASIAN_CUSTS_T7.CKEY AS ckey FROM ASIAN_NATIONS_T7 ASIAN_NATIONS_T7 JOIN ASIAN_CUSTS_T7 ASIAN_CUSTS_T7 - ON ASIAN_CUSTS_T7.nkey = ASIAN_NATIONS_T7.nation_key + ON ASIAN_CUSTS_T7.NKEY = ASIAN_NATIONS_T7.NATION_KEY ORDER BY 1 NULLS FIRST, 2 NULLS FIRST diff --git a/tests/test_sql_refsols/to_table_test_8_oracle.sql b/tests/test_sql_refsols/to_table_test_8_oracle.sql index 2b1607752..06bd7984d 100644 --- a/tests/test_sql_refsols/to_table_test_8_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_8_oracle.sql @@ -1,9 +1,9 @@ SELECT - ASIAN_NATIONS_T8.nation_name, - ASIAN_CUSTS_T8.ckey + ASIAN_NATIONS_T8.NATION_NAME AS nation_name, + ASIAN_CUSTS_T8.CKEY AS ckey FROM ASIAN_NATIONS_T8 ASIAN_NATIONS_T8 JOIN ASIAN_CUSTS_T8 ASIAN_CUSTS_T8 - ON ASIAN_CUSTS_T8.nkey = ASIAN_NATIONS_T8.nation_key + ON ASIAN_CUSTS_T8.NKEY = ASIAN_NATIONS_T8.NATION_KEY ORDER BY 2 NULLS FIRST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/to_table_test_9_oracle.sql b/tests/test_sql_refsols/to_table_test_9_oracle.sql index 37a9df182..4e645a180 100644 --- a/tests/test_sql_refsols/to_table_test_9_oracle.sql +++ b/tests/test_sql_refsols/to_table_test_9_oracle.sql @@ -1,7 +1,7 @@ SELECT - okey, - total, - ROW_NUMBER() OVER (ORDER BY total DESC) AS rank + OKEY AS okey, + TOTAL AS total, + ROW_NUMBER() OVER (ORDER BY TOTAL DESC) AS rank FROM ORDER_SUMMARY_T9 ORDER BY 2 DESC NULLS LAST diff --git a/tests/test_sql_refsols/top_customers_by_orders_oracle.sql b/tests/test_sql_refsols/top_customers_by_orders_oracle.sql index 19e55025a..9a686bfea 100644 --- a/tests/test_sql_refsols/top_customers_by_orders_oracle.sql +++ b/tests/test_sql_refsols/top_customers_by_orders_oracle.sql @@ -1,17 +1,17 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - o_custkey AS O_CUSTKEY, + O_CUSTKEY, COUNT(*) AS N_ROWS FROM TPCH.ORDERS GROUP BY - o_custkey + O_CUSTKEY ) SELECT - CUSTOMER.c_custkey AS customer_key, - COALESCE("_S1".N_ROWS, 0) AS n_orders + CUSTOMER.C_CUSTKEY AS customer_key, + COALESCE("_s1".N_ROWS, 0) AS n_orders FROM TPCH.CUSTOMER CUSTOMER -LEFT JOIN "_S1" "_S1" - ON CUSTOMER.c_custkey = "_S1".O_CUSTKEY +LEFT JOIN "_s1" "_s1" + ON CUSTOMER.C_CUSTKEY = "_s1".O_CUSTKEY ORDER BY 2 DESC NULLS LAST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/top_lineitems_info_1_oracle.sql b/tests/test_sql_refsols/top_lineitems_info_1_oracle.sql index b76487781..a6ef120cd 100644 --- a/tests/test_sql_refsols/top_lineitems_info_1_oracle.sql +++ b/tests/test_sql_refsols/top_lineitems_info_1_oracle.sql @@ -1,34 +1,34 @@ -WITH "_S2" AS ( +WITH "_s2" AS ( SELECT - l_linenumber AS L_LINENUMBER, - l_orderkey AS L_ORDERKEY, - l_partkey AS L_PARTKEY, - l_suppkey AS L_SUPPKEY + L_LINENUMBER, + L_ORDERKEY, + L_PARTKEY, + L_SUPPKEY FROM TPCH.LINEITEM ORDER BY 2 NULLS FIRST, 1 NULLS FIRST FETCH FIRST 7 ROWS ONLY -), "_S0" AS ( +), "_s0" AS ( SELECT - ps_partkey AS PS_PARTKEY, - ps_suppkey AS PS_SUPPKEY + PS_PARTKEY, + PS_SUPPKEY FROM TPCH.PARTSUPP ) SELECT - "_S2".L_ORDERKEY AS order_key, - "_S2".L_LINENUMBER AS line_number, - PART.p_size AS part_size, - SUPPLIER.s_nationkey AS supplier_nation -FROM "_S2" "_S2" -JOIN "_S0" "_S0" - ON "_S0".PS_PARTKEY = "_S2".L_PARTKEY AND "_S0".PS_SUPPKEY = "_S2".L_SUPPKEY + "_s2".L_ORDERKEY AS order_key, + "_s2".L_LINENUMBER AS line_number, + PART.P_SIZE AS part_size, + SUPPLIER.S_NATIONKEY AS supplier_nation +FROM "_s2" "_s2" +JOIN "_s0" "_s0" + ON "_s0".PS_PARTKEY = "_s2".L_PARTKEY AND "_s0".PS_SUPPKEY = "_s2".L_SUPPKEY JOIN TPCH.PART PART - ON PART.p_partkey = "_S0".PS_PARTKEY -JOIN "_S0" "_S4" - ON "_S2".L_PARTKEY = "_S4".PS_PARTKEY AND "_S2".L_SUPPKEY = "_S4".PS_SUPPKEY + ON PART.P_PARTKEY = "_s0".PS_PARTKEY +JOIN "_s0" "_s4" + ON "_s2".L_PARTKEY = "_s4".PS_PARTKEY AND "_s2".L_SUPPKEY = "_s4".PS_SUPPKEY JOIN TPCH.SUPPLIER SUPPLIER - ON SUPPLIER.s_suppkey = "_S4".PS_SUPPKEY + ON SUPPLIER.S_SUPPKEY = "_s4".PS_SUPPKEY ORDER BY 1 NULLS FIRST, 2 NULLS FIRST diff --git a/tests/test_sql_refsols/top_lineitems_info_2_oracle.sql b/tests/test_sql_refsols/top_lineitems_info_2_oracle.sql index c5ac68ac1..8fe26870c 100644 --- a/tests/test_sql_refsols/top_lineitems_info_2_oracle.sql +++ b/tests/test_sql_refsols/top_lineitems_info_2_oracle.sql @@ -1,27 +1,27 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - ps_partkey AS PS_PARTKEY, - ps_suppkey AS PS_SUPPKEY + PS_PARTKEY, + PS_SUPPKEY FROM TPCH.PARTSUPP ) SELECT - LINEITEM.l_orderkey AS order_key, - LINEITEM.l_linenumber AS line_number, - PART.p_size AS part_size, - NATION.n_nationkey AS supplier_nation + LINEITEM.L_ORDERKEY AS order_key, + LINEITEM.L_LINENUMBER AS line_number, + PART.P_SIZE AS part_size, + NATION.N_NATIONKEY AS supplier_nation FROM TPCH.PART PART -JOIN "_S1" "_S1" - ON PART.p_partkey = "_S1".PS_PARTKEY +JOIN "_s1" "_s1" + ON PART.P_PARTKEY = "_s1".PS_PARTKEY CROSS JOIN TPCH.NATION NATION JOIN TPCH.SUPPLIER SUPPLIER - ON NATION.n_nationkey = SUPPLIER.s_nationkey -JOIN "_S1" "_S7" - ON SUPPLIER.s_suppkey = "_S7".PS_SUPPKEY + ON NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY +JOIN "_s1" "_s7" + ON SUPPLIER.S_SUPPKEY = "_s7".PS_SUPPKEY JOIN TPCH.LINEITEM LINEITEM - ON LINEITEM.l_partkey = PART.p_partkey - AND LINEITEM.l_partkey = "_S7".PS_PARTKEY - AND LINEITEM.l_suppkey = "_S1".PS_SUPPKEY - AND LINEITEM.l_suppkey = "_S7".PS_SUPPKEY + ON LINEITEM.L_PARTKEY = PART.P_PARTKEY + AND LINEITEM.L_PARTKEY = "_s7".PS_PARTKEY + AND LINEITEM.L_SUPPKEY = "_s1".PS_SUPPKEY + AND LINEITEM.L_SUPPKEY = "_s7".PS_SUPPKEY ORDER BY 1 NULLS FIRST, 2 NULLS FIRST diff --git a/tests/test_sql_refsols/tpch_q10_oracle.sql b/tests/test_sql_refsols/tpch_q10_oracle.sql index be6b050bf..53d9a7a56 100644 --- a/tests/test_sql_refsols/tpch_q10_oracle.sql +++ b/tests/test_sql_refsols/tpch_q10_oracle.sql @@ -1,32 +1,32 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - ORDERS.o_custkey AS O_CUSTKEY, - SUM(LINEITEM.l_extendedprice * ( - 1 - LINEITEM.l_discount + ORDERS.O_CUSTKEY, + SUM(LINEITEM.L_EXTENDEDPRICE * ( + 1 - LINEITEM.L_DISCOUNT )) AS SUM_EXPR FROM TPCH.ORDERS ORDERS JOIN TPCH.LINEITEM LINEITEM - ON LINEITEM.l_orderkey = ORDERS.o_orderkey AND LINEITEM.l_returnflag = 'R' + ON LINEITEM.L_ORDERKEY = ORDERS.O_ORDERKEY AND LINEITEM.L_RETURNFLAG = 'R' WHERE - EXTRACT(MONTH FROM CAST(ORDERS.o_orderdate AS DATE)) IN (10, 11, 12) - AND EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) = 1993 + EXTRACT(MONTH FROM CAST(ORDERS.O_ORDERDATE AS DATE)) IN (10, 11, 12) + AND EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) = 1993 GROUP BY - ORDERS.o_custkey + ORDERS.O_CUSTKEY ) SELECT - CUSTOMER.c_custkey AS C_CUSTKEY, - CUSTOMER.c_name AS C_NAME, - COALESCE("_S3".SUM_EXPR, 0) AS REVENUE, - CUSTOMER.c_acctbal AS C_ACCTBAL, - NATION.n_name AS N_NAME, - CUSTOMER.c_address AS C_ADDRESS, - CUSTOMER.c_phone AS C_PHONE, - CUSTOMER.c_comment AS C_COMMENT + CUSTOMER.C_CUSTKEY, + CUSTOMER.C_NAME, + COALESCE("_s3".SUM_EXPR, 0) AS REVENUE, + CUSTOMER.C_ACCTBAL, + NATION.N_NAME, + CUSTOMER.C_ADDRESS, + CUSTOMER.C_PHONE, + CUSTOMER.C_COMMENT FROM TPCH.CUSTOMER CUSTOMER -LEFT JOIN "_S3" "_S3" - ON CUSTOMER.c_custkey = "_S3".O_CUSTKEY +LEFT JOIN "_s3" "_s3" + ON CUSTOMER.C_CUSTKEY = "_s3".O_CUSTKEY JOIN TPCH.NATION NATION - ON CUSTOMER.c_nationkey = NATION.n_nationkey + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY ORDER BY 3 DESC NULLS LAST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/tpch_q11_oracle.sql b/tests/test_sql_refsols/tpch_q11_oracle.sql index eeacda21b..85022aa06 100644 --- a/tests/test_sql_refsols/tpch_q11_oracle.sql +++ b/tests/test_sql_refsols/tpch_q11_oracle.sql @@ -1,43 +1,43 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - s_nationkey AS S_NATIONKEY, - s_suppkey AS S_SUPPKEY + S_NATIONKEY, + S_SUPPKEY FROM TPCH.SUPPLIER -), "_T2" AS ( +), "_t2" AS ( SELECT - n_name AS N_NAME, - n_nationkey AS N_NATIONKEY + N_NAME, + N_NATIONKEY FROM TPCH.NATION WHERE - n_name = 'GERMANY' -), "_S8" AS ( + N_NAME = 'GERMANY' +), "_s8" AS ( SELECT - SUM(PARTSUPP.ps_supplycost * PARTSUPP.ps_availqty) AS SUM_METRIC + SUM(PARTSUPP.PS_SUPPLYCOST * PARTSUPP.PS_AVAILQTY) AS SUM_METRIC FROM TPCH.PARTSUPP PARTSUPP - JOIN "_S0" "_S0" - ON PARTSUPP.ps_suppkey = "_S0".S_SUPPKEY - JOIN "_T2" "_T2" - ON "_S0".S_NATIONKEY = "_T2".N_NATIONKEY -), "_S9" AS ( + JOIN "_s0" "_s0" + ON PARTSUPP.PS_SUPPKEY = "_s0".S_SUPPKEY + JOIN "_t2" "_t2" + ON "_s0".S_NATIONKEY = "_t2".N_NATIONKEY +), "_s9" AS ( SELECT - PARTSUPP.ps_partkey AS PS_PARTKEY, - SUM(PARTSUPP.ps_supplycost * PARTSUPP.ps_availqty) AS SUM_EXPR + PARTSUPP.PS_PARTKEY, + SUM(PARTSUPP.PS_SUPPLYCOST * PARTSUPP.PS_AVAILQTY) AS SUM_EXPR FROM TPCH.PARTSUPP PARTSUPP - JOIN "_S0" "_S4" - ON PARTSUPP.ps_suppkey = "_S4".S_SUPPKEY - JOIN "_T2" "_T4" - ON "_S4".S_NATIONKEY = "_T4".N_NATIONKEY + JOIN "_s0" "_s4" + ON PARTSUPP.PS_SUPPKEY = "_s4".S_SUPPKEY + JOIN "_t2" "_t4" + ON "_s4".S_NATIONKEY = "_t4".N_NATIONKEY GROUP BY - PARTSUPP.ps_partkey + PARTSUPP.PS_PARTKEY ) SELECT - "_S9".PS_PARTKEY, - COALESCE("_S9".SUM_EXPR, 0) AS VALUE -FROM "_S8" "_S8" -JOIN "_S9" "_S9" + "_s9".PS_PARTKEY, + COALESCE("_s9".SUM_EXPR, 0) AS VALUE +FROM "_s8" "_s8" +JOIN "_s9" "_s9" ON ( - COALESCE("_S8".SUM_METRIC, 0) * 0.0001 - ) < COALESCE("_S9".SUM_EXPR, 0) + COALESCE("_s8".SUM_METRIC, 0) * 0.0001 + ) < COALESCE("_s9".SUM_EXPR, 0) ORDER BY 2 DESC NULLS LAST FETCH FIRST 10 ROWS ONLY diff --git a/tests/test_sql_refsols/tpch_q12_oracle.sql b/tests/test_sql_refsols/tpch_q12_oracle.sql index b09952c84..ab96cb37e 100644 --- a/tests/test_sql_refsols/tpch_q12_oracle.sql +++ b/tests/test_sql_refsols/tpch_q12_oracle.sql @@ -1,18 +1,18 @@ SELECT - LINEITEM.l_shipmode AS L_SHIPMODE, - COALESCE(SUM(ORDERS.o_orderpriority IN ('1-URGENT', '2-HIGH')), 0) AS HIGH_LINE_COUNT, - COALESCE(SUM(NOT ORDERS.o_orderpriority IN ('1-URGENT', '2-HIGH')), 0) AS LOW_LINE_COUNT + LINEITEM.L_SHIPMODE, + COALESCE(SUM(ORDERS.O_ORDERPRIORITY IN ('1-URGENT', '2-HIGH')), 0) AS HIGH_LINE_COUNT, + COALESCE(SUM(NOT ORDERS.O_ORDERPRIORITY IN ('1-URGENT', '2-HIGH')), 0) AS LOW_LINE_COUNT FROM TPCH.LINEITEM LINEITEM JOIN TPCH.ORDERS ORDERS - ON LINEITEM.l_orderkey = ORDERS.o_orderkey + ON LINEITEM.L_ORDERKEY = ORDERS.O_ORDERKEY WHERE - EXTRACT(YEAR FROM CAST(LINEITEM.l_receiptdate AS DATE)) = 1994 - AND LINEITEM.l_commitdate < LINEITEM.l_receiptdate - AND LINEITEM.l_commitdate > LINEITEM.l_shipdate + EXTRACT(YEAR FROM CAST(LINEITEM.L_RECEIPTDATE AS DATE)) = 1994 + AND LINEITEM.L_COMMITDATE < LINEITEM.L_RECEIPTDATE + AND LINEITEM.L_COMMITDATE > LINEITEM.L_SHIPDATE AND ( - LINEITEM.l_shipmode = 'MAIL' OR LINEITEM.l_shipmode = 'SHIP' + LINEITEM.L_SHIPMODE = 'MAIL' OR LINEITEM.L_SHIPMODE = 'SHIP' ) GROUP BY - LINEITEM.l_shipmode + LINEITEM.L_SHIPMODE ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/tpch_q13_oracle.sql b/tests/test_sql_refsols/tpch_q13_oracle.sql index a0eeea26c..cad98cc69 100644 --- a/tests/test_sql_refsols/tpch_q13_oracle.sql +++ b/tests/test_sql_refsols/tpch_q13_oracle.sql @@ -1,21 +1,21 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - o_custkey AS O_CUSTKEY, + O_CUSTKEY, COUNT(*) AS N_ROWS FROM TPCH.ORDERS WHERE - NOT o_comment LIKE '%special%requests%' + NOT O_COMMENT LIKE '%special%requests%' GROUP BY - o_custkey + O_CUSTKEY ) SELECT - COALESCE("_S1".N_ROWS, 0) AS C_COUNT, + COALESCE("_s1".N_ROWS, 0) AS C_COUNT, COUNT(*) AS CUSTDIST FROM TPCH.CUSTOMER CUSTOMER -LEFT JOIN "_S1" "_S1" - ON CUSTOMER.c_custkey = "_S1".O_CUSTKEY +LEFT JOIN "_s1" "_s1" + ON CUSTOMER.C_CUSTKEY = "_s1".O_CUSTKEY GROUP BY - COALESCE("_S1".N_ROWS, 0) + COALESCE("_s1".N_ROWS, 0) ORDER BY 2 DESC NULLS LAST, 1 DESC NULLS LAST diff --git a/tests/test_sql_refsols/tpch_q14_oracle.sql b/tests/test_sql_refsols/tpch_q14_oracle.sql index 72354ac01..e44120796 100644 --- a/tests/test_sql_refsols/tpch_q14_oracle.sql +++ b/tests/test_sql_refsols/tpch_q14_oracle.sql @@ -3,21 +3,21 @@ SELECT 100.0 * COALESCE( SUM( CASE - WHEN PART.p_type LIKE 'PROMO%' - THEN LINEITEM.l_extendedprice * ( - 1 - LINEITEM.l_discount + WHEN PART.P_TYPE LIKE 'PROMO%' + THEN LINEITEM.L_EXTENDEDPRICE * ( + 1 - LINEITEM.L_DISCOUNT ) ELSE 0 END ), 0 ) - ) / COALESCE(SUM(LINEITEM.l_extendedprice * ( - 1 - LINEITEM.l_discount + ) / COALESCE(SUM(LINEITEM.L_EXTENDEDPRICE * ( + 1 - LINEITEM.L_DISCOUNT )), 0) AS PROMO_REVENUE FROM TPCH.LINEITEM LINEITEM JOIN TPCH.PART PART - ON LINEITEM.l_partkey = PART.p_partkey + ON LINEITEM.L_PARTKEY = PART.P_PARTKEY WHERE - EXTRACT(MONTH FROM CAST(LINEITEM.l_shipdate AS DATE)) = 9 - AND EXTRACT(YEAR FROM CAST(LINEITEM.l_shipdate AS DATE)) = 1995 + EXTRACT(MONTH FROM CAST(LINEITEM.L_SHIPDATE AS DATE)) = 9 + AND EXTRACT(YEAR FROM CAST(LINEITEM.L_SHIPDATE AS DATE)) = 1995 diff --git a/tests/test_sql_refsols/tpch_q14_postgres.sql b/tests/test_sql_refsols/tpch_q14_postgres.sql index 3b62cee2b..e9122b7d7 100644 --- a/tests/test_sql_refsols/tpch_q14_postgres.sql +++ b/tests/test_sql_refsols/tpch_q14_postgres.sql @@ -1,5 +1,5 @@ SELECT - ( + CAST(( 100.0 * COALESCE( SUM( CASE @@ -12,7 +12,7 @@ SELECT ), 0 ) - ) / COALESCE(SUM(lineitem.l_extendedprice * ( + ) AS DOUBLE PRECISION) / COALESCE(SUM(lineitem.l_extendedprice * ( 1 - lineitem.l_discount )), 0) AS PROMO_REVENUE FROM tpch.lineitem AS lineitem diff --git a/tests/test_sql_refsols/tpch_q14_trino.sql b/tests/test_sql_refsols/tpch_q14_trino.sql index f4d736b74..cc99674a4 100644 --- a/tests/test_sql_refsols/tpch_q14_trino.sql +++ b/tests/test_sql_refsols/tpch_q14_trino.sql @@ -1,5 +1,5 @@ SELECT - ( + CAST(( 100.0 * COALESCE( SUM( IF( @@ -12,7 +12,7 @@ SELECT ), 0 ) - ) / COALESCE(SUM(lineitem.l_extendedprice * ( + ) AS DOUBLE) / COALESCE(SUM(lineitem.l_extendedprice * ( 1 - lineitem.l_discount )), 0) AS PROMO_REVENUE FROM tpch.lineitem AS lineitem diff --git a/tests/test_sql_refsols/tpch_q15_oracle.sql b/tests/test_sql_refsols/tpch_q15_oracle.sql index 7ce7b99b3..87628f747 100644 --- a/tests/test_sql_refsols/tpch_q15_oracle.sql +++ b/tests/test_sql_refsols/tpch_q15_oracle.sql @@ -1,45 +1,45 @@ -WITH "_T3" AS ( +WITH "_t3" AS ( SELECT - l_discount AS L_DISCOUNT, - l_extendedprice AS L_EXTENDEDPRICE, - l_shipdate AS L_SHIPDATE, - l_suppkey AS L_SUPPKEY + L_DISCOUNT, + L_EXTENDEDPRICE, + L_SHIPDATE, + L_SUPPKEY FROM TPCH.LINEITEM WHERE - l_shipdate < TO_DATE('1996-04-01', 'YYYY-MM-DD') - AND l_shipdate >= TO_DATE('1996-01-01', 'YYYY-MM-DD') -), "_T1" AS ( + L_SHIPDATE < TO_DATE('1996-04-01', 'YYYY-MM-DD') + AND L_SHIPDATE >= TO_DATE('1996-01-01', 'YYYY-MM-DD') +), "_t1" AS ( SELECT SUM(L_EXTENDEDPRICE * ( 1 - L_DISCOUNT )) AS SUM_EXPR - FROM "_T3" + FROM "_t3" GROUP BY L_SUPPKEY -), "_S0" AS ( +), "_s0" AS ( SELECT MAX(COALESCE(SUM_EXPR, 0)) AS MAX_TOTAL_REVENUE - FROM "_T1" -), "_S3" AS ( + FROM "_t1" +), "_s3" AS ( SELECT L_SUPPKEY, SUM(L_EXTENDEDPRICE * ( 1 - L_DISCOUNT )) AS SUM_EXPR - FROM "_T3" + FROM "_t3" GROUP BY L_SUPPKEY ) SELECT - SUPPLIER.s_suppkey AS S_SUPPKEY, - SUPPLIER.s_name AS S_NAME, - SUPPLIER.s_address AS S_ADDRESS, - SUPPLIER.s_phone AS S_PHONE, - COALESCE("_S3".SUM_EXPR, 0) AS TOTAL_REVENUE -FROM "_S0" "_S0" + SUPPLIER.S_SUPPKEY, + SUPPLIER.S_NAME, + SUPPLIER.S_ADDRESS, + SUPPLIER.S_PHONE, + COALESCE("_s3".SUM_EXPR, 0) AS TOTAL_REVENUE +FROM "_s0" "_s0" CROSS JOIN TPCH.SUPPLIER SUPPLIER -JOIN "_S3" "_S3" - ON SUPPLIER.s_suppkey = "_S3".L_SUPPKEY - AND "_S0".MAX_TOTAL_REVENUE = COALESCE("_S3".SUM_EXPR, 0) +JOIN "_s3" "_s3" + ON SUPPLIER.S_SUPPKEY = "_s3".L_SUPPKEY + AND "_s0".MAX_TOTAL_REVENUE = COALESCE("_s3".SUM_EXPR, 0) ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/tpch_q16_oracle.sql b/tests/test_sql_refsols/tpch_q16_oracle.sql index 29deb419f..bbe38a6c7 100644 --- a/tests/test_sql_refsols/tpch_q16_oracle.sql +++ b/tests/test_sql_refsols/tpch_q16_oracle.sql @@ -1,21 +1,21 @@ SELECT - PART.p_brand AS P_BRAND, - PART.p_type AS P_TYPE, - PART.p_size AS P_SIZE, - COUNT(DISTINCT PARTSUPP.ps_suppkey) AS SUPPLIER_COUNT + PART.P_BRAND, + PART.P_TYPE, + PART.P_SIZE, + COUNT(DISTINCT PARTSUPP.PS_SUPPKEY) AS SUPPLIER_COUNT FROM TPCH.PARTSUPP PARTSUPP JOIN TPCH.SUPPLIER SUPPLIER - ON NOT SUPPLIER.s_comment LIKE '%Customer%Complaints%' - AND PARTSUPP.ps_suppkey = SUPPLIER.s_suppkey + ON NOT SUPPLIER.S_COMMENT LIKE '%Customer%Complaints%' + AND PARTSUPP.PS_SUPPKEY = SUPPLIER.S_SUPPKEY JOIN TPCH.PART PART - ON NOT PART.p_type LIKE 'MEDIUM POLISHED%%' - AND PART.p_brand <> 'BRAND#45' - AND PART.p_partkey = PARTSUPP.ps_partkey - AND PART.p_size IN (49, 14, 23, 45, 19, 3, 36, 9) + ON NOT PART.P_TYPE LIKE 'MEDIUM POLISHED%%' + AND PART.P_BRAND <> 'BRAND#45' + AND PART.P_PARTKEY = PARTSUPP.PS_PARTKEY + AND PART.P_SIZE IN (49, 14, 23, 45, 19, 3, 36, 9) GROUP BY - PART.p_brand, - PART.p_size, - PART.p_type + PART.P_BRAND, + PART.P_SIZE, + PART.P_TYPE ORDER BY 4 DESC NULLS LAST, 1 NULLS FIRST, diff --git a/tests/test_sql_refsols/tpch_q17_oracle.sql b/tests/test_sql_refsols/tpch_q17_oracle.sql index c42913705..ec5f6e907 100644 --- a/tests/test_sql_refsols/tpch_q17_oracle.sql +++ b/tests/test_sql_refsols/tpch_q17_oracle.sql @@ -1,18 +1,18 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - LINEITEM.l_extendedprice AS L_EXTENDEDPRICE, - LINEITEM.l_quantity AS L_QUANTITY, - AVG(CAST(LINEITEM.l_quantity AS DOUBLE PRECISION)) OVER (PARTITION BY LINEITEM.l_partkey) AS "_W" + LINEITEM.L_EXTENDEDPRICE, + LINEITEM.L_QUANTITY, + AVG(CAST(LINEITEM.L_QUANTITY AS DOUBLE PRECISION)) OVER (PARTITION BY LINEITEM.L_PARTKEY) AS "_w" FROM TPCH.PART PART JOIN TPCH.LINEITEM LINEITEM - ON LINEITEM.l_partkey = PART.p_partkey + ON LINEITEM.L_PARTKEY = PART.P_PARTKEY WHERE - PART.p_brand = 'Brand#23' AND PART.p_container = 'MED BOX' + PART.P_BRAND = 'Brand#23' AND PART.P_CONTAINER = 'MED BOX' ) SELECT COALESCE(SUM(L_EXTENDEDPRICE), 0) / 7.0 AS AVG_YEARLY -FROM "_T" +FROM "_t" WHERE L_QUANTITY < ( - 0.2 * "_W" + 0.2 * "_w" ) diff --git a/tests/test_sql_refsols/tpch_q18_oracle.sql b/tests/test_sql_refsols/tpch_q18_oracle.sql index cadd65a24..a0c260770 100644 --- a/tests/test_sql_refsols/tpch_q18_oracle.sql +++ b/tests/test_sql_refsols/tpch_q18_oracle.sql @@ -1,25 +1,25 @@ -WITH "_T1" AS ( +WITH "_t1" AS ( SELECT - l_orderkey AS L_ORDERKEY, - SUM(l_quantity) AS SUM_L_QUANTITY + L_ORDERKEY, + SUM(L_QUANTITY) AS SUM_L_QUANTITY FROM TPCH.LINEITEM GROUP BY - l_orderkey + L_ORDERKEY ) SELECT - CUSTOMER.c_name AS C_NAME, - CUSTOMER.c_custkey AS C_CUSTKEY, - ORDERS.o_orderkey AS O_ORDERKEY, - ORDERS.o_orderdate AS O_ORDERDATE, - ORDERS.o_totalprice AS O_TOTALPRICE, - "_T1".SUM_L_QUANTITY AS TOTAL_QUANTITY + CUSTOMER.C_NAME, + CUSTOMER.C_CUSTKEY, + ORDERS.O_ORDERKEY, + ORDERS.O_ORDERDATE, + ORDERS.O_TOTALPRICE, + "_t1".SUM_L_QUANTITY AS TOTAL_QUANTITY FROM TPCH.ORDERS ORDERS JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_custkey = ORDERS.o_custkey -JOIN "_T1" "_T1" - ON NOT "_T1".SUM_L_QUANTITY IS NULL - AND ORDERS.o_orderkey = "_T1".L_ORDERKEY - AND "_T1".SUM_L_QUANTITY > 300 + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY +JOIN "_t1" "_t1" + ON NOT "_t1".SUM_L_QUANTITY IS NULL + AND ORDERS.O_ORDERKEY = "_t1".L_ORDERKEY + AND "_t1".SUM_L_QUANTITY > 300 ORDER BY 5 DESC NULLS LAST, 4 NULLS FIRST diff --git a/tests/test_sql_refsols/tpch_q19_oracle.sql b/tests/test_sql_refsols/tpch_q19_oracle.sql index cc0c13dfd..e5cb98577 100644 --- a/tests/test_sql_refsols/tpch_q19_oracle.sql +++ b/tests/test_sql_refsols/tpch_q19_oracle.sql @@ -1,36 +1,36 @@ SELECT - COALESCE(SUM(LINEITEM.l_extendedprice * ( - 1 - LINEITEM.l_discount + COALESCE(SUM(LINEITEM.L_EXTENDEDPRICE * ( + 1 - LINEITEM.L_DISCOUNT )), 0) AS REVENUE FROM TPCH.LINEITEM LINEITEM JOIN TPCH.PART PART ON ( ( - LINEITEM.l_quantity <= 11 - AND LINEITEM.l_quantity >= 1 - AND PART.p_brand = 'Brand#12' - AND PART.p_container IN ('SM CASE', 'SM BOX', 'SM PACK', 'SM PKG') - AND PART.p_size <= 5 - AND PART.p_size >= 1 + LINEITEM.L_QUANTITY <= 11 + AND LINEITEM.L_QUANTITY >= 1 + AND PART.P_BRAND = 'Brand#12' + AND PART.P_CONTAINER IN ('SM CASE', 'SM BOX', 'SM PACK', 'SM PKG') + AND PART.P_SIZE <= 5 + AND PART.P_SIZE >= 1 ) OR ( - LINEITEM.l_quantity <= 20 - AND LINEITEM.l_quantity >= 10 - AND PART.p_brand = 'Brand#23' - AND PART.p_container IN ('MED BAG', 'MED BOX', 'MED PACK', 'MED PKG') - AND PART.p_size <= 10 - AND PART.p_size >= 1 + LINEITEM.L_QUANTITY <= 20 + AND LINEITEM.L_QUANTITY >= 10 + AND PART.P_BRAND = 'Brand#23' + AND PART.P_CONTAINER IN ('MED BAG', 'MED BOX', 'MED PACK', 'MED PKG') + AND PART.P_SIZE <= 10 + AND PART.P_SIZE >= 1 ) OR ( - LINEITEM.l_quantity <= 30 - AND LINEITEM.l_quantity >= 20 - AND PART.p_brand = 'Brand#34' - AND PART.p_container IN ('LG CASE', 'LG BOX', 'LG PACK', 'LG PKG') - AND PART.p_size <= 15 - AND PART.p_size >= 1 + LINEITEM.L_QUANTITY <= 30 + AND LINEITEM.L_QUANTITY >= 20 + AND PART.P_BRAND = 'Brand#34' + AND PART.P_CONTAINER IN ('LG CASE', 'LG BOX', 'LG PACK', 'LG PKG') + AND PART.P_SIZE <= 15 + AND PART.P_SIZE >= 1 ) ) - AND LINEITEM.l_partkey = PART.p_partkey + AND LINEITEM.L_PARTKEY = PART.P_PARTKEY WHERE - LINEITEM.l_shipinstruct = 'DELIVER IN PERSON' - AND LINEITEM.l_shipmode IN ('AIR', 'AIR REG') + LINEITEM.L_SHIPINSTRUCT = 'DELIVER IN PERSON' + AND LINEITEM.L_SHIPMODE IN ('AIR', 'AIR REG') diff --git a/tests/test_sql_refsols/tpch_q1_oracle.sql b/tests/test_sql_refsols/tpch_q1_oracle.sql index 6f0434e3f..8a334e8af 100644 --- a/tests/test_sql_refsols/tpch_q1_oracle.sql +++ b/tests/test_sql_refsols/tpch_q1_oracle.sql @@ -1,26 +1,26 @@ SELECT - l_returnflag AS L_RETURNFLAG, - l_linestatus AS L_LINESTATUS, - COALESCE(SUM(l_quantity), 0) AS SUM_QTY, - COALESCE(SUM(l_extendedprice), 0) AS SUM_BASE_PRICE, - COALESCE(SUM(l_extendedprice * ( - 1 - l_discount + L_RETURNFLAG, + L_LINESTATUS, + COALESCE(SUM(L_QUANTITY), 0) AS SUM_QTY, + COALESCE(SUM(L_EXTENDEDPRICE), 0) AS SUM_BASE_PRICE, + COALESCE(SUM(L_EXTENDEDPRICE * ( + 1 - L_DISCOUNT )), 0) AS SUM_DISC_PRICE, - COALESCE(SUM(l_extendedprice * ( - 1 - l_discount + COALESCE(SUM(L_EXTENDEDPRICE * ( + 1 - L_DISCOUNT ) * ( - 1 + l_tax + 1 + L_TAX )), 0) AS SUM_CHARGE, - AVG(l_quantity) AS AVG_QTY, - AVG(l_extendedprice) AS AVG_PRICE, - AVG(l_discount) AS AVG_DISC, + AVG(L_QUANTITY) AS AVG_QTY, + AVG(L_EXTENDEDPRICE) AS AVG_PRICE, + AVG(L_DISCOUNT) AS AVG_DISC, COUNT(*) AS COUNT_ORDER FROM TPCH.LINEITEM WHERE - l_shipdate <= TO_DATE('1998-12-01', 'YYYY-MM-DD') + L_SHIPDATE <= TO_DATE('1998-12-01', 'YYYY-MM-DD') GROUP BY - l_linestatus, - l_returnflag + L_LINESTATUS, + L_RETURNFLAG ORDER BY 1 NULLS FIRST, 2 NULLS FIRST diff --git a/tests/test_sql_refsols/tpch_q20_oracle.sql b/tests/test_sql_refsols/tpch_q20_oracle.sql index 8b3ea2a1b..de032949c 100644 --- a/tests/test_sql_refsols/tpch_q20_oracle.sql +++ b/tests/test_sql_refsols/tpch_q20_oracle.sql @@ -1,31 +1,31 @@ -WITH "_S5" AS ( +WITH "_s5" AS ( SELECT - LINEITEM.l_partkey AS P_PARTKEY, - SUM(LINEITEM.l_quantity) AS SUM_L_QUANTITY + LINEITEM.L_PARTKEY AS P_PARTKEY, + SUM(LINEITEM.L_QUANTITY) AS SUM_L_QUANTITY FROM TPCH.PART PART JOIN TPCH.LINEITEM LINEITEM - ON EXTRACT(YEAR FROM CAST(LINEITEM.l_shipdate AS DATE)) = 1994 - AND LINEITEM.l_partkey = PART.p_partkey + ON EXTRACT(YEAR FROM CAST(LINEITEM.L_SHIPDATE AS DATE)) = 1994 + AND LINEITEM.L_PARTKEY = PART.P_PARTKEY WHERE - PART.p_name LIKE 'forest%' + PART.P_NAME LIKE 'forest%' GROUP BY - LINEITEM.l_partkey + LINEITEM.L_PARTKEY ) SELECT - ANY_VALUE(SUPPLIER.s_name) AS S_NAME, - ANY_VALUE(SUPPLIER.s_address) AS S_ADDRESS + ANY_VALUE(SUPPLIER.S_NAME) AS S_NAME, + ANY_VALUE(SUPPLIER.S_ADDRESS) AS S_ADDRESS FROM TPCH.SUPPLIER SUPPLIER JOIN TPCH.NATION NATION - ON NATION.n_name = 'CANADA' AND NATION.n_nationkey = SUPPLIER.s_nationkey + ON NATION.N_NAME = 'CANADA' AND NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY JOIN TPCH.PARTSUPP PARTSUPP - ON PARTSUPP.ps_suppkey = SUPPLIER.s_suppkey -JOIN "_S5" "_S5" - ON PARTSUPP.ps_availqty > ( - 0.5 * COALESCE("_S5".SUM_L_QUANTITY, 0) + ON PARTSUPP.PS_SUPPKEY = SUPPLIER.S_SUPPKEY +JOIN "_s5" "_s5" + ON PARTSUPP.PS_AVAILQTY > ( + 0.5 * COALESCE("_s5".SUM_L_QUANTITY, 0) ) - AND PARTSUPP.ps_partkey = "_S5".P_PARTKEY + AND PARTSUPP.PS_PARTKEY = "_s5".P_PARTKEY GROUP BY - PARTSUPP.ps_suppkey + PARTSUPP.PS_SUPPKEY ORDER BY 1 NULLS FIRST FETCH FIRST 10 ROWS ONLY diff --git a/tests/test_sql_refsols/tpch_q20_postgres.sql b/tests/test_sql_refsols/tpch_q20_postgres.sql index 592f4478b..f2076be2f 100644 --- a/tests/test_sql_refsols/tpch_q20_postgres.sql +++ b/tests/test_sql_refsols/tpch_q20_postgres.sql @@ -12,8 +12,8 @@ WITH _s5 AS ( 1 ) SELECT - MAX(supplier.s_name) AS S_NAME, - MAX(supplier.s_address) AS S_ADDRESS + ANY_VALUE(supplier.s_name) AS S_NAME, + ANY_VALUE(supplier.s_address) AS S_ADDRESS FROM tpch.supplier AS supplier JOIN tpch.nation AS nation ON nation.n_name = 'CANADA' AND nation.n_nationkey = supplier.s_nationkey diff --git a/tests/test_sql_refsols/tpch_q21_ansi.sql b/tests/test_sql_refsols/tpch_q21_ansi.sql index c95b9b937..173ccbbd5 100644 --- a/tests/test_sql_refsols/tpch_q21_ansi.sql +++ b/tests/test_sql_refsols/tpch_q21_ansi.sql @@ -24,18 +24,23 @@ WITH _t5 AS ( 1, 2, 3 -), _s11 AS ( +), _s9 AS ( SELECT - _t3.anything_l_suppkey - FROM _t3 AS _t3 - JOIN _t5 AS _t6 - ON _t3.l_linenumber = _t6.l_linenumber - AND _t3.l_orderkey = _t6.l_orderkey - AND _t3.o_orderkey = _t6.l_orderkey + _t6.l_linenumber, + _t6.l_orderkey + FROM _t5 AS _t6 JOIN tpch.lineitem AS lineitem ON _t6.l_orderkey = lineitem.l_orderkey AND _t6.l_suppkey <> lineitem.l_suppkey AND lineitem.l_commitdate < lineitem.l_receiptdate +), _s11 AS ( + SELECT + _t3.anything_l_suppkey + FROM _t3 AS _t3 + ANTI JOIN _s9 AS _s9 + ON _s9.l_linenumber = _t3.l_linenumber + AND _s9.l_orderkey = _t3.l_orderkey + AND _s9.l_orderkey = _t3.o_orderkey WHERE _t3.anything_o_orderstatus = 'F' ) diff --git a/tests/test_sql_refsols/tpch_q21_mysql.sql b/tests/test_sql_refsols/tpch_q21_mysql.sql index 7a70299a0..7512a1612 100644 --- a/tests/test_sql_refsols/tpch_q21_mysql.sql +++ b/tests/test_sql_refsols/tpch_q21_mysql.sql @@ -45,7 +45,7 @@ WITH _t5 AS ( AND _t3.l_orderkey = _u_0._u_2 AND _t3.o_orderkey = _u_0._u_2 WHERE - _t3.anything_o_orderstatus = 'F' AND _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL AND _t3.anything_o_orderstatus = 'F' ) SELECT ANY_VALUE(SUPPLIER.s_name) COLLATE utf8mb4_bin AS S_NAME, diff --git a/tests/test_sql_refsols/tpch_q21_oracle.sql b/tests/test_sql_refsols/tpch_q21_oracle.sql index e494d1ca8..f11b20f29 100644 --- a/tests/test_sql_refsols/tpch_q21_oracle.sql +++ b/tests/test_sql_refsols/tpch_q21_oracle.sql @@ -1,62 +1,62 @@ -WITH "_T5" AS ( +WITH "_t5" AS ( SELECT - l_commitdate AS L_COMMITDATE, - l_linenumber AS L_LINENUMBER, - l_orderkey AS L_ORDERKEY, - l_receiptdate AS L_RECEIPTDATE, - l_suppkey AS L_SUPPKEY + L_COMMITDATE, + L_LINENUMBER, + L_ORDERKEY, + L_RECEIPTDATE, + L_SUPPKEY FROM TPCH.LINEITEM WHERE - l_commitdate < l_receiptdate -), "_T3" AS ( + L_COMMITDATE < L_RECEIPTDATE +), "_t3" AS ( SELECT - "_T5".L_LINENUMBER, - "_T5".L_ORDERKEY, - ORDERS.o_orderkey AS O_ORDERKEY, - ANY_VALUE("_T5".L_SUPPKEY) AS ANYTHING_L_SUPPKEY, - ANY_VALUE(ORDERS.o_orderstatus) AS ANYTHING_O_ORDERSTATUS - FROM "_T5" "_T5" + "_t5".L_LINENUMBER, + "_t5".L_ORDERKEY, + ORDERS.O_ORDERKEY, + ANY_VALUE("_t5".L_SUPPKEY) AS ANYTHING_L_SUPPKEY, + ANY_VALUE(ORDERS.O_ORDERSTATUS) AS ANYTHING_O_ORDERSTATUS + FROM "_t5" "_t5" JOIN TPCH.ORDERS ORDERS - ON ORDERS.o_orderkey = "_T5".L_ORDERKEY + ON ORDERS.O_ORDERKEY = "_t5".L_ORDERKEY JOIN TPCH.LINEITEM LINEITEM - ON LINEITEM.l_orderkey = ORDERS.o_orderkey AND LINEITEM.l_suppkey <> "_T5".L_SUPPKEY + ON LINEITEM.L_ORDERKEY = ORDERS.O_ORDERKEY AND LINEITEM.L_SUPPKEY <> "_t5".L_SUPPKEY GROUP BY - "_T5".L_LINENUMBER, - "_T5".L_ORDERKEY, - ORDERS.o_orderkey + "_t5".L_LINENUMBER, + "_t5".L_ORDERKEY, + ORDERS.O_ORDERKEY ), "_u_0" AS ( SELECT - "_T6".L_LINENUMBER AS "_u_1", - "_T6".L_ORDERKEY AS "_u_2" - FROM "_T5" "_T6" + "_t6".L_LINENUMBER AS "_u_1", + "_t6".L_ORDERKEY AS "_u_2" + FROM "_t5" "_t6" JOIN TPCH.LINEITEM LINEITEM - ON LINEITEM.l_commitdate < LINEITEM.l_receiptdate - AND LINEITEM.l_orderkey = "_T6".L_ORDERKEY - AND LINEITEM.l_suppkey <> "_T6".L_SUPPKEY + ON LINEITEM.L_COMMITDATE < LINEITEM.L_RECEIPTDATE + AND LINEITEM.L_ORDERKEY = "_t6".L_ORDERKEY + AND LINEITEM.L_SUPPKEY <> "_t6".L_SUPPKEY GROUP BY - "_T6".L_LINENUMBER, - "_T6".L_ORDERKEY -), "_S11" AS ( + "_t6".L_LINENUMBER, + "_t6".L_ORDERKEY +), "_s11" AS ( SELECT - "_T3".ANYTHING_L_SUPPKEY - FROM "_T3" "_T3" + "_t3".ANYTHING_L_SUPPKEY + FROM "_t3" "_t3" LEFT JOIN "_u_0" "_u_0" - ON "_T3".L_LINENUMBER = "_u_0"."_u_1" - AND "_T3".L_ORDERKEY = "_u_0"."_u_2" - AND "_T3".O_ORDERKEY = "_u_0"."_u_2" + ON "_t3".L_LINENUMBER = "_u_0"."_u_1" + AND "_t3".L_ORDERKEY = "_u_0"."_u_2" + AND "_t3".O_ORDERKEY = "_u_0"."_u_2" WHERE - "_T3".ANYTHING_O_ORDERSTATUS = 'F' AND "_u_0"."_u_1" IS NULL + "_t3".ANYTHING_O_ORDERSTATUS = 'F' AND "_u_0"."_u_1" IS NULL ) SELECT - ANY_VALUE(SUPPLIER.s_name) AS S_NAME, - COUNT("_S11".ANYTHING_L_SUPPKEY) AS NUMWAIT + ANY_VALUE(SUPPLIER.S_NAME) AS S_NAME, + COUNT("_s11".ANYTHING_L_SUPPKEY) AS NUMWAIT FROM TPCH.SUPPLIER SUPPLIER JOIN TPCH.NATION NATION - ON NATION.n_name = 'SAUDI ARABIA' AND NATION.n_nationkey = SUPPLIER.s_nationkey -LEFT JOIN "_S11" "_S11" - ON SUPPLIER.s_suppkey = "_S11".ANYTHING_L_SUPPKEY + ON NATION.N_NAME = 'SAUDI ARABIA' AND NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY +LEFT JOIN "_s11" "_s11" + ON SUPPLIER.S_SUPPKEY = "_s11".ANYTHING_L_SUPPKEY GROUP BY - SUPPLIER.s_suppkey + SUPPLIER.S_SUPPKEY ORDER BY 2 DESC NULLS LAST, 1 NULLS FIRST diff --git a/tests/test_sql_refsols/tpch_q21_postgres.sql b/tests/test_sql_refsols/tpch_q21_postgres.sql index 4231c83c5..9e97a650e 100644 --- a/tests/test_sql_refsols/tpch_q21_postgres.sql +++ b/tests/test_sql_refsols/tpch_q21_postgres.sql @@ -13,8 +13,8 @@ WITH _t5 AS ( _t5.l_linenumber, _t5.l_orderkey, orders.o_orderkey, - MAX(_t5.l_suppkey) AS anything_l_suppkey, - MAX(orders.o_orderstatus) AS anything_o_orderstatus + ANY_VALUE(_t5.l_suppkey) AS anything_l_suppkey, + ANY_VALUE(orders.o_orderstatus) AS anything_o_orderstatus FROM _t5 AS _t5 JOIN tpch.orders AS orders ON _t5.l_orderkey = orders.o_orderkey @@ -48,7 +48,7 @@ WITH _t5 AS ( _t3.anything_o_orderstatus = 'F' AND _u_0._u_1 IS NULL ) SELECT - MAX(supplier.s_name) AS S_NAME, + ANY_VALUE(supplier.s_name) AS S_NAME, COUNT(_s11.anything_l_suppkey) AS NUMWAIT FROM tpch.supplier AS supplier JOIN tpch.nation AS nation diff --git a/tests/test_sql_refsols/tpch_q21_sqlite.sql b/tests/test_sql_refsols/tpch_q21_sqlite.sql index 6d8bb96d5..7d9237795 100644 --- a/tests/test_sql_refsols/tpch_q21_sqlite.sql +++ b/tests/test_sql_refsols/tpch_q21_sqlite.sql @@ -45,7 +45,7 @@ WITH _t5 AS ( AND _t3.l_orderkey = _u_0._u_2 AND _t3.o_orderkey = _u_0._u_2 WHERE - _t3.anything_o_orderstatus = 'F' AND _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL AND _t3.anything_o_orderstatus = 'F' ) SELECT MAX(supplier.s_name) AS S_NAME, diff --git a/tests/test_sql_refsols/tpch_q22_ansi.sql b/tests/test_sql_refsols/tpch_q22_ansi.sql index 04ca82b32..1b62cf414 100644 --- a/tests/test_sql_refsols/tpch_q22_ansi.sql +++ b/tests/test_sql_refsols/tpch_q22_ansi.sql @@ -5,6 +5,10 @@ WITH _s0 AS ( WHERE SUBSTRING(c_phone, 1, 2) IN ('13', '31', '23', '29', '30', '18', '17') AND c_acctbal > 0.0 +), _s3 AS ( + SELECT + o_custkey + FROM tpch.orders ) SELECT SUBSTRING(customer.c_phone, 1, 2) AS CNTRY_CODE, @@ -14,8 +18,8 @@ FROM _s0 AS _s0 JOIN tpch.customer AS customer ON SUBSTRING(customer.c_phone, 1, 2) IN ('13', '31', '23', '29', '30', '18', '17') AND _s0.avg_c_acctbal < customer.c_acctbal -JOIN tpch.orders AS orders - ON customer.c_custkey = orders.o_custkey +ANTI JOIN _s3 AS _s3 + ON _s3.o_custkey = customer.c_custkey GROUP BY 1 ORDER BY diff --git a/tests/test_sql_refsols/tpch_q22_mysql.sql b/tests/test_sql_refsols/tpch_q22_mysql.sql index 66a16f143..3bdceacc5 100644 --- a/tests/test_sql_refsols/tpch_q22_mysql.sql +++ b/tests/test_sql_refsols/tpch_q22_mysql.sql @@ -23,7 +23,7 @@ JOIN tpch.CUSTOMER AS CUSTOMER LEFT JOIN _u_0 AS _u_0 ON CUSTOMER.c_custkey = _u_0._u_1 WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL GROUP BY 1 ORDER BY diff --git a/tests/test_sql_refsols/tpch_q22_oracle.sql b/tests/test_sql_refsols/tpch_q22_oracle.sql index 9a2d9c134..9a9d4625d 100644 --- a/tests/test_sql_refsols/tpch_q22_oracle.sql +++ b/tests/test_sql_refsols/tpch_q22_oracle.sql @@ -1,30 +1,30 @@ -WITH "_S0" AS ( +WITH "_s0" AS ( SELECT - AVG(c_acctbal) AS AVG_C_ACCTBAL + AVG(C_ACCTBAL) AS AVG_C_ACCTBAL FROM TPCH.CUSTOMER WHERE - c_acctbal > 0.0 - AND SUBSTR(c_phone, 1, 2) IN ('13', '31', '23', '29', '30', '18', '17') + C_ACCTBAL > 0.0 + AND SUBSTR(C_PHONE, 1, 2) IN ('13', '31', '23', '29', '30', '18', '17') ), "_u_0" AS ( SELECT - o_custkey AS "_u_1" + O_CUSTKEY AS "_u_1" FROM TPCH.ORDERS GROUP BY - o_custkey + O_CUSTKEY ) SELECT - SUBSTR(CUSTOMER.c_phone, 1, 2) AS CNTRY_CODE, + SUBSTR(CUSTOMER.C_PHONE, 1, 2) AS CNTRY_CODE, COUNT(*) AS NUM_CUSTS, - COALESCE(SUM(CUSTOMER.c_acctbal), 0) AS TOTACCTBAL -FROM "_S0" "_S0" + COALESCE(SUM(CUSTOMER.C_ACCTBAL), 0) AS TOTACCTBAL +FROM "_s0" "_s0" JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_acctbal > "_S0".AVG_C_ACCTBAL - AND SUBSTR(CUSTOMER.c_phone, 1, 2) IN ('13', '31', '23', '29', '30', '18', '17') + ON CUSTOMER.C_ACCTBAL > "_s0".AVG_C_ACCTBAL + AND SUBSTR(CUSTOMER.C_PHONE, 1, 2) IN ('13', '31', '23', '29', '30', '18', '17') LEFT JOIN "_u_0" "_u_0" - ON CUSTOMER.c_custkey = "_u_0"."_u_1" + ON CUSTOMER.C_CUSTKEY = "_u_0"."_u_1" WHERE "_u_0"."_u_1" IS NULL GROUP BY - SUBSTR(CUSTOMER.c_phone, 1, 2) + SUBSTR(CUSTOMER.C_PHONE, 1, 2) ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/tpch_q22_sqlite.sql b/tests/test_sql_refsols/tpch_q22_sqlite.sql index ac8ce5c6b..6374a9afe 100644 --- a/tests/test_sql_refsols/tpch_q22_sqlite.sql +++ b/tests/test_sql_refsols/tpch_q22_sqlite.sql @@ -23,7 +23,7 @@ JOIN tpch.customer AS customer LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = customer.c_custkey WHERE - _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL GROUP BY 1 ORDER BY diff --git a/tests/test_sql_refsols/tpch_q22_trino.sql b/tests/test_sql_refsols/tpch_q22_trino.sql index 8f8901a3c..6c41de1f3 100644 --- a/tests/test_sql_refsols/tpch_q22_trino.sql +++ b/tests/test_sql_refsols/tpch_q22_trino.sql @@ -3,7 +3,7 @@ WITH _s0 AS ( AVG(c_acctbal) AS avg_c_acctbal FROM tpch.customer WHERE - SUBSTRING(c_phone, 1, 2) IN ('13', '31', '23', '29', '30', '18', '17') + SUBSTR(c_phone, 1, 2) IN ('13', '31', '23', '29', '30', '18', '17') AND c_acctbal > 0.0 ), _u_0 AS ( SELECT @@ -13,12 +13,12 @@ WITH _s0 AS ( 1 ) SELECT - SUBSTRING(customer.c_phone, 1, 2) AS CNTRY_CODE, + SUBSTR(customer.c_phone, 1, 2) AS CNTRY_CODE, COUNT(*) AS NUM_CUSTS, COALESCE(SUM(customer.c_acctbal), 0) AS TOTACCTBAL FROM _s0 AS _s0 JOIN tpch.customer AS customer - ON SUBSTRING(customer.c_phone, 1, 2) IN ('13', '31', '23', '29', '30', '18', '17') + ON SUBSTR(customer.c_phone, 1, 2) IN ('13', '31', '23', '29', '30', '18', '17') AND _s0.avg_c_acctbal < customer.c_acctbal LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = customer.c_custkey diff --git a/tests/test_sql_refsols/tpch_q2_mysql.sql b/tests/test_sql_refsols/tpch_q2_mysql.sql index 8dbffd175..0af1cd370 100644 --- a/tests/test_sql_refsols/tpch_q2_mysql.sql +++ b/tests/test_sql_refsols/tpch_q2_mysql.sql @@ -8,7 +8,10 @@ WITH _t AS ( SUPPLIER.s_comment, SUPPLIER.s_name, SUPPLIER.s_phone, - RANK() OVER (PARTITION BY PARTSUPP.ps_partkey ORDER BY CASE WHEN PARTSUPP.ps_supplycost IS NULL THEN 1 ELSE 0 END, PARTSUPP.ps_supplycost) AS _w + RANK() OVER ( + PARTITION BY PARTSUPP.ps_partkey + ORDER BY CASE WHEN PARTSUPP.ps_supplycost IS NULL THEN 1 ELSE 0 END, PARTSUPP.ps_supplycost + ) AS _w FROM tpch.PART AS PART JOIN tpch.PARTSUPP AS PARTSUPP ON PART.p_partkey = PARTSUPP.ps_partkey diff --git a/tests/test_sql_refsols/tpch_q2_oracle.sql b/tests/test_sql_refsols/tpch_q2_oracle.sql index 41d3c710e..45e9a160c 100644 --- a/tests/test_sql_refsols/tpch_q2_oracle.sql +++ b/tests/test_sql_refsols/tpch_q2_oracle.sql @@ -1,25 +1,25 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - NATION.n_name AS N_NAME, - PART.p_mfgr AS P_MFGR, - PART.p_partkey AS P_PARTKEY, - SUPPLIER.s_acctbal AS S_ACCTBAL, - SUPPLIER.s_address AS S_ADDRESS, - SUPPLIER.s_comment AS S_COMMENT, - SUPPLIER.s_name AS S_NAME, - SUPPLIER.s_phone AS S_PHONE, - RANK() OVER (PARTITION BY PARTSUPP.ps_partkey ORDER BY PARTSUPP.ps_supplycost) AS "_W" + NATION.N_NAME, + PART.P_MFGR, + PART.P_PARTKEY, + SUPPLIER.S_ACCTBAL, + SUPPLIER.S_ADDRESS, + SUPPLIER.S_COMMENT, + SUPPLIER.S_NAME, + SUPPLIER.S_PHONE, + RANK() OVER (PARTITION BY PARTSUPP.PS_PARTKEY ORDER BY PARTSUPP.PS_SUPPLYCOST) AS "_w" FROM TPCH.PART PART JOIN TPCH.PARTSUPP PARTSUPP - ON PART.p_partkey = PARTSUPP.ps_partkey + ON PART.P_PARTKEY = PARTSUPP.PS_PARTKEY JOIN TPCH.SUPPLIER SUPPLIER - ON PARTSUPP.ps_suppkey = SUPPLIER.s_suppkey + ON PARTSUPP.PS_SUPPKEY = SUPPLIER.S_SUPPKEY JOIN TPCH.NATION NATION - ON NATION.n_nationkey = SUPPLIER.s_nationkey + ON NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY JOIN TPCH.REGION REGION - ON NATION.n_regionkey = REGION.r_regionkey AND REGION.r_name = 'EUROPE' + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY AND REGION.R_NAME = 'EUROPE' WHERE - PART.p_size = 15 AND PART.p_type LIKE '%BRASS' + PART.P_SIZE = 15 AND PART.P_TYPE LIKE '%BRASS' ) SELECT S_ACCTBAL, @@ -30,9 +30,9 @@ SELECT S_ADDRESS, S_PHONE, S_COMMENT -FROM "_T" +FROM "_t" WHERE - "_W" = 1 + "_w" = 1 ORDER BY 1 DESC NULLS LAST, 3 NULLS FIRST, diff --git a/tests/test_sql_refsols/tpch_q3_oracle.sql b/tests/test_sql_refsols/tpch_q3_oracle.sql index 94a028a62..d9ea0c29f 100644 --- a/tests/test_sql_refsols/tpch_q3_oracle.sql +++ b/tests/test_sql_refsols/tpch_q3_oracle.sql @@ -1,22 +1,22 @@ SELECT - LINEITEM.l_orderkey AS L_ORDERKEY, - COALESCE(SUM(LINEITEM.l_extendedprice * ( - 1 - LINEITEM.l_discount + LINEITEM.L_ORDERKEY, + COALESCE(SUM(LINEITEM.L_EXTENDEDPRICE * ( + 1 - LINEITEM.L_DISCOUNT )), 0) AS REVENUE, - ORDERS.o_orderdate AS O_ORDERDATE, - ORDERS.o_shippriority AS O_SHIPPRIORITY + ORDERS.O_ORDERDATE, + ORDERS.O_SHIPPRIORITY FROM TPCH.ORDERS ORDERS JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_custkey = ORDERS.o_custkey AND CUSTOMER.c_mktsegment = 'BUILDING' + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY AND CUSTOMER.C_MKTSEGMENT = 'BUILDING' JOIN TPCH.LINEITEM LINEITEM - ON LINEITEM.l_orderkey = ORDERS.o_orderkey - AND LINEITEM.l_shipdate > TO_DATE('1995-03-15', 'YYYY-MM-DD') + ON LINEITEM.L_ORDERKEY = ORDERS.O_ORDERKEY + AND LINEITEM.L_SHIPDATE > TO_DATE('1995-03-15', 'YYYY-MM-DD') WHERE - ORDERS.o_orderdate < TO_DATE('1995-03-15', 'YYYY-MM-DD') + ORDERS.O_ORDERDATE < TO_DATE('1995-03-15', 'YYYY-MM-DD') GROUP BY - LINEITEM.l_orderkey, - ORDERS.o_orderdate, - ORDERS.o_shippriority + LINEITEM.L_ORDERKEY, + ORDERS.O_ORDERDATE, + ORDERS.O_SHIPPRIORITY ORDER BY 2 DESC NULLS LAST, 3 NULLS FIRST, diff --git a/tests/test_sql_refsols/tpch_q4_ansi.sql b/tests/test_sql_refsols/tpch_q4_ansi.sql index 9e3fffc2c..28e5197e1 100644 --- a/tests/test_sql_refsols/tpch_q4_ansi.sql +++ b/tests/test_sql_refsols/tpch_q4_ansi.sql @@ -1,10 +1,16 @@ +WITH _s1 AS ( + SELECT + l_orderkey + FROM tpch.lineitem + WHERE + l_commitdate < l_receiptdate +) SELECT orders.o_orderpriority AS O_ORDERPRIORITY, COUNT(*) AS ORDER_COUNT FROM tpch.orders AS orders -JOIN tpch.lineitem AS lineitem - ON lineitem.l_commitdate < lineitem.l_receiptdate - AND lineitem.l_orderkey = orders.o_orderkey +SEMI JOIN _s1 AS _s1 + ON _s1.l_orderkey = orders.o_orderkey WHERE EXTRACT(MONTH FROM CAST(orders.o_orderdate AS DATETIME)) IN (7, 8, 9) AND EXTRACT(YEAR FROM CAST(orders.o_orderdate AS DATETIME)) = 1993 diff --git a/tests/test_sql_refsols/tpch_q4_oracle.sql b/tests/test_sql_refsols/tpch_q4_oracle.sql index 3fc76856a..e10c7db80 100644 --- a/tests/test_sql_refsols/tpch_q4_oracle.sql +++ b/tests/test_sql_refsols/tpch_q4_oracle.sql @@ -1,23 +1,23 @@ WITH "_u_0" AS ( SELECT - l_orderkey AS "_u_1" + L_ORDERKEY AS "_u_1" FROM TPCH.LINEITEM WHERE - l_commitdate < l_receiptdate + L_COMMITDATE < L_RECEIPTDATE GROUP BY - l_orderkey + L_ORDERKEY ) SELECT - ORDERS.o_orderpriority AS O_ORDERPRIORITY, + ORDERS.O_ORDERPRIORITY, COUNT(*) AS ORDER_COUNT FROM TPCH.ORDERS ORDERS LEFT JOIN "_u_0" "_u_0" - ON ORDERS.o_orderkey = "_u_0"."_u_1" + ON ORDERS.O_ORDERKEY = "_u_0"."_u_1" WHERE - EXTRACT(MONTH FROM CAST(ORDERS.o_orderdate AS DATE)) IN (7, 8, 9) - AND EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) = 1993 + EXTRACT(MONTH FROM CAST(ORDERS.O_ORDERDATE AS DATE)) IN (7, 8, 9) + AND EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) = 1993 AND NOT "_u_0"."_u_1" IS NULL GROUP BY - ORDERS.o_orderpriority + ORDERS.O_ORDERPRIORITY ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/tpch_q5_oracle.sql b/tests/test_sql_refsols/tpch_q5_oracle.sql index 79da8572b..dc1d4cd3f 100644 --- a/tests/test_sql_refsols/tpch_q5_oracle.sql +++ b/tests/test_sql_refsols/tpch_q5_oracle.sql @@ -1,30 +1,30 @@ -WITH "_S11" AS ( +WITH "_s11" AS ( SELECT - NATION.n_name AS N_NAME, - SUPPLIER.s_suppkey AS S_SUPPKEY + NATION.N_NAME, + SUPPLIER.S_SUPPKEY FROM TPCH.SUPPLIER SUPPLIER JOIN TPCH.NATION NATION - ON NATION.n_nationkey = SUPPLIER.s_nationkey + ON NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY ) SELECT - ANY_VALUE(NATION.n_name) AS N_NAME, - COALESCE(SUM(LINEITEM.l_extendedprice * ( - 1 - LINEITEM.l_discount + ANY_VALUE(NATION.N_NAME) AS N_NAME, + COALESCE(SUM(LINEITEM.L_EXTENDEDPRICE * ( + 1 - LINEITEM.L_DISCOUNT )), 0) AS REVENUE FROM TPCH.NATION NATION JOIN TPCH.REGION REGION - ON NATION.n_regionkey = REGION.r_regionkey AND REGION.r_name = 'ASIA' + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY AND REGION.R_NAME = 'ASIA' JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_nationkey = NATION.n_nationkey + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY JOIN TPCH.ORDERS ORDERS - ON CUSTOMER.c_custkey = ORDERS.o_custkey - AND ORDERS.o_orderdate < TO_DATE('1995-01-01', 'YYYY-MM-DD') - AND ORDERS.o_orderdate >= TO_DATE('1994-01-01', 'YYYY-MM-DD') + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY + AND ORDERS.O_ORDERDATE < TO_DATE('1995-01-01', 'YYYY-MM-DD') + AND ORDERS.O_ORDERDATE >= TO_DATE('1994-01-01', 'YYYY-MM-DD') JOIN TPCH.LINEITEM LINEITEM - ON LINEITEM.l_orderkey = ORDERS.o_orderkey -JOIN "_S11" "_S11" - ON LINEITEM.l_suppkey = "_S11".S_SUPPKEY AND NATION.n_name = "_S11".N_NAME + ON LINEITEM.L_ORDERKEY = ORDERS.O_ORDERKEY +JOIN "_s11" "_s11" + ON LINEITEM.L_SUPPKEY = "_s11".S_SUPPKEY AND NATION.N_NAME = "_s11".N_NAME GROUP BY - NATION.n_nationkey + NATION.N_NATIONKEY ORDER BY 2 DESC NULLS LAST diff --git a/tests/test_sql_refsols/tpch_q5_postgres.sql b/tests/test_sql_refsols/tpch_q5_postgres.sql index 28d883bd0..443739351 100644 --- a/tests/test_sql_refsols/tpch_q5_postgres.sql +++ b/tests/test_sql_refsols/tpch_q5_postgres.sql @@ -7,7 +7,7 @@ WITH _s11 AS ( ON nation.n_nationkey = supplier.s_nationkey ) SELECT - MAX(nation.n_name) AS N_NAME, + ANY_VALUE(nation.n_name) AS N_NAME, COALESCE(SUM(lineitem.l_extendedprice * ( 1 - lineitem.l_discount )), 0) AS REVENUE diff --git a/tests/test_sql_refsols/tpch_q6_oracle.sql b/tests/test_sql_refsols/tpch_q6_oracle.sql index 0c47af730..ba80e8fdd 100644 --- a/tests/test_sql_refsols/tpch_q6_oracle.sql +++ b/tests/test_sql_refsols/tpch_q6_oracle.sql @@ -1,9 +1,9 @@ SELECT - COALESCE(SUM(l_extendedprice * l_discount), 0) AS REVENUE + COALESCE(SUM(L_EXTENDEDPRICE * L_DISCOUNT), 0) AS REVENUE FROM TPCH.LINEITEM WHERE - l_discount <= 0.07 - AND l_discount >= 0.05 - AND l_quantity < 24 - AND l_shipdate < TO_DATE('1995-01-01', 'YYYY-MM-DD') - AND l_shipdate >= TO_DATE('1994-01-01', 'YYYY-MM-DD') + L_DISCOUNT <= 0.07 + AND L_DISCOUNT >= 0.05 + AND L_QUANTITY < 24 + AND L_SHIPDATE < TO_DATE('1995-01-01', 'YYYY-MM-DD') + AND L_SHIPDATE >= TO_DATE('1994-01-01', 'YYYY-MM-DD') diff --git a/tests/test_sql_refsols/tpch_q7_oracle.sql b/tests/test_sql_refsols/tpch_q7_oracle.sql index f7bcb74f7..8a7a47058 100644 --- a/tests/test_sql_refsols/tpch_q7_oracle.sql +++ b/tests/test_sql_refsols/tpch_q7_oracle.sql @@ -1,45 +1,45 @@ -WITH "_S9" AS ( +WITH "_s9" AS ( SELECT - NATION.n_name AS N_NAME, - ORDERS.o_orderkey AS O_ORDERKEY + NATION.N_NAME, + ORDERS.O_ORDERKEY FROM TPCH.ORDERS ORDERS JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_custkey = ORDERS.o_custkey + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY JOIN TPCH.NATION NATION - ON CUSTOMER.c_nationkey = NATION.n_nationkey + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY AND ( - NATION.n_name = 'FRANCE' OR NATION.n_name = 'GERMANY' + NATION.N_NAME = 'FRANCE' OR NATION.N_NAME = 'GERMANY' ) ) SELECT - NATION.n_name AS SUPP_NATION, - "_S9".N_NAME AS CUST_NATION, - EXTRACT(YEAR FROM CAST(LINEITEM.l_shipdate AS DATE)) AS L_YEAR, - COALESCE(SUM(LINEITEM.l_extendedprice * ( - 1 - LINEITEM.l_discount + NATION.N_NAME AS SUPP_NATION, + "_s9".N_NAME AS CUST_NATION, + EXTRACT(YEAR FROM CAST(LINEITEM.L_SHIPDATE AS DATE)) AS L_YEAR, + COALESCE(SUM(LINEITEM.L_EXTENDEDPRICE * ( + 1 - LINEITEM.L_DISCOUNT )), 0) AS REVENUE FROM TPCH.LINEITEM LINEITEM JOIN TPCH.SUPPLIER SUPPLIER - ON LINEITEM.l_suppkey = SUPPLIER.s_suppkey + ON LINEITEM.L_SUPPKEY = SUPPLIER.S_SUPPKEY JOIN TPCH.NATION NATION - ON NATION.n_nationkey = SUPPLIER.s_nationkey -JOIN "_S9" "_S9" - ON LINEITEM.l_orderkey = "_S9".O_ORDERKEY + ON NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY +JOIN "_s9" "_s9" + ON LINEITEM.L_ORDERKEY = "_s9".O_ORDERKEY AND ( - NATION.n_name = 'FRANCE' OR NATION.n_name = 'GERMANY' + NATION.N_NAME = 'FRANCE' OR NATION.N_NAME = 'GERMANY' ) AND ( - NATION.n_name = 'FRANCE' OR "_S9".N_NAME = 'FRANCE' + NATION.N_NAME = 'FRANCE' OR "_s9".N_NAME = 'FRANCE' ) AND ( - NATION.n_name = 'GERMANY' OR "_S9".N_NAME = 'GERMANY' + NATION.N_NAME = 'GERMANY' OR "_s9".N_NAME = 'GERMANY' ) WHERE - EXTRACT(YEAR FROM CAST(LINEITEM.l_shipdate AS DATE)) IN (1995, 1996) + EXTRACT(YEAR FROM CAST(LINEITEM.L_SHIPDATE AS DATE)) IN (1995, 1996) GROUP BY - EXTRACT(YEAR FROM CAST(LINEITEM.l_shipdate AS DATE)), - "_S9".N_NAME, - NATION.n_name + EXTRACT(YEAR FROM CAST(LINEITEM.L_SHIPDATE AS DATE)), + "_s9".N_NAME, + NATION.N_NAME ORDER BY 1 NULLS FIRST, 2 NULLS FIRST, diff --git a/tests/test_sql_refsols/tpch_q8_oracle.sql b/tests/test_sql_refsols/tpch_q8_oracle.sql index 6902a4f52..7c9cdb8ca 100644 --- a/tests/test_sql_refsols/tpch_q8_oracle.sql +++ b/tests/test_sql_refsols/tpch_q8_oracle.sql @@ -1,34 +1,34 @@ SELECT - EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) AS O_YEAR, + EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) AS O_YEAR, COALESCE( SUM( CASE - WHEN NATION_2.n_name = 'BRAZIL' - THEN LINEITEM.l_extendedprice * ( - 1 - LINEITEM.l_discount + WHEN NATION_2.N_NAME = 'BRAZIL' + THEN LINEITEM.L_EXTENDEDPRICE * ( + 1 - LINEITEM.L_DISCOUNT ) ELSE 0 END ), 0 - ) / COALESCE(SUM(LINEITEM.l_extendedprice * ( - 1 - LINEITEM.l_discount + ) / COALESCE(SUM(LINEITEM.L_EXTENDEDPRICE * ( + 1 - LINEITEM.L_DISCOUNT )), 0) AS MKT_SHARE FROM TPCH.LINEITEM LINEITEM JOIN TPCH.PART PART - ON LINEITEM.l_partkey = PART.p_partkey AND PART.p_type = 'ECONOMY ANODIZED STEEL' + ON LINEITEM.L_PARTKEY = PART.P_PARTKEY AND PART.P_TYPE = 'ECONOMY ANODIZED STEEL' JOIN TPCH.ORDERS ORDERS - ON EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) IN (1995, 1996) - AND LINEITEM.l_orderkey = ORDERS.o_orderkey + ON EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) IN (1995, 1996) + AND LINEITEM.L_ORDERKEY = ORDERS.O_ORDERKEY JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_custkey = ORDERS.o_custkey + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY JOIN TPCH.NATION NATION - ON CUSTOMER.c_nationkey = NATION.n_nationkey + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY JOIN TPCH.REGION REGION - ON NATION.n_regionkey = REGION.r_regionkey AND REGION.r_name = 'AMERICA' + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY AND REGION.R_NAME = 'AMERICA' JOIN TPCH.SUPPLIER SUPPLIER - ON LINEITEM.l_suppkey = SUPPLIER.s_suppkey + ON LINEITEM.L_SUPPKEY = SUPPLIER.S_SUPPKEY JOIN TPCH.NATION NATION_2 - ON NATION_2.n_nationkey = SUPPLIER.s_nationkey + ON NATION_2.N_NATIONKEY = SUPPLIER.S_NATIONKEY GROUP BY - EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) + EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) diff --git a/tests/test_sql_refsols/tpch_q9_oracle.sql b/tests/test_sql_refsols/tpch_q9_oracle.sql index 1950b391a..6268e2210 100644 --- a/tests/test_sql_refsols/tpch_q9_oracle.sql +++ b/tests/test_sql_refsols/tpch_q9_oracle.sql @@ -1,29 +1,29 @@ SELECT - NATION.n_name AS NATION, - EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) AS O_YEAR, + NATION.N_NAME AS NATION, + EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) AS O_YEAR, COALESCE( SUM( - LINEITEM.l_extendedprice * ( - 1 - LINEITEM.l_discount - ) - PARTSUPP.ps_supplycost * LINEITEM.l_quantity + LINEITEM.L_EXTENDEDPRICE * ( + 1 - LINEITEM.L_DISCOUNT + ) - PARTSUPP.PS_SUPPLYCOST * LINEITEM.L_QUANTITY ), 0 ) AS AMOUNT FROM TPCH.LINEITEM LINEITEM JOIN TPCH.PART PART - ON LINEITEM.l_partkey = PART.p_partkey AND PART.p_name LIKE '%green%' + ON LINEITEM.L_PARTKEY = PART.P_PARTKEY AND PART.P_NAME LIKE '%green%' JOIN TPCH.SUPPLIER SUPPLIER - ON LINEITEM.l_suppkey = SUPPLIER.s_suppkey + ON LINEITEM.L_SUPPKEY = SUPPLIER.S_SUPPKEY JOIN TPCH.NATION NATION - ON NATION.n_nationkey = SUPPLIER.s_nationkey + ON NATION.N_NATIONKEY = SUPPLIER.S_NATIONKEY JOIN TPCH.ORDERS ORDERS - ON LINEITEM.l_orderkey = ORDERS.o_orderkey + ON LINEITEM.L_ORDERKEY = ORDERS.O_ORDERKEY JOIN TPCH.PARTSUPP PARTSUPP - ON LINEITEM.l_partkey = PARTSUPP.ps_partkey - AND LINEITEM.l_suppkey = PARTSUPP.ps_suppkey + ON LINEITEM.L_PARTKEY = PARTSUPP.PS_PARTKEY + AND LINEITEM.L_SUPPKEY = PARTSUPP.PS_SUPPKEY GROUP BY - EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)), - NATION.n_name + EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)), + NATION.N_NAME ORDER BY 1 NULLS FIRST, 2 DESC NULLS LAST diff --git a/tests/test_sql_refsols/triple_partition_oracle.sql b/tests/test_sql_refsols/triple_partition_oracle.sql index 037dd6415..47391ab8d 100644 --- a/tests/test_sql_refsols/triple_partition_oracle.sql +++ b/tests/test_sql_refsols/triple_partition_oracle.sql @@ -1,61 +1,61 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - n_nationkey AS N_NATIONKEY, - n_regionkey AS N_REGIONKEY + N_NATIONKEY, + N_REGIONKEY FROM TPCH.NATION -), "_S5" AS ( +), "_s5" AS ( SELECT - r_name AS R_NAME, - r_regionkey AS R_REGIONKEY + R_NAME, + R_REGIONKEY FROM TPCH.REGION -), "_S14" AS ( +), "_s14" AS ( SELECT - ORDERS.o_custkey AS O_CUSTKEY, - PART.p_type AS P_TYPE, - "_S5".R_NAME, + ORDERS.O_CUSTKEY, + PART.P_TYPE, + "_s5".R_NAME, COUNT(*) AS N_ROWS FROM TPCH.PART PART JOIN TPCH.LINEITEM LINEITEM - ON EXTRACT(MONTH FROM CAST(LINEITEM.l_shipdate AS DATE)) = 6 - AND EXTRACT(YEAR FROM CAST(LINEITEM.l_shipdate AS DATE)) = 1992 - AND LINEITEM.l_partkey = PART.p_partkey + ON EXTRACT(MONTH FROM CAST(LINEITEM.L_SHIPDATE AS DATE)) = 6 + AND EXTRACT(YEAR FROM CAST(LINEITEM.L_SHIPDATE AS DATE)) = 1992 + AND LINEITEM.L_PARTKEY = PART.P_PARTKEY JOIN TPCH.SUPPLIER SUPPLIER - ON LINEITEM.l_suppkey = SUPPLIER.s_suppkey - JOIN "_S3" "_S3" - ON SUPPLIER.s_nationkey = "_S3".N_NATIONKEY - JOIN "_S5" "_S5" - ON "_S3".N_REGIONKEY = "_S5".R_REGIONKEY + ON LINEITEM.L_SUPPKEY = SUPPLIER.S_SUPPKEY + JOIN "_s3" "_s3" + ON SUPPLIER.S_NATIONKEY = "_s3".N_NATIONKEY + JOIN "_s5" "_s5" + ON "_s3".N_REGIONKEY = "_s5".R_REGIONKEY JOIN TPCH.ORDERS ORDERS - ON EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) = 1992 - AND LINEITEM.l_orderkey = ORDERS.o_orderkey + ON EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) = 1992 + AND LINEITEM.L_ORDERKEY = ORDERS.O_ORDERKEY WHERE - PART.p_container LIKE 'SM%' + PART.P_CONTAINER LIKE 'SM%' GROUP BY - ORDERS.o_custkey, - PART.p_type, - "_S5".R_NAME -), "_T2" AS ( + ORDERS.O_CUSTKEY, + PART.P_TYPE, + "_s5".R_NAME +), "_t2" AS ( SELECT - "_S13".R_NAME AS CUST_REGION, - "_S14".R_NAME, - SUM("_S14".N_ROWS) AS SUM_N_ROWS - FROM "_S14" "_S14" + "_s13".R_NAME AS CUST_REGION, + "_s14".R_NAME, + SUM("_s14".N_ROWS) AS SUM_N_ROWS + FROM "_s14" "_s14" JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_custkey = "_S14".O_CUSTKEY - JOIN "_S3" "_S11" - ON CUSTOMER.c_nationkey = "_S11".N_NATIONKEY - JOIN "_S5" "_S13" - ON "_S11".N_REGIONKEY = "_S13".R_REGIONKEY + ON CUSTOMER.C_CUSTKEY = "_s14".O_CUSTKEY + JOIN "_s3" "_s11" + ON CUSTOMER.C_NATIONKEY = "_s11".N_NATIONKEY + JOIN "_s5" "_s13" + ON "_s11".N_REGIONKEY = "_s13".R_REGIONKEY GROUP BY - "_S13".R_NAME, - "_S14".P_TYPE, - "_S14".R_NAME -), "_T1" AS ( + "_s13".R_NAME, + "_s14".P_TYPE, + "_s14".R_NAME +), "_t1" AS ( SELECT R_NAME, MAX(SUM_N_ROWS) AS MAX_SUM_N_ROWS, SUM(SUM_N_ROWS) AS SUM_SUM_N_ROWS - FROM "_T2" + FROM "_t2" GROUP BY CUST_REGION, R_NAME @@ -65,7 +65,7 @@ SELECT AVG(( 100.0 * MAX_SUM_N_ROWS ) / SUM_SUM_N_ROWS) AS avgpct -FROM "_T1" +FROM "_t1" GROUP BY R_NAME ORDER BY diff --git a/tests/test_sql_refsols/unary_and_slicing_operators_oracle.sql b/tests/test_sql_refsols/unary_and_slicing_operators_oracle.sql index de0f7a40a..c6c69947a 100644 --- a/tests/test_sql_refsols/unary_and_slicing_operators_oracle.sql +++ b/tests/test_sql_refsols/unary_and_slicing_operators_oracle.sql @@ -1,13 +1,13 @@ SELECT - SUBSTR(c_phone, 1, 3) AS country_code, - SUBSTR(c_name, 2) AS name_without_first_char, - SUBSTR(c_phone, CASE WHEN ABS(-1) < LENGTH(c_phone) THEN -1 ELSE 1 END) AS last_digit, - SUBSTR(c_name, 2, GREATEST(LENGTH(c_name) + -1 - 1, 0)) AS name_without_start_and_end_char, - SUBSTR(c_phone, 1, LENGTH(c_phone) + -5) AS phone_without_last_5_chars, + SUBSTR(C_PHONE, 1, 3) AS country_code, + SUBSTR(C_NAME, 2) AS name_without_first_char, + SUBSTR(C_PHONE, CASE WHEN ABS(-1) < LENGTH(C_PHONE) THEN -1 ELSE 1 END) AS last_digit, + SUBSTR(C_NAME, 2, GREATEST(LENGTH(C_NAME) + -1 - 1, 0)) AS name_without_start_and_end_char, + SUBSTR(C_PHONE, 1, LENGTH(C_PHONE) + -5) AS phone_without_last_5_chars, SUBSTR( - c_name, - CASE WHEN ABS(-2) < LENGTH(c_name) THEN -2 ELSE 1 END, - CASE WHEN ABS(-2) > LENGTH(c_name) THEN LENGTH(c_name) + -1 ELSE GREATEST(1, 0) END + C_NAME, + CASE WHEN ABS(-2) < LENGTH(C_NAME) THEN -2 ELSE 1 END, + CASE WHEN ABS(-2) > LENGTH(C_NAME) THEN LENGTH(C_NAME) + -1 ELSE GREATEST(1, 0) END ) AS name_second_to_last_char, - c_acctbal >= 0 AS is_not_in_debt + C_ACCTBAL >= 0 AS is_not_in_debt FROM TPCH.CUSTOMER diff --git a/tests/test_sql_refsols/unary_and_slicing_operators_trino.sql b/tests/test_sql_refsols/unary_and_slicing_operators_trino.sql index b80ccca12..d2fadae28 100644 --- a/tests/test_sql_refsols/unary_and_slicing_operators_trino.sql +++ b/tests/test_sql_refsols/unary_and_slicing_operators_trino.sql @@ -1,7 +1,7 @@ SELECT - SUBSTRING(c_phone, 1, 3) AS country_code, - SUBSTRING(c_name, 2) AS name_without_first_char, - SUBSTRING( + SUBSTR(c_phone, 1, 3) AS country_code, + SUBSTR(c_name, 2) AS name_without_first_char, + SUBSTR( c_phone, CASE WHEN ( LENGTH(c_phone) + 0 @@ -9,7 +9,7 @@ SELECT LENGTH(c_phone) + 0 ) END ) AS last_digit, - SUBSTRING( + SUBSTR( c_name, 2, CASE @@ -30,7 +30,7 @@ SELECT END END ) AS name_without_start_and_end_char, - SUBSTRING( + SUBSTR( c_phone, 1, CASE WHEN ( @@ -39,7 +39,7 @@ SELECT LENGTH(c_phone) + -5 ) END ) AS phone_without_last_5_chars, - SUBSTRING( + SUBSTR( c_name, CASE WHEN ( LENGTH(c_name) + -1 diff --git a/tests/test_sql_refsols/user_range_collection_1_oracle.sql b/tests/test_sql_refsols/user_range_collection_1_oracle.sql index b444e8e30..07b4ca109 100644 --- a/tests/test_sql_refsols/user_range_collection_1_oracle.sql +++ b/tests/test_sql_refsols/user_range_collection_1_oracle.sql @@ -1,16 +1,16 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT - p_size AS P_SIZE, + P_SIZE, COUNT(*) AS N_ROWS FROM TPCH.PART WHERE - p_name LIKE '%turquoise%' + P_NAME LIKE '%turquoise%' GROUP BY - p_size + P_SIZE ) SELECT SIZES.PART_SIZE AS part_size, - COALESCE("_S1".N_ROWS, 0) AS n_parts + COALESCE("_s1".N_ROWS, 0) AS n_parts FROM (VALUES (1), (6), @@ -32,5 +32,5 @@ FROM (VALUES (86), (91), (96)) AS SIZES(PART_SIZE) -LEFT JOIN "_S1" "_S1" - ON SIZES.PART_SIZE = "_S1".P_SIZE +LEFT JOIN "_s1" "_s1" + ON SIZES.PART_SIZE = "_s1".P_SIZE diff --git a/tests/test_sql_refsols/user_range_collection_1_snowflake.sql b/tests/test_sql_refsols/user_range_collection_1_snowflake.sql index fff55ca17..dcdc76509 100644 --- a/tests/test_sql_refsols/user_range_collection_1_snowflake.sql +++ b/tests/test_sql_refsols/user_range_collection_1_snowflake.sql @@ -1,7 +1,7 @@ WITH sizes AS ( SELECT 1 + SEQ4() * 5 AS part_size - FROM TABLE(GENERATOR(ROWCOUNT => 20)) + FROM TABLE(GENERATOR(ROWCOUNT => 20)) AS _0 ), _s1 AS ( SELECT p_size, diff --git a/tests/test_sql_refsols/user_range_collection_2_duckdb.sql b/tests/test_sql_refsols/user_range_collection_2_duckdb.sql index 48e89f6c9..4560ae9a7 100644 --- a/tests/test_sql_refsols/user_range_collection_2_duckdb.sql +++ b/tests/test_sql_refsols/user_range_collection_2_duckdb.sql @@ -2,10 +2,10 @@ WITH _s3 AS ( SELECT a_2.x, COUNT_IF(CAST(b.y AS TEXT) LIKE ( - CONCAT('%', CAST(a_2.x AS TEXT)) + '%' || CAST(a_2.x AS TEXT) )) AS sum_expr, COUNT_IF(CAST(b.y AS TEXT) LIKE ( - CONCAT(CAST(a_2.x AS TEXT), '%') + CAST(a_2.x AS TEXT) || '%' )) AS sum_expr_5 FROM (VALUES (0), @@ -520,8 +520,12 @@ WITH _s3 AS ( (996), (998), (1000)) AS b(y) - ON CAST(b.y AS TEXT) LIKE CONCAT('%', CAST(a_2.x AS TEXT)) - OR CAST(b.y AS TEXT) LIKE CONCAT(CAST(a_2.x AS TEXT), '%') + ON CAST(b.y AS TEXT) LIKE ( + '%' || CAST(a_2.x AS TEXT) + ) + OR CAST(b.y AS TEXT) LIKE ( + CAST(a_2.x AS TEXT) || '%' + ) GROUP BY 1 ) diff --git a/tests/test_sql_refsols/user_range_collection_2_oracle.sql b/tests/test_sql_refsols/user_range_collection_2_oracle.sql index 9b7254470..f69d4cfc5 100644 --- a/tests/test_sql_refsols/user_range_collection_2_oracle.sql +++ b/tests/test_sql_refsols/user_range_collection_2_oracle.sql @@ -1,4 +1,4 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT A_2.X, SUM(TO_CHAR(B.Y) LIKE ( @@ -527,8 +527,8 @@ WITH "_S3" AS ( ) SELECT A.X AS x, - COALESCE("_S3".SUM_EXPR_5, 0) AS n_prefix, - COALESCE("_S3".SUM_EXPR, 0) AS n_suffix + COALESCE("_s3".SUM_EXPR_5, 0) AS n_prefix, + COALESCE("_s3".SUM_EXPR, 0) AS n_suffix FROM (VALUES (0), (1), @@ -540,7 +540,7 @@ FROM (VALUES (7), (8), (9)) AS A(X) -LEFT JOIN "_S3" "_S3" - ON A.X = "_S3".X +LEFT JOIN "_s3" "_s3" + ON A.X = "_s3".X ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/user_range_collection_2_postgres.sql b/tests/test_sql_refsols/user_range_collection_2_postgres.sql index bd4f5b0a4..d6b1853de 100644 --- a/tests/test_sql_refsols/user_range_collection_2_postgres.sql +++ b/tests/test_sql_refsols/user_range_collection_2_postgres.sql @@ -2,27 +2,23 @@ WITH _s3 AS ( SELECT a_2.x, SUM( - CASE - WHEN CAST(b.y AS TEXT) LIKE ( - CONCAT('%', CAST(a_2.x AS TEXT)) - ) - THEN 1 - ELSE 0 - END + CASE WHEN CAST(b.y AS TEXT) LIKE ( + '%' || CAST(a_2.x AS TEXT) + ) THEN 1 ELSE 0 END ) AS sum_expr, SUM( - CASE - WHEN CAST(b.y AS TEXT) LIKE ( - CONCAT(CAST(a_2.x AS TEXT), '%') - ) - THEN 1 - ELSE 0 - END + CASE WHEN CAST(b.y AS TEXT) LIKE ( + CAST(a_2.x AS TEXT) || '%' + ) THEN 1 ELSE 0 END ) AS sum_expr_5 FROM GENERATE_SERIES(0, 9, 1) AS a_2(x) JOIN GENERATE_SERIES(0, 1000, 2) AS b(y) - ON CAST(b.y AS TEXT) LIKE CONCAT('%', CAST(a_2.x AS TEXT)) - OR CAST(b.y AS TEXT) LIKE CONCAT(CAST(a_2.x AS TEXT), '%') + ON CAST(b.y AS TEXT) LIKE ( + '%' || CAST(a_2.x AS TEXT) + ) + OR CAST(b.y AS TEXT) LIKE ( + CAST(a_2.x AS TEXT) || '%' + ) GROUP BY 1 ) diff --git a/tests/test_sql_refsols/user_range_collection_2_snowflake.sql b/tests/test_sql_refsols/user_range_collection_2_snowflake.sql index 5dafe4651..fca32eee1 100644 --- a/tests/test_sql_refsols/user_range_collection_2_snowflake.sql +++ b/tests/test_sql_refsols/user_range_collection_2_snowflake.sql @@ -1,24 +1,24 @@ WITH a AS ( SELECT SEQ4() AS x - FROM TABLE(GENERATOR(ROWCOUNT => 10)) + FROM TABLE(GENERATOR(ROWCOUNT => 10)) AS _0 ), a_2 AS ( SELECT SEQ4() AS x - FROM TABLE(GENERATOR(ROWCOUNT => 10)) + FROM TABLE(GENERATOR(ROWCOUNT => 10)) AS _1 ), b AS ( SELECT SEQ4() * 2 AS y - FROM TABLE(GENERATOR(ROWCOUNT => 501)) + FROM TABLE(GENERATOR(ROWCOUNT => 501)) AS _2 ), _s3 AS ( SELECT a_2.x, - COUNT_IF(ENDSWITH(CAST(b.y AS TEXT), CAST(a_2.x AS TEXT))) AS sum_expr, - COUNT_IF(STARTSWITH(CAST(b.y AS TEXT), CAST(a_2.x AS TEXT))) AS sum_expr_5 + COUNT_IF(ENDSWITH(CAST(b.y AS VARCHAR), CAST(a_2.x AS VARCHAR))) AS sum_expr, + COUNT_IF(STARTSWITH(CAST(b.y AS VARCHAR), CAST(a_2.x AS VARCHAR))) AS sum_expr_5 FROM a_2 AS a_2 JOIN b AS b - ON ENDSWITH(CAST(b.y AS TEXT), CAST(a_2.x AS TEXT)) - OR STARTSWITH(CAST(b.y AS TEXT), CAST(a_2.x AS TEXT)) + ON ENDSWITH(CAST(b.y AS VARCHAR), CAST(a_2.x AS VARCHAR)) + OR STARTSWITH(CAST(b.y AS VARCHAR), CAST(a_2.x AS VARCHAR)) GROUP BY 1 ) diff --git a/tests/test_sql_refsols/user_range_collection_3_duckdb.sql b/tests/test_sql_refsols/user_range_collection_3_duckdb.sql index 0c3dd78a1..c978aadbc 100644 --- a/tests/test_sql_refsols/user_range_collection_3_duckdb.sql +++ b/tests/test_sql_refsols/user_range_collection_3_duckdb.sql @@ -515,7 +515,9 @@ WITH _s5 AS ( (996), (998), (1000)) AS b_2(y) - ON CAST(b_2.y AS TEXT) LIKE CONCAT('%', CAST(a_2.x AS TEXT)) + ON CAST(b_2.y AS TEXT) LIKE ( + '%' || CAST(a_2.x AS TEXT) + ) GROUP BY 1 ) @@ -1036,7 +1038,9 @@ JOIN (VALUES (996), (998), (1000)) AS b(y) - ON CAST(b.y AS TEXT) LIKE CONCAT(CAST(a.x AS TEXT), '%') + ON CAST(b.y AS TEXT) LIKE ( + CAST(a.x AS TEXT) || '%' + ) JOIN _s5 AS _s5 ON _s5.x = a.x GROUP BY diff --git a/tests/test_sql_refsols/user_range_collection_3_oracle.sql b/tests/test_sql_refsols/user_range_collection_3_oracle.sql index 9467d81d9..a3fa88f2b 100644 --- a/tests/test_sql_refsols/user_range_collection_3_oracle.sql +++ b/tests/test_sql_refsols/user_range_collection_3_oracle.sql @@ -1,4 +1,4 @@ -WITH "_S5" AS ( +WITH "_s5" AS ( SELECT A_2.X, COUNT(*) AS N_ROWS @@ -522,7 +522,7 @@ WITH "_S5" AS ( SELECT A.X AS x, COUNT(*) AS n_prefix, - ANY_VALUE("_S5".N_ROWS) AS n_suffix + ANY_VALUE("_s5".N_ROWS) AS n_suffix FROM (VALUES (0), (1), @@ -1037,8 +1037,8 @@ JOIN (VALUES (998), (1000)) AS B(Y) ON TO_CHAR(B.Y) LIKE CONCAT(TO_CHAR(A.X), '%') -JOIN "_S5" "_S5" - ON A.X = "_S5".X +JOIN "_s5" "_s5" + ON A.X = "_s5".X GROUP BY A.X ORDER BY diff --git a/tests/test_sql_refsols/user_range_collection_3_postgres.sql b/tests/test_sql_refsols/user_range_collection_3_postgres.sql index 3db4eab91..74a4543eb 100644 --- a/tests/test_sql_refsols/user_range_collection_3_postgres.sql +++ b/tests/test_sql_refsols/user_range_collection_3_postgres.sql @@ -4,17 +4,21 @@ WITH _s5 AS ( COUNT(*) AS n_rows FROM GENERATE_SERIES(0, 9, 1) AS a_2(x) JOIN GENERATE_SERIES(0, 1000, 2) AS b_2(y) - ON CAST(b_2.y AS TEXT) LIKE CONCAT('%', CAST(a_2.x AS TEXT)) + ON CAST(b_2.y AS TEXT) LIKE ( + '%' || CAST(a_2.x AS TEXT) + ) GROUP BY 1 ) SELECT a.x, COUNT(*) AS n_prefix, - MAX(_s5.n_rows) AS n_suffix + ANY_VALUE(_s5.n_rows) AS n_suffix FROM GENERATE_SERIES(0, 9, 1) AS a(x) JOIN GENERATE_SERIES(0, 1000, 2) AS b(y) - ON CAST(b.y AS TEXT) LIKE CONCAT(CAST(a.x AS TEXT), '%') + ON CAST(b.y AS TEXT) LIKE ( + CAST(a.x AS TEXT) || '%' + ) JOIN _s5 AS _s5 ON _s5.x = a.x GROUP BY diff --git a/tests/test_sql_refsols/user_range_collection_3_snowflake.sql b/tests/test_sql_refsols/user_range_collection_3_snowflake.sql index f81330d57..591e1e58e 100644 --- a/tests/test_sql_refsols/user_range_collection_3_snowflake.sql +++ b/tests/test_sql_refsols/user_range_collection_3_snowflake.sql @@ -1,26 +1,26 @@ WITH a AS ( SELECT SEQ4() AS x - FROM TABLE(GENERATOR(ROWCOUNT => 10)) + FROM TABLE(GENERATOR(ROWCOUNT => 10)) AS _0 ), b AS ( SELECT SEQ4() * 2 AS y - FROM TABLE(GENERATOR(ROWCOUNT => 501)) + FROM TABLE(GENERATOR(ROWCOUNT => 501)) AS _1 ), a_2 AS ( SELECT SEQ4() AS x - FROM TABLE(GENERATOR(ROWCOUNT => 10)) + FROM TABLE(GENERATOR(ROWCOUNT => 10)) AS _2 ), b_2 AS ( SELECT SEQ4() * 2 AS y - FROM TABLE(GENERATOR(ROWCOUNT => 501)) + FROM TABLE(GENERATOR(ROWCOUNT => 501)) AS _3 ), _s5 AS ( SELECT a_2.x, COUNT(*) AS n_rows FROM a_2 AS a_2 JOIN b_2 AS b_2 - ON ENDSWITH(CAST(b_2.y AS TEXT), CAST(a_2.x AS TEXT)) + ON ENDSWITH(CAST(b_2.y AS VARCHAR), CAST(a_2.x AS VARCHAR)) GROUP BY 1 ) @@ -30,7 +30,7 @@ SELECT ANY_VALUE(_s5.n_rows) AS n_suffix FROM a AS a JOIN b AS b - ON STARTSWITH(CAST(b.y AS TEXT), CAST(a.x AS TEXT)) + ON STARTSWITH(CAST(b.y AS VARCHAR), CAST(a.x AS VARCHAR)) JOIN _s5 AS _s5 ON _s5.x = a.x GROUP BY diff --git a/tests/test_sql_refsols/user_range_collection_4_mysql.sql b/tests/test_sql_refsols/user_range_collection_4_mysql.sql index bbf4432bb..fe9f8b6e1 100644 --- a/tests/test_sql_refsols/user_range_collection_4_mysql.sql +++ b/tests/test_sql_refsols/user_range_collection_4_mysql.sql @@ -3,7 +3,10 @@ WITH _t AS ( PART.p_name, PART.p_retailprice, sizes.part_size, - ROW_NUMBER() OVER (PARTITION BY sizes.part_size ORDER BY CASE WHEN PART.p_retailprice IS NULL THEN 1 ELSE 0 END, PART.p_retailprice) AS _w + ROW_NUMBER() OVER ( + PARTITION BY sizes.part_size + ORDER BY CASE WHEN PART.p_retailprice IS NULL THEN 1 ELSE 0 END, PART.p_retailprice + ) AS _w FROM (VALUES ROW(1), ROW(2), diff --git a/tests/test_sql_refsols/user_range_collection_4_oracle.sql b/tests/test_sql_refsols/user_range_collection_4_oracle.sql index 797b0d4f5..ca8e4bc92 100644 --- a/tests/test_sql_refsols/user_range_collection_4_oracle.sql +++ b/tests/test_sql_refsols/user_range_collection_4_oracle.sql @@ -1,9 +1,9 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - PART.p_name AS P_NAME, - PART.p_retailprice AS P_RETAILPRICE, + PART.P_NAME, + PART.P_RETAILPRICE, SIZES.PART_SIZE, - ROW_NUMBER() OVER (PARTITION BY SIZES.PART_SIZE ORDER BY PART.p_retailprice) AS "_W" + ROW_NUMBER() OVER (PARTITION BY SIZES.PART_SIZE ORDER BY PART.P_RETAILPRICE) AS "_w" FROM (VALUES (1), (2), @@ -16,17 +16,17 @@ WITH "_T" AS ( (9), (10)) AS SIZES(PART_SIZE) JOIN TPCH.PART PART - ON PART.p_container LIKE '%SM DRUM%' - AND PART.p_name LIKE '%azure%' - AND PART.p_size = SIZES.PART_SIZE - AND PART.p_type LIKE '%PLATED%' + ON PART.P_CONTAINER LIKE '%SM DRUM%' + AND PART.P_NAME LIKE '%azure%' + AND PART.P_SIZE = SIZES.PART_SIZE + AND PART.P_TYPE LIKE '%PLATED%' ) SELECT PART_SIZE AS part_size, P_NAME AS name, P_RETAILPRICE AS retail_price -FROM "_T" +FROM "_t" WHERE - "_W" = 1 + "_w" = 1 ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/user_range_collection_4_snowflake.sql b/tests/test_sql_refsols/user_range_collection_4_snowflake.sql index 15910cd3f..8c76806fc 100644 --- a/tests/test_sql_refsols/user_range_collection_4_snowflake.sql +++ b/tests/test_sql_refsols/user_range_collection_4_snowflake.sql @@ -1,7 +1,7 @@ WITH sizes AS ( SELECT 1 + SEQ4() AS part_size - FROM TABLE(GENERATOR(ROWCOUNT => 10)) + FROM TABLE(GENERATOR(ROWCOUNT => 10)) AS _0 ), _t0 AS ( SELECT part.p_name, diff --git a/tests/test_sql_refsols/user_range_collection_5_oracle.sql b/tests/test_sql_refsols/user_range_collection_5_oracle.sql index fb0facca4..3b1c0ae4f 100644 --- a/tests/test_sql_refsols/user_range_collection_5_oracle.sql +++ b/tests/test_sql_refsols/user_range_collection_5_oracle.sql @@ -1,4 +1,4 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT SIZES_2.PART_SIZE, COUNT(*) AS N_ROWS @@ -16,17 +16,17 @@ WITH "_S3" AS ( (51), (56)) AS SIZES_2(PART_SIZE) JOIN TPCH.PART PART - ON PART.p_name LIKE '%almond%' - AND PART.p_size <= ( + ON PART.P_NAME LIKE '%almond%' + AND PART.P_SIZE <= ( SIZES_2.PART_SIZE + 4 ) - AND PART.p_size >= SIZES_2.PART_SIZE + AND PART.P_SIZE >= SIZES_2.PART_SIZE GROUP BY SIZES_2.PART_SIZE ) SELECT SIZES.PART_SIZE AS part_size, - COALESCE("_S3".N_ROWS, 0) AS n_parts + COALESCE("_s3".N_ROWS, 0) AS n_parts FROM (VALUES (1), (6), @@ -40,5 +40,5 @@ FROM (VALUES (46), (51), (56)) AS SIZES(PART_SIZE) -LEFT JOIN "_S3" "_S3" - ON SIZES.PART_SIZE = "_S3".PART_SIZE +LEFT JOIN "_s3" "_s3" + ON SIZES.PART_SIZE = "_s3".PART_SIZE diff --git a/tests/test_sql_refsols/user_range_collection_5_snowflake.sql b/tests/test_sql_refsols/user_range_collection_5_snowflake.sql index 83739556d..e08bb087a 100644 --- a/tests/test_sql_refsols/user_range_collection_5_snowflake.sql +++ b/tests/test_sql_refsols/user_range_collection_5_snowflake.sql @@ -1,11 +1,11 @@ WITH sizes AS ( SELECT 1 + SEQ4() * 5 AS part_size - FROM TABLE(GENERATOR(ROWCOUNT => 12)) + FROM TABLE(GENERATOR(ROWCOUNT => 12)) AS _0 ), sizes_2 AS ( SELECT 1 + SEQ4() * 5 AS part_size - FROM TABLE(GENERATOR(ROWCOUNT => 12)) + FROM TABLE(GENERATOR(ROWCOUNT => 12)) AS _1 ), _s3 AS ( SELECT sizes_2.part_size, diff --git a/tests/test_sql_refsols/user_range_collection_6_oracle.sql b/tests/test_sql_refsols/user_range_collection_6_oracle.sql index 8e2781f0b..1a0d6a699 100644 --- a/tests/test_sql_refsols/user_range_collection_6_oracle.sql +++ b/tests/test_sql_refsols/user_range_collection_6_oracle.sql @@ -1,20 +1,20 @@ -WITH "_S5" AS ( +WITH "_s5" AS ( SELECT - EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) AS YEAR_O_ORDERDATE, - COUNT(DISTINCT ORDERS.o_custkey) AS NDISTINCT_O_CUSTKEY + EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) AS YEAR_O_ORDERDATE, + COUNT(DISTINCT ORDERS.O_CUSTKEY) AS NDISTINCT_O_CUSTKEY FROM TPCH.ORDERS ORDERS JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_custkey = ORDERS.o_custkey AND CUSTOMER.c_mktsegment = 'AUTOMOBILE' + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY AND CUSTOMER.C_MKTSEGMENT = 'AUTOMOBILE' JOIN TPCH.NATION NATION - ON CUSTOMER.c_nationkey = NATION.n_nationkey AND NATION.n_name = 'JAPAN' + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY AND NATION.N_NAME = 'JAPAN' WHERE - ORDERS.o_clerk = 'Clerk#000000925' + ORDERS.O_CLERK = 'Clerk#000000925' GROUP BY - EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) + EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) ) SELECT YEARS.YEAR AS year, - COALESCE("_S5".NDISTINCT_O_CUSTKEY, 0) AS n_orders + COALESCE("_s5".NDISTINCT_O_CUSTKEY, 0) AS n_orders FROM (VALUES (1990), (1991), @@ -27,7 +27,7 @@ FROM (VALUES (1998), (1999), (2000)) AS YEARS(YEAR) -LEFT JOIN "_S5" "_S5" - ON YEARS.YEAR = "_S5".YEAR_O_ORDERDATE +LEFT JOIN "_s5" "_s5" + ON YEARS.YEAR = "_s5".YEAR_O_ORDERDATE ORDER BY 1 NULLS FIRST diff --git a/tests/test_sql_refsols/user_range_collection_6_snowflake.sql b/tests/test_sql_refsols/user_range_collection_6_snowflake.sql index db1899850..a259663bc 100644 --- a/tests/test_sql_refsols/user_range_collection_6_snowflake.sql +++ b/tests/test_sql_refsols/user_range_collection_6_snowflake.sql @@ -1,7 +1,7 @@ WITH years AS ( SELECT 1990 + SEQ4() AS year - FROM TABLE(GENERATOR(ROWCOUNT => 11)) + FROM TABLE(GENERATOR(ROWCOUNT => 11)) AS _0 ), _s5 AS ( SELECT YEAR(CAST(orders.o_orderdate AS TIMESTAMP)) AS year_o_orderdate, diff --git a/tests/test_sql_refsols/wdi_albania_footnotes_1978_mysql.sql b/tests/test_sql_refsols/wdi_albania_footnotes_1978_mysql.sql index db93bd850..dd69cabda 100644 --- a/tests/test_sql_refsols/wdi_albania_footnotes_1978_mysql.sql +++ b/tests/test_sql_refsols/wdi_albania_footnotes_1978_mysql.sql @@ -1,7 +1,7 @@ SELECT - Footnotes.description AS footnote_description + Footnotes.Description AS footnote_description FROM main.Country AS Country JOIN main.Footnotes AS Footnotes - ON Country.countrycode = Footnotes.countrycode AND Footnotes.year = 'YR2012' + ON Country.CountryCode = Footnotes.Countrycode AND Footnotes.Year = 'YR2012' WHERE - Country.shortname = 'Albania' + Country.ShortName = 'Albania' diff --git a/tests/test_sql_refsols/wdi_albania_footnotes_1978_oracle.sql b/tests/test_sql_refsols/wdi_albania_footnotes_1978_oracle.sql index f7961c8cb..ce999b494 100644 --- a/tests/test_sql_refsols/wdi_albania_footnotes_1978_oracle.sql +++ b/tests/test_sql_refsols/wdi_albania_footnotes_1978_oracle.sql @@ -1,7 +1,7 @@ SELECT - FOOTNOTES.description AS footnote_description + FOOTNOTES.DESCRIPTION AS footnote_description FROM MAIN.COUNTRY COUNTRY JOIN MAIN.FOOTNOTES FOOTNOTES - ON COUNTRY.countrycode = FOOTNOTES.countrycode AND FOOTNOTES.year = 'YR2012' + ON COUNTRY.COUNTRYCODE = FOOTNOTES.COUNTRYCODE AND FOOTNOTES.YEAR = 'YR2012' WHERE - COUNTRY.shortname = 'Albania' + COUNTRY.SHORTNAME = 'Albania' diff --git a/tests/test_sql_refsols/wdi_low_income_country_with_series_ansi.sql b/tests/test_sql_refsols/wdi_low_income_country_with_series_ansi.sql index 6d13fe38e..0c3492835 100644 --- a/tests/test_sql_refsols/wdi_low_income_country_with_series_ansi.sql +++ b/tests/test_sql_refsols/wdi_low_income_country_with_series_ansi.sql @@ -1,8 +1,14 @@ +WITH _s1 AS ( + SELECT + countrycode + FROM main.countrynotes + WHERE + seriescode = 'DT.DOD.DECT.CD' +) SELECT country.countrycode AS country_code FROM main.country AS country -JOIN main.countrynotes AS countrynotes - ON country.countrycode = countrynotes.countrycode - AND countrynotes.seriescode = 'DT.DOD.DECT.CD' +SEMI JOIN _s1 AS _s1 + ON _s1.countrycode = country.countrycode WHERE country.incomegroup = 'Low income' diff --git a/tests/test_sql_refsols/wdi_low_income_country_with_series_mysql.sql b/tests/test_sql_refsols/wdi_low_income_country_with_series_mysql.sql index 1ebf23787..f1dd9caa6 100644 --- a/tests/test_sql_refsols/wdi_low_income_country_with_series_mysql.sql +++ b/tests/test_sql_refsols/wdi_low_income_country_with_series_mysql.sql @@ -1,16 +1,16 @@ WITH _u_0 AS ( SELECT - countrycode AS _u_1 + Countrycode AS _u_1 FROM main.CountryNotes WHERE - seriescode = 'DT.DOD.DECT.CD' + Seriescode = 'DT.DOD.DECT.CD' GROUP BY 1 ) SELECT - Country.countrycode AS country_code + Country.CountryCode AS country_code FROM main.Country AS Country LEFT JOIN _u_0 AS _u_0 - ON Country.countrycode = _u_0._u_1 + ON Country.CountryCode = _u_0._u_1 WHERE - Country.incomegroup = 'Low income' AND NOT _u_0._u_1 IS NULL + Country.IncomeGroup = 'Low income' AND NOT _u_0._u_1 IS NULL diff --git a/tests/test_sql_refsols/wdi_low_income_country_with_series_oracle.sql b/tests/test_sql_refsols/wdi_low_income_country_with_series_oracle.sql index b35630540..34fc187d0 100644 --- a/tests/test_sql_refsols/wdi_low_income_country_with_series_oracle.sql +++ b/tests/test_sql_refsols/wdi_low_income_country_with_series_oracle.sql @@ -1,16 +1,16 @@ WITH "_u_0" AS ( SELECT - countrycode AS "_u_1" + COUNTRYCODE AS "_u_1" FROM MAIN.COUNTRYNOTES WHERE - seriescode = 'DT.DOD.DECT.CD' + SERIESCODE = 'DT.DOD.DECT.CD' GROUP BY - countrycode + COUNTRYCODE ) SELECT - COUNTRY.countrycode AS country_code + COUNTRY.COUNTRYCODE AS country_code FROM MAIN.COUNTRY COUNTRY LEFT JOIN "_u_0" "_u_0" - ON COUNTRY.countrycode = "_u_0"."_u_1" + ON COUNTRY.COUNTRYCODE = "_u_0"."_u_1" WHERE - COUNTRY.incomegroup = 'Low income' AND NOT "_u_0"."_u_1" IS NULL + COUNTRY.INCOMEGROUP = 'Low income' AND NOT "_u_0"."_u_1" IS NULL diff --git a/tests/test_sql_refsols/wealthiest_supplier_mysql.sql b/tests/test_sql_refsols/wealthiest_supplier_mysql.sql index 5396bf6c0..11e8343ef 100644 --- a/tests/test_sql_refsols/wealthiest_supplier_mysql.sql +++ b/tests/test_sql_refsols/wealthiest_supplier_mysql.sql @@ -2,7 +2,9 @@ WITH _t AS ( SELECT s_acctbal, s_name, - ROW_NUMBER() OVER (ORDER BY CASE WHEN s_acctbal IS NULL THEN 1 ELSE 0 END DESC, s_acctbal DESC, CASE WHEN s_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, s_name COLLATE utf8mb4_bin) AS _w + ROW_NUMBER() OVER ( + ORDER BY CASE WHEN s_acctbal IS NULL THEN 1 ELSE 0 END DESC, s_acctbal DESC, CASE WHEN s_name COLLATE utf8mb4_bin IS NULL THEN 1 ELSE 0 END, s_name COLLATE utf8mb4_bin + ) AS _w FROM tpch.SUPPLIER ) SELECT diff --git a/tests/test_sql_refsols/wealthiest_supplier_oracle.sql b/tests/test_sql_refsols/wealthiest_supplier_oracle.sql index e134a6c91..cf10be7cb 100644 --- a/tests/test_sql_refsols/wealthiest_supplier_oracle.sql +++ b/tests/test_sql_refsols/wealthiest_supplier_oracle.sql @@ -1,13 +1,13 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - s_acctbal AS S_ACCTBAL, - s_name AS S_NAME, - ROW_NUMBER() OVER (ORDER BY s_acctbal DESC, s_name) AS "_W" + S_ACCTBAL, + S_NAME, + ROW_NUMBER() OVER (ORDER BY S_ACCTBAL DESC, S_NAME) AS "_w" FROM TPCH.SUPPLIER ) SELECT S_NAME AS name, S_ACCTBAL AS account_balance -FROM "_T" +FROM "_t" WHERE - "_W" = 1 + "_w" = 1 diff --git a/tests/test_sql_refsols/week_offset_databricks.sql b/tests/test_sql_refsols/week_offset_databricks.sql index 8fbdaface..a5c09fe7f 100644 --- a/tests/test_sql_refsols/week_offset_databricks.sql +++ b/tests/test_sql_refsols/week_offset_databricks.sql @@ -1,13 +1,13 @@ SELECT sbtxdatetime AS date_time, - DATEADD(WEEK, 1, CAST(sbtxdatetime AS TIMESTAMP)) AS week_adj1, - DATEADD(DAY, -7, CAST(sbtxdatetime AS TIMESTAMP)) AS week_adj2, - DATEADD(WEEK, 2, CAST(sbtxdatetime AS TIMESTAMP) + INTERVAL '1' HOUR) AS week_adj3, - DATEADD(WEEK, 2, CAST(sbtxdatetime AS TIMESTAMP) - INTERVAL '1' SECOND) AS week_adj4, - DATEADD(WEEK, 2, DATEADD(DAY, 1, CAST(sbtxdatetime AS TIMESTAMP))) AS week_adj5, - DATEADD(WEEK, 2, CAST(sbtxdatetime AS TIMESTAMP) - INTERVAL '1' MINUTE) AS week_adj6, - DATEADD(WEEK, 2, DATEADD(MONTH, 1, CAST(sbtxdatetime AS TIMESTAMP))) AS week_adj7, - DATEADD(WEEK, 2, DATEADD(YEAR, 1, CAST(sbtxdatetime AS TIMESTAMP))) AS week_adj8 + DATE_ADD(WEEK, 1, CAST(sbtxdatetime AS TIMESTAMP)) AS week_adj1, + DATE_ADD(CAST(sbtxdatetime AS TIMESTAMP), -7) AS week_adj2, + DATE_ADD(WEEK, 2, CAST(sbtxdatetime AS TIMESTAMP) + INTERVAL '1' HOUR) AS week_adj3, + DATE_ADD(WEEK, 2, CAST(sbtxdatetime AS TIMESTAMP) - INTERVAL '1' SECOND) AS week_adj4, + DATE_ADD(WEEK, 2, DATE_ADD(DAY, 1, CAST(sbtxdatetime AS TIMESTAMP))) AS week_adj5, + DATE_ADD(WEEK, 2, CAST(sbtxdatetime AS TIMESTAMP) - INTERVAL '1' MINUTE) AS week_adj6, + DATE_ADD(WEEK, 2, DATE_ADD(MONTH, 1, CAST(sbtxdatetime AS TIMESTAMP))) AS week_adj7, + DATE_ADD(WEEK, 2, DATE_ADD(YEAR, 1, CAST(sbtxdatetime AS TIMESTAMP))) AS week_adj8 FROM main.sbtransaction WHERE EXTRACT(DAY FROM CAST(sbtxdatetime AS TIMESTAMP)) > 1 diff --git a/tests/test_sql_refsols/week_offset_duckdb.sql b/tests/test_sql_refsols/week_offset_duckdb.sql index afc0eb5e8..48421274e 100644 --- a/tests/test_sql_refsols/week_offset_duckdb.sql +++ b/tests/test_sql_refsols/week_offset_duckdb.sql @@ -1,13 +1,13 @@ SELECT sbtxdatetime AS date_time, - CAST(sbtxdatetime AS TIMESTAMP) + 7 * INTERVAL '1' DAY AS week_adj1, - CAST(sbtxdatetime AS TIMESTAMP) - 7 * INTERVAL '1' DAY AS week_adj2, - CAST(sbtxdatetime AS TIMESTAMP) + INTERVAL '1' HOUR + 7 * INTERVAL '2' DAY AS week_adj3, - CAST(sbtxdatetime AS TIMESTAMP) - INTERVAL '1' SECOND + 7 * INTERVAL '2' DAY AS week_adj4, - CAST(sbtxdatetime AS TIMESTAMP) + INTERVAL '1' DAY + 7 * INTERVAL '2' DAY AS week_adj5, - CAST(sbtxdatetime AS TIMESTAMP) - INTERVAL '1' MINUTE + 7 * INTERVAL '2' DAY AS week_adj6, - CAST(sbtxdatetime AS TIMESTAMP) + INTERVAL '1' MONTH + 7 * INTERVAL '2' DAY AS week_adj7, - CAST(sbtxdatetime AS TIMESTAMP) + INTERVAL '1' YEAR + 7 * INTERVAL '2' DAY AS week_adj8 + CAST(sbtxdatetime AS TIMESTAMP) + INTERVAL '1' WEEK AS week_adj1, + CAST(sbtxdatetime AS TIMESTAMP) - INTERVAL '1' WEEK AS week_adj2, + CAST(sbtxdatetime AS TIMESTAMP) + INTERVAL '1' HOUR + INTERVAL '2' WEEK AS week_adj3, + CAST(sbtxdatetime AS TIMESTAMP) - INTERVAL '1' SECOND + INTERVAL '2' WEEK AS week_adj4, + CAST(sbtxdatetime AS TIMESTAMP) + INTERVAL '1' DAY + INTERVAL '2' WEEK AS week_adj5, + CAST(sbtxdatetime AS TIMESTAMP) - INTERVAL '1' MINUTE + INTERVAL '2' WEEK AS week_adj6, + CAST(sbtxdatetime AS TIMESTAMP) + INTERVAL '1' MONTH + INTERVAL '2' WEEK AS week_adj7, + CAST(sbtxdatetime AS TIMESTAMP) + INTERVAL '1' YEAR + INTERVAL '2' WEEK AS week_adj8 FROM main.sbtransaction WHERE EXTRACT(DAY FROM CAST(sbtxdatetime AS TIMESTAMP)) > 1 diff --git a/tests/test_sql_refsols/week_offset_mysql.sql b/tests/test_sql_refsols/week_offset_mysql.sql index 74cc2a823..ba4d4f3cf 100644 --- a/tests/test_sql_refsols/week_offset_mysql.sql +++ b/tests/test_sql_refsols/week_offset_mysql.sql @@ -1,14 +1,14 @@ SELECT - sbtxdatetime AS date_time, - DATE_ADD(CAST(sbtxdatetime AS DATETIME), INTERVAL '1' WEEK) AS week_adj1, - DATE_SUB(CAST(sbtxdatetime AS DATETIME), INTERVAL '1' WEEK) AS week_adj2, - DATE_ADD(DATE_ADD(CAST(sbtxdatetime AS DATETIME), INTERVAL '1' HOUR), INTERVAL '2' WEEK) AS week_adj3, - DATE_ADD(DATE_SUB(CAST(sbtxdatetime AS DATETIME), INTERVAL '1' SECOND), INTERVAL '2' WEEK) AS week_adj4, - DATE_ADD(DATE_ADD(CAST(sbtxdatetime AS DATETIME), INTERVAL '1' DAY), INTERVAL '2' WEEK) AS week_adj5, - DATE_ADD(DATE_SUB(CAST(sbtxdatetime AS DATETIME), INTERVAL '1' MINUTE), INTERVAL '2' WEEK) AS week_adj6, - DATE_ADD(DATE_ADD(CAST(sbtxdatetime AS DATETIME), INTERVAL '1' MONTH), INTERVAL '2' WEEK) AS week_adj7, - DATE_ADD(DATE_ADD(CAST(sbtxdatetime AS DATETIME), INTERVAL '1' YEAR), INTERVAL '2' WEEK) AS week_adj8 + sbTxDateTime AS date_time, + DATE_ADD(CAST(sbTxDateTime AS DATETIME), INTERVAL '1' WEEK) AS week_adj1, + DATE_SUB(CAST(sbTxDateTime AS DATETIME), INTERVAL '1' WEEK) AS week_adj2, + DATE_ADD(DATE_ADD(CAST(sbTxDateTime AS DATETIME), INTERVAL '1' HOUR), INTERVAL '2' WEEK) AS week_adj3, + DATE_ADD(DATE_SUB(CAST(sbTxDateTime AS DATETIME), INTERVAL '1' SECOND), INTERVAL '2' WEEK) AS week_adj4, + DATE_ADD(DATE_ADD(CAST(sbTxDateTime AS DATETIME), INTERVAL '1' DAY), INTERVAL '2' WEEK) AS week_adj5, + DATE_ADD(DATE_SUB(CAST(sbTxDateTime AS DATETIME), INTERVAL '1' MINUTE), INTERVAL '2' WEEK) AS week_adj6, + DATE_ADD(DATE_ADD(CAST(sbTxDateTime AS DATETIME), INTERVAL '1' MONTH), INTERVAL '2' WEEK) AS week_adj7, + DATE_ADD(DATE_ADD(CAST(sbTxDateTime AS DATETIME), INTERVAL '1' YEAR), INTERVAL '2' WEEK) AS week_adj8 FROM main.sbTransaction WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATETIME)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATETIME)) < 2025 + EXTRACT(DAY FROM CAST(sbTxDateTime AS DATETIME)) > 1 + AND EXTRACT(YEAR FROM CAST(sbTxDateTime AS DATETIME)) < 2025 diff --git a/tests/test_sql_refsols/week_offset_oracle.sql b/tests/test_sql_refsols/week_offset_oracle.sql index 388e7c187..eee3fcc64 100644 --- a/tests/test_sql_refsols/week_offset_oracle.sql +++ b/tests/test_sql_refsols/week_offset_oracle.sql @@ -1,14 +1,14 @@ SELECT - sbtxdatetime AS date_time, - CAST(sbtxdatetime AS DATE) + NUMTODSINTERVAL(7, 'DAY') AS week_adj1, - CAST(sbtxdatetime AS DATE) - NUMTODSINTERVAL(7, 'DAY') AS week_adj2, - CAST(sbtxdatetime AS DATE) + NUMTODSINTERVAL(1, 'hour') + NUMTODSINTERVAL(14, 'DAY') AS week_adj3, - CAST(sbtxdatetime AS DATE) - NUMTODSINTERVAL(1, 'second') + NUMTODSINTERVAL(14, 'DAY') AS week_adj4, - CAST(sbtxdatetime AS DATE) + NUMTODSINTERVAL(1, 'day') + NUMTODSINTERVAL(14, 'DAY') AS week_adj5, - CAST(sbtxdatetime AS DATE) - NUMTODSINTERVAL(1, 'minute') + NUMTODSINTERVAL(14, 'DAY') AS week_adj6, - ADD_MONTHS(CAST(sbtxdatetime AS DATE), 1) + NUMTODSINTERVAL(14, 'DAY') AS week_adj7, - ADD_MONTHS(CAST(sbtxdatetime AS DATE), 12) + NUMTODSINTERVAL(14, 'DAY') AS week_adj8 + SBTXDATETIME AS date_time, + CAST(SBTXDATETIME AS DATE) + NUMTODSINTERVAL(7, 'DAY') AS week_adj1, + CAST(SBTXDATETIME AS DATE) - NUMTODSINTERVAL(7, 'DAY') AS week_adj2, + CAST(SBTXDATETIME AS DATE) + NUMTODSINTERVAL(1, 'hour') + NUMTODSINTERVAL(14, 'DAY') AS week_adj3, + CAST(SBTXDATETIME AS DATE) - NUMTODSINTERVAL(1, 'second') + NUMTODSINTERVAL(14, 'DAY') AS week_adj4, + CAST(SBTXDATETIME AS DATE) + NUMTODSINTERVAL(1, 'day') + NUMTODSINTERVAL(14, 'DAY') AS week_adj5, + CAST(SBTXDATETIME AS DATE) - NUMTODSINTERVAL(1, 'minute') + NUMTODSINTERVAL(14, 'DAY') AS week_adj6, + ADD_MONTHS(CAST(SBTXDATETIME AS DATE), 1) + NUMTODSINTERVAL(14, 'DAY') AS week_adj7, + ADD_MONTHS(CAST(SBTXDATETIME AS DATE), 12) + NUMTODSINTERVAL(14, 'DAY') AS week_adj8 FROM MAIN.SBTRANSACTION WHERE - EXTRACT(DAY FROM CAST(sbtxdatetime AS DATE)) > 1 - AND EXTRACT(YEAR FROM CAST(sbtxdatetime AS DATE)) < 2025 + EXTRACT(DAY FROM CAST(SBTXDATETIME AS DATE)) > 1 + AND EXTRACT(YEAR FROM CAST(SBTXDATETIME AS DATE)) < 2025 diff --git a/tests/test_sql_refsols/window_filter_order_10_ansi.sql b/tests/test_sql_refsols/window_filter_order_10_ansi.sql index df37aab58..e76fa54be 100644 --- a/tests/test_sql_refsols/window_filter_order_10_ansi.sql +++ b/tests/test_sql_refsols/window_filter_order_10_ansi.sql @@ -8,7 +8,7 @@ WITH _s1 AS ( SELECT 1 AS "_" FROM tpch.orders AS orders - JOIN _s1 AS _s1 + ANTI JOIN _s1 AS _s1 ON _s1.c_custkey = orders.o_custkey WHERE orders.o_clerk = 'Clerk#000000001' diff --git a/tests/test_sql_refsols/window_filter_order_10_mysql.sql b/tests/test_sql_refsols/window_filter_order_10_mysql.sql index 0a7556938..85b19da60 100644 --- a/tests/test_sql_refsols/window_filter_order_10_mysql.sql +++ b/tests/test_sql_refsols/window_filter_order_10_mysql.sql @@ -18,7 +18,7 @@ WITH _s1 AS ( LEFT JOIN _u_0 AS _u_0 ON ORDERS.o_custkey = _u_0._u_1 WHERE - ORDERS.o_clerk = 'Clerk#000000001' AND _u_0._u_1 IS NULL + NOT NOT _u_0._u_1 IS NULL AND ORDERS.o_clerk = 'Clerk#000000001' ) SELECT COUNT(*) AS n diff --git a/tests/test_sql_refsols/window_filter_order_10_oracle.sql b/tests/test_sql_refsols/window_filter_order_10_oracle.sql index 6221091b0..f6cb97a54 100644 --- a/tests/test_sql_refsols/window_filter_order_10_oracle.sql +++ b/tests/test_sql_refsols/window_filter_order_10_oracle.sql @@ -1,29 +1,29 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT DISTINCT - c_custkey AS C_CUSTKEY + C_CUSTKEY FROM TPCH.CUSTOMER WHERE - c_mktsegment = 'BUILDING' + C_MKTSEGMENT = 'BUILDING' ), "_u_0" AS ( SELECT C_CUSTKEY AS "_u_1" - FROM "_S1" + FROM "_s1" GROUP BY C_CUSTKEY -), "_T" AS ( +), "_t" AS ( SELECT - ORDERS.o_totalprice AS O_TOTALPRICE, - AVG(CAST(NULL AS INT)) OVER () AS "_W" + ORDERS.O_TOTALPRICE, + AVG(CAST(NULL AS INT)) OVER () AS "_w" FROM TPCH.ORDERS ORDERS LEFT JOIN "_u_0" "_u_0" - ON ORDERS.o_custkey = "_u_0"."_u_1" + ON ORDERS.O_CUSTKEY = "_u_0"."_u_1" WHERE - ORDERS.o_clerk = 'Clerk#000000001' AND "_u_0"."_u_1" IS NULL + ORDERS.O_CLERK = 'Clerk#000000001' AND "_u_0"."_u_1" IS NULL ) SELECT COUNT(*) AS n -FROM "_T" +FROM "_t" WHERE O_TOTALPRICE < ( - 0.05 * "_W" + 0.05 * "_w" ) diff --git a/tests/test_sql_refsols/window_filter_order_10_sqlite.sql b/tests/test_sql_refsols/window_filter_order_10_sqlite.sql index 5c6c2962e..fa594ea08 100644 --- a/tests/test_sql_refsols/window_filter_order_10_sqlite.sql +++ b/tests/test_sql_refsols/window_filter_order_10_sqlite.sql @@ -18,7 +18,7 @@ WITH _s1 AS ( LEFT JOIN _u_0 AS _u_0 ON _u_0._u_1 = orders.o_custkey WHERE - _u_0._u_1 IS NULL AND orders.o_clerk = 'Clerk#000000001' + NOT NOT _u_0._u_1 IS NULL AND orders.o_clerk = 'Clerk#000000001' ) SELECT COUNT(*) AS n diff --git a/tests/test_sql_refsols/window_filter_order_1_oracle.sql b/tests/test_sql_refsols/window_filter_order_1_oracle.sql index 94011f3c1..d2efc0989 100644 --- a/tests/test_sql_refsols/window_filter_order_1_oracle.sql +++ b/tests/test_sql_refsols/window_filter_order_1_oracle.sql @@ -1,27 +1,27 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - o_custkey AS O_CUSTKEY + O_CUSTKEY FROM TPCH.ORDERS WHERE - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) = 1992 -), "_T2" AS ( + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) = 1992 +), "_t2" AS ( SELECT - COUNT("_S3".O_CUSTKEY) AS COUNT_O_CUSTKEY + COUNT("_s3".O_CUSTKEY) AS COUNT_O_CUSTKEY FROM TPCH.CUSTOMER CUSTOMER JOIN TPCH.NATION NATION - ON CUSTOMER.c_nationkey = NATION.n_nationkey AND NATION.n_name = 'GERMANY' - LEFT JOIN "_S3" "_S3" - ON CUSTOMER.c_custkey = "_S3".O_CUSTKEY + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY AND NATION.N_NAME = 'GERMANY' + LEFT JOIN "_s3" "_s3" + ON CUSTOMER.C_CUSTKEY = "_s3".O_CUSTKEY GROUP BY - CUSTOMER.c_custkey -), "_T" AS ( + CUSTOMER.C_CUSTKEY +), "_t" AS ( SELECT COUNT_O_CUSTKEY, - AVG(CAST(COALESCE(COUNT_O_CUSTKEY, 0) AS DOUBLE PRECISION)) OVER () AS "_W" - FROM "_T2" + AVG(CAST(COALESCE(COUNT_O_CUSTKEY, 0) AS DOUBLE PRECISION)) OVER () AS "_w" + FROM "_t2" ) SELECT COUNT(*) AS n -FROM "_T" +FROM "_t" WHERE - NULLIF(COUNT_O_CUSTKEY, 0) <> 0 AND "_W" > COALESCE(COUNT_O_CUSTKEY, 0) + NULLIF(COUNT_O_CUSTKEY, 0) <> 0 AND "_w" > COALESCE(COUNT_O_CUSTKEY, 0) diff --git a/tests/test_sql_refsols/window_filter_order_2_oracle.sql b/tests/test_sql_refsols/window_filter_order_2_oracle.sql index 94011f3c1..d2efc0989 100644 --- a/tests/test_sql_refsols/window_filter_order_2_oracle.sql +++ b/tests/test_sql_refsols/window_filter_order_2_oracle.sql @@ -1,27 +1,27 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - o_custkey AS O_CUSTKEY + O_CUSTKEY FROM TPCH.ORDERS WHERE - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) = 1992 -), "_T2" AS ( + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) = 1992 +), "_t2" AS ( SELECT - COUNT("_S3".O_CUSTKEY) AS COUNT_O_CUSTKEY + COUNT("_s3".O_CUSTKEY) AS COUNT_O_CUSTKEY FROM TPCH.CUSTOMER CUSTOMER JOIN TPCH.NATION NATION - ON CUSTOMER.c_nationkey = NATION.n_nationkey AND NATION.n_name = 'GERMANY' - LEFT JOIN "_S3" "_S3" - ON CUSTOMER.c_custkey = "_S3".O_CUSTKEY + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY AND NATION.N_NAME = 'GERMANY' + LEFT JOIN "_s3" "_s3" + ON CUSTOMER.C_CUSTKEY = "_s3".O_CUSTKEY GROUP BY - CUSTOMER.c_custkey -), "_T" AS ( + CUSTOMER.C_CUSTKEY +), "_t" AS ( SELECT COUNT_O_CUSTKEY, - AVG(CAST(COALESCE(COUNT_O_CUSTKEY, 0) AS DOUBLE PRECISION)) OVER () AS "_W" - FROM "_T2" + AVG(CAST(COALESCE(COUNT_O_CUSTKEY, 0) AS DOUBLE PRECISION)) OVER () AS "_w" + FROM "_t2" ) SELECT COUNT(*) AS n -FROM "_T" +FROM "_t" WHERE - NULLIF(COUNT_O_CUSTKEY, 0) <> 0 AND "_W" > COALESCE(COUNT_O_CUSTKEY, 0) + NULLIF(COUNT_O_CUSTKEY, 0) <> 0 AND "_w" > COALESCE(COUNT_O_CUSTKEY, 0) diff --git a/tests/test_sql_refsols/window_filter_order_3_oracle.sql b/tests/test_sql_refsols/window_filter_order_3_oracle.sql index 94011f3c1..d2efc0989 100644 --- a/tests/test_sql_refsols/window_filter_order_3_oracle.sql +++ b/tests/test_sql_refsols/window_filter_order_3_oracle.sql @@ -1,27 +1,27 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - o_custkey AS O_CUSTKEY + O_CUSTKEY FROM TPCH.ORDERS WHERE - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) = 1992 -), "_T2" AS ( + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) = 1992 +), "_t2" AS ( SELECT - COUNT("_S3".O_CUSTKEY) AS COUNT_O_CUSTKEY + COUNT("_s3".O_CUSTKEY) AS COUNT_O_CUSTKEY FROM TPCH.CUSTOMER CUSTOMER JOIN TPCH.NATION NATION - ON CUSTOMER.c_nationkey = NATION.n_nationkey AND NATION.n_name = 'GERMANY' - LEFT JOIN "_S3" "_S3" - ON CUSTOMER.c_custkey = "_S3".O_CUSTKEY + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY AND NATION.N_NAME = 'GERMANY' + LEFT JOIN "_s3" "_s3" + ON CUSTOMER.C_CUSTKEY = "_s3".O_CUSTKEY GROUP BY - CUSTOMER.c_custkey -), "_T" AS ( + CUSTOMER.C_CUSTKEY +), "_t" AS ( SELECT COUNT_O_CUSTKEY, - AVG(CAST(COALESCE(COUNT_O_CUSTKEY, 0) AS DOUBLE PRECISION)) OVER () AS "_W" - FROM "_T2" + AVG(CAST(COALESCE(COUNT_O_CUSTKEY, 0) AS DOUBLE PRECISION)) OVER () AS "_w" + FROM "_t2" ) SELECT COUNT(*) AS n -FROM "_T" +FROM "_t" WHERE - NULLIF(COUNT_O_CUSTKEY, 0) <> 0 AND "_W" > COALESCE(COUNT_O_CUSTKEY, 0) + NULLIF(COUNT_O_CUSTKEY, 0) <> 0 AND "_w" > COALESCE(COUNT_O_CUSTKEY, 0) diff --git a/tests/test_sql_refsols/window_filter_order_4_oracle.sql b/tests/test_sql_refsols/window_filter_order_4_oracle.sql index 5c98e40a9..d2f4f4121 100644 --- a/tests/test_sql_refsols/window_filter_order_4_oracle.sql +++ b/tests/test_sql_refsols/window_filter_order_4_oracle.sql @@ -1,22 +1,22 @@ -WITH "_T2" AS ( +WITH "_t2" AS ( SELECT COUNT(*) AS N_ROWS FROM TPCH.CUSTOMER CUSTOMER JOIN TPCH.NATION NATION - ON CUSTOMER.c_nationkey = NATION.n_nationkey AND NATION.n_name = 'GERMANY' + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY AND NATION.N_NAME = 'GERMANY' JOIN TPCH.ORDERS ORDERS - ON CUSTOMER.c_custkey = ORDERS.o_custkey - AND EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) = 1992 + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY + AND EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) = 1992 GROUP BY - ORDERS.o_custkey -), "_T" AS ( + ORDERS.O_CUSTKEY +), "_t" AS ( SELECT N_ROWS, - AVG(CAST(N_ROWS AS DOUBLE PRECISION)) OVER () AS "_W" - FROM "_T2" + AVG(CAST(N_ROWS AS DOUBLE PRECISION)) OVER () AS "_w" + FROM "_t2" ) SELECT COUNT(*) AS n -FROM "_T" +FROM "_t" WHERE - N_ROWS < "_W" + N_ROWS < "_w" diff --git a/tests/test_sql_refsols/window_filter_order_5_oracle.sql b/tests/test_sql_refsols/window_filter_order_5_oracle.sql index e01d007ee..691822f80 100644 --- a/tests/test_sql_refsols/window_filter_order_5_oracle.sql +++ b/tests/test_sql_refsols/window_filter_order_5_oracle.sql @@ -1,24 +1,24 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT 1 AS EXPR_0, - c_acctbal AS C_ACCTBAL, - c_custkey AS C_CUSTKEY + C_ACCTBAL, + C_CUSTKEY FROM TPCH.CUSTOMER WHERE - c_mktsegment = 'BUILDING' -), "_T" AS ( + C_MKTSEGMENT = 'BUILDING' +), "_t" AS ( SELECT - "_S1".C_ACCTBAL, - "_S1".EXPR_0, - AVG(CAST(COALESCE("_S1".C_ACCTBAL, 0) AS DOUBLE PRECISION)) OVER () AS "_W" + "_s1".C_ACCTBAL, + "_s1".EXPR_0, + AVG(CAST(COALESCE("_s1".C_ACCTBAL, 0) AS DOUBLE PRECISION)) OVER () AS "_w" FROM TPCH.ORDERS ORDERS - LEFT JOIN "_S1" "_S1" - ON ORDERS.o_custkey = "_S1".C_CUSTKEY + LEFT JOIN "_s1" "_s1" + ON ORDERS.O_CUSTKEY = "_s1".C_CUSTKEY WHERE - EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) = 1995 + EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) = 1995 ) SELECT COUNT(*) AS n -FROM "_T" +FROM "_t" WHERE - NOT EXPR_0 IS NULL AND C_ACCTBAL < "_W" + NOT EXPR_0 IS NULL AND C_ACCTBAL < "_w" diff --git a/tests/test_sql_refsols/window_filter_order_6_oracle.sql b/tests/test_sql_refsols/window_filter_order_6_oracle.sql index e01d007ee..691822f80 100644 --- a/tests/test_sql_refsols/window_filter_order_6_oracle.sql +++ b/tests/test_sql_refsols/window_filter_order_6_oracle.sql @@ -1,24 +1,24 @@ -WITH "_S1" AS ( +WITH "_s1" AS ( SELECT 1 AS EXPR_0, - c_acctbal AS C_ACCTBAL, - c_custkey AS C_CUSTKEY + C_ACCTBAL, + C_CUSTKEY FROM TPCH.CUSTOMER WHERE - c_mktsegment = 'BUILDING' -), "_T" AS ( + C_MKTSEGMENT = 'BUILDING' +), "_t" AS ( SELECT - "_S1".C_ACCTBAL, - "_S1".EXPR_0, - AVG(CAST(COALESCE("_S1".C_ACCTBAL, 0) AS DOUBLE PRECISION)) OVER () AS "_W" + "_s1".C_ACCTBAL, + "_s1".EXPR_0, + AVG(CAST(COALESCE("_s1".C_ACCTBAL, 0) AS DOUBLE PRECISION)) OVER () AS "_w" FROM TPCH.ORDERS ORDERS - LEFT JOIN "_S1" "_S1" - ON ORDERS.o_custkey = "_S1".C_CUSTKEY + LEFT JOIN "_s1" "_s1" + ON ORDERS.O_CUSTKEY = "_s1".C_CUSTKEY WHERE - EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) = 1995 + EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) = 1995 ) SELECT COUNT(*) AS n -FROM "_T" +FROM "_t" WHERE - NOT EXPR_0 IS NULL AND C_ACCTBAL < "_W" + NOT EXPR_0 IS NULL AND C_ACCTBAL < "_w" diff --git a/tests/test_sql_refsols/window_filter_order_7_oracle.sql b/tests/test_sql_refsols/window_filter_order_7_oracle.sql index 7099f8330..d7149136e 100644 --- a/tests/test_sql_refsols/window_filter_order_7_oracle.sql +++ b/tests/test_sql_refsols/window_filter_order_7_oracle.sql @@ -1,15 +1,15 @@ -WITH "_T" AS ( +WITH "_t" AS ( SELECT - CUSTOMER.c_acctbal AS C_ACCTBAL, - AVG(CAST(CUSTOMER.c_acctbal AS DOUBLE PRECISION)) OVER () AS "_W" + CUSTOMER.C_ACCTBAL, + AVG(CAST(CUSTOMER.C_ACCTBAL AS DOUBLE PRECISION)) OVER () AS "_w" FROM TPCH.ORDERS ORDERS JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_custkey = ORDERS.o_custkey AND CUSTOMER.c_mktsegment = 'BUILDING' + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY AND CUSTOMER.C_MKTSEGMENT = 'BUILDING' WHERE - EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) = 1995 + EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) = 1995 ) SELECT COUNT(*) AS n -FROM "_T" +FROM "_t" WHERE - C_ACCTBAL < "_W" + C_ACCTBAL < "_w" diff --git a/tests/test_sql_refsols/window_filter_order_8_oracle.sql b/tests/test_sql_refsols/window_filter_order_8_oracle.sql index 23cf9f286..882cf6bfa 100644 --- a/tests/test_sql_refsols/window_filter_order_8_oracle.sql +++ b/tests/test_sql_refsols/window_filter_order_8_oracle.sql @@ -1,30 +1,30 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT - o_custkey AS O_CUSTKEY + O_CUSTKEY FROM TPCH.ORDERS WHERE - EXTRACT(MONTH FROM CAST(o_orderdate AS DATE)) = 1 - AND EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) = 1998 -), "_T2" AS ( + EXTRACT(MONTH FROM CAST(O_ORDERDATE AS DATE)) = 1 + AND EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) = 1998 +), "_t2" AS ( SELECT - ANY_VALUE(CUSTOMER.c_acctbal) AS ANYTHING_C_ACCTBAL, - COUNT("_S3".O_CUSTKEY) AS COUNT_O_CUSTKEY + ANY_VALUE(CUSTOMER.C_ACCTBAL) AS ANYTHING_C_ACCTBAL, + COUNT("_s3".O_CUSTKEY) AS COUNT_O_CUSTKEY FROM TPCH.CUSTOMER CUSTOMER JOIN TPCH.NATION NATION - ON CUSTOMER.c_nationkey = NATION.n_nationkey AND NATION.n_name = 'FRANCE' - LEFT JOIN "_S3" "_S3" - ON CUSTOMER.c_custkey = "_S3".O_CUSTKEY + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY AND NATION.N_NAME = 'FRANCE' + LEFT JOIN "_s3" "_s3" + ON CUSTOMER.C_CUSTKEY = "_s3".O_CUSTKEY GROUP BY - CUSTOMER.c_custkey -), "_T" AS ( + CUSTOMER.C_CUSTKEY +), "_t" AS ( SELECT ANYTHING_C_ACCTBAL, COUNT_O_CUSTKEY, - SUM(COALESCE(COUNT_O_CUSTKEY, 0)) OVER () AS "_W" - FROM "_T2" + SUM(COALESCE(COUNT_O_CUSTKEY, 0)) OVER () AS "_w" + FROM "_t2" ) SELECT COUNT(*) AS n -FROM "_T" +FROM "_t" WHERE - NULLIF(COUNT_O_CUSTKEY, 0) IS NULL AND ANYTHING_C_ACCTBAL < "_W" + NULLIF(COUNT_O_CUSTKEY, 0) IS NULL AND ANYTHING_C_ACCTBAL < "_w" diff --git a/tests/test_sql_refsols/window_filter_order_8_postgres.sql b/tests/test_sql_refsols/window_filter_order_8_postgres.sql index d7ec6e71f..584832e5c 100644 --- a/tests/test_sql_refsols/window_filter_order_8_postgres.sql +++ b/tests/test_sql_refsols/window_filter_order_8_postgres.sql @@ -7,7 +7,7 @@ WITH _s3 AS ( AND EXTRACT(YEAR FROM CAST(o_orderdate AS TIMESTAMP)) = 1998 ), _t2 AS ( SELECT - MAX(customer.c_acctbal) AS anything_c_acctbal, + ANY_VALUE(customer.c_acctbal) AS anything_c_acctbal, COUNT(_s3.o_custkey) AS count_o_custkey FROM tpch.customer AS customer JOIN tpch.nation AS nation diff --git a/tests/test_sql_refsols/window_filter_order_9_oracle.sql b/tests/test_sql_refsols/window_filter_order_9_oracle.sql index a12d765e4..b93d7df53 100644 --- a/tests/test_sql_refsols/window_filter_order_9_oracle.sql +++ b/tests/test_sql_refsols/window_filter_order_9_oracle.sql @@ -1,30 +1,30 @@ -WITH "_S3" AS ( +WITH "_s3" AS ( SELECT 1 AS EXPR_0, - COALESCE(SUM(ORDERS.o_totalprice), 0) AS TOTAL_SPENT, - CUSTOMER.c_custkey AS C_CUSTKEY + COALESCE(SUM(ORDERS.O_TOTALPRICE), 0) AS TOTAL_SPENT, + CUSTOMER.C_CUSTKEY FROM TPCH.CUSTOMER CUSTOMER LEFT JOIN TPCH.ORDERS ORDERS - ON CUSTOMER.c_custkey = ORDERS.o_custkey + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY WHERE - CUSTOMER.c_mktsegment = 'BUILDING' + CUSTOMER.C_MKTSEGMENT = 'BUILDING' GROUP BY - CUSTOMER.c_custkey -), "_T" AS ( + CUSTOMER.C_CUSTKEY +), "_t" AS ( SELECT - "_S3".EXPR_0, - ORDERS.o_totalprice AS O_TOTALPRICE, - AVG(CAST("_S3".TOTAL_SPENT AS DOUBLE PRECISION)) OVER () AS "_W" + "_s3".EXPR_0, + ORDERS.O_TOTALPRICE, + AVG(CAST("_s3".TOTAL_SPENT AS DOUBLE PRECISION)) OVER () AS "_w" FROM TPCH.ORDERS ORDERS - LEFT JOIN "_S3" "_S3" - ON ORDERS.o_custkey = "_S3".C_CUSTKEY + LEFT JOIN "_s3" "_s3" + ON ORDERS.O_CUSTKEY = "_s3".C_CUSTKEY WHERE - ORDERS.o_clerk = 'Clerk#000000001' + ORDERS.O_CLERK = 'Clerk#000000001' ) SELECT COUNT(*) AS n -FROM "_T" +FROM "_t" WHERE EXPR_0 IS NULL AND O_TOTALPRICE < ( - 0.05 * "_W" + 0.05 * "_w" ) diff --git a/tests/test_sql_refsols/window_functions_ansi.sql b/tests/test_sql_refsols/window_functions_ansi.sql index e777e15d5..89665afbd 100644 --- a/tests/test_sql_refsols/window_functions_ansi.sql +++ b/tests/test_sql_refsols/window_functions_ansi.sql @@ -3,8 +3,15 @@ SELECT NTILE(10) OVER (ORDER BY customer.c_acctbal NULLS LAST) AS precentile_value, LAG(customer.c_acctbal, 2, 0.0) OVER (PARTITION BY nation.n_regionkey ORDER BY customer.c_acctbal NULLS LAST) AS two_prev_value, LEAD(customer.c_acctbal, 2) OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_acctbal NULLS LAST) AS two_next_value, - SUM(customer.c_acctbal) OVER (PARTITION BY nation.n_regionkey ORDER BY customer.c_acctbal NULLS LAST ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS relsum_value, - SUM(customer.c_acctbal) OVER (ORDER BY customer.c_acctbal NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS relsum_value2, + SUM(customer.c_acctbal) OVER ( + PARTITION BY nation.n_regionkey + ORDER BY customer.c_acctbal NULLS LAST + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS relsum_value, + SUM(customer.c_acctbal) OVER ( + ORDER BY customer.c_acctbal NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS relsum_value2, customer.c_acctbal / AVG(CAST(customer.c_acctbal AS DOUBLE)) OVER (ORDER BY customer.c_acctbal NULLS LAST ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS relavg_value, customer.c_acctbal / COUNT(CASE WHEN customer.c_acctbal > 0.0 THEN customer.c_acctbal ELSE NULL END) OVER () AS relcount_value, customer.c_acctbal / COUNT(*) OVER () AS relsize_value diff --git a/tests/test_sql_refsols/window_functions_databricks.sql b/tests/test_sql_refsols/window_functions_databricks.sql index e777e15d5..89665afbd 100644 --- a/tests/test_sql_refsols/window_functions_databricks.sql +++ b/tests/test_sql_refsols/window_functions_databricks.sql @@ -3,8 +3,15 @@ SELECT NTILE(10) OVER (ORDER BY customer.c_acctbal NULLS LAST) AS precentile_value, LAG(customer.c_acctbal, 2, 0.0) OVER (PARTITION BY nation.n_regionkey ORDER BY customer.c_acctbal NULLS LAST) AS two_prev_value, LEAD(customer.c_acctbal, 2) OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_acctbal NULLS LAST) AS two_next_value, - SUM(customer.c_acctbal) OVER (PARTITION BY nation.n_regionkey ORDER BY customer.c_acctbal NULLS LAST ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS relsum_value, - SUM(customer.c_acctbal) OVER (ORDER BY customer.c_acctbal NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS relsum_value2, + SUM(customer.c_acctbal) OVER ( + PARTITION BY nation.n_regionkey + ORDER BY customer.c_acctbal NULLS LAST + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS relsum_value, + SUM(customer.c_acctbal) OVER ( + ORDER BY customer.c_acctbal NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) AS relsum_value2, customer.c_acctbal / AVG(CAST(customer.c_acctbal AS DOUBLE)) OVER (ORDER BY customer.c_acctbal NULLS LAST ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS relavg_value, customer.c_acctbal / COUNT(CASE WHEN customer.c_acctbal > 0.0 THEN customer.c_acctbal ELSE NULL END) OVER () AS relcount_value, customer.c_acctbal / COUNT(*) OVER () AS relsize_value diff --git a/tests/test_sql_refsols/window_functions_duckdb.sql b/tests/test_sql_refsols/window_functions_duckdb.sql index c810bf898..a56145c04 100644 --- a/tests/test_sql_refsols/window_functions_duckdb.sql +++ b/tests/test_sql_refsols/window_functions_duckdb.sql @@ -3,7 +3,11 @@ SELECT NTILE(10) OVER (ORDER BY customer.c_acctbal) AS precentile_value, LAG(customer.c_acctbal, 2, 0.0) OVER (PARTITION BY nation.n_regionkey ORDER BY customer.c_acctbal) AS two_prev_value, LEAD(customer.c_acctbal, 2) OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_acctbal) AS two_next_value, - SUM(customer.c_acctbal) OVER (PARTITION BY nation.n_regionkey ORDER BY customer.c_acctbal ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS relsum_value, + SUM(customer.c_acctbal) OVER ( + PARTITION BY nation.n_regionkey + ORDER BY customer.c_acctbal + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS relsum_value, SUM(customer.c_acctbal) OVER (ORDER BY customer.c_acctbal ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS relsum_value2, customer.c_acctbal / AVG(CAST(customer.c_acctbal AS DOUBLE)) OVER (ORDER BY customer.c_acctbal ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS relavg_value, customer.c_acctbal / COUNT(CASE WHEN customer.c_acctbal > 0.0 THEN customer.c_acctbal ELSE NULL END) OVER () AS relcount_value, diff --git a/tests/test_sql_refsols/window_functions_mysql.sql b/tests/test_sql_refsols/window_functions_mysql.sql index 6ba75863d..079f3432f 100644 --- a/tests/test_sql_refsols/window_functions_mysql.sql +++ b/tests/test_sql_refsols/window_functions_mysql.sql @@ -1,9 +1,23 @@ SELECT - DENSE_RANK() OVER (ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END DESC, CUSTOMER.c_acctbal DESC) AS rank_value, - NTILE(10) OVER (ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_acctbal) AS precentile_value, - LAG(CUSTOMER.c_acctbal, 2, 0.0) OVER (PARTITION BY NATION.n_regionkey ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_acctbal) AS two_prev_value, - LEAD(CUSTOMER.c_acctbal, 2) OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_acctbal) AS two_next_value, - SUM(CUSTOMER.c_acctbal) OVER (PARTITION BY NATION.n_regionkey ORDER BY CUSTOMER.c_acctbal ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS relsum_value, + DENSE_RANK() OVER ( + ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END DESC, CUSTOMER.c_acctbal DESC + ) AS rank_value, + NTILE(10) OVER ( + ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_acctbal + ) AS precentile_value, + LAG(CUSTOMER.c_acctbal, 2, 0.0) OVER ( + PARTITION BY NATION.n_regionkey + ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_acctbal + ) AS two_prev_value, + LEAD(CUSTOMER.c_acctbal, 2) OVER ( + PARTITION BY CUSTOMER.c_nationkey + ORDER BY CASE WHEN CUSTOMER.c_acctbal IS NULL THEN 1 ELSE 0 END, CUSTOMER.c_acctbal + ) AS two_next_value, + SUM(CUSTOMER.c_acctbal) OVER ( + PARTITION BY NATION.n_regionkey + ORDER BY CUSTOMER.c_acctbal + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS relsum_value, SUM(CUSTOMER.c_acctbal) OVER (ORDER BY CUSTOMER.c_acctbal ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS relsum_value2, CUSTOMER.c_acctbal / AVG(CAST(CUSTOMER.c_acctbal AS DOUBLE)) OVER (ORDER BY CUSTOMER.c_acctbal ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS relavg_value, CUSTOMER.c_acctbal / COUNT(CASE WHEN CUSTOMER.c_acctbal > 0.0 THEN CUSTOMER.c_acctbal ELSE NULL END) OVER () AS relcount_value, diff --git a/tests/test_sql_refsols/window_functions_oracle.sql b/tests/test_sql_refsols/window_functions_oracle.sql index d38b2e6e1..535a1ac69 100644 --- a/tests/test_sql_refsols/window_functions_oracle.sql +++ b/tests/test_sql_refsols/window_functions_oracle.sql @@ -1,13 +1,17 @@ SELECT - DENSE_RANK() OVER (ORDER BY CUSTOMER.c_acctbal DESC) AS rank_value, - NTILE(10) OVER (ORDER BY CUSTOMER.c_acctbal) AS precentile_value, - LAG(CUSTOMER.c_acctbal, 2, 0.0) OVER (PARTITION BY NATION.n_regionkey ORDER BY CUSTOMER.c_acctbal) AS two_prev_value, - LEAD(CUSTOMER.c_acctbal, 2) OVER (PARTITION BY CUSTOMER.c_nationkey ORDER BY CUSTOMER.c_acctbal) AS two_next_value, - SUM(CUSTOMER.c_acctbal) OVER (PARTITION BY NATION.n_regionkey ORDER BY CUSTOMER.c_acctbal ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS relsum_value, - SUM(CUSTOMER.c_acctbal) OVER (ORDER BY CUSTOMER.c_acctbal ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS relsum_value2, - CUSTOMER.c_acctbal / AVG(CAST(CUSTOMER.c_acctbal AS DOUBLE PRECISION)) OVER (ORDER BY CUSTOMER.c_acctbal ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS relavg_value, - CUSTOMER.c_acctbal / COUNT(CASE WHEN CUSTOMER.c_acctbal > 0.0 THEN CUSTOMER.c_acctbal ELSE NULL END) OVER () AS relcount_value, - CUSTOMER.c_acctbal / COUNT(*) OVER () AS relsize_value + DENSE_RANK() OVER (ORDER BY CUSTOMER.C_ACCTBAL DESC) AS rank_value, + NTILE(10) OVER (ORDER BY CUSTOMER.C_ACCTBAL) AS precentile_value, + LAG(CUSTOMER.C_ACCTBAL, 2, 0.0) OVER (PARTITION BY NATION.N_REGIONKEY ORDER BY CUSTOMER.C_ACCTBAL) AS two_prev_value, + LEAD(CUSTOMER.C_ACCTBAL, 2) OVER (PARTITION BY CUSTOMER.C_NATIONKEY ORDER BY CUSTOMER.C_ACCTBAL) AS two_next_value, + SUM(CUSTOMER.C_ACCTBAL) OVER ( + PARTITION BY NATION.N_REGIONKEY + ORDER BY CUSTOMER.C_ACCTBAL + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS relsum_value, + SUM(CUSTOMER.C_ACCTBAL) OVER (ORDER BY CUSTOMER.C_ACCTBAL ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS relsum_value2, + CUSTOMER.C_ACCTBAL / AVG(CAST(CUSTOMER.C_ACCTBAL AS DOUBLE PRECISION)) OVER (ORDER BY CUSTOMER.C_ACCTBAL ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS relavg_value, + CUSTOMER.C_ACCTBAL / COUNT(CASE WHEN CUSTOMER.C_ACCTBAL > 0.0 THEN CUSTOMER.C_ACCTBAL ELSE NULL END) OVER () AS relcount_value, + CUSTOMER.C_ACCTBAL / COUNT(*) OVER () AS relsize_value FROM TPCH.NATION NATION JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_nationkey = NATION.n_nationkey + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY diff --git a/tests/test_sql_refsols/window_functions_postgres.sql b/tests/test_sql_refsols/window_functions_postgres.sql index 4e523b23f..a0f2022c5 100644 --- a/tests/test_sql_refsols/window_functions_postgres.sql +++ b/tests/test_sql_refsols/window_functions_postgres.sql @@ -3,7 +3,11 @@ SELECT NTILE(10) OVER (ORDER BY customer.c_acctbal) AS precentile_value, LAG(customer.c_acctbal, 2, 0.0) OVER (PARTITION BY nation.n_regionkey ORDER BY customer.c_acctbal) AS two_prev_value, LEAD(customer.c_acctbal, 2) OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_acctbal) AS two_next_value, - SUM(customer.c_acctbal) OVER (PARTITION BY nation.n_regionkey ORDER BY customer.c_acctbal ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS relsum_value, + SUM(customer.c_acctbal) OVER ( + PARTITION BY nation.n_regionkey + ORDER BY customer.c_acctbal + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS relsum_value, SUM(customer.c_acctbal) OVER (ORDER BY customer.c_acctbal ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS relsum_value2, CAST(customer.c_acctbal AS DOUBLE PRECISION) / AVG(CAST(customer.c_acctbal AS DOUBLE PRECISION)) OVER (ORDER BY customer.c_acctbal ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS relavg_value, CAST(customer.c_acctbal AS DOUBLE PRECISION) / COUNT(CASE WHEN customer.c_acctbal > 0.0 THEN customer.c_acctbal ELSE NULL END) OVER () AS relcount_value, diff --git a/tests/test_sql_refsols/window_functions_snowflake.sql b/tests/test_sql_refsols/window_functions_snowflake.sql index 47888df85..6ae5e19fa 100644 --- a/tests/test_sql_refsols/window_functions_snowflake.sql +++ b/tests/test_sql_refsols/window_functions_snowflake.sql @@ -3,7 +3,11 @@ SELECT NTILE(10) OVER (ORDER BY customer.c_acctbal) AS precentile_value, LAG(customer.c_acctbal, 2, 0.0) OVER (PARTITION BY nation.n_regionkey ORDER BY customer.c_acctbal) AS two_prev_value, LEAD(customer.c_acctbal, 2) OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_acctbal) AS two_next_value, - SUM(customer.c_acctbal) OVER (PARTITION BY nation.n_regionkey ORDER BY customer.c_acctbal ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS relsum_value, + SUM(customer.c_acctbal) OVER ( + PARTITION BY nation.n_regionkey + ORDER BY customer.c_acctbal + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS relsum_value, SUM(customer.c_acctbal) OVER (ORDER BY customer.c_acctbal ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS relsum_value2, customer.c_acctbal / AVG(CAST(customer.c_acctbal AS DOUBLE)) OVER (ORDER BY customer.c_acctbal ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS relavg_value, customer.c_acctbal / COUNT(CASE WHEN customer.c_acctbal > 0.0 THEN customer.c_acctbal ELSE NULL END) OVER () AS relcount_value, diff --git a/tests/test_sql_refsols/window_functions_sqlite.sql b/tests/test_sql_refsols/window_functions_sqlite.sql index a719b6a3b..e8f89a23e 100644 --- a/tests/test_sql_refsols/window_functions_sqlite.sql +++ b/tests/test_sql_refsols/window_functions_sqlite.sql @@ -3,7 +3,11 @@ SELECT NTILE(10) OVER (ORDER BY customer.c_acctbal) AS precentile_value, LAG(customer.c_acctbal, 2, 0.0) OVER (PARTITION BY nation.n_regionkey ORDER BY customer.c_acctbal) AS two_prev_value, LEAD(customer.c_acctbal, 2) OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_acctbal) AS two_next_value, - SUM(customer.c_acctbal) OVER (PARTITION BY nation.n_regionkey ORDER BY customer.c_acctbal ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS relsum_value, + SUM(customer.c_acctbal) OVER ( + PARTITION BY nation.n_regionkey + ORDER BY customer.c_acctbal + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS relsum_value, SUM(customer.c_acctbal) OVER (ORDER BY customer.c_acctbal ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS relsum_value2, CAST(customer.c_acctbal AS REAL) / AVG(CAST(customer.c_acctbal AS REAL)) OVER (ORDER BY customer.c_acctbal ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS relavg_value, CAST(customer.c_acctbal AS REAL) / COUNT(CASE WHEN customer.c_acctbal > 0.0 THEN customer.c_acctbal ELSE NULL END) OVER () AS relcount_value, diff --git a/tests/test_sql_refsols/window_functions_trino.sql b/tests/test_sql_refsols/window_functions_trino.sql index 68c0ba536..ef41c20a2 100644 --- a/tests/test_sql_refsols/window_functions_trino.sql +++ b/tests/test_sql_refsols/window_functions_trino.sql @@ -3,7 +3,11 @@ SELECT NTILE(10) OVER (ORDER BY customer.c_acctbal) AS precentile_value, LAG(customer.c_acctbal, 2, 0.0) OVER (PARTITION BY nation.n_regionkey ORDER BY customer.c_acctbal) AS two_prev_value, LEAD(customer.c_acctbal, 2) OVER (PARTITION BY customer.c_nationkey ORDER BY customer.c_acctbal) AS two_next_value, - SUM(customer.c_acctbal) OVER (PARTITION BY nation.n_regionkey ORDER BY customer.c_acctbal ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS relsum_value, + SUM(customer.c_acctbal) OVER ( + PARTITION BY nation.n_regionkey + ORDER BY customer.c_acctbal + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS relsum_value, SUM(customer.c_acctbal) OVER (ORDER BY customer.c_acctbal ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS relsum_value2, CAST(customer.c_acctbal AS DOUBLE) / AVG(CAST(customer.c_acctbal AS DOUBLE)) OVER (ORDER BY customer.c_acctbal ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS relavg_value, CAST(customer.c_acctbal AS DOUBLE) / COUNT(CASE WHEN customer.c_acctbal > 0.0 THEN customer.c_acctbal ELSE NULL END) OVER () AS relcount_value, diff --git a/tests/test_sql_refsols/window_sliding_frame_relsize_ansi.sql b/tests/test_sql_refsols/window_sliding_frame_relsize_ansi.sql index 4c8a3bb8b..9ddcf6fe4 100644 --- a/tests/test_sql_refsols/window_sliding_frame_relsize_ansi.sql +++ b/tests/test_sql_refsols/window_sliding_frame_relsize_ansi.sql @@ -1,13 +1,41 @@ SELECT sbtxid AS transaction_id, - COUNT(*) OVER (ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS w1, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS w2, - COUNT(*) OVER (ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w3, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w4, - COUNT(*) OVER (ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS w5, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS w6, - COUNT(*) OVER (ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING) AS w7, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING) AS w8 + COUNT(*) OVER ( + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN 4 PRECEDING AND CURRENT ROW + ) AS w1, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN 4 PRECEDING AND CURRENT ROW + ) AS w2, + COUNT(*) OVER ( + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w3, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w4, + COUNT(*) OVER ( + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ) AS w5, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ) AS w6, + COUNT(*) OVER ( + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING + ) AS w7, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING + ) AS w8 FROM main.sbtransaction ORDER BY sbtxdatetime diff --git a/tests/test_sql_refsols/window_sliding_frame_relsize_databricks.sql b/tests/test_sql_refsols/window_sliding_frame_relsize_databricks.sql index 4c8a3bb8b..9ddcf6fe4 100644 --- a/tests/test_sql_refsols/window_sliding_frame_relsize_databricks.sql +++ b/tests/test_sql_refsols/window_sliding_frame_relsize_databricks.sql @@ -1,13 +1,41 @@ SELECT sbtxid AS transaction_id, - COUNT(*) OVER (ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS w1, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS w2, - COUNT(*) OVER (ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w3, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w4, - COUNT(*) OVER (ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS w5, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS w6, - COUNT(*) OVER (ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING) AS w7, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING) AS w8 + COUNT(*) OVER ( + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN 4 PRECEDING AND CURRENT ROW + ) AS w1, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN 4 PRECEDING AND CURRENT ROW + ) AS w2, + COUNT(*) OVER ( + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w3, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w4, + COUNT(*) OVER ( + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ) AS w5, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ) AS w6, + COUNT(*) OVER ( + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING + ) AS w7, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING + ) AS w8 FROM main.sbtransaction ORDER BY sbtxdatetime diff --git a/tests/test_sql_refsols/window_sliding_frame_relsize_duckdb.sql b/tests/test_sql_refsols/window_sliding_frame_relsize_duckdb.sql index 3a3e94a30..6f3a46aac 100644 --- a/tests/test_sql_refsols/window_sliding_frame_relsize_duckdb.sql +++ b/tests/test_sql_refsols/window_sliding_frame_relsize_duckdb.sql @@ -1,13 +1,29 @@ SELECT sbtxid AS transaction_id, COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS w1, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS w2, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN 4 PRECEDING AND CURRENT ROW + ) AS w2, COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w3, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w4, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w4, COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS w5, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS w6, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ) AS w6, COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING) AS w7, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING) AS w8 + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING + ) AS w8 FROM main.sbtransaction ORDER BY sbtxdatetime NULLS FIRST diff --git a/tests/test_sql_refsols/window_sliding_frame_relsize_mysql.sql b/tests/test_sql_refsols/window_sliding_frame_relsize_mysql.sql index 7fb2f5a2f..1844c0790 100644 --- a/tests/test_sql_refsols/window_sliding_frame_relsize_mysql.sql +++ b/tests/test_sql_refsols/window_sliding_frame_relsize_mysql.sql @@ -1,14 +1,42 @@ SELECT - sbtxid AS transaction_id, - COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid COLLATE utf8mb4_bin ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS w1, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid COLLATE utf8mb4_bin ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS w2, - COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid COLLATE utf8mb4_bin ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w3, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid COLLATE utf8mb4_bin ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w4, - COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid COLLATE utf8mb4_bin ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS w5, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid COLLATE utf8mb4_bin ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS w6, - COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid COLLATE utf8mb4_bin ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING) AS w7, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid COLLATE utf8mb4_bin ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING) AS w8 + sbTxId AS transaction_id, + COUNT(*) OVER ( + ORDER BY sbTxDateTime, sbTxId COLLATE utf8mb4_bin + ROWS BETWEEN 4 PRECEDING AND CURRENT ROW + ) AS w1, + COUNT(*) OVER ( + PARTITION BY sbTxCustId + ORDER BY sbTxDateTime, sbTxId COLLATE utf8mb4_bin + ROWS BETWEEN 4 PRECEDING AND CURRENT ROW + ) AS w2, + COUNT(*) OVER ( + ORDER BY sbTxDateTime, sbTxId COLLATE utf8mb4_bin + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w3, + COUNT(*) OVER ( + PARTITION BY sbTxCustId + ORDER BY sbTxDateTime, sbTxId COLLATE utf8mb4_bin + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w4, + COUNT(*) OVER ( + ORDER BY sbTxDateTime, sbTxId COLLATE utf8mb4_bin + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ) AS w5, + COUNT(*) OVER ( + PARTITION BY sbTxCustId + ORDER BY sbTxDateTime, sbTxId COLLATE utf8mb4_bin + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ) AS w6, + COUNT(*) OVER ( + ORDER BY sbTxDateTime, sbTxId COLLATE utf8mb4_bin + ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING + ) AS w7, + COUNT(*) OVER ( + PARTITION BY sbTxCustId + ORDER BY sbTxDateTime, sbTxId COLLATE utf8mb4_bin + ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING + ) AS w8 FROM main.sbTransaction ORDER BY - sbtxdatetime + sbTxDateTime LIMIT 8 diff --git a/tests/test_sql_refsols/window_sliding_frame_relsize_oracle.sql b/tests/test_sql_refsols/window_sliding_frame_relsize_oracle.sql index 9498ddfa2..b46bd6d37 100644 --- a/tests/test_sql_refsols/window_sliding_frame_relsize_oracle.sql +++ b/tests/test_sql_refsols/window_sliding_frame_relsize_oracle.sql @@ -1,14 +1,30 @@ SELECT - sbtxid AS transaction_id, - COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS w1, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS w2, - COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w3, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w4, - COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS w5, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS w6, - COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING) AS w7, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING) AS w8 + SBTXID AS transaction_id, + COUNT(*) OVER (ORDER BY SBTXDATETIME, SBTXID ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS w1, + COUNT(*) OVER ( + PARTITION BY SBTXCUSTID + ORDER BY SBTXDATETIME, SBTXID + ROWS BETWEEN 4 PRECEDING AND CURRENT ROW + ) AS w2, + COUNT(*) OVER (ORDER BY SBTXDATETIME, SBTXID ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w3, + COUNT(*) OVER ( + PARTITION BY SBTXCUSTID + ORDER BY SBTXDATETIME, SBTXID + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w4, + COUNT(*) OVER (ORDER BY SBTXDATETIME, SBTXID ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS w5, + COUNT(*) OVER ( + PARTITION BY SBTXCUSTID + ORDER BY SBTXDATETIME, SBTXID + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ) AS w6, + COUNT(*) OVER (ORDER BY SBTXDATETIME, SBTXID ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING) AS w7, + COUNT(*) OVER ( + PARTITION BY SBTXCUSTID + ORDER BY SBTXDATETIME, SBTXID + ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING + ) AS w8 FROM MAIN.SBTRANSACTION ORDER BY - sbtxdatetime NULLS FIRST + SBTXDATETIME NULLS FIRST FETCH FIRST 8 ROWS ONLY diff --git a/tests/test_sql_refsols/window_sliding_frame_relsize_postgres.sql b/tests/test_sql_refsols/window_sliding_frame_relsize_postgres.sql index 3a3e94a30..6f3a46aac 100644 --- a/tests/test_sql_refsols/window_sliding_frame_relsize_postgres.sql +++ b/tests/test_sql_refsols/window_sliding_frame_relsize_postgres.sql @@ -1,13 +1,29 @@ SELECT sbtxid AS transaction_id, COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS w1, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS w2, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN 4 PRECEDING AND CURRENT ROW + ) AS w2, COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w3, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w4, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w4, COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS w5, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS w6, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ) AS w6, COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING) AS w7, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING) AS w8 + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING + ) AS w8 FROM main.sbtransaction ORDER BY sbtxdatetime NULLS FIRST diff --git a/tests/test_sql_refsols/window_sliding_frame_relsize_snowflake.sql b/tests/test_sql_refsols/window_sliding_frame_relsize_snowflake.sql index 3a3e94a30..6f3a46aac 100644 --- a/tests/test_sql_refsols/window_sliding_frame_relsize_snowflake.sql +++ b/tests/test_sql_refsols/window_sliding_frame_relsize_snowflake.sql @@ -1,13 +1,29 @@ SELECT sbtxid AS transaction_id, COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS w1, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS w2, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN 4 PRECEDING AND CURRENT ROW + ) AS w2, COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w3, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w4, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w4, COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS w5, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS w6, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ) AS w6, COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING) AS w7, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING) AS w8 + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING + ) AS w8 FROM main.sbtransaction ORDER BY sbtxdatetime NULLS FIRST diff --git a/tests/test_sql_refsols/window_sliding_frame_relsize_sqlite.sql b/tests/test_sql_refsols/window_sliding_frame_relsize_sqlite.sql index a7babc7d7..4d624d316 100644 --- a/tests/test_sql_refsols/window_sliding_frame_relsize_sqlite.sql +++ b/tests/test_sql_refsols/window_sliding_frame_relsize_sqlite.sql @@ -1,13 +1,29 @@ SELECT sbtxid AS transaction_id, COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS w1, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS w2, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN 4 PRECEDING AND CURRENT ROW + ) AS w2, COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w3, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w4, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w4, COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS w5, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS w6, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ) AS w6, COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING) AS w7, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING) AS w8 + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING + ) AS w8 FROM main.sbtransaction ORDER BY sbtxdatetime diff --git a/tests/test_sql_refsols/window_sliding_frame_relsize_trino.sql b/tests/test_sql_refsols/window_sliding_frame_relsize_trino.sql index 3a3e94a30..6f3a46aac 100644 --- a/tests/test_sql_refsols/window_sliding_frame_relsize_trino.sql +++ b/tests/test_sql_refsols/window_sliding_frame_relsize_trino.sql @@ -1,13 +1,29 @@ SELECT sbtxid AS transaction_id, COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS w1, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS w2, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN 4 PRECEDING AND CURRENT ROW + ) AS w2, COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w3, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w4, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w4, COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS w5, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS w6, + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING + ) AS w6, COUNT(*) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING) AS w7, - COUNT(*) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING) AS w8 + COUNT(*) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN 3 PRECEDING AND 5 FOLLOWING + ) AS w8 FROM main.sbtransaction ORDER BY sbtxdatetime NULLS FIRST diff --git a/tests/test_sql_refsols/window_sliding_frame_relsum_ansi.sql b/tests/test_sql_refsols/window_sliding_frame_relsum_ansi.sql index 2db332255..43dc39096 100644 --- a/tests/test_sql_refsols/window_sliding_frame_relsum_ansi.sql +++ b/tests/test_sql_refsols/window_sliding_frame_relsum_ansi.sql @@ -1,13 +1,41 @@ SELECT sbtxid AS transaction_id, - SUM(sbtxshares) OVER (ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS w1, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS w2, - SUM(sbtxshares) OVER (ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w3, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w4, - SUM(sbtxshares) OVER (ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING) AS w5, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING) AS w6, - SUM(sbtxshares) OVER (ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING) AS w7, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING) AS w8 + SUM(sbtxshares) OVER ( + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING + ) AS w1, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING + ) AS w2, + SUM(sbtxshares) OVER ( + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w3, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w4, + SUM(sbtxshares) OVER ( + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING + ) AS w5, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING + ) AS w6, + SUM(sbtxshares) OVER ( + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING + ) AS w7, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING + ) AS w8 FROM main.sbtransaction ORDER BY sbtxdatetime diff --git a/tests/test_sql_refsols/window_sliding_frame_relsum_databricks.sql b/tests/test_sql_refsols/window_sliding_frame_relsum_databricks.sql index 2db332255..43dc39096 100644 --- a/tests/test_sql_refsols/window_sliding_frame_relsum_databricks.sql +++ b/tests/test_sql_refsols/window_sliding_frame_relsum_databricks.sql @@ -1,13 +1,41 @@ SELECT sbtxid AS transaction_id, - SUM(sbtxshares) OVER (ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS w1, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS w2, - SUM(sbtxshares) OVER (ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w3, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w4, - SUM(sbtxshares) OVER (ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING) AS w5, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING) AS w6, - SUM(sbtxshares) OVER (ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING) AS w7, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING) AS w8 + SUM(sbtxshares) OVER ( + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING + ) AS w1, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING + ) AS w2, + SUM(sbtxshares) OVER ( + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w3, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w4, + SUM(sbtxshares) OVER ( + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING + ) AS w5, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING + ) AS w6, + SUM(sbtxshares) OVER ( + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING + ) AS w7, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime NULLS LAST, sbtxid NULLS LAST + ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING + ) AS w8 FROM main.sbtransaction ORDER BY sbtxdatetime diff --git a/tests/test_sql_refsols/window_sliding_frame_relsum_duckdb.sql b/tests/test_sql_refsols/window_sliding_frame_relsum_duckdb.sql index cc7d2b368..d1e8de585 100644 --- a/tests/test_sql_refsols/window_sliding_frame_relsum_duckdb.sql +++ b/tests/test_sql_refsols/window_sliding_frame_relsum_duckdb.sql @@ -1,13 +1,29 @@ SELECT sbtxid AS transaction_id, SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS w1, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS w2, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING + ) AS w2, SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w3, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w4, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w4, SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING) AS w5, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING) AS w6, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING + ) AS w6, SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING) AS w7, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING) AS w8 + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING + ) AS w8 FROM main.sbtransaction ORDER BY sbtxdatetime NULLS FIRST diff --git a/tests/test_sql_refsols/window_sliding_frame_relsum_mysql.sql b/tests/test_sql_refsols/window_sliding_frame_relsum_mysql.sql index e6237d92e..fa645031c 100644 --- a/tests/test_sql_refsols/window_sliding_frame_relsum_mysql.sql +++ b/tests/test_sql_refsols/window_sliding_frame_relsum_mysql.sql @@ -1,14 +1,42 @@ SELECT - sbtxid AS transaction_id, - SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid COLLATE utf8mb4_bin ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS w1, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid COLLATE utf8mb4_bin ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS w2, - SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid COLLATE utf8mb4_bin ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w3, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid COLLATE utf8mb4_bin ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w4, - SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid COLLATE utf8mb4_bin ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING) AS w5, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid COLLATE utf8mb4_bin ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING) AS w6, - SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid COLLATE utf8mb4_bin ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING) AS w7, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid COLLATE utf8mb4_bin ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING) AS w8 + sbTxId AS transaction_id, + SUM(sbTxShares) OVER ( + ORDER BY sbTxDateTime, sbTxId COLLATE utf8mb4_bin + ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING + ) AS w1, + SUM(sbTxShares) OVER ( + PARTITION BY sbTxCustId + ORDER BY sbTxDateTime, sbTxId COLLATE utf8mb4_bin + ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING + ) AS w2, + SUM(sbTxShares) OVER ( + ORDER BY sbTxDateTime, sbTxId COLLATE utf8mb4_bin + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w3, + SUM(sbTxShares) OVER ( + PARTITION BY sbTxCustId + ORDER BY sbTxDateTime, sbTxId COLLATE utf8mb4_bin + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w4, + SUM(sbTxShares) OVER ( + ORDER BY sbTxDateTime, sbTxId COLLATE utf8mb4_bin + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING + ) AS w5, + SUM(sbTxShares) OVER ( + PARTITION BY sbTxCustId + ORDER BY sbTxDateTime, sbTxId COLLATE utf8mb4_bin + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING + ) AS w6, + SUM(sbTxShares) OVER ( + ORDER BY sbTxDateTime, sbTxId COLLATE utf8mb4_bin + ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING + ) AS w7, + SUM(sbTxShares) OVER ( + PARTITION BY sbTxCustId + ORDER BY sbTxDateTime, sbTxId COLLATE utf8mb4_bin + ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING + ) AS w8 FROM main.sbTransaction ORDER BY - sbtxdatetime + sbTxDateTime LIMIT 8 diff --git a/tests/test_sql_refsols/window_sliding_frame_relsum_oracle.sql b/tests/test_sql_refsols/window_sliding_frame_relsum_oracle.sql index 5b76a6850..55a1274f2 100644 --- a/tests/test_sql_refsols/window_sliding_frame_relsum_oracle.sql +++ b/tests/test_sql_refsols/window_sliding_frame_relsum_oracle.sql @@ -1,14 +1,30 @@ SELECT - sbtxid AS transaction_id, - SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS w1, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS w2, - SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w3, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w4, - SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING) AS w5, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING) AS w6, - SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING) AS w7, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING) AS w8 + SBTXID AS transaction_id, + SUM(SBTXSHARES) OVER (ORDER BY SBTXDATETIME, SBTXID ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS w1, + SUM(SBTXSHARES) OVER ( + PARTITION BY SBTXCUSTID + ORDER BY SBTXDATETIME, SBTXID + ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING + ) AS w2, + SUM(SBTXSHARES) OVER (ORDER BY SBTXDATETIME, SBTXID ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w3, + SUM(SBTXSHARES) OVER ( + PARTITION BY SBTXCUSTID + ORDER BY SBTXDATETIME, SBTXID + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w4, + SUM(SBTXSHARES) OVER (ORDER BY SBTXDATETIME, SBTXID ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING) AS w5, + SUM(SBTXSHARES) OVER ( + PARTITION BY SBTXCUSTID + ORDER BY SBTXDATETIME, SBTXID + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING + ) AS w6, + SUM(SBTXSHARES) OVER (ORDER BY SBTXDATETIME, SBTXID ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING) AS w7, + SUM(SBTXSHARES) OVER ( + PARTITION BY SBTXCUSTID + ORDER BY SBTXDATETIME, SBTXID + ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING + ) AS w8 FROM MAIN.SBTRANSACTION ORDER BY - sbtxdatetime NULLS FIRST + SBTXDATETIME NULLS FIRST FETCH FIRST 8 ROWS ONLY diff --git a/tests/test_sql_refsols/window_sliding_frame_relsum_postgres.sql b/tests/test_sql_refsols/window_sliding_frame_relsum_postgres.sql index cc7d2b368..d1e8de585 100644 --- a/tests/test_sql_refsols/window_sliding_frame_relsum_postgres.sql +++ b/tests/test_sql_refsols/window_sliding_frame_relsum_postgres.sql @@ -1,13 +1,29 @@ SELECT sbtxid AS transaction_id, SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS w1, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS w2, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING + ) AS w2, SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w3, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w4, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w4, SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING) AS w5, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING) AS w6, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING + ) AS w6, SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING) AS w7, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING) AS w8 + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING + ) AS w8 FROM main.sbtransaction ORDER BY sbtxdatetime NULLS FIRST diff --git a/tests/test_sql_refsols/window_sliding_frame_relsum_snowflake.sql b/tests/test_sql_refsols/window_sliding_frame_relsum_snowflake.sql index cc7d2b368..d1e8de585 100644 --- a/tests/test_sql_refsols/window_sliding_frame_relsum_snowflake.sql +++ b/tests/test_sql_refsols/window_sliding_frame_relsum_snowflake.sql @@ -1,13 +1,29 @@ SELECT sbtxid AS transaction_id, SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS w1, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS w2, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING + ) AS w2, SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w3, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w4, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w4, SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING) AS w5, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING) AS w6, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING + ) AS w6, SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING) AS w7, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING) AS w8 + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING + ) AS w8 FROM main.sbtransaction ORDER BY sbtxdatetime NULLS FIRST diff --git a/tests/test_sql_refsols/window_sliding_frame_relsum_sqlite.sql b/tests/test_sql_refsols/window_sliding_frame_relsum_sqlite.sql index ed9b5c93b..abb94d6b3 100644 --- a/tests/test_sql_refsols/window_sliding_frame_relsum_sqlite.sql +++ b/tests/test_sql_refsols/window_sliding_frame_relsum_sqlite.sql @@ -1,13 +1,29 @@ SELECT sbtxid AS transaction_id, SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS w1, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS w2, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING + ) AS w2, SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w3, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w4, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w4, SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING) AS w5, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING) AS w6, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING + ) AS w6, SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING) AS w7, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING) AS w8 + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING + ) AS w8 FROM main.sbtransaction ORDER BY sbtxdatetime diff --git a/tests/test_sql_refsols/window_sliding_frame_relsum_trino.sql b/tests/test_sql_refsols/window_sliding_frame_relsum_trino.sql index cc7d2b368..d1e8de585 100644 --- a/tests/test_sql_refsols/window_sliding_frame_relsum_trino.sql +++ b/tests/test_sql_refsols/window_sliding_frame_relsum_trino.sql @@ -1,13 +1,29 @@ SELECT sbtxid AS transaction_id, SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS w1, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS w2, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING + ) AS w2, SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w3, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS w4, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) AS w4, SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING) AS w5, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING) AS w6, + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING + ) AS w6, SUM(sbtxshares) OVER (ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING) AS w7, - SUM(sbtxshares) OVER (PARTITION BY sbtxcustid ORDER BY sbtxdatetime, sbtxid ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING) AS w8 + SUM(sbtxshares) OVER ( + PARTITION BY sbtxcustid + ORDER BY sbtxdatetime, sbtxid + ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING + ) AS w8 FROM main.sbtransaction ORDER BY sbtxdatetime NULLS FIRST diff --git a/tests/test_sql_refsols/year_month_nation_orders_oracle.sql b/tests/test_sql_refsols/year_month_nation_orders_oracle.sql index 6c7c1e353..3d4bcb514 100644 --- a/tests/test_sql_refsols/year_month_nation_orders_oracle.sql +++ b/tests/test_sql_refsols/year_month_nation_orders_oracle.sql @@ -1,21 +1,21 @@ SELECT - NATION.n_name AS nation_name, - EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)) AS order_year, - EXTRACT(MONTH FROM CAST(ORDERS.o_orderdate AS DATE)) AS order_month, + NATION.N_NAME AS nation_name, + EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)) AS order_year, + EXTRACT(MONTH FROM CAST(ORDERS.O_ORDERDATE AS DATE)) AS order_month, COUNT(*) AS n_orders FROM TPCH.REGION REGION JOIN TPCH.NATION NATION - ON NATION.n_regionkey = REGION.r_regionkey + ON NATION.N_REGIONKEY = REGION.R_REGIONKEY JOIN TPCH.CUSTOMER CUSTOMER - ON CUSTOMER.c_nationkey = NATION.n_nationkey + ON CUSTOMER.C_NATIONKEY = NATION.N_NATIONKEY JOIN TPCH.ORDERS ORDERS - ON CUSTOMER.c_custkey = ORDERS.o_custkey AND ORDERS.o_orderpriority = '1-URGENT' + ON CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY AND ORDERS.O_ORDERPRIORITY = '1-URGENT' WHERE - REGION.r_name IN ('ASIA', 'AFRICA') + REGION.R_NAME IN ('ASIA', 'AFRICA') GROUP BY - EXTRACT(MONTH FROM CAST(ORDERS.o_orderdate AS DATE)), - EXTRACT(YEAR FROM CAST(ORDERS.o_orderdate AS DATE)), - NATION.n_name + EXTRACT(MONTH FROM CAST(ORDERS.O_ORDERDATE AS DATE)), + EXTRACT(YEAR FROM CAST(ORDERS.O_ORDERDATE AS DATE)), + NATION.N_NAME ORDER BY 4 DESC NULLS LAST FETCH FIRST 5 ROWS ONLY diff --git a/tests/test_sql_refsols/yoy_change_in_num_orders_oracle.sql b/tests/test_sql_refsols/yoy_change_in_num_orders_oracle.sql index 9ec097740..9dab9ddd8 100644 --- a/tests/test_sql_refsols/yoy_change_in_num_orders_oracle.sql +++ b/tests/test_sql_refsols/yoy_change_in_num_orders_oracle.sql @@ -1,10 +1,10 @@ -WITH "_T0" AS ( +WITH "_t0" AS ( SELECT - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) AS YEAR_O_ORDERDATE, + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) AS YEAR_O_ORDERDATE, COUNT(*) AS N_ROWS FROM TPCH.ORDERS GROUP BY - EXTRACT(YEAR FROM CAST(o_orderdate AS DATE)) + EXTRACT(YEAR FROM CAST(O_ORDERDATE AS DATE)) ) SELECT YEAR_O_ORDERDATE AS year, @@ -12,6 +12,6 @@ SELECT ( 100.0 * CAST(N_ROWS - LAG(N_ROWS, 1) OVER (ORDER BY YEAR_O_ORDERDATE) AS DOUBLE PRECISION) ) / LAG(N_ROWS, 1) OVER (ORDER BY YEAR_O_ORDERDATE) AS pct_change -FROM "_T0" +FROM "_t0" ORDER BY 1 NULLS FIRST