GeezerVison is showing github.com — JSQLParser 5.0 by manticore-projects · Pull Request #1778 · JSQLParser/JSqlParser
Conversation
-
Lateral View
Implement LATERAL VIEW EXPLODE(...) according to https://spark.apache.org/docs/latest/sql-ref-syntax-qry-select-lateral-view.html#syntax
Add proper tests
-
Multipart Variables and NamedParameters
-
Clickhouse SELECT ... FROM ... FINAL modifier
-
Test if a JOIN is an INNER JOIN according to the SQL:2016
-
Implement SQL:2016 Convert() and Trim()
-
ClickHouse LIMIT ... BY ... clause
-
Refactor SelectExpressionItem into SelectItem and remove SelectExpressionItem after
-
Consolidate the ExpressionList, removing many redundant List alike Classes and Productions
ExpressionList extends a List<Expression> directly and implements Expression
ExpressionList has no Brackets
- introduce
ParenthesedExpressionList which extends ExpressionList and has Brackets
- refactor
MultiExpressionList to extend List<ExpressionList>
- replace any occurrence of
List<Expression> with ExpressionList and remove lots of redundant Productions
RowConstructor extends ExpressionList
- remove redundant
ValueExpressionList (it was just an ExpressionList
- get rid of any
useBrackets flags
- consolidate the
Cast Functions
- use
ExpressionListDeparser as much as possible
- Special Oracle Test 'function06.sql' succeeds
- Enums are assigned case-insensitve, remove duplicate Enum
TimeUnit in KSQLJoinWindow, fixes [BUG] JSQLParser 4.7-SNAPSHOT(+4.6) PostgreSQL(+others) Enum error on ReferentialAction.Type.valueOf() when delete/update keyword is lowercase #1779
- Refactor
UpdateSets for Update and InsertConflictTarget, remove redundancy
BREAKING-CHANGE: All List<Expression> and List<Column> related methods have changed. No useBrackets flags, instead use ParenthesedExpressionList when brackets are needed.
-
Remove ItemsList, MultiExpressionList, Replace
Since we have proper ExpressionList implementing Expression we can narrow down the API:
- remove
ItemsList, ItemsListVisitor, ItemsListValidator in favor of ExpressionList
- remove
MultiExpressionList in favor of ExpressionList
- refactor
NamedExpressionList so it extends ExpressionList and uses ExpressionListDeparser
- simplify
InExpression and AnyComparisionExpression
BREAKING-CHANGE: many Classes and Methods removed.
-
Refactor all occurrences of List<Expression> Statement and (re-)use ExpressionList and UpdateSet, enforce policy via Acceptance Test
Insert
Upsert
Merge
Set Statement
Pivot, Unpivot, `Limit
BREAKING-CHANGE: many Classes and Methods removed.
BREAKING-CHANGE: removed the Getters/Setters for only Column or only Expression (since Column and Expression belong together)
Please consider any use of List<Expression> an Anti-Pattern tainting the Grammar. The scanner found 20 occurrences and they were all bloated and inefficient.
-
generic SelectItem and remove FunctionItem and ExpressionListItem
- generify
SelectItem<T extends Expression>
- replace
FunctionItem with SelectItem<Function>
- replace
ExpressionListItem with SelectItem<ExpressionList>
- appease PMD/Codacy
** Breaking Changes ** Getters/Setters of Pivot, UnPivot, PivotXML have changed
-
more fixed issues
-
Integrate Java API Doc into the website, Preview
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
…RESH
Support parsing create view statements in Redshift with AUTO REFRESH
option.
Extract adding the force option into a dedicated method resulting in the
cyclomatic complexity reduction of the CreateView.toString method.
Add Keywords and document, which keywords are allowed for what purpose
Derive All Keywords from Grammar directly
Generate production for Object Names (semi-) automatically
Add parametrized Keyword Tests
Parallel Test execution
Gradle Caching
Explicitly request for latest JavaCC 7.0.10
Parallel Test execution
Gradle Caching
Explicitly request for latest JavaCC 7.0.10
Update the MANTICORE Sphinx Theme, but ignore it in GIT
Add the content to the Sphinx sites
Add a Gradle function to derive Stable and Snapshot version from GIT Tags
Add a Gradle GIT change task
Add a Gradle sphinx task
Add a special Test case for illustrating the use of JSQLParser
Implement Serializable for persisting via ObjectOutputStream
- apply neutral Sphinx theme
- insert the RR diagrams into the sphinx sources
- better documentation on Gradle dependencies
- link GitHub repository
- add support for Oracle Alternative Quoting e.g. `q'(...)'`
- fixes JSQLParser#1718
- add a Logo and FavIcon to the Website
- document recent changes on Quoting/Escaping
- add an example on building SQL from Java
- rework the README.md, promote the Website
- add Spotless Formatter, using Google Java Style (with Tab=4 Spaces)
- fix the issue template
- fix the -SNAPSHOT version number
- `GO`
- Slash `/`
- Two empty lines
- `FETCH` uses `EXPRESSION` instead of SimpleJDBCParameter only
- Visit/Accept `FETCH` `EXPRESSION` instead of `append` to String
- Visit/Accept `OFFSET` `EXPRESSION` instead of `append` to String
- Gradle: remove obsolete/incompatible `jvmArgs` from Test()
- returns any RDBMS specific implementation as `UnsupportedStatement`
- fixes JSQLParser#1702
- supports Oracle's `RETURN ... INTO ...`
- fixes JSQLParser#1780
- fixes JSQLParser#686
- Special Oracle tests `insert11.sql` and `insert12.sql`
This was referenced May 16, 2023
- avoid LOOKAHEADs
- simplify the SimpleStatement() production
- use UnsupportedStatements() for any RDBMS specific syntax
- fixes JSQLParser#1515
- fixes JSQLParser#1453
- optionally provide a global Executor, instead spawning one for each parse
- run into Complex Parsing only, when Complex Parsing was allowed
- provide a Logger
- fixes JSQLParser#1792
- supports chains like '{"obj":{"field": "value"}}'::JSON -> 'obj'::TEXT ->> 'field'::TEXT
- fixes JSQLParser#1792
- Show Release vs. SNAPSHOT
- FURO theme
- fix inline tab appearance
This was referenced May 28, 2023
manticore-projects
added a commit
that referenced
this pull request
Jun 15, 2023
* Fixes #1684: Support CREATE MATERIALIZED VIEW with AUTO REFRESH
Support parsing create view statements in Redshift with AUTO REFRESH
option.
* Reduce cyclomatic complexity in CreateView.toString
Extract adding the force option into a dedicated method resulting in the
cyclomatic complexity reduction of the CreateView.toString method.
* Enhanced Keywords
Add Keywords and document, which keywords are allowed for what purpose
* Fix incorrect tests
* Define Reserved Keywords explicitly
Derive All Keywords from Grammar directly
Generate production for Object Names (semi-) automatically
Add parametrized Keyword Tests
* Fix test resources
* Adjust Gradle to JUnit 5
Parallel Test execution
Gradle Caching
Explicitly request for latest JavaCC 7.0.10
* Do not mark SpeedTest for concurrent execution
* Remove unused imports
* Adjust Gradle to JUnit 5
Parallel Test execution
Gradle Caching
Explicitly request for latest JavaCC 7.0.10
* Do not mark SpeedTest for concurrent execution
* Remove unused imports
* Sphinx Documentation
Update the MANTICORE Sphinx Theme, but ignore it in GIT
Add the content to the Sphinx sites
Add a Gradle function to derive Stable and Snapshot version from GIT Tags
Add a Gradle GIT change task
Add a Gradle sphinx task
Add a special Test case for illustrating the use of JSQLParser
* doc: request for `Conventional Commit` messages
* feat: make important Classes Serializable
Implement Serializable for persisting via ObjectOutputStream
* chore: Make Serializable
* doc: Better integration of the RR diagrams
- apply neutral Sphinx theme
- insert the RR diagrams into the sphinx sources
- better documentation on Gradle dependencies
- link GitHub repository
* Merge
* feat: Oracle Alternative Quoting
- add support for Oracle Alternative Quoting e.g. `q'(...)'`
- fixes #1718
- add a Logo and FavIcon to the Website
- document recent changes on Quoting/Escaping
- add an example on building SQL from Java
- rework the README.md, promote the Website
- add Spotless Formatter, using Google Java Style (with Tab=4 Spaces)
* style: Appease PMD/Codacy
* doc: fix the issue template
- fix the issue template
- fix the -SNAPSHOT version number
* Update issue templates
* Update issue templates
* feat: Support more Statement Separators
- `GO`
- Slash `/`
- Two empty lines
* feat: FETCH uses EXPRESSION
- `FETCH` uses `EXPRESSION` instead of SimpleJDBCParameter only
- Visit/Accept `FETCH` `EXPRESSION` instead of `append` to String
- Visit/Accept `OFFSET` `EXPRESSION` instead of `append` to String
- Gradle: remove obsolete/incompatible `jvmArgs` from Test()
* style: apply Spotless
* test: commit missing test
* feat: Lateral View
Implement Lateral View according to https://spark.apache.org/docs/latest/sql-ref-syntax-qry-select-lateral-view.html#syntax
Add proper tests
Fixes #1777
Fixes #239
Fixes #1723
* feat: Oracle `HAVING` before `GROUP BY`
Basic support for Oracle's `HAVING` before `GROUP BY` option.
It will be parsed without any special consideration for the order.
Special Oracle Test groupby07.sql gets parsed, but fails when the deparser reorders the clauses.
Fixes #1774
* feat: Multi-Part Names for Variables and Parameters
Fixes #1771
Fixes #1768
* feat: ClickHouse `Select...` ``FINAL` modifier
Fixes #1774
BREAKING-CHANGE: introduces reserved keyword `FINAL`
* feat: Test if a JOIN is an INNER JOIN according to the SQL:2016
An `INNER JOIN` is a qualified `JOIN` with the `INNER` qualifier or without any `LEFT` or `RIGHT` qualifier.
Fixes #1775
* feat: Switch off contradicting `JOIN` qualifiers, when setting a qualifier
* feat: implement SQL:2016 Convert() and Trim()
- Fixes #868
- Fixes #1767
- Fixes Special Oracle Test `function03.sql`
* feat: ClickHouse `LIMIT ... BY ...` clause
- LimitDeparser accepts ExpressionVisitor
- `SELECT` can have optional `LIMIT ... BY ...` clause
- Fixes #1436
* test: add specific tests for closed issues
* test: add specific tests for closed issues
* refactor: remove `SelectExpressionItem` in favor of `SelectItem`
BREAKING-CHANGE: `SelectExpressionItem` removed
* doc: Update examples
* build: Add missing import
* doc: Update the README.md
* fix: assign Enum case insensitive
Fixes #1779
* fix: assign Enum case insensitive
Remove redundant `DateTime` enum
Fixes #1779
* Revert "fix: assign Enum case insensitive"
This reverts commit 86d0ace.
* feat: Consolidate the `ExpressionList`, removing many redundant List alike Classes and Productions
- `ExpressionList` extends a `List<Expression>` directly and implements `Expression`
- `ExpressionList` has no Brackets
- introduce `ParenthesedExpressionList` which extends `ExpressionList` and has Brackets
- refactor `MultiExpressionList` to extend `List<ExpressionList>`
- replace any occurrence of `List<Expression>` with `ExpressionList` and remove lots of redundant Productions
- `RowConstructor` extends `ExpressionList`
- remove redundant `ValueExpressionList` (it was just an `ExpressionList`
- get rid of any `useBrackets` flags
- consolidate the `Cast` Functions
- use `ExpressionListDeparser` as much as possible
BREAKING-CHANGE: All `List<Expression>` and `List<Column>` related methods have changed. No `useBrackets` flags, instead use `ParenthesedExpressionList` when brackets are needed.
* fix: Remove tests for `()`, since `ParenthesedExpressionList` will catch those too
* refactor: UpdateSets for `Update` and `InsertConflictTarget`
- remove redundant code
- add license headers
- register `function06.sql` success
* build: Increase TimeOut for the GitHub CI
* style: Appease Codacy
* style: Checkstyle
* refactor: Remove `ItemsList`, `MultiExpressionList`, `Replace`
Since we have proper `ExpressionList` implementing `Expression` we can narrow down the API:
- remove `ItemsList`, `ItemsListVisitor`, `ItemsListValidator` in favor of `ExpressionList`
- remove `MultiExpressionList` in favor of `ExpressionList`
- refactor `NamedExpressionList` so it extends `ExpressionList` and uses `ExpressionListDeparser`
- simplify `InExpression` and `AnyComparisionExpression`
BREAKING-CHANGE: many Classes and Methods removed
* style: Appease Codacy
* style: Rework all the ENUMs
- assign Value only when really needed
- implement `from()` method for getting the case-insensitive Enum
* doc: Better Sphinx Tabs
Addresses issue #1784 item 2
* doc: RR chart colors cater for Dark Mode
Addresses issue #1784 item 3
* refactor: remove SimpleFunction
Remove the production `SimpleFunction`
Clean-up `InternalFunction`
* build: improve Gradle Build
- fix Version/Snapshot
- add XML Doclet (for generating API Website via XSLT later)
- fix the publishing task and add GitHub package
* refactor: `Insert` uses `ExpressionList` and `UpdateSet`
* test: Disable API Sanitation for the moment
* style: Appease Checkstyle
* style: Appease PMD
* fix: find the correct position when field belongs to an internal class
* style: replace all List<Expression> with ExpressionList<> and enforce policy via Acceptance Test
- refactor `Merge`, use `ExpressionList`, `UpdateSet` and Visitor Pattern
- refactor `Upsert`, use `ExpressionList`, `UpdateSet` and Visitor Pattern
- refactor `Set` Statement
- refactor `Limit`, `Pivot`, `Unpivot`
** Breaking Changes ** Getters/Setters of `Merge`, `Upsert`, `Set` have changed
* refactor: generify `SelectItem` and remove `FunctionItem` and `ExpressionListItem`
- generify `SelectItem<T extends Expression>`
- replace `FunctionItem` with `SelectItem<Function>`
- replace `ExpressionListItem` with `SelectItem<ExpressionList>`
- appease PMD/Codacy
** Breaking Changes ** Getters/Setters of `Pivot`, `UnPivot`, `PivotXML` have changed
* fix: Java Version 8
* feat: JdbcNamedParameter allows "&" (instead of ":")
- fixes #1785
* feat: access Elements of Array Columns
- Example `update utilisateur set listes[0] = 1`
- fixes #1083
* feat: `MEMBER OF` condition as shown at https://dev.mysql.com/doc/refman/8.0/en/json-search-functions.html#operator_member-of
- fixes #1631
* style: appease PMD/Codacy
* style: appease PMD/Codacy
* test: add unit test for issue #1778
* feat: Write API documentation to the WebSite via XMLDoclet
* Update sphinx.yml
* build: Sphinx build fixes
* build: Sphinx build fixes
* build: Sphinx build fixes
* build: improve the GIT Snapshot detection
* fix: issue #1791
- Allow `START` keyword as table `CreateParameter`
* fix: issue #1789
- allow `CREATE TABLE ...` column parameter with Postgres`nextval('public.actor_actor_id_seq'::regclass)`
* fix: issue #1789
- allow `CREATE TABLE ...` column parameter with Postgres`nextval('public.actor_actor_id_seq'::regclass)`
* refactor: simplify production `CreateParameter()`
* refactor: SHOW statement, supporting any RDBMS specific implementation
- returns any RDBMS specific implementation as `UnsupportedStatement`
- fixes #1702
* refactor: RETURNING clause
- supports Oracle's `RETURN ... INTO ...`
- fixes #1780
- fixes #686
- Special Oracle tests `insert11.sql` and `insert12.sql`
* refactor: CREATE and ALTER productions
- avoid LOOKAHEADs
- simplify the SimpleStatement() production
- use UnsupportedStatements() for any RDBMS specific syntax
- fixes #1515
- fixes #1453
* fix: Complex Parsing Approach
- optionally provide a global Executor, instead spawning one for each parse
- run into Complex Parsing only, when Complex Parsing was allowed
- provide a Logger
- fixes #1792
* style: Quieten the logger
* style: Cosmetic improvements
* feat: chaining JSON Expressions
- supports chains like '{"obj":{"field": "value"}}'::JSON -> 'obj'::TEXT ->> 'field'::TEXT
- fixes #1792
* style: remove unused imports
* refact: Statements extends List<Statement>
* build: try to work around the Maven/JDK8 issue on GitHub
* feat: parse CREATE TRIGGER as UnsupportedStatement
- fixes #1090
* feat: functions blocks, parenthesed JSON Expressions
- fixes #1792, the very complex example
- fixes #1477
* feat: functions blocks, parenthesed JSON Expressions
- fixes #1792, the very complex example
- fixes #1477
- cosmetics
* Create gradle.yml
* feat: Quoted Identifiers can contain double-quotes (PostgreSQL)
- `SELECT "test""column""name"`
- fixes #1335
* build: improve Upload task
* doc: Website improvements
- Show Release vs. SNAPSHOT
- FURO theme
- fix inline tab appearance
* doc: Website, fix tabs
* fix: throw the specific exception
* doc: write migration guide
* fix: expose IntervalExpression attributes and use DeParser
* doc: migration guide
* feat: T-SQL `FOR ...` clause
- fixes #1800
* fix: SPHINX modules and themes
* docs: write migration guide
- migration guide
- Getters for List Elements
- Rename Join `rightItem` to `fromItem`
* feat: `QUALIFY` clause
- fixes #1805
* feat: Postgres `NOTNULL` support
- incorporates PR #1725, all credits to @tomershay
Signed-off-by: Andreas Reichel <[email protected]>
* feat: MySQL `NOT RLIKE`, `NOT REGEXP` expressions
- fixes #1553
- remove RegExpMySQLOperator, replaced by flavoured `LIKE` expression
Signed-off-by: Andreas Reichel <[email protected]>
* fix: `INSERT` must use simple Column Names only
- salvages PR #589, credits to @wheredevel
Signed-off-by: Andreas Reichel <[email protected]>
---------
Signed-off-by: Andreas Reichel <[email protected]>
Co-authored-by: zaza <[email protected]>
manticore-projects
added a commit
that referenced
this pull request
Jun 27, 2023
* Fixes #1684: Support CREATE MATERIALIZED VIEW with AUTO REFRESH
Support parsing create view statements in Redshift with AUTO REFRESH
option.
* Reduce cyclomatic complexity in CreateView.toString
Extract adding the force option into a dedicated method resulting in the
cyclomatic complexity reduction of the CreateView.toString method.
* Enhanced Keywords
Add Keywords and document, which keywords are allowed for what purpose
* Fix incorrect tests
* Define Reserved Keywords explicitly
Derive All Keywords from Grammar directly
Generate production for Object Names (semi-) automatically
Add parametrized Keyword Tests
* Fix test resources
* Adjust Gradle to JUnit 5
Parallel Test execution
Gradle Caching
Explicitly request for latest JavaCC 7.0.10
* Do not mark SpeedTest for concurrent execution
* Remove unused imports
* Adjust Gradle to JUnit 5
Parallel Test execution
Gradle Caching
Explicitly request for latest JavaCC 7.0.10
* Do not mark SpeedTest for concurrent execution
* Remove unused imports
* Sphinx Documentation
Update the MANTICORE Sphinx Theme, but ignore it in GIT
Add the content to the Sphinx sites
Add a Gradle function to derive Stable and Snapshot version from GIT Tags
Add a Gradle GIT change task
Add a Gradle sphinx task
Add a special Test case for illustrating the use of JSQLParser
* doc: request for `Conventional Commit` messages
* feat: make important Classes Serializable
Implement Serializable for persisting via ObjectOutputStream
* chore: Make Serializable
* doc: Better integration of the RR diagrams
- apply neutral Sphinx theme
- insert the RR diagrams into the sphinx sources
- better documentation on Gradle dependencies
- link GitHub repository
* Merge
* feat: Oracle Alternative Quoting
- add support for Oracle Alternative Quoting e.g. `q'(...)'`
- fixes #1718
- add a Logo and FavIcon to the Website
- document recent changes on Quoting/Escaping
- add an example on building SQL from Java
- rework the README.md, promote the Website
- add Spotless Formatter, using Google Java Style (with Tab=4 Spaces)
* style: Appease PMD/Codacy
* doc: fix the issue template
- fix the issue template
- fix the -SNAPSHOT version number
* Update issue templates
* Update issue templates
* feat: Support more Statement Separators
- `GO`
- Slash `/`
- Two empty lines
* feat: FETCH uses EXPRESSION
- `FETCH` uses `EXPRESSION` instead of SimpleJDBCParameter only
- Visit/Accept `FETCH` `EXPRESSION` instead of `append` to String
- Visit/Accept `OFFSET` `EXPRESSION` instead of `append` to String
- Gradle: remove obsolete/incompatible `jvmArgs` from Test()
* style: apply Spotless
* test: commit missing test
* feat: Lateral View
Implement Lateral View according to https://spark.apache.org/docs/latest/sql-ref-syntax-qry-select-lateral-view.html#syntax
Add proper tests
Fixes #1777
Fixes #239
Fixes #1723
* feat: Oracle `HAVING` before `GROUP BY`
Basic support for Oracle's `HAVING` before `GROUP BY` option.
It will be parsed without any special consideration for the order.
Special Oracle Test groupby07.sql gets parsed, but fails when the deparser reorders the clauses.
Fixes #1774
* feat: Multi-Part Names for Variables and Parameters
Fixes #1771
Fixes #1768
* feat: ClickHouse `Select...` ``FINAL` modifier
Fixes #1774
BREAKING-CHANGE: introduces reserved keyword `FINAL`
* feat: Test if a JOIN is an INNER JOIN according to the SQL:2016
An `INNER JOIN` is a qualified `JOIN` with the `INNER` qualifier or without any `LEFT` or `RIGHT` qualifier.
Fixes #1775
* feat: Switch off contradicting `JOIN` qualifiers, when setting a qualifier
* feat: implement SQL:2016 Convert() and Trim()
- Fixes #868
- Fixes #1767
- Fixes Special Oracle Test `function03.sql`
* feat: ClickHouse `LIMIT ... BY ...` clause
- LimitDeparser accepts ExpressionVisitor
- `SELECT` can have optional `LIMIT ... BY ...` clause
- Fixes #1436
* test: add specific tests for closed issues
* test: add specific tests for closed issues
* refactor: remove `SelectExpressionItem` in favor of `SelectItem`
BREAKING-CHANGE: `SelectExpressionItem` removed
* doc: Update examples
* build: Add missing import
* doc: Update the README.md
* fix: assign Enum case insensitive
Fixes #1779
* fix: assign Enum case insensitive
Remove redundant `DateTime` enum
Fixes #1779
* Revert "fix: assign Enum case insensitive"
This reverts commit 86d0ace.
* feat: Consolidate the `ExpressionList`, removing many redundant List alike Classes and Productions
- `ExpressionList` extends a `List<Expression>` directly and implements `Expression`
- `ExpressionList` has no Brackets
- introduce `ParenthesedExpressionList` which extends `ExpressionList` and has Brackets
- refactor `MultiExpressionList` to extend `List<ExpressionList>`
- replace any occurrence of `List<Expression>` with `ExpressionList` and remove lots of redundant Productions
- `RowConstructor` extends `ExpressionList`
- remove redundant `ValueExpressionList` (it was just an `ExpressionList`
- get rid of any `useBrackets` flags
- consolidate the `Cast` Functions
- use `ExpressionListDeparser` as much as possible
BREAKING-CHANGE: All `List<Expression>` and `List<Column>` related methods have changed. No `useBrackets` flags, instead use `ParenthesedExpressionList` when brackets are needed.
* fix: Remove tests for `()`, since `ParenthesedExpressionList` will catch those too
* refactor: UpdateSets for `Update` and `InsertConflictTarget`
- remove redundant code
- add license headers
- register `function06.sql` success
* build: Increase TimeOut for the GitHub CI
* style: Appease Codacy
* style: Checkstyle
* refactor: Remove `ItemsList`, `MultiExpressionList`, `Replace`
Since we have proper `ExpressionList` implementing `Expression` we can narrow down the API:
- remove `ItemsList`, `ItemsListVisitor`, `ItemsListValidator` in favor of `ExpressionList`
- remove `MultiExpressionList` in favor of `ExpressionList`
- refactor `NamedExpressionList` so it extends `ExpressionList` and uses `ExpressionListDeparser`
- simplify `InExpression` and `AnyComparisionExpression`
BREAKING-CHANGE: many Classes and Methods removed
* style: Appease Codacy
* style: Rework all the ENUMs
- assign Value only when really needed
- implement `from()` method for getting the case-insensitive Enum
* doc: Better Sphinx Tabs
Addresses issue #1784 item 2
* doc: RR chart colors cater for Dark Mode
Addresses issue #1784 item 3
* refactor: remove SimpleFunction
Remove the production `SimpleFunction`
Clean-up `InternalFunction`
* build: improve Gradle Build
- fix Version/Snapshot
- add XML Doclet (for generating API Website via XSLT later)
- fix the publishing task and add GitHub package
* refactor: `Insert` uses `ExpressionList` and `UpdateSet`
* test: Disable API Sanitation for the moment
* style: Appease Checkstyle
* style: Appease PMD
* fix: find the correct position when field belongs to an internal class
* style: replace all List<Expression> with ExpressionList<> and enforce policy via Acceptance Test
- refactor `Merge`, use `ExpressionList`, `UpdateSet` and Visitor Pattern
- refactor `Upsert`, use `ExpressionList`, `UpdateSet` and Visitor Pattern
- refactor `Set` Statement
- refactor `Limit`, `Pivot`, `Unpivot`
** Breaking Changes ** Getters/Setters of `Merge`, `Upsert`, `Set` have changed
* refactor: generify `SelectItem` and remove `FunctionItem` and `ExpressionListItem`
- generify `SelectItem<T extends Expression>`
- replace `FunctionItem` with `SelectItem<Function>`
- replace `ExpressionListItem` with `SelectItem<ExpressionList>`
- appease PMD/Codacy
** Breaking Changes ** Getters/Setters of `Pivot`, `UnPivot`, `PivotXML` have changed
* fix: Java Version 8
* feat: JdbcNamedParameter allows "&" (instead of ":")
- fixes #1785
* feat: access Elements of Array Columns
- Example `update utilisateur set listes[0] = 1`
- fixes #1083
* feat: `MEMBER OF` condition as shown at https://dev.mysql.com/doc/refman/8.0/en/json-search-functions.html#operator_member-of
- fixes #1631
* style: appease PMD/Codacy
* style: appease PMD/Codacy
* test: add unit test for issue #1778
* feat: Write API documentation to the WebSite via XMLDoclet
* Update sphinx.yml
* build: Sphinx build fixes
* build: Sphinx build fixes
* build: Sphinx build fixes
* build: improve the GIT Snapshot detection
* fix: issue #1791
- Allow `START` keyword as table `CreateParameter`
* fix: issue #1789
- allow `CREATE TABLE ...` column parameter with Postgres`nextval('public.actor_actor_id_seq'::regclass)`
* fix: issue #1789
- allow `CREATE TABLE ...` column parameter with Postgres`nextval('public.actor_actor_id_seq'::regclass)`
* refactor: simplify production `CreateParameter()`
* refactor: SHOW statement, supporting any RDBMS specific implementation
- returns any RDBMS specific implementation as `UnsupportedStatement`
- fixes #1702
* refactor: RETURNING clause
- supports Oracle's `RETURN ... INTO ...`
- fixes #1780
- fixes #686
- Special Oracle tests `insert11.sql` and `insert12.sql`
* refactor: CREATE and ALTER productions
- avoid LOOKAHEADs
- simplify the SimpleStatement() production
- use UnsupportedStatements() for any RDBMS specific syntax
- fixes #1515
- fixes #1453
* fix: Complex Parsing Approach
- optionally provide a global Executor, instead spawning one for each parse
- run into Complex Parsing only, when Complex Parsing was allowed
- provide a Logger
- fixes #1792
* style: Quieten the logger
* style: Cosmetic improvements
* feat: chaining JSON Expressions
- supports chains like '{"obj":{"field": "value"}}'::JSON -> 'obj'::TEXT ->> 'field'::TEXT
- fixes #1792
* style: remove unused imports
* refact: Statements extends List<Statement>
* build: try to work around the Maven/JDK8 issue on GitHub
* feat: parse CREATE TRIGGER as UnsupportedStatement
- fixes #1090
* feat: functions blocks, parenthesed JSON Expressions
- fixes #1792, the very complex example
- fixes #1477
* feat: functions blocks, parenthesed JSON Expressions
- fixes #1792, the very complex example
- fixes #1477
- cosmetics
* Create gradle.yml
* feat: Quoted Identifiers can contain double-quotes (PostgreSQL)
- `SELECT "test""column""name"`
- fixes #1335
* build: improve Upload task
* doc: Website improvements
- Show Release vs. SNAPSHOT
- FURO theme
- fix inline tab appearance
* doc: Website, fix tabs
* fix: throw the specific exception
* doc: write migration guide
* fix: expose IntervalExpression attributes and use DeParser
* doc: migration guide
* feat: T-SQL `FOR ...` clause
- fixes #1800
* fix: SPHINX modules and themes
* docs: write migration guide
- migration guide
- Getters for List Elements
- Rename Join `rightItem` to `fromItem`
* feat: `QUALIFY` clause
- fixes #1805
* feat: Postgres `NOTNULL` support
- incorporates PR #1725, all credits to @tomershay
Signed-off-by: Andreas Reichel <[email protected]>
* feat: MySQL `NOT RLIKE`, `NOT REGEXP` expressions
- fixes #1553
- remove RegExpMySQLOperator, replaced by flavoured `LIKE` expression
Signed-off-by: Andreas Reichel <[email protected]>
* fix: `INSERT` must use simple Column Names only
- salvages PR #589, credits to @wheredevel
Signed-off-by: Andreas Reichel <[email protected]>
* fix: Backslash escaped single quote `'\''`
fixes #1812
Signed-off-by: Andreas Reichel <[email protected]>
* style: Licenses from Maven plugin
Signed-off-by: Andreas Reichel <[email protected]>
---------
Signed-off-by: Andreas Reichel <[email protected]>
Co-authored-by: zaza <[email protected]>
Reviewers
wumpz
Awaiting requested review from wumpz
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
|