Skip to content

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.