github.com/apache/beam/sdks/v2@v2.48.2/java/extensions/sql/src/main/codegen/config.fmpp (about) 1 # Licensed to the Apache Software Foundation (ASF) under one or more 2 # contributor license agreements. See the NOTICE file distributed with 3 # this work for additional information regarding copyright ownership. 4 # The ASF licenses this file to you under the Apache License, Version 2.0 5 # (the "License"); you may not use this file except in compliance with 6 # the License. You may obtain a copy of the License at 7 # 8 # http://www.apache.org/licenses/LICENSE-2.0 9 # 10 # Unless required by applicable law or agreed to in writing, software 11 # distributed under the License is distributed on an "AS IS" BASIS, 12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 # See the License for the specific language governing permissions and 14 # limitations under the License. 15 16 data: { 17 parser: { 18 # Generated parser implementation class package and name 19 package: "org.apache.beam.sdk.extensions.sql.impl.parser.impl", 20 class: "BeamSqlParserImpl", 21 22 # List of import statements. 23 imports: [ 24 "org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.schema.ColumnStrategy" 25 "org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.sql.SqlCreate" 26 "org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.sql.SqlDrop" 27 "org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.sql.type.SqlTypeName" 28 "org.apache.beam.sdk.extensions.sql.impl.parser.SqlCreateExternalTable" 29 "org.apache.beam.sdk.extensions.sql.impl.parser.SqlCreateFunction" 30 "org.apache.beam.sdk.extensions.sql.impl.parser.SqlDdlNodes" 31 "org.apache.beam.sdk.extensions.sql.impl.parser.SqlSetOptionBeam" 32 "org.apache.beam.sdk.extensions.sql.impl.utils.CalciteUtils" 33 "org.apache.beam.sdk.schemas.Schema" 34 ] 35 36 # List of keywords. 37 keywords: [ 38 "AGGREGATE" 39 "COMMENT" 40 "IF" 41 "JAR" 42 "LOCATION" 43 "TBLPROPERTIES" 44 ] 45 46 # List of keywords from "keywords" section that are not reserved. 47 nonReservedKeywords: [ 48 "A" 49 "ABSENT" 50 "ABSOLUTE" 51 "ACTION" 52 "ADA" 53 "ADD" 54 "ADMIN" 55 "AFTER" 56 "ALWAYS" 57 "APPLY" 58 "ASC" 59 "ASSERTION" 60 "ASSIGNMENT" 61 "ATTRIBUTE" 62 "ATTRIBUTES" 63 "BEFORE" 64 "BERNOULLI" 65 "BREADTH" 66 "C" 67 "CASCADE" 68 "CATALOG" 69 "CATALOG_NAME" 70 "CENTURY" 71 "CHAIN" 72 "CHARACTERISTICS" 73 "CHARACTERS" 74 "CHARACTER_SET_CATALOG" 75 "CHARACTER_SET_NAME" 76 "CHARACTER_SET_SCHEMA" 77 "CLASS_ORIGIN" 78 "COBOL" 79 "COLLATION" 80 "COLLATION_CATALOG" 81 "COLLATION_NAME" 82 "COLLATION_SCHEMA" 83 "COLUMN_NAME" 84 "COMMAND_FUNCTION" 85 "COMMAND_FUNCTION_CODE" 86 "COMMITTED" 87 "CONDITIONAL" 88 "CONDITION_NUMBER" 89 "CONNECTION" 90 "CONNECTION_NAME" 91 "CONSTRAINT_CATALOG" 92 "CONSTRAINT_NAME" 93 "CONSTRAINTS" 94 "CONSTRAINT_SCHEMA" 95 "CONSTRUCTOR" 96 "CONTINUE" 97 "CURSOR_NAME" 98 "DATA" 99 "DATABASE" 100 "DATETIME_INTERVAL_CODE" 101 "DATETIME_INTERVAL_PRECISION" 102 "DAYS" 103 "DECADE" 104 "DEFAULTS" 105 "DEFERRABLE" 106 "DEFERRED" 107 "DEFINED" 108 "DEFINER" 109 "DEGREE" 110 "DEPTH" 111 "DERIVED" 112 "DESC" 113 "DESCRIPTION" 114 "DESCRIPTOR" 115 "DIAGNOSTICS" 116 "DISPATCH" 117 "DOMAIN" 118 "DOW" 119 "DOY" 120 "DYNAMIC_FUNCTION" 121 "DYNAMIC_FUNCTION_CODE" 122 "ENCODING" 123 "EPOCH" 124 "ERROR" 125 "EXCEPTION" 126 "EXCLUDE" 127 "EXCLUDING" 128 "FINAL" 129 "FIRST" 130 "FOLLOWING" 131 "FORMAT" 132 "FORTRAN" 133 "FOUND" 134 "FRAC_SECOND" 135 "G" 136 "GENERAL" 137 "GENERATED" 138 "GEOMETRY" 139 "GO" 140 "GOTO" 141 "GRANTED" 142 "HIERARCHY" 143 "HOP" 144 "HOURS" 145 "IGNORE" 146 "IMMEDIATE" 147 "IMMEDIATELY" 148 "IMPLEMENTATION" 149 "INCLUDING" 150 "INCREMENT" 151 "INITIALLY" 152 "INPUT" 153 "INSTANCE" 154 "INSTANTIABLE" 155 "INVOKER" 156 "ISODOW" 157 "ISOLATION" 158 "ISOYEAR" 159 "JAVA" 160 "JSON" 161 "K" 162 "KEY" 163 "KEY_MEMBER" 164 "KEY_TYPE" 165 "LABEL" 166 "LAST" 167 "LENGTH" 168 "LEVEL" 169 "LIBRARY" 170 "LOCATOR" 171 "M" 172 "MAP" 173 "MATCHED" 174 "MAXVALUE" 175 "MESSAGE_LENGTH" 176 "MESSAGE_OCTET_LENGTH" 177 "MESSAGE_TEXT" 178 "MICROSECOND" 179 "MILLENNIUM" 180 "MILLISECOND" 181 "MINUTES" 182 "MINVALUE" 183 "MONTHS" 184 "MORE_" 185 "MUMPS" 186 "NAME" 187 "NAMES" 188 "NANOSECOND" 189 "NESTING" 190 "NORMALIZED" 191 "NULLABLE" 192 "NULLS" 193 "NUMBER" 194 "OBJECT" 195 "OCTETS" 196 "OPTION" 197 "OPTIONS" 198 "ORDERING" 199 "ORDINALITY" 200 "OTHERS" 201 "OUTPUT" 202 "OVERRIDING" 203 "PAD" 204 "PARAMETER_MODE" 205 "PARAMETER_NAME" 206 "PARAMETER_ORDINAL_POSITION" 207 "PARAMETER_SPECIFIC_CATALOG" 208 "PARAMETER_SPECIFIC_NAME" 209 "PARAMETER_SPECIFIC_SCHEMA" 210 "PARTIAL" 211 "PASCAL" 212 "PASSING" 213 "PASSTHROUGH" 214 "PAST" 215 "PATH" 216 "PLACING" 217 "PLAN" 218 "PLI" 219 "PRECEDING" 220 "PRESERVE" 221 "PRIOR" 222 "PRIVILEGES" 223 "PUBLIC" 224 "QUARTER" 225 "READ" 226 "RELATIVE" 227 "REPEATABLE" 228 "REPLACE" 229 "RESPECT" 230 "RESTART" 231 "RESTRICT" 232 "RETURNED_CARDINALITY" 233 "RETURNED_LENGTH" 234 "RETURNED_OCTET_LENGTH" 235 "RETURNED_SQLSTATE" 236 "RETURNING" 237 "ROLE" 238 "ROUTINE" 239 "ROUTINE_CATALOG" 240 "ROUTINE_NAME" 241 "ROUTINE_SCHEMA" 242 "ROW_COUNT" 243 "SCALAR" 244 "SCALE" 245 "SCHEMA" 246 "SCHEMA_NAME" 247 "SCOPE_CATALOGS" 248 "SCOPE_NAME" 249 "SCOPE_SCHEMA" 250 "SECONDS" 251 "SECTION" 252 "SECURITY" 253 "SELF" 254 "SEQUENCE" 255 "SERIALIZABLE" 256 "SERVER" 257 "SERVER_NAME" 258 "SESSION" 259 "SETS" 260 "SIMPLE" 261 "SIZE" 262 "SOURCE" 263 "SPACE" 264 "SPECIFIC_NAME" 265 "SQL_BIGINT" 266 "SQL_BINARY" 267 "SQL_BIT" 268 "SQL_BLOB" 269 "SQL_BOOLEAN" 270 "SQL_CHAR" 271 "SQL_CLOB" 272 "SQL_DATE" 273 "SQL_DECIMAL" 274 "SQL_DOUBLE" 275 "SQL_FLOAT" 276 "SQL_INTEGER" 277 "SQL_INTERVAL_DAY" 278 "SQL_INTERVAL_DAY_TO_HOUR" 279 "SQL_INTERVAL_DAY_TO_MINUTE" 280 "SQL_INTERVAL_DAY_TO_SECOND" 281 "SQL_INTERVAL_HOUR" 282 "SQL_INTERVAL_HOUR_TO_MINUTE" 283 "SQL_INTERVAL_HOUR_TO_SECOND" 284 "SQL_INTERVAL_MINUTE" 285 "SQL_INTERVAL_MINUTE_TO_SECOND" 286 "SQL_INTERVAL_MONTH" 287 "SQL_INTERVAL_SECOND" 288 "SQL_INTERVAL_YEAR" 289 "SQL_INTERVAL_YEAR_TO_MONTH" 290 "SQL_LONGVARBINARY" 291 "SQL_LONGVARCHAR" 292 "SQL_LONGVARNCHAR" 293 "SQL_NCHAR" 294 "SQL_NCLOB" 295 "SQL_NUMERIC" 296 "SQL_NVARCHAR" 297 "SQL_REAL" 298 "SQL_SMALLINT" 299 "SQL_TIME" 300 "SQL_TIMESTAMP" 301 "SQL_TINYINT" 302 "SQL_TSI_DAY" 303 "SQL_TSI_FRAC_SECOND" 304 "SQL_TSI_HOUR" 305 "SQL_TSI_MICROSECOND" 306 "SQL_TSI_MINUTE" 307 "SQL_TSI_MONTH" 308 "SQL_TSI_QUARTER" 309 "SQL_TSI_SECOND" 310 "SQL_TSI_WEEK" 311 "SQL_TSI_YEAR" 312 "SQL_VARBINARY" 313 "SQL_VARCHAR" 314 "STATE" 315 "STATEMENT" 316 "STRUCTURE" 317 "STYLE" 318 "SUBCLASS_ORIGIN" 319 "SUBSTITUTE" 320 "TABLE_NAME" 321 "TEMPORARY" 322 "TIES" 323 "TIMESTAMPADD" 324 "TIMESTAMPDIFF" 325 "TOP_LEVEL_COUNT" 326 "TRANSACTION" 327 "TRANSACTIONS_ACTIVE" 328 "TRANSACTIONS_COMMITTED" 329 "TRANSACTIONS_ROLLED_BACK" 330 "TRANSFORM" 331 "TRANSFORMS" 332 "TRIGGER_CATALOG" 333 "TRIGGER_NAME" 334 "TRIGGER_SCHEMA" 335 "TUMBLE" 336 "TYPE" 337 "UNBOUNDED" 338 "UNCOMMITTED" 339 "UNCONDITIONAL" 340 "UNDER" 341 "UNNAMED" 342 "USAGE" 343 "USER_DEFINED_TYPE_CATALOG" 344 "USER_DEFINED_TYPE_CODE" 345 "USER_DEFINED_TYPE_NAME" 346 "USER_DEFINED_TYPE_SCHEMA" 347 "UTF16" 348 "UTF32" 349 "UTF8" 350 "VERSION" 351 "VIEW" 352 "WEEK" 353 "WORK" 354 "WRAPPER" 355 "WRITE" 356 "XML" 357 "YEARS" 358 "ZONE" 359 360 # added in Beam 361 "AGGREGATE" 362 "COMMENT" 363 "IF" 364 "JAR" 365 "LOCATION" 366 "TBLPROPERTIES" 367 ] 368 369 # List of non-reserved keywords to add; 370 # items in this list become non-reserved 371 nonReservedKeywordsToAdd: [ 372 ] 373 374 # List of non-reserved keywords to remove; 375 # items in this list become reserved 376 nonReservedKeywordsToRemove: [ 377 ] 378 379 # List of additional join types. Each is a method with no arguments. 380 # Example: LeftSemiJoin() 381 joinTypes: [ 382 ] 383 384 # List of methods for parsing custom SQL statements. 385 # Return type of method implementation should be 'SqlNode'. 386 # Example: SqlShowDatabases(), SqlShowTables(). 387 statementParserMethods: [ 388 "SqlSetOptionBeam(Span.of(), null)" 389 ] 390 391 # List of methods for parsing custom literals. 392 # Return type of method implementation should be "SqlNode". 393 # Example: ParseJsonLiteral(). 394 literalParserMethods: [ 395 ] 396 397 # List of methods for parsing custom data types. 398 # Return type of method implementation should be "SqlTypeNameSpec". 399 # Example: SqlParseTimeStampZ(). 400 dataTypeParserMethods: [ 401 ] 402 403 # List of methods for parsing builtin function calls. 404 # Return type of method implementation should be "SqlNode". 405 # Example: DateFunctionCall(). 406 builtinFunctionCallMethods: [ 407 ] 408 409 # List of methods for parsing extensions to "ALTER <scope>" calls. 410 # Each must accept arguments "(SqlParserPos pos, String scope)". 411 # Example: "SqlUploadJarNode" 412 alterStatementParserMethods: [ 413 "SqlSetOptionBeam" 414 ] 415 416 # List of methods for parsing extensions to "CREATE [OR REPLACE]" calls. 417 # Each must accept arguments "(SqlParserPos pos, boolean replace)". 418 createStatementParserMethods: [ 419 "SqlCreateExternalTable" 420 "SqlCreateFunction" 421 "SqlCreateTableNotSupportedMessage" 422 ] 423 424 # List of methods for parsing extensions to "DROP" calls. 425 # Each must accept arguments "(SqlParserPos pos)". 426 dropStatementParserMethods: [ 427 "SqlDropTable" 428 ] 429 430 # Binary operators tokens 431 binaryOperatorsTokens: [ 432 ] 433 434 # Binary operators initialization 435 extraBinaryExpressions: [ 436 ] 437 438 # List of files in @includes directory that have parser method 439 # implementations for parsing custom SQL statements, literals or types 440 # given as part of "statementParserMethods", "literalParserMethods" or 441 # "dataTypeParserMethods". 442 implementationFiles: [ 443 "parserImpls.ftl" 444 ] 445 446 includePosixOperators: false 447 includeCompoundIdentifier: true 448 includeBraces: true 449 includeAdditionalDeclarations: false 450 451 } 452 } 453 454 freemarkerLinks: { 455 includes: includes/ 456 }