(
GenericLexer lexer,
SqlExecutionContext executionContext,
SqlParserCallback sqlParserCallback
)
| 1246 | } |
| 1247 | |
| 1248 | private ExecutionModel parseCreate( |
| 1249 | GenericLexer lexer, |
| 1250 | SqlExecutionContext executionContext, |
| 1251 | SqlParserCallback sqlParserCallback |
| 1252 | ) throws SqlException { |
| 1253 | CharSequence tok = tok(lexer, "'atomic' or 'table' or 'batch' or 'materialized' or 'view' or 'or replace'"); |
| 1254 | if (isOrKeyword(tok)) { |
| 1255 | // we need to skip OR REPLACE, it is handled in an executor |
| 1256 | expectTok(lexer, "replace"); |
| 1257 | tok = tok(lexer, "'view'"); |
| 1258 | } |
| 1259 | if (isViewKeyword(tok)) { |
| 1260 | return parseCreateView(lexer, executionContext, sqlParserCallback); |
| 1261 | } |
| 1262 | if (isMaterializedKeyword(tok)) { |
| 1263 | if (!configuration.isMatViewEnabled()) { |
| 1264 | throw SqlException.$(0, "materialized views are disabled"); |
| 1265 | } |
| 1266 | return parseCreateMatView(lexer, executionContext, sqlParserCallback); |
| 1267 | } |
| 1268 | return parseCreateTable(lexer, tok, executionContext, sqlParserCallback); |
| 1269 | } |
| 1270 | |
| 1271 | private ExecutionModel parseCreateMatView( |
| 1272 | GenericLexer lexer, |
no test coverage detected