aboutsummaryrefslogtreecommitdiff
path: root/exec/java-exec/src/main/codegen/includes/parserImpls.ftl
diff options
context:
space:
mode:
Diffstat (limited to 'exec/java-exec/src/main/codegen/includes/parserImpls.ftl')
-rw-r--r--exec/java-exec/src/main/codegen/includes/parserImpls.ftl14
1 files changed, 11 insertions, 3 deletions
diff --git a/exec/java-exec/src/main/codegen/includes/parserImpls.ftl b/exec/java-exec/src/main/codegen/includes/parserImpls.ftl
index 2da1c4a64..015ba9452 100644
--- a/exec/java-exec/src/main/codegen/includes/parserImpls.ftl
+++ b/exec/java-exec/src/main/codegen/includes/parserImpls.ftl
@@ -464,22 +464,30 @@ SqlNode SqlDropSchema(SqlParserPos pos) :
/**
* Parse refresh table metadata statement.
- * REFRESH TABLE METADATA tblname
+ * REFRESH TABLE METADATA [COLUMNS ((field1, field2,..) | NONE)] tblname
*/
SqlNode SqlRefreshMetadata() :
{
SqlParserPos pos;
SqlIdentifier tblName;
- SqlNodeList fieldList;
+ SqlNodeList fieldList = null;
SqlNode query;
+ boolean allColumns = true;
}
{
<REFRESH> { pos = getPos(); }
<TABLE>
<METADATA>
+ [
+ <COLUMNS> { allColumns = false; }
+ ( fieldList = ParseRequiredFieldList("Table")
+ |
+ <NONE>
+ )
+ ]
tblName = CompoundIdentifier()
{
- return new SqlRefreshMetadata(pos, tblName);
+ return new SqlRefreshMetadata(pos, tblName, SqlLiteral.createBoolean(allColumns, getPos()), fieldList);
}
}