Commit Graph
181 Commits
Author SHA1 Message Date
Andreas Dangel efbf023648 [plsql] Rework SQLCommand keywords vs. identifiers 2021-03-25 19:49:03 +01:00
Andreas Dangel a5478c7358 [plsql] Document PMD Exclusions 2021-03-25 16:44:54 +01:00
Andreas Dangel 90675d9df0 [plsql] Move ParsingExclusion to internal package 2021-03-25 16:26:38 +01:00
Henning von Bargen 2eb2ce863f Reacted to comments in the PR:Some refactoring 2021-03-22 16:40:41 +01:00
hvbargen 3040c3461e Support for detecting excluded ranges in the top-level Input node with rules. 2021-03-10 11:36:03 +01:00
Henning von Bargen 64dfebf618 Test cases and bug fixes for lexical parameters and exclusion 2021-03-05 17:24:49 +01:00
hvbargen 46e368a3e0 Allow excluding lines from the parser using comments -- PMD-EXCLUDE-BEGIN and -- PMD-EXCLUDE-END. This is to workaround bugs in the PL/SQL parser - some valid statements cannot be parsed. by wrapping them inside PMD-EXCLUDE-BEGIN/END the parser just ignores them and continues parsing with the next line. 2021-02-26 19:11:27 +01:00
hvbargen 475f750216 Support for common SQL*Plus command abbreviations, support for special characters in HOST, REMARK, REM commands. 2021-02-25 16:30:56 +01:00
hvbargen 387dee88f1 No longer accept arbitrary lines as SQL*Plus commands. 2021-02-25 14:43:09 +01:00
hvbargen c4fe303393 Replaced StringBuffer with StringBuilder again 2021-02-24 10:32:19 +01:00
hvbargen 017e40ba67 Accept double ampersand as well 2021-02-24 10:28:24 +01:00
hvbargen fd973e7db5 Basic support for ampersand and backslash characters. At least the parser now accepts these characters and can parse a lot more typical scripts. 2021-02-24 09:48:51 +01:00
Henning von Bargen ac1b5ed159 Issue 3106: Use StringExpression, test case renamed, moved plsql to resource folder. 2021-02-12 09:48:27 +01:00
Henning von Bargen 64d5ccad78 Fix for issue #3106 ParseException for EXECUTE IMMEDIATE str1||str2; 2021-02-10 17:54:10 +01:00
XenoAmess 244a39db0f fix typos. 2020-08-27 11:47:11 +08:00
Andreas Dangel ad8662ccc4 [plsql] Add more tests 2020-04-30 18:52:21 +02:00
Andreas Dangel ef9d5fd89d [plsql] Small improvements, see #2449 2020-04-30 18:24:59 +02:00
zgrzyt93andGitHub ffd573e1b5 Merge branch 'master' into additional_info 2020-04-27 15:05:22 +02:00
Grzegorz Sudolski 15b0bda348 [plsql] added some additional info in userData 2020-04-27 11:24:03 +02:00
Piotr Szymanski ee9f82166a fixed grammar 2020-03-13 13:50:24 +01:00
Piotr Szymanski a355f06b90 xmlforest with optional AS 2020-03-13 12:19:25 +01:00
Piotr Szymanski 7d9322734e fixed parsing front slash 2020-03-06 12:29:49 +01:00
Andreas Dangel 38ce869b12 Merge branch 'pr-2332'
[plsql] Fixed Execute Immediate statement parsing
2020-03-06 10:24:26 +01:00
Andreas Dangel 7bf8493307 Merge branch 'pr-2331'
[plsql] Fix in Comment statement
2020-03-06 10:19:48 +01:00
Andreas Dangel a682d36745 [plsql] Remove CursorBody and keep CursorSpecification 2020-03-06 10:18:27 +01:00
Andreas Dangel d8afacd6a3 Formatting 2020-03-06 09:47:17 +01:00
Piotr Szymanski 8ae59231a2 fixed and turned on Execute Immediate 2020-03-05 17:47:45 +01:00
Piotr Szymanski 72587706b3 small fix in Comment statement, removed not needed cursorSpecification, code formatting 2020-03-05 16:50:46 +01:00
Andreas Dangel d759f8126b Merge branch 'pr-2327'
[plsql] Parsing of WHERE CURRENT OF added
2020-03-05 12:22:05 +01:00
Andreas Dangel 2c68e13598 [plsql] Refactor XMLROOT and XMLFOREST
* Undo changes for XMLFOREST - <AS> is not optional alone
* Remove token for keyword "VALUE"
2020-03-05 12:04:07 +01:00
Andreas Dangel 3329374214 [plsql] Refactor ExtractExpression
* Separate helper productions for datetime/xml
* Use StringLiteral for xpath and namespace
2020-03-05 12:02:56 +01:00
Piotr Szymanski 97043a75c5 parsing where_current_of added 2020-03-04 17:22:15 +01:00
Piotr Szymanski 69025d7522 extract(xml), xml_root, xml_forest fix 2020-03-04 15:10:24 +01:00
Clément Fournier 271efff289 [plsql] Use token::getImage instead of token::toString in grammar
If we change token.toString to be more descriptive
(eg display kind), the parser breaks. This prepares
changes for 7.0
2020-01-10 18:13:17 +01:00
Clément Fournier af537034a9 Use getters for tokens in javacc grammars 2020-01-06 15:01:18 +01:00
Andreas Dangel 1d82918efa Merge branch 'pr-2184'
[plsql] Fix DDLCommands parsing
2020-01-05 19:20:29 +01:00
Andreas Dangel e345e811be [plsql] Use ReadPastNextOccurrence rather than SkipPastNextToken
The token SQLPLUS_TERMINATOR is useless, since the token ";" is
matched before. So, we always skipped till the end of the file.

