[plsql] DEFAULT for Argument - fixups from #5088
This commit is contained in:
@ -3872,10 +3872,13 @@ ASTArgument Argument() :
|
||||
{
|
||||
//[LOOKAHEAD(2) UnqualifiedID() "=>"] Expression()
|
||||
[LOOKAHEAD(2) (simpleNode = UnqualifiedID()) ("=>" | <AS> ) ]
|
||||
(Expression() [ <_DEFAULT> Expression() <ON> <CONVERSION> "ERROR" ] )
|
||||
Expression()
|
||||
// e.g. TO_NUMBER allows a DEFAULT clause within an argument
|
||||
// https://docs.oracle.com/en/database/oracle/oracle-database/23/sqlrf/TO_NUMBER.html#GUID-D4807212-AFD7-48A7-9AED-BEC3E8809866
|
||||
[ <_DEFAULT> Expression() <ON> KEYWORD("CONVERSION") "ERROR" ]
|
||||
//Allow Using CharacterSet suffix clause
|
||||
[
|
||||
( <USING> )
|
||||
<USING>
|
||||
( <CHAR_CS> | <NCHAR_CS> )
|
||||
]
|
||||
{
|
||||
@ -5022,7 +5025,6 @@ TOKEN [IGNORE_CASE]:
|
||||
<CONSTRAINT: "CONSTRAINT"> |
|
||||
<CONSTRUCTOR: "CONSTRUCTOR"> |
|
||||
<CONTINUE: "CONTINUE"> |
|
||||
<CONVERSION: "CONVERSION"> |
|
||||
<CONVERT: "CONVERT"> |
|
||||
<CROSS: "CROSS"> |
|
||||
<CUBE: "CUBE"> |
|
||||
|
@ -66,4 +66,9 @@ class PlsqlTreeDumpTest extends BaseTreeDumpTest {
|
||||
void sqlMacroClause() {
|
||||
doTest("SqlMacroClause");
|
||||
}
|
||||
|
||||
@Test
|
||||
void parseSelectExpression() {
|
||||
doTest("SelectExpressions");
|
||||
}
|
||||
}
|
||||
|
@ -15,11 +15,6 @@ import net.sourceforge.pmd.lang.plsql.AbstractPLSQLParserTst;
|
||||
|
||||
class SelectExpressionsTest extends AbstractPLSQLParserTst {
|
||||
|
||||
@Test
|
||||
void parseSelectExpression() {
|
||||
plsql.parseResource("SelectExpressions.pls");
|
||||
}
|
||||
|
||||
@Test
|
||||
void parseSelectSimpleExpression() {
|
||||
ASTInput input = plsql.parseResource("SelectSimpleExpression.pls");
|
||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user