Release Notes¶
GSP Java v3.x to v4 Migration Guide
Version history of general sql parser¶
GSP Java version 3.3.1.9(2025-11-23)¶
- 2025-11-23 Convert ENABLE_RESOLVER to ThreadLocal for thread safety
- 2025-11-22 Add support for PL/SQL NEW constructor with empty params
- 2025-11-20 Fix resolver error in parseExpression method
3.3.1.7 (2025-11-16)¶
- 2025-11-16: Improve UNION column propagation and prevent duplicate links
- 2025-11-16: Fix star column push down for UNION in CTE subqueries
- 2025-11-16: Fix Snowflake CREATE TABLE to support multiple table options
- 2025-11-15: Fix parse bug for lock row for access used in cursor declaration
- 2025-11-15: Fix CASE expression matching in Teradata procedures
- 2025-11-15: Fix NullPointerException in Teradata implicit table column linking
- 2025-11-15: Fix UNION column name resolution to use leftmost query
- 2025-11-15: Add SET TIME ZONE statement parsing for Teradata
- 2025-11-15: Add END_FASTEXPORT command type for Teradata
3.2.1.5 (2025-10-26)¶
- 2025-10-26: Fix DROP SECURITY POLICY parsing in IF statements
- 2025-10-26: Fix PARTITION BY expression parsing in Snowflake
- 2025-10-26: Integrate file format properties parsing and XML output
- 2025-10-26: Add parseFileFormatProperties method to TCreateTableOption
- 2025-10-26: Add file format properties list to TCreateTableOption
3.2.1.4 (2025-10-26)¶
- 2025-10-26: Add areEqualStatic method to IdentifierService
- 2025-10-26: Add static cache to IdentifierService for performance
- 2025-10-26: Refactor identifier normalization to use service pattern
- 2025-10-26: Fix multithreading bug in SqlCmdsFactory
- 2025-10-26: Improve SQL Server identifier handling and tests
- 2025-10-22: Enable catalog hierarchical and bucketed indexes
- 2025-10-21: Use SQLUtil.getIdentifierNormalName in keyForMap (temporary)
- 2025-10-21: Enhance IdentifierRules Javadoc with compatibility info
- 2025-10-20: Enhance Javadoc for IdentifierService and SQLUtil
- 2025-10-20: Remove redundant catalogStore field and USE_CALCITE_CATALOG_VIEW flag
- 2025-10-20: Refactor CatalogStore to use IdentifierService
- 2025-10-19: Add catalog documentation README index
- 2025-10-19: Add comprehensive catalog documentation for 12 major databases
- 2025-10-18: Add Oracle catalog documentation for beginners
- 2025-10-18: Fix collation case sensitivity configuration bugs
3.2.0.2 (2025-10-15)¶
- 2025-10-15: Fix parsing conversion functions as column names
- 2025-10-15: Add array indexing support for GaussDB
- 2025-10-15: Add table kind support for GaussDB CREATE TABLE
- 2025-10-10: Add GitHub Actions workflow for PR test automation
- 2025-10-10: Add INSERTED/DELETED as SQL Server reserved words
3.2.0.1 (2025-10-08)¶
- 2025-10-08: Fix json_table rewrite bug in script generator
- 2025-10-08: Remove unused findXXXCmd methods from TSqlCmds
- 2025-10-08: Refactor TSqlCmds.java into db vendor specific TSqlCmdsXXX
- 2025-10-08: Document command ordering bug with real example
- 2025-10-08: Fix command ordering for DATABASE SCOPED CREDENTIAL
- 2025-10-08: Migrate MDX to modular architecture
- 2025-10-08: Unify vendor implementations for Trino, SOQL, ODBC
- 2025-10-07: Migrate Vertica to modular architecture
- 2025-10-07: Migrate Sybase to modular architecture
- 2025-10-07: Migrate SparkSQL to modular architecture
- 2025-10-07: Migrate Snowflake to modular architecture
- 2025-10-07: Migrate Redshift to modular architecture
- 2025-10-07: Migrate Presto to modular architecture
- 2025-10-07: Migrate OpenEdge to modular architecture
- 2025-10-07: Migrate Netezza to modular architecture
- 2025-10-07: Migrate Informix to modular architecture
- 2025-10-07: Migrate HANA to modular architecture
- 2025-10-07: Migrate Greenplum to modular architecture
- 2025-10-07: Migrate GaussDB to modular architecture
- 2025-10-07: Migrate DB2 to modular architecture
- 2025-10-07: Migrate Databricks to modular architecture
- 2025-10-07: Migrate Couchbase to modular architecture
- 2025-10-07: Migrate BigQuery to modular architecture
- 2025-10-07: Migrate Teradata to modular architecture
- 2025-10-07: Remove FindMssqlCmdUsedByYacc
- 2025-10-07: Migrate MySQL to modular architecture
- 2025-10-07: Migrate PostgreSQL to modular architecture
- 2025-10-07: Migrate MSSQL to modular vendor-specific architecture
- 2025-10-07: Support vendor-specific token strings in modular architecture
- 2025-10-06: Migrate MSSQL command initialization to TSqlCmdsMssql
- 2025-10-06: Refactor TSqlCmds to vendor-specific lazy-loading architecture
- 2025-10-05: Refactor: Move TSqlCmds to sqlcmds package
- 2025-10-05: Add high-impact factory methods based on profiler analysis
- 2025-10-05: Optimize Oracle package function lookup with thread-safe lazy init
- 2025-10-05: Expand factory methods for common node types
- 2025-10-04: Avoid skipping table.* when only one source exists
- 2025-10-04: Fix Teradata lexer to treat $_ identifiers correctly
- 2025-10-04: Merge pull request #550 from sqlparser/dev
- 2025-10-04: Fixed MySQL Metadata Bug.
3.1.1.3 (2025-10-02)¶
- 2025-10-02: Add getLastLineNoOfLastStatementBeenValidated() for huge file splitting
- 2025-10-02: Optimize token code comparisons in domssqlgetrawsqlstatements
3.1.1.2 (2025-09-27)¶
- 2025-09-27: Optimize isopchar and isselfchar methods in TCustomLexer
- 2025-09-27: Remove sourceBuffer of lexer
- 2025-09-27: Add test units
- 2025-09-27: Fix CTE column mapping when subquery uses SELECT *
- 2025-09-27: Fix Teradata table resolution when original name used despite alias
- 2025-09-27: Document Teradata implicit derived tables processing
3.1.1.1 (2025-09-21)¶
- 2025-09-20: Optimize showERG graph demo
- 2025-09-20: Update DataFlowAnalyzer demo
- 2025-09-19: Build pom for dlineage
- 2025-09-19: Set genDataflowGraph showLinkOnly default value to true
3.1.1.0 (2025-09-14)¶
- 2025-09-14: Feat: Add stable sqlHash for lineage statement identity
- 2025-09-14: Feat: Add stable queryId to SQL statements
- 2025-09-14: Feat: Introduce new source token management system
- 2025-09-14: feat(lexer): Implement lazy loading for token text
- 2025-09-13: tmp for lazyloading token
- 2025-09-13: Refactor: Implement lazy loading lexer architecture
- 2025-09-13: Docs: Document lexer architecture and lazy loading design
- 2025-09-13: Optimize memory usage with lazy ArrayList initialization
3.1.0.9 (2025-09-13)¶
- 2025-09-13: Fix column linking for inserted/deleted in triggers
- 2025-09-13: claude helpfile
- 2025-09-13: Add parser pool implementation without performance gains
- 2025-09-13: Add thread-safe parser pool for 10x performance gain
3.1.0.8 (2025-09-13)¶
- 2025-09-13: Refactor and harden parser build scripts
- 2025-09-13: Refactor: Move SQL grammar files to core module
3.1.0.7 (2025-09-11)¶
- 2025-09-11: Test: Verify pseudo-table resolution in triggers
- 2025-09-10: Refactor: Support chained transformations for columns
- 2025-09-08: Docs: Explain issues with varied relationship types
- 2025-09-07: Update lineage design doc
- 2025-09-07: Fix(Snowflake): Correct name of wildcard with EXCLUDE clause
- 2025-09-07: Fix duplicate output for field selection expressions
- 2025-09-07: Fix SQL generation for array access and slices
- 2025-09-07: Add type discrimination to TIndices for array vs qualified name syntax
- 2025-09-07: Fix column resolution for Oracle dblink tables
- 2025-09-06: Restructure dlineage demo
- 2025-09-06: Merge pull request #537 from sqlparser/dev
- 2025-09-06: Doc: Define modeling practices for JOIN conditions
- 2025-09-03: Clarify graphPartition sharding note in v2 doc
- 2025-09-03: Rename WEAK_COPY to MODIFIED_COPY and refine categories
- 2025-08-31: Docs: Extend v2 design with effectType rules and table/column combos
3.1.0.5 (2025-08-30)¶
- 2025-08-30: Add GROUP BY ALL modifier support to TGroupBy class
- 2025-08-30: Fix: Restrict INSERTED/DELETED column logic to SQL Server
- 2025-08-30: Docs: Warn of SQL formatter side effects on parser state
- 2025-08-30: Refactor toString method for better readability
- 2025-08-30: Fix token iteration in visitNodeByToken
- 2025-08-28: Docs: Unify and enhance data lineage specification
- 2025-08-28: Refactor: Restructure demos into Maven multi-module project
- 2025-08-28: Refactor: Move database connection logic to provider
3.1.0.2 (2025-08-15)¶
- 2025-08-15: [Dlineage] Fix a bug the data lineage of parameters in function call is not mapping correctly.
3.1.0.1 (2025-08-01)¶
- 2025-08-01: [GaussDB] Fixed a bug where the COUNT aggregate function was not properly recognized as a built-in function in the parser.
- 2025-08-01: [GaussDB] Fixed a bug where the LIKE operator incorrectly had lower precedence than the AND operator in pattern matching conditions. Updated operator precedence to ensure LIKE has higher precedence.
3.1.0.0 (2025-07-27)¶
- 2025-07-27: [Postgres] Fix a bug not materialized is not supported in WITH clause.
- 2025-07-27: [Oracle] Support default collation clause in create view/create function/create procedure/create trigger.
- 2025-07-27: [SQL Server] Fix a bug ALTER TABLE REBUILD WITH(DATA_COMPRESSION = PAGE) is not parsed correctly.
3.0.9.9 (2025-07-26)¶
- 2025-07-26: [Redshift] Fixed a performance issue with large INSERT statements; efficiently handles thousands of tuples (e.g. $1, $2, ...).
3.0.9.8 (2025-07-20)¶
- 2025-07-20: [SparkSQL] Bugfix, fix a bug position keyword can't be used as column name.
3.0.9.7 (2025-07-19)¶
- 2025-07-19: [scriptWriter] Fixed a bug where field selection syntax with parentheses (e.g. "(d).grantee") was not being generated correctly.
- 2025-07-19: [scriptWriter] Fixed a bug where column lists in DISTINCT ON clauses were not being properly generated.
3.0.9.6 (2025-07-10)¶
- 2025-07-10: [data lineage] Fixed bug in DataflowAnalyzer using SQL environment settings.
3.0.9.5 (2025-07-06)¶
- 2025-07-06: [Vertica] Support USING PARAMETERS clause in LISTAGG function.
- 2025-07-06: [Vertica] Support NULLSEQUAL operator.
- 2025-07-06: [Snowflake] Fixed bug with procedure bodies using only two consecutive tokens before semicolon.
- 2025-07-06: [SQL Server] Fix INSERTED pseudo table in CREATE TRIGGER column resolution.
- 2025-07-06: [SQL Server] Fix column in IF UPDATE() OR UPDATE() of trigger not picked up.
3.0.9.4 (2025-06-15)¶
- 2025-06-15: [PostgreSQL] Support create recursive view.
- 2025-06-15: [SQL Server] Fix can't parse partitions clause in TRUNCATE TABLE.
- 2025-06-15: [BigQuery] Add support for star column expressions in array access.
- 2025-06-15: [BigQuery] Add support for various DROP statements.
- 2025-06-15: [BigQuery] Fix length specification for BYTES datatype.
- 2025-06-15: [BigQuery] Fix IF NOT EXISTS clause in CREATE MATERIALIZED VIEW.
- 2025-06-15: [Athena] Fix NPE in ALTER TABLE RENAME PARTITION.
- 2025-06-15: [General] Fix thread-safety in TNodeFactory.
3.0.9.3 (2025-06-08)¶
- 2025-06-08: [scriptWriter] Fix bug with column.property rewrite in SQL script generation.
3.0.9.3 (2025-06-08)¶
- 2025-06-08: [PostgreSQL] Fix bug with AS datatype clause in CREATE SEQUENCE.
- 2025-06-08: [PostgerSQL] Support ALTER INDEX.
- 2025-06-08: [Teradata] Preserve both NAMED clause and AS alias in SELECT list.
- 2025-06-08: [Teradata] Support EXECUTE ... USING ... in procedures.
- 2025-06-08: [Teradata] Add FOREIGN TABLE syntax in FROM clause.
- 2025-06-08: [Teradata] Add IGNORE NULLS clause before OVER in agg functions.
- 2025-06-08: [Teradata] Fix parsing SELECT substring(..., position(...) + 5 FOR 5)
- 2025-06-08: [PostgerSQL] Support CREATE/ALTER ROLE.
- 2025-06-08: [Snowflake] Fix COMMENT keyword as column alias in SELECT.
3.0.9.3 (2025-06-07)¶
- 2025-06-07: [SparkSQL] Support LEFT/RIGHT JOIN without explicit ON.
- 2025-06-07: [SparkSQL] Support grouping sets after group by items without comma.
- 2025-06-07: [SparkSQL] Fix AS keyword wrongly required in CTAS.
- 2025-06-07: [SparkSQL] Fix parsing FILTER clauses after aggregates.
3.0.9.2 (2025-06-02)¶
- 2025-06-02: [scriptWriter] Fix bug: array types like text[] rewritten as text.
- 2025-06-02: [scriptWriter] Fix bug: IS TRUE / IS FALSE not rewritten correctly.
- 2025-06-02: [scriptWriter] Fix bug: RECURSIVE keyword missing in CTE rewrites.
- 2025-06-02: [scriptWriter] Fix bug: ORDER BY in function call arguments.
- 2025-06-02: [scriptWriter] Fix bug: parens around CTE subqueries.
3.0.9.1 (2025-05-29)¶
- 2025-05-29: [Teradata] Fix can't process .EXPORT FILE BTEQ command.
3.0.9.0 (2025-05-27)¶
- 2025-05-27: [Oracle] Support sequence option in CREATE TABLE with IDENTITY.
3.0.8.8 (2025-05-18)¶
- 2025-05-18: [API] Enhance EDbVendor: getAllVendorAliases(), getDescription(), getStatus()
- 2025-05-18: [PostgreSQL] Support JSON operators (#-, @?, @@)
- 2025-05-18: [Vertica] Fix CREATE OR REPLACE procedure parsing.
- 2025-05-18: [Netezza] Fix/Support interval datatypes (all variations)
3.0.8.8 (2025-05-18)¶
- 2025-05-18: [General] Support sqlimpact.
3.0.8.7 (2025-05-18)¶
- 2025-05-18: [GaussDB] Support LANGUAGE clause in do statement.
3.0.8.6 (2025-05-17)¶
- 2025-05-17: [General] Parser handles missing semicolons robustly (adds virtual semicolon when missing).
- 2025-05-17: [Teradata] Fix NPE for ADD_MONTHS() with subquery param.
- 2025-05-17: [API] Add getOperatorTokens() to TExpression for multi-token ops (e.g. SIMILAR TO, IS DISTINCT FROM).
- 2025-05-17: [scriptWriter] Fix group comparisons in SELECT list SQL generation.
- 2025-05-17: [GaussDB] Support distribute BY in CREATE TABLE.
- 2025-05-17: [GaussDB] Support TRY_CAST function.
- 2025-05-17: [GaussDB] Fix LOCALTIMESTAMP(n) precision param parsed as column.
- 2025-05-17: [SparkSQL] Fix can't retrieve distribute by / sort by clause.
- 2025-05-17: [Snowflake] Fix parsing of LEFT JOIN in single-quote/dollar-proc.
- 2025-05-17: [GaussDB] Fix cast(1, int) not supported.
- 2025-05-17: [scriptWriter] toScript() appends semicolon if original ended with semicolon.
3.0.8.5 (2025-05-12)¶
- 2025-05-12: [SQL Server] Improve distinguishing -- comment vs. minus.
- 2025-05-12: [SQL Server] Fix TRUNCATE TABLE with table aliases.
3.0.8.4 (2025-05-11)¶
- 2025-05-11: [Oracle] Detect package constant/variable used in INSERT for lineage.
3.0.8.3 (2025-05-11)¶
- 2025-05-11: [Snowflake] Support table index constraint.
- 2025-05-11: [scriptWriter] In PostgreSQL, special SQL functions handling parens.
3.0.8.2 (2025-05-11)¶
- 2025-05-11: [General] INSERT processed during the SQL Resolver.
3.0.8.1 (2025-05-08)¶
- 2025-05-08: [General] Fix critical OOM in TStarColumnPushDownResolver (nested UNION ALL).
3.0.8.1 (2025-05-07)¶
- 2025-05-07: [SQL Server] Fix can't parse CREATE OR ALTER FUNCTION.
3.0.8.0 (2025-05-06)¶
- 2025-05-06: [General] Merge some source code.
3.0.7.9 (2025-05-04)¶
- 2025-05-04: [PostgreSQL] Fix parsing of UNION DISTINCT clause.
3.0.7.8 (2025-05-04)¶
- 2025-05-04: [Databricks] Fix normalization of backtick-quoted identifiers.
- 2025-05-04: [SparkSQL] Fix parsing column alias lists in parentheses with EXPLODE.
3.0.7.7 (2025-05-03)¶
- 2025-05-03: [Hive] Fix LATERAL VIEW EXPLODE alias analysis.
- 2025-05-03: [PostgreSQL/toScript] Fix type cast (::) handling in script generation.
3.0.7.6 (2025-05-01)¶
- 2025-05-01: [Performance] Cached/specialized factory methods in TNodeFactory.createNode()
3.0.7.5 (2025-04-29)¶
- 2025-04-29: [Teradata] Support array element access with quoted identifiers.
- 2025-04-29: [Teradata] Fix same-name tables in different DBs treated as the same.
3.0.7.4 (2025-04-28)¶
- 2025-04-28: [SparkSQL] Fix == equality operator handling.
- 2025-04-28: [SparkSQL] Fix & bitwise AND operator handling.
3.0.7.3 (2025-04-27)¶
- 2025-04-27: [General] Performance improved.
3.0.7.2 (2025-04-20)¶
- 2025-04-20: [PostgreSQL] Support array element access on array-returning functions.
- 2025-04-20: [BigQuery] Support CREATE OR REPLACE TEMPORARY TABLE.
- 2025-04-20: [SQL Server] Fix comments with leading whitespace.
- 2025-04-20: [API] Add TRedshiftTableAttributes.
- 2025-04-20: [Redshift] Add DISTSTYLE for materialized views.
- 2025-04-20: [Teradata] Fix DAYNUMBER_OF_MONTH not recognized.
- 2025-04-20: [Teradata] Fix || precedence.
- 2025-04-20: [API] Add implicit_datatype_cast_as_t for '... AS ...' expressions.
- 2025-04-20: [API] PARSE/TRY_PARSE use getArgs() for SQL Server.
3.0.7.2 (2025-04-19)¶
- 2025-04-19: [Snowflake] Properly detect INSERT OVERWRITE clause.
- 2025-04-19: [Vertica] Fix '||' concatenate op.
- 2025-04-19: [MySQL] Support JSON_TABLE.
- 2025-04-19: [MySQL] Support column-level check constraint.
- 2025-04-19: [MySQL] Support ALTER TABLE ADD CONSTRAINT CHECK.
- 2025-04-19: [DB2] Fix TYPE keyword as valid column name in SELECT.
3.0.7.1 (2025-04-17)¶
- 2025-04-17: [General] Fix various test case failures.
3.0.7.0 (2025-04-15)¶
- 2025-04-15: [Snowflake] Fix LEFT/RIGHT join keywords treated as column aliases.
3.0.6.9 (2025-04-13)¶
- 2025-04-13: [gettablecolumn] Match table.column.property to table.* in FROM.
3.0.6.8 (2025-04-12)¶
- 2025-04-12: [BigQuery] Link array element accesses with [offset] to table columns.
- 2025-04-12: [API] Add EExpressionType.teradata_at_t AT time zone support.
- 2025-04-12: [Teradata] Extract time_zone_specification from AT clause.
- 2025-04-12: [Teradata] Add support for many named builtins.
- 2025-04-12: [Snowflake] Support ASOF JOIN.
- 2025-04-12: [SparkSQL] Support grouping set in group by.
3.0.6.7 (2025-04-12)¶
- 2025-04-12: [Hive,SparkSQL] Clarify alias rules for SELECT list.
- 2025-04-12: [Presto] Fix select trailing comma.
3.0.6.6 (2025-04-06)¶
- 2025-04-06: [Teradata] Fix "WITH DATA" clause treats "data" as column name.
- 2025-04-06: [resolver] New column-to-table algorithm takes precedence over old.
- 2025-04-06: [Sybase] Fix alias in SELECT: 'id_col=identity(5)'.
3.0.6.5 (2025-04-05)¶
- 2025-04-05: [Oracle] Fix can't parse EXECUTE PROC_A3; correctly.
- 2025-04-05: [Oracle] Fetch proc name from sqlplus EXEC.
3.0.6.4 (2025-04-05)¶
- 2025-04-05: [Snowflake] REAL keyword can be table alias.
- 2025-04-05: [Oracle] Support parens expr with property access.
- 2025-04-05: [Snowflake] Fix SWAP WITH table direction.
- 2025-04-05: [MySQL] Support EXCEPT clause.
3.0.6.3 (2025-04-04)¶
- 2025-04-04: [Databricks] Fix parens around split() in array access.
- 2025-04-04: [BigQuery] Add TArrayConcatAggFunction.
- 2025-04-04: [GaussDB] Fix 'day' param in TIMESTAMPDIFF.
- 2025-04-04: [General] Remove fake orphan column warning.
- 2025-04-04: [GaussDB] DOUBLE alias for DOUBLE PRECISION.
- 2025-04-04: [GaussDB] Fix can't parse LIMIT 1,1.
3.0.6.2 (2025-04-01)¶
- 2025-04-01: [SparkSQL] Support array access expression.
- 2025-04-01: [SparkSQL] Parsing fix: split negative numbers tokens.
- 2025-04-01: [BigQuery] Show dot after numeric in TObjectName.toString().
3.0.6.0 (2025-03-24)¶
- 2025-03-24: [Teradata] Fix duplicate derived tables in WHERE clause.
3.0.5.9 (2025-03-23)¶
- 2025-03-23: [Databricks/Hive] Support Hash (#) comments.
3.0.5.8 (2025-03-11)¶
- 2025-03-11: [column resolver] Fix bug: column inside UNNEST mislinked.
3.0.5.7 (2025-03-09)¶
- 2025-03-09: [API] ETableEffectType.tetTeradataReference renamed to tetImplicitLateralDerivedTable.
- 2025-03-09: [column resolver] Subquery columns link to subquery FROM by preference.
3.0.5.6 (2025-03-04)¶
- 2025-03-04: [demo] Remove dbConnect from gsp_demo_java.
3.0.5.5 (2025-03-02)¶
- 2025-03-02: [SQL formatter] Fix can't process Teradata Implicit Lateral Derived Table.
3.0.5.4 (2025-03-02)¶
- 2025-03-02: [Vertica] Fix localtime() number param as column.
- 2025-03-02: [Vertica] Support RENAME COLUMN in ALTER TABLE.
3.0.5.3 (2025-03-01)¶
- 2025-03-01: [column resolver] Fix SET in UPDATE to wrong table.
- 2025-03-01: [GaussDB] Support OVERWRITE in INSERT (DWS).
- 2025-03-01: [General] Remove fake orphan column warning.
- 2025-03-01: [Oracle] Resolve package/function/proc name in procedure.
3.0.5.2 (2025-03-01)¶
- 2025-03-01: [DB2] Support ARRAY[1,2,3] (DB2 10.5+).
- 2025-03-01: [DB2] Fix null exception with MERGE/USING/VALUES.
3.0.5.1 (2025-02-27)¶
- 2025-02-27: [getTableColumn] Refactor name resolution logic.
3.0.4.7 (2025-02-08)¶
- 2025-02-08: [General] Fix bugs in resolver, refactor needed.
3.0.4.5 (2025-02-06)¶
- 2025-02-06: [dlineage] Incorrect mapping for SQL Server alias.
3.0.4.5 (2025-02-06)¶
- 2025-02-06: [dlineage] Missing column link for BigQuery.
-
2025-02-06: [semantic] How GSP links unqualified columns to tables.
-
Consider this query:
SELECT append_business_key, f.worklist_field_name AS field_name, f.field_data_type FROM FIN_ICOLLECTION.ico_worklist_append_t a INNER JOIN FIN_ICOLLECTION.ico_worklist_field_info_t f ON a.append_business_key = f.worklist_field_id
- When GSP analyzes this query without extra metadata, it deduces which table an unqualified column belongs to.
- The JOIN condition (a.append_business_key) signals that append_business_key belongs to FIN_ICOLLECTION.ico_worklist_append_t.
- GSP 3.0.4.4 or later links the unqualified append_business_key in SELECT to FIN_ICOLLECTION.ico_worklist_append_t.
-
But if both tables have append_business_key, the reference is ambiguous and needs explicit qualification.
-
Changed behavior:
- Before 3.0.4.4: append_business_key was orphan column.
- Since 3.0.4.4: linked to FIN_ICOLLECTION.ico_worklist_append_t if found in JOIN.
3.0.4.3 (2025-02-02)¶
- 2025-02-02: [Vertica] Support PARTITION BY clause in CREATE TABLE.
- 2025-02-02: [Vertica] Support CREATE TABLE LIKE.
- 2025-02-02: [Vertica] Support ARRAY datatype.
- 2025-02-02: [Vertica] Window support for partitioned result in LIMIT.
- 2025-02-02: [Vertica] Fix on MERGE condition could omit parenthesis.
- 2025-02-02: [Vertica] Support ENABLED/DISABLED in PK col constraint.
- 2025-02-02: [Vertica] TEMP table fix for TableKinds.
3.0.4.2 (2025-01-25)¶
- 2025-01-25: [Vertica] Support DISABLED/ENABLED keyword in constraints.
- 2025-01-25: [Teradata] Fix TRUNC function in IN clause.
- 2025-01-25: [Vertica] Support CALL.
- 2025-01-25: [Vertica] Fix can't parse UNION DISTINCT.
- 2025-01-25: [Vertica] Support ISNULL function.
- 2025-01-25: [Vertica] Support MINUS operator.
- 2025-01-25: [Teradata] Fix CHECKSUM=ALL in CREATE TABLE.
3.0.4.1 (2025-01-20)¶
- 2025-01-20: [Evaluator] Remove outer quotes/handle escaped quotes in string.
3.0.4.0 (2025-01-19)¶
- 2025-01-19: [Evaluator] Support plsql block with loop.
- 2025-01-19: [BigQuery] Fix unable to expand star in SELECT *.
3.0.3.9 (2025-01-12)¶
- 2025-01-12: [Snowflake] Support WITH TAG in view columns.
- 2025-01-12: [SQL Server] Fix can't parse CTAS with CTE used in select.
- 2025-01-12: [Oracle] Recognize CALL after procedure.
3.0.3.8 (2025-01-11)¶
- 2025-01-11: [Snowflake] Fix double dollar delimiter for non-addition binary ops.
- 2025-01-11: [Teradata] Support partition by column in CREATE TABLE.
- 2025-01-11: [Teradata] Support partition by all but.
- 2025-01-11: [Teradata] Parse multiple params in SIGNAL SET.
3.0.3.7 (2025-01-05)¶
- 2025-01-05: [Teradata] Support sequenced/nonsequenced VALIDTIME.
- 2025-01-05: [Teradata] Fix INTERVAL ... HOUR TO MINUTE in CAST.
- 2025-01-05: [Teradata] Insert in WHEN NOT MATCHED should be assignment_t type.
- 2025-01-05: [Teradata] Recognize TTeradataBTEQCmd.bteqCmdType (BTEQ CMD).
3.0.3.7 (2025-01-04)¶
- 2025-01-04: [Snowflake] Support BEGIN; in single-quoted stored procs.
- 2025-01-04: [Snowflake] Support BEGIN; in stored procs.
- 2025-01-04: [dlineage] Add showCandidateTable option for candidate table column links.