Improved the image of the skipped nodes, so that it can be of some
use.

Note: This will fix the problem #2009, but it doesn't parse
DDL Commands fully. It just skips past the next ";".
2019-12-24 11:37:41 +01:00
Andreas Dangel e230027f9a [plsql] Support COMMENT statement
Ref #2009
2019-12-24 11:17:59 +01:00
Andreas Dangel 4599b6989a [plsql] Fix StringLiteral token
StringLiterals can use a custom quote delimiter that
marks the end of a string literal. This quote delimiter
is only effective together with the quote character.
A single quote character, that is not preceded by the
delimiter, should be allowed.

Additionally, the ASTStringLiteral node gives
now access to the plain string value of the
literal without the quoting.

Fixes #2008
2019-12-23 18:24:14 +01:00
Andreas Dangel a24e85488e Merge branch 'pr-1986' 2019-09-08 15:39:49 +02:00
Andreas Dangel 26600e68c7 Merge branch 'pr-1977' 2019-09-08 15:24:35 +02:00
Andreas Dangel 20d34103ce [plsql] Add basic support for with clause 2019-09-08 15:20:00 +02:00
Andreas Dangel dea41f1b6f Merge branch 'pr-1976' 2019-09-08 12:03:54 +02:00
Andreas Dangel 854cd4c700 Merge branch 'pr-1975' 2019-09-08 12:00:19 +02:00
Andreas Dangel aee182b0b8 Merge branch 'pr-1974' 2019-09-08 11:47:49 +02:00
Andreas Dangel f283a663a3 [plsql] New node ForUpdateClause 2019-09-08 11:16:46 +02:00
Andreas Dangel de21a9008f [plsql] Remove extra tokens, remove reserved words as identifiers 2019-09-08 11:12:51 +02:00
Piotr Szymanski 5a444276f8 simplified lookahead for blocks and proc/func 2019-08-20 21:22:42 +02:00
Piotr Szymanski dbe3840db1 fix for skipping sql starting with WITH 2019-08-14 14:28:13 +02:00
Piotr Szymanski a953433f5c lookahead in MultiplicativeExpression 2019-08-14 13:45:02 +02:00