Github user arina-ielchiieva commented on a diff in the pull request:
https://github.com/apache/drill/pull/1033#discussion_r152580204
--- Diff: exec/java-exec/src/main/codegen/includes/parserImpls.ftl ---
@@ -172,26 +172,34 @@ SqlNodeList ParseRequiredFieldList(String relType) :
/**
* Parses a create view or replace existing view statement.
- * CREATE [OR REPLACE] VIEW view_name [ (field1, field2 ...) ] AS
select_statement
+ * CREATE { [OR REPLACE] VIEW | VIEW [IF NOT EXISTS] | VIEW } view_name
[ (field1, field2 ...) ] AS select_statement
*/
SqlNode SqlCreateOrReplaceView() :
{
SqlParserPos pos;
- boolean replaceView = false;
SqlIdentifier viewName;
SqlNode query;
SqlNodeList fieldList;
+ String createViewType = "0";
--- End diff --
Maybe use enum rather that 0, 1, 2 in string equivalent. First it would be
much clearer, second you won't need to add comments explaining what these
numbers mean in `ViewHandler` class. Enum definition can be stored in
`SqlCreateView.class`, to make it work in parser - just add imports in
`vv_imports.ftl`.
---