+ dotnet version 3.4.1.0(2022-07-22) - [SQL Server] support deny statement. + dotnet version 3.4.0.9(2022-03-23) - [Oracle] support listagg function. + dotnet version 3.4.0.9(2022-03-21) - [snowflake/toScript] fix a bug can't output nulls first/last correctly. - [sql server] fix a bug can't parse set clause in alter table statement. - [sql server] fix a bug can't parse drop table statement when if exists clause is used. + dotnet version 3.4.0.8(2022-02-02) - [snowflake, toScript] fix a bug can't rewrite boolean and TIMESTAMP_NTZ datatype used in cast function correctly. + dotnet version 3.4.0.7(2021-11-02) - [snowflake] fix a bug can't recognize concatenation operator || + dotnet version 3.4.0.6(2021-07-05) - [general] Try to fix bug that parse sql query text in parallel - [MySQL] fix a bug can't handle syntax like this: =.5 + dotnet version 3.4.0.5(2021-06-10) - [toScript] fix a bug missing parenthesis around CTE query. + dotnet version 3.4.0.3(2021-06-01) - [Hana, BigQuery] Hana, BigQuery is not supported yet. + dotnet version 3.4.0.2(2021-05-26) - [snowflake] support qualify clause. + dotnet version 3.4.0.1(2021-05-07) - [general] new repo for this version. + dotnet version 3.3.3.1(2021-04-08) - [PostgreSQL] fix a null exception while parsing create procedure. + dotnet version 3.3.3.1(2021-04-06) - [Oracle] support expression operator in using clause of execute statement. + dotnet version 3.3.3.0(2021-03-04) - [scriptWriter] fix a bug can't rewrite unsigned, time, binary datatype. - [snowflake] support create stream statement. - [snowflake] support varchar collate clause in data type. + dotnet version 3.3.2.6(2020-12-18) - [MySQL] fix toScript() bug for cast function with decimal data type. + dotnet version 3.3.2.6(2020-11-26) - [general] sign assembly with SHA-2 instead of SHA-1 + dotnet version 3.3.2.5(2020-11-09) - [Snowflake] fully support. - [SQL Server] support OPENJSON. - [PostgreSQL] support variable. + dotnet version 3.3.2.4(2020-08-25) - [API] new class: TIdentityClause, TColumnDefinition.IdentityClause - [Oracle] support identity column. + dotnet version 3.3.2.3(2020-08-21) - [snowflake/API] TCreateFileFormatStmt.getFormatOptions() returns the text of the file format options. - [Snowflake] support create materalized view. - [Snowflake/API] TCreateTableOption.getCopyOptions() reprsents for STAGE_COPY_OPTIONS. - [Snowflake/API] add TCreateTableOption to represents for the create table option. + dotnet version 3.3.2.2(2020-07-25) - [snowflake] support WITH LOCAL TIME ZONE - [snowflake] support datetime with length specified. - [snowflake] fully support AUTOINCREMENT + dotnet version 3.3.2.1(2020-07-14) - [scriptWriter/SQL Server] fix a bug can't output join hint. - [API] add new enum: EJoinHint + dotnet version 3.3.2.0(2020-07-10) - [scriptWriter] support nulls first/last. - [scriptWriter] fix a bug can't rewrite group_concat/date_sub correctly. - [Snowflake] fully support snowflake. - [SQL Server] fix a bug can't parse FETCH clause in select statement. + dotnet version 3.3.1.3(2020-05-08) - [Oracle] support GENERATED AS IDENTITY in column definition. + dotnet version 3.3.1.3(2020-05-07) - [Oracle] fix a null exception when visit object access expression inside stored procedure. + dotnet version 3.3.1.3(2020-05-06) - [Oracle] fix a bug can't parse varying after character type. + dotnet version 3.3.1.3(2020-04-30) - [sqlformat] fix a bug XQuery .value() can be set to lowercase correctly by setting option.caseFuncname = gudusoft.gsqlparser.pp.para.styleenums.TCaseOption.CoLowercase; + dotnet version 3.3.1.3(2020-04-24) - [API] TScriptGeneratorVisitor.visitNodeByToken() read all tokens of a node from TParseTreeNode.SourceTokenList - [API] add new property: TParseTreeNode, public EDbVendor dbvendor - [API] add new constructor: TParseTreeNode() and TParseTreeNode(EDbVendor dbvendor). - [API] TParseTreeNode.String, when set value, it will be tokenlized into TParseTreeNode.SourceTokenList. - [API] add new property: TParseTreeNode.SourceTokenList, includes all tokens of this node. - [Oracle/scriptWriter] support GLOBAL/Local/TEMPORARY/Temp keyword in create table statement. - [SQL Server/scriptWriter] fix duplicate begin/end in create procedure statement. - [SQL Server/scriptWriter] add semicolon at the last statement in a block. - [SQL Server/scriptWriter] Able to rewrite bit datatype correctly. - [SQL Server] function name not parsed correctly. - [scriptWriter/Oracle] fix a bug that missing MULTISET keyword. - [scriptWriter/Oracle] fix a bug can't rewrite translate function. - [scriptWriter/SQLServer] fix a bug can't rewrite values clause with multiple values. + dotnet version 3.3.1.3(2020-04-10) - [general] typo in public class GFmtOpt, change opearateSourceToken to operateSourceToken + dotnet version 3.3.1.2(2020-03-03) - [MySQL] fix a bug can't handle ROWS keyword in over clause. - [API] add new property TSelectSqlStatement.Hint to replace TSelectSqlStatement.OracleHint - [MySQL] support hint in select statement. + dotnet version 3.3.1.2(2020-02-15) - [general/performance] performance improvement when there are lots of CTE used in statement. + dotnet version 3.3.1.2(2020-02-12) - [SQL Server/scriptWriter] support money datatype. - [PostgreSQL] fix a bug can't parse select statement with CTE in insert statement. + dotnet version 3.3.1.2(2020-02-06) - [MySQL/ScriptWriter] support replace into set clause. + dotnet version 3.3.1.1(2020-02-05) - [MySQL/ScriptWriter] support DELAYED/HIGH_PRIORITY/LOW_PRIORITY in insert statement. - [MySQL] support CTE in update statement. + dotnet version 3.3.1.1(2020-02-04) - [DB2/scriptWriter] support truncate table. - [DB2] fully support drop table statement. + dotnet version 3.3.1.0(2019-12-04) - [Oracle] able to detect sql statement after create index, truncate and analyze table even those sql is not ended with a semicolon. + dotnet version 3.3.1.0(2019-11-27) - [formatter] improve sql formatter while there is a long oracle hint. + dotnet version 3.3.1.0(2019-11-12) - [Oracle] fix a bug OUTER APPLY take high priority than LEFT OUTER JOIN - [scriptWriter/Oracle] support bitmap keyword in create table statement. - [scriptWriter/SQL Server] support table hint in select statement. - [SQL Server] fix a bug doesn't recognize range keyword in window clause. - [scriptWriter/MySQL] support index hint in select statement. + dotnet version 3.3.1.0(2019-11-09) - [scriptWriter/MySQL] support distinctrow keyword in select statement. - [scriptWriter/MySQL] support order by and limit clause in delete statement. + dotnet version 3.3.0.5(2019-11-06) - [MySQL] support window function. + dotnet version 3.3.0.5(2019-10-31) - [Oracle] able to separate create table and other statements even if no semicolon is used after create table. + dotnet version 3.3.0.5(2019-10-30) - [MySQL] bug fix in sql lock of select statement. + dotnet version 3.3.0.5(2019-10-29) - [MySQL] support CTE introduced in MySQL8.0 + dotnet version 3.3.0.5(2019-10-28) - [MySQL] support join specification in cross join. - [MySQL] support update modifiers LOW_PRIORITY IGNORE - [MySQL] support select modifiers HIGH_PRIORITY] [STRAIGHT_JOIN][SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT][SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] - [MySQL] support delete modifiers LOW_PRIORITY QUICK IGNORE - [MySQL] support partition clause of from table in select/delete/insert/update. + dotnet version 3.3.0.5(2019-10-25) - [getTableColumn] table in into clause will be picked up. - [DB2] support limit clause. + dotnet version 3.3.0.5(2019-10-14) - [general] table.EffectType set to tetAlter in alter table statement. - [SQL Server/GetTableColumn] year/month/day/hour/minute/second keyword used as a column name can be picked up correctly. - [SQL Server] support query hint syntax like: OPTIMIZE FOR ( @variable_name { UNKNOWN | = literal_constant } [ , ...n ] ) + dotnet version 3.3.0.5(2019-10-10) - [lexer] fix a bug can't handle ?-- character of DB2/SQLServer/MySQL/PostgreSQL + dotnet version 3.3.0.4(2019-07-26) - [PostgreSQL] fix no root node error when parse create table of typename statement. - [PostgreSQL] fix a nullexception when parse collate clause. - [PostgreSQL] support GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY [ ( sequence_options ) ] - [PostgreSQL\SQL Server] support create schema statement. + dotnet version 3.3.0.4(2019-07-19) - [Teradata] support qualify clause in select list. + dotnet version 3.3.0.3(2019-07-04) - [redshift] fix a bug can't detect table.column name correct in select list. + dotnet version 3.3.0.2(2019-06-05) - [MySQL,scriptWriter] FROM keyword used in delete statement is picked up. + dotnet version 3.3.0.2(2019-05-31) - [scriptWriter] support declare cursor and SQL Server column alias. + dotnet version 3.3.0.2(2019-05-29) - [SQL Server] row/rows keyword can be used as cursor name - [SQL Server] support PERIOD FOR SYSTEM_TIME clause in create table. - [SQL Server] support GENERATED ALWAYS in column definition. - [MySQL] support not enforced clause in check constraint. - [SQL Server] support NOT FOR REPLICATION in check constraint + dotnet version 3.3.0.1(2019-04-15) - [netcore] improve the code to read database function and keyword resource file in a uniform way for both netcore and .net framework version. + dotnet version 3.2.8.7(2019-04-15) - [netcore] improve the code to read resource file in a uniform way for both netcore and .net framework version. + dotnet version 3.2.8.7(2019-04-08) - [SQL Server] fix null exception while iterate convert function. + dotnet version 3.2.8.6(2019-03-21) - [MySQL] fix a bug can't fetch Collation Name when datatype is enum. + dotnet version 3.2.8.6(2019-02-21) - [MDX] support variable in function call. - [MDX] support VBA!round function. - [API] TMdxAxisNode.getName_OR_Number() replaced by TMdxAxisNode.getAxis() + dotnet version 3.2.8.5(2019-02-13) - [SQL Sever] support create cluster columnstore index statement. + dotnet version 3.2.8.5(2019-01-30) - [API] add new property: TFunctionCall.StringExpr, TFunctionCall.SeparatorExpr for DB2 listagg function. - [DB2] support listagg function. + dotnet version 3.2.8.4(2019-01-29) - [API] add new property: TAlterTableOption.ConstraintName - [MySQL] support key column constraint. - [MySQL] be able to read schema default collate property when set with equal operator. - [API] add new value of enum: EColumnStorage.csNotSpecified - [MySQL] support table prefix in alter table add primary key clause. + dotnet version 3.2.8.4(2019-01-28) - [Oracle] support case expression in using clause of execute immediate statement. - [Oracle] support multiset union all in plsql expression. - [Oracle] support IS A SET operator in plsql code. - [general] fix a "Object reference not set to an instance of an object" bug when parsing set Content.write( substring(@Content, 1, @Length), @DataIndex, @Length ) clause in update statement. - [API] add new static methods: TGSqlParser.parseExpression,parseFunctionCall,parseObjectName,parseSubquery + dotnet version 3.2.8.4(2019-01-25) - [general] fix a NullReferenceException bug when get table name from FREETEXTTABLE/CONTAINSTABLE clause. + dotnet version 3.2.8.3(2019-01-14) - [DB2] Able to handle $$ODS_LOB in this expr: p.SUBDIV_QUALIFIER=$$ODS_LOB + dotnet version 3.2.8.3(2018-12-26) - [API] TUpdateSqlStatement.getReferenceJoins() replaced by TUpdateSqlStatement.joins - [API] TDeleteSqlStatement.ReferenceJoins set to from clause in delete statement correctly. + dotnet version 3.2.8.3(2018-12-25) - [API, SQL Server] add new property: TConstraint.DefaultForColumnName represents default column name in default constriant. - [MySQL] able to get default value of alter column clause in alter table statement. + dotnet version 3.2.8.2(2018-12-19) - [Oracle] labelName and endLabelName set correctly. + dotnet version 3.2.8.1(2018-12-13) - [SQL Server] support Addition Assignment in set clause of udpate statement. - [PostgreSQL] support grouping sets clause in group by clause. + dotnet version 3.2.8.0(2018-12-10) - [general] move source code demo and test to a new project. + dotnet version 3.2.7.9(2018-12-06) - [scriptWriter] support MySql: Column Datatype contains Collation And UNSIGNED ZEROFILL + dotnet version 3.2.7.9(2018-12-05) - [SQL formatter] keep comment at the begin of SQL. + dotnet version 3.2.7.9(2018-12-04) - [SQL Server] fix a null exception when value keyword used as a table alias + dotnet version 3.2.7.8(2018-12-04) - [MySQL/API] tableConstraint.constraintComment replaced by tableConstraint.IndexOptionList which indexOptionType is EIndexOptionType.iotComment. - [MySQL] support index option in table constraint - [API] add new property: ListIndexOptionList of class: TConstraint - [API] new enum value: EConstraintType.fulltextKey, EConstraintType.spatialKey + dotnet version 3.2.7.8(2018-12-03) - [MySQL] support REDUNDANT or COMPACT in Table.ROW_FORMAT option. + dotnet version 3.2.7.7(2018-11-29) - [SQL Server] support offset fetch in order by clause. + dotnet version 3.2.7.6(2018-11-22) - [API] add new enum: EGeneratedColumnStoreType - [API] add new property: TColumnDefinition.generatedColumnStoreType - [MySQL] support virtual and stored option of computed column. + dotnet version 3.2.7.6(2018-11-16) - [scriptWriter] support OPTION clause in select statement. - [demo\dataFlowAnalyzer] fix the Can't handle view column error. - [Oracle] fix nullexception when parse statements inside create trigger timing point section. - [Oracle] able to regonize compound trigger body during getting raw statement. + dotnet version 3.2.7.5(2018-11-01) - [API] function TLexerDatabase.canBeColumnName(), iskeyword(), getkeywordvalue() change to static function. + dotnet version 3.2.7.3(2018-10-25) - [MySQL] support compression/connection/key_block_size/row format compressed/STATS_AUTO_RECALC/STATS_PERSISTENT/STATS_SAMPLE_PAGES of create table option. - [API] TMySQLCreateTableOption.OptionName is replaced by tableOption. - [API] add new public enum ETableOption, used in MySQL create table statement. - [SQL Server] support create fulltext index statement. - [SQL Server] support create spatial index statement. + dotnet version 3.2.7.2(2018-10-21) - [SQL Server] support NO_PERFORMANCE_SPOOL, MIN_GRANT_PERCENT, HINT_MAX_GRANT_PERCENT - [API] add new enum elements: EQueryHint.E_QUERY_HINT_NO_PERFORMANCE_SPOOL, E_QUERY_HINT_MIN_GRANT_PERCENT, E_QUERY_HINT_MAX_GRANT_PERCENT - [SQL Server/scriptWriter] support call target expression of function call. - [Oracle] able to recognize create or repleace context statement. - [DB2] able to link column in call statement to table of create trigger statement. + dotnet version 3.2.7.1(2018-10-09) - [SQL Server] Doesn't treat [DATE] as a regular column name. + dotnet version 3.2.7.1(2018-10-08) - [API] TTypeName.isCharUnit(), TTypeName.ByteUnit is no longer used, replaced by TTypeName.charUnitToken - [Oracle] able to get label name after loop/while statement. - [Oracle] support on null clause in default clause. - [API] add new property: TColumnDefinition.onNull + dotnet version 3.2.7.0(2018-10-08) - [sql formatter] Able to format subquery or CASE statement inside of CAST function. + dotnet version 3.2.6.9(2018-10-03) - [API] add new property: TColumnDefinition.persistedColumn. - [SQL Server] able to get persisted information from column definition. - [API] add new property: TColumnDefinition.filestream. - [SQL Server] support FILESTREAM keyword in create table. - [API] add new property: TColumnDefinition.sparseColumn. - [SQL Server] Able to get SPARSE column information from TColumnDefinition. + dotnet version 3.2.6.8(2018-09-28) - [MySQL] Able to get comment/KEY_BLOCK_SIZE/parser name index option in MySQL create index statement. - [API] TMySQLIndexOption.indexOptionType - [API] add new enum: EIndexOptionType - [API] add new property : TCreateIndexSqlStatement.IndexOptionList to access index option of MySQL create index statement. - [SQL Server] able to fetch include column list from create index statement. + dotnet version 3.2.6.8(2018-09-27) - [API] add new property TColumnDefinition.columnComment, TConstraint.constraintComment - [API] add new property TColumnDefinition.calculatedExpr - [MySQL] support calculated column such as data_type [GENERATED ALWAYS] AS (expression) - [API] add new property TColumnDefinition.columnStorage - [API] add new enum: public enum EColumnStorage - [MySQL] support column storage type + dotnet version 3.2.6.8(2018-09-21) - [API] add new property TColumnDefinition.columnFormat - [API] add new enum: public enum EColumnFormat - [MySQL] support column format attribute. - [scriptWriter] typo: ncarchar2 should be correct to nvarchar2 - [scriptWriter] fix a bug oracle hint not after SELECT keyword. + dotnet version 3.2.6.7(2018-09-20) - [MySQL, API] Able to get zerofill and signed/unsigned info from datatype in TTypeName class. TTypeName.zeroFillToken, TTypeName.signedToken + dotnet version 3.2.6.7(2018-09-19) - [API] Able to get character set and collation name from create database statement. add new property: TCreateDatabaseSqlStatement.characterSet and collationName. - [MySQL] fully support create database statement. + dotnet version 3.2.6.6(2018-09-12) - [Oracle] support with ties clause and percent clause in row limiting clause. - [Oracle/scriptWriter] support offset clause in scriptWriter - [Oracle/scriptWriter] support fetch clause in scriptWriter + dotnet version 3.2.6.3(2018-09-11) - [Oracle] fix a bug can't rewrite Lateral keyword in from clause. + dotnet version 3.2.6.2(2018-09-04) - [API] TBaseType.versionid from public string versionid = Assembly.GetEntryAssembly().GetName().Version.ToString() to public const string versionId + dotnet version 3.2.6.1(2018-09-04) - [dotnet core] release a version for net core 2.0 + dotnet version 3.2.5.8(2018-08-23) - [API] Add TRollbackStmt to represent rollback statement. Able to recognize rollback in EXCEPTION clause. + dotnet version 3.2.5.7(2018-08-16) - [Oracle] fix a bug can't parse TABLE clause included in parenthesis. + dotnet version 3.2.5.7(2018-08-13) - [getTableColumn] fix a bug can't recognize the column derived from CTE. + dotnet version 3.2.5.6(2018-08-01) - [Oracle] fix a bug can't parse plsql block not ended by a semicolon. - [general] avoid System.ArgumentNullException when call isvalidsqlpluscmd(). + dotnet version 3.2.5.6(2018-07-27) - [scriptWriter] fix a bug when new TObjectName with object and part source token. - [API] add new method: TSourceToken.toScript() + dotnet version 3.2.5.6(2018-07-11) - [SQL Server] support include clause before where condition in create index statement - [SQL Server] support WITH (DATA_COMPRESSION = PAGE) in create table statement. - [yacc,lex] Able to process rule from 2500 to 3000 - [SQL Server] fix a bug can't parse CTE in declare for cursor statement. + dotnet version 3.2.5.5(2018-07-07) - [scriptWriter] fix a alias clause of pivot table not placed correct. - [scriptWriter] fix a bug can't rewrite bigint datatype correctly. + dotnet version 3.2.5.5(2018-07-05) - [scriptWriter] fix a bug can't rewrite datetime datatype correctly. + dotnet version 3.2.5.5(2018-06-04) - [SQL Server] support if exists clause in drop procedure/table/index statement. + dotnet version 3.2.5.4(2018-05-29) - [general] fix a null exception error raised when call TTable.getTableName() when tableType is subquery. + dotnet version 3.2.5.4(2018-05-25) - [sql format] fix a problem is that the first SELECT is printed after the closing ) of the INSERT INTO statement. + dotnet version 3.2.5.1(2018-05-16) - [general] upload Gudusoft.GeneralSQLParser package to nuget.org. - [general] library .NET core 2.0 compatible. + dotnet version 3.2.5.1(2018-05-13) - [demo\formatsql] move html output code to demo\formatsql, make this library .NET core 2.0 ready. + dotnet version 3.2.5.0(2018-05-10) - [demo\toXML] fix a bug that subquery in then clause of case statement not generated correctly. + dotnet version 3.2.5.0(2018-04-27) - [general] refine the code to remove unnecessary exception from the code. + dotnet version 3.2.4.6(2018-03-30) - [demo/sqlformat] support rtf output. - [general] Able to pickup oracle hint in delete/insert/update/merge statement. - [scriptWriter] fix a bug miss where keyword in delete clause of merge statement. + dotnet version 3.2.4.5(2018-03-14) - [scriptWriter] support for xml clause in scriptWriter - [SQL Server] support create or alter procedure. - [DB2] keyword IS can be used as table alias. - [Oracle] [Oracle/plsql] support new keyword in create trigger statement. + dotnet version 3.2.4.4(2018-03-13) - [demo/toXML] support for update clause in select statement. - [demo/toXML] support into clause in select statement. - [demo/toXML] support case statement in oracle plsql. - [demo/toXML] list the DISTINCT clause in select statement. - [demo/toXML] list return datatype in function declaration of a package. - [demo/toXML] Able to recognize commit statement inside plsql block. - [demo/toXML] Able to list CTE in subquery of insert statement. - [demo/toXML] Able to list into clause in execute immedate statement. + dotnet version 3.2.4.3(2018-03-02) - [API] add TExpression.OwnerStmt which points to the SQL statement which includes this expression. - [scriptWriter] fix a bug can't rewrite Oracle into clause if more than one variable in the list. + dotnet version 3.2.4.2(2018-02-19) - [demos/xmlvisitor] Able to fetch columns in primary key of MySQL create table statement. + dotnet version 3.2.4.1(2018-02-06) - [SQL Server] support use hint clause. + dotnet version 3.2.4.1(2018-01-30) - [DB2] fix a bug can't parse create trigger statement when there is no keyword RW_ATOMIC after BEGIN keyword in compound trigger body. - [DB2] fix a bug can't parse BEFORE keyword in trigger option in create trigger statement. + dotnet version 3.2.4.0(2018-01-25) - [scriptWriter] support Oracle hint in select/delete/insert/udpate/merge - [API] Move OracleHint from TSelectSqlStatement to TCustomSqlStatement + dotnet version 3.2.3.9(2017-12-12) - [general] convert function support parameter and style property, use the same property as Java version. modify convert function code in TScriptGeneratorVisitor.cs as well. + dotnet version 3.2.3.8(2017-12-08) - [DB2] fix a bug can't parse create procedure when there is no parameter. - [DB2] support always as clause in alter table statement. - [DB2] support alter table ADD VERSIONING USE HISTORY TABLE - [DB2] support alter table drop versioning. - [DB2] support drop columm cascade. - [DB2] support drop not null clause in alter column. - [DB2] able to recognize create variable statement. + dotnet version 3.2.3.8(2017-12-07) - [scriptWriter] fix a bug sql server convert function not rewrite correctly. - [DB2] supprt xmlserialize function. + dotnet version 3.2.3.7(2017-11-29) - [Oracle] fix a bug can't detect column in over clause of analytic function. - [SQL Server] keyword: xml, server,Catalog, Cube treated as column name correctly. + dotnet version 3.2.3.6(2017-11-01) - [Oracle] fix a bug doesn't detect column name in create trigger like: :new.customer_id + dotnet version 3.2.3.5(2017-10-31) - [Teradata] fix a bug can't detect table column in create macro statement. + dotnet version 3.2.3.4(2017-10-30) - [Teradata] fix a bug treats variable in create macro statement as column. + dotnet version 3.2.3.3(2017-10-30) - [Oralce] support include/exclude nulls clause in unpivot clause. - [teradata] fix a bug can't parse is keyword in comment statement. - [general] able to recognize sequence object in syntax like:SEQ_COPS_CORIMA_EXECUTE_QUEUE.nextval and put it into TCustomSqlStatement.DatabaseObjects + dotnet version 3.2.3.2(2017-10-26) - [general] add TObjectName.coordinate() method return coordinate of the object in SQL script. - [general] ESqlClause.resultColumn replaced by selectList, insertColumn, mergeInsert + dotnet version 3.2.3.1(2017-10-16) - [Teradata] fix a bug treat built-in function CURRENT_DATE,CURRENT_TIME as column name. + dotnet version 3.2.3.0(2017-10-12) - [Oracle] Fix a bug can't parse CONSTRAINT keyword used as a columm name. + dotnet version 3.2.3.0(2017-10-12) - [general] Add TCustomSqlStatement.DatabaseObjects property which stores function/trigger/sequence and other database objects name which in the SQL query. + dotnet version 3.2.3.0(2017-10-11) - [SQL SERVER] support window aggregation group clause in analytic function. + dotnet version 3.2.3.0(2017-10-10) - [DB2] support alter column set not null - [DB2] support alter column set data type decimal - [Teradata] support comment on/create macro/drop macro/rename table statement. + dotnet version 3.2.2.5(2017-09-30) - [DB2] support XMLTable function. + dotnet version 3.2.2.5(2017-09-12) - [demo] add dataflowanalyzer demo. + dotnet version 3.2.2.4(2017-09-08) - [general] fix a bug sub-select of select union statement points to the wrong parent. + dotnet version 3.2.2.3(2017-09-07) - [SQL Server] Fix a bug treat table with nolock hint as a function. + dotnet version 3.2.2.2(2017-08-11) - [general] TTable.getTableName() will return "rowlist" if table type is table value constructor. - [general] TTable.getTableName() will return "openrowset" if table type is openrowset. + dotnet version 3.2.2.1(2017-08-08) - [scriptWriter] fix test cases and removeCondition/joinConvert demo. + dotnet version 3.2.2.0(2017-08-04) - [scriptWriter] add new method: TParseTreeNode.ToScript() which return String representation this parse tree node - [scriptWriter] demos\scriptWriter was merged into core parser under: gudusoft.gsqlparser.scriptWriter + dotnet version 3.2.1.5(2017-07-28) - [general] fix a bug can't detect CTE table in from clause if it original format is quoted ([Agency_cte]) while cte name in from clause is not quote('Agency_cte'). - [SQL Server] support rebuild clause in alter table statement. - [SQL Server] fix a bug can't parse value keyword used as column name such as select b.value from b + dotnet version 3.2.1.4(2017-07-21) - [general] fix a bug TWindowDef.includingOverClause not set to true when over clause is used. + dotnet version 3.2.1.3(2017-07-20) - [general] replace class TAnalyticFunction by TWindowDef in DB2, Informix, SQL Server,Sybase + dotnet version 3.2.1.3(2017-07-19) - [general] replace TAnalyticFunction with TWindowDef - [general] use TFunctionCall.WindowDef instead of TFunctionCall.AnalyticFunction to fetch over clause information. + dotnet version 3.2.1.2(2017-07-02) - [demo] bug fix of joinConvert demo, removeCondition demo, scriptWriter demo. + dotnet version 3.2.1.1(2017-06-28) - [general] fix a bug: parent expr of and/or condition not set correctly. + dotnet version 3.2.1.0(2017-06-26) - [General] set parent of arguments (expr) in function call to function call. - [General] null checking in method: public virtual TSourceToken ComparisonOperator + dotnet version 3.2.0.9(2017-06-20) - [general] fix a bug that treat table hint as column name. + dotnet version 3.2.0.8(2017-06-14) - [DB2] able to recognize update command options. - [general] fix a bug that TGSqlParser class getting a handle on a file and never releasing the lock. - [DB2] fix a bug can't parse labeled-duration use seconds keyword. - [DB2] fix a bug can't parse query when DATA used as table alias. + dotnet version 3.2.0.7(2017-06-12) - [General] fix a bug can't detect TABLE keyword in syntax like this: TABLE(subquery) - [General] add accept/acceptChildren method of TRestrictionClause. + dotnet version 3.2.0.6(2017-05-22) - [SQL Server] support percentile_cont, percentile_disc, parse, try_parse function. - [SQL Server] fix a bug can't handle opertors correctly if it is followed by # character. + dotnet version 3.2.0.6(2017-05-22) - [DB2] support create or replace clause in create procedure/function. + dotnet version 3.2.0.6(2017-05-05) - [DB2] fix a bug can't parse create function if use create or replace clause instead of create. + dotnet version 3.2.0.5(2017-04-17) - [general] fix stack overflow exception when process AND/OR predicate nested more than 1000 times. + dotnet version 3.2.0.3(2017-04-13) - [DB2] fix a bug can't link column to insert table in create trigger statement. - [general] support IEnumerable interface for TParseTreeNodeList and all descendant classes such as : TTableList, TConstraintList, TExpressionList,TFromTableList,TJoinItemList TJoinList,TMultiTargetList,TObjectNameList,TTableElementList - [general] support IEnumerable interface for TSourceTokenList - [general] support IEnumerable interface for TStatementList. + dotnet version 3.2.0.2(2017-01-20) - [general] fix a null exception error while get table column. + dotnet version 3.2.0.2(2017-01-18) - [General] fix a bug link qualified column to table in the same level incorrectly without search up level. + dotnet version 3.2.0.1(2017-01-12) - [general] release API document on: http://wangz.net/doc/Help - [general] add indexer for TSourceTokenList, TStatementList,TConstraintList,TExpressionList,TFromTableList, TJoinItemList,TJoinList,TMultiTargetList,TObjectNameList,TTableElementList,TTableList + dotnet version 3.2.0.0(2017-01-10) - [general] This is the first public release version with the same functionality as General SQL Parser Java version 1.8. - [general] APIs used to modify parse tree was temporary disabled in current version. - [document] including the first APIs documentation in chm. + dotnet version 3.1.0.2(2017-01-05) - [general] support TParseTreeNode.String property. + dotnet version 3.1.0.0(2016-12-28) - [demos] include demos. + dotnet version 3.1.0.0(2016-12-26) - [general] fix a bug raise null exception when init lexer of hive/db2/greenplum, resolve this problem by remove resource file in project property and add table files again. Not know why this happens + dotnet version 3.0.1.0(2016-11-14) - [DB2] Migrate lex and yacc file. + dotnet version 3.0.0.2(2016-08-31) - [general] add new fields: TSourceToken.nodesStartFromThisToken, TSourceToken.nodesEndWithThisToken + dotnet version 3.0.0.1(2016-08-26) - [general] first release