This is an automated email from the ASF dual-hosted git repository. mhubail pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/asterixdb.git
commit 8b6b3be27fa75d8048ad819ad29711ecf69a5983 Merge: 0f41f171d2 8ffe8eedca Author: Ian Maxon <[email protected]> AuthorDate: Wed May 8 11:24:05 2024 -0700 Merge branch 'gerrit/trinity' into 'master' Change-Id: I1850f4af7fcaca4649d503cbe64f6f33a853a524 .../apache/asterix/translator/ClientRequest.java | 5 +- .../SqlppExpressionToPlanTranslator.java | 12 +- asterixdb/asterix-app/pom.xml | 1 + .../apache/asterix/api/common/APIFramework.java | 2 +- .../app/resource/OperatorResourcesComputer.java | 71 +++- .../org/apache/asterix/utils/ResourceUtils.java | 25 +- .../app/resource/PlanStagesGeneratorTest.java | 2 +- .../asterix/runtime/PartitionManagerTest.java | 2 +- .../aggregate-sql/median/median.01.ddl.sqlpp | 17 +- .../aggregate-sql/median/median.02.update.sqlpp | 34 +- .../aggregate-sql/median/median.03.query.sqlpp | 10 +- .../aggregate-sql/median/median.04.query.sqlpp | 10 +- .../aggregate-sql/median/median.05.query.sqlpp | 11 +- .../aggregate-sql/median/median.06.query.sqlpp | 11 +- .../aggregate-sql/median/median.07.query.sqlpp | 11 +- .../aggregate-sql/median/median.08.query.sqlpp | 11 +- .../aggregate-sql/median/median.09.query.sqlpp | 11 +- .../aggregate-sql/median/median.10.query.sqlpp | 13 +- .../aggregate-sql/median/median.11.query.sqlpp | 13 +- .../aggregate-sql/median/median.99.ddl.sqlpp | 10 +- .../results/aggregate-sql/median/median.03.adm | 1 + .../results/aggregate-sql/median/median.04.adm | 1 + .../results/aggregate-sql/median/median.05.adm | 1 + .../results/aggregate-sql/median/median.06.adm | 1 + .../results/aggregate-sql/median/median.07.adm | 1 + .../results/aggregate-sql/median/median.08.adm | 1 + .../results/aggregate-sql/median/median.09.adm | 1 + .../results/aggregate-sql/median/median.10.adm | 15 + .../results/aggregate-sql/median/median.11.adm | 1 + .../asterix/common/config/CompilerProperties.java | 5 + .../common/config/OptimizationConfUtil.java | 2 +- .../src/main/markdown/builtins/9_aggregate_sql.md | 91 +++-- .../asterix-doc/src/main/markdown/sqlpp/3_query.md | 13 +- .../src/main/markdown/sqlpp/4_windowfunctions.md | 4 +- .../input/record/reader/aws/AwsS3InputStream.java | 8 +- .../asterix/om/functions/BuiltinFunctions.java | 47 +++ .../typecomputer/impl/LocalMedianTypeComputer.java | 44 +++ .../test/om/typecomputer/TypeComputerTest.java | 2 + .../scalar/ScalarSqlMedianAggregateDescriptor.java | 60 ++++ .../std/AbstractLocalMedianAggregateFunction.java | 176 ++++++++++ .../std/AbstractMedianAggregateFunction.java | 380 +++++++++++++++++++++ .../std/GlobalSqlMedianAggregateDescriptor.java | 54 +++ .../std/GlobalSqlMedianAggregateFunction.java | 51 +++ .../IntermediateSqlMedianAggregateDescriptor.java | 54 +++ .../IntermediateSqlMedianAggregateFunction.java | 50 +++ .../std/LocalSqlMedianAggregateDescriptor.java | 75 ++++ .../std/LocalSqlMedianAggregateFunction.java | 50 +++ .../std/SqlMedianAggregateDescriptor.java | 77 +++++ .../aggregates/std/SqlMedianAggregateFunction.java | 85 +++++ .../runtime/functions/FunctionCollection.java | 10 + .../runtime/functions/FunctionTypeInferers.java | 3 + asterixdb/pom.xml | 1 + .../hyracks/api/context/IHyracksJobletContext.java | 2 + ...utChannel.java => FileNetworkInputChannel.java} | 57 ++-- .../hyracks/comm/channels/NetworkInputChannel.java | 4 +- .../java/org/apache/hyracks/control/nc/Joblet.java | 7 + .../hyracks/control/nc/net/NetworkManager.java | 45 ++- .../control/nc/partitions/JobFileState.java | 92 +++++ .../nc/partitions/MaterializedPartition.java | 43 +-- .../control/nc/partitions/PartitionFileReader.java | 91 +++++ .../nc/partitions/PartitionFileReaderUtil.java | 58 ++++ .../control/nc/partitions/PartitionManager.java | 23 ++ .../hyracks/control/nc/service/NCService.java | 17 +- .../hyracks/control/nc/service/NCServiceTest.java | 4 +- .../hyracks/dataflow/common/io/RunFileReader.java | 4 + .../storage/common/buffercache/IRateLimiter.java | 2 +- .../common/buffercache/NoOpRateLimiter.java | 2 +- .../common/buffercache/SleepRateLimiter.java | 5 +- .../hyracks/test/support/TestJobletContext.java | 7 + .../am/lsm/btree/LSMBTreeMergeFailTest.java | 4 - .../lsm/btree/LSMBTreePageWriteCallbackTest.java | 4 +- .../storage/am/lsm/btree/impl/TestLsmBtree.java | 16 +- hyracks-fullstack/pom.xml | 3 +- 73 files changed, 1869 insertions(+), 268 deletions(-) diff --cc asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/APIFramework.java index 16f922f6d7,1237551a20..47498ead58 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/APIFramework.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/APIFramework.java @@@ -341,8 -339,7 +341,8 @@@ public class APIFramework final AlgebricksAbsolutePartitionConstraint jobLocations = getJobLocations(spec, nodeJobTracker, computationLocations); final IClusterCapacity jobRequiredCapacity = - ResourceUtils.getRequiredCapacity(plan, jobLocations, physOptConf); + ResourceUtils.getRequiredCapacity(plan, jobLocations, physOptConf, compilerProperties); + addRuntimeMemoryOverhead(jobRequiredCapacity, compilerProperties); spec.setRequiredClusterCapacity(jobRequiredCapacity); } } diff --cc asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/CompilerProperties.java index edd25bf0f3,6d9a158f85..042516e0c9 --- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/CompilerProperties.java +++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/CompilerProperties.java @@@ -311,11 -297,8 +311,16 @@@ public class CompilerProperties extend return queryPlanShapeMode; } + public int getSortMemoryFrames() { + int numFrames = (int) getSortMemorySize() / getFrameSize(); + return Math.max(numFrames, OptimizationConfUtil.MIN_FRAME_LIMIT_FOR_SORT); + } ++ + public boolean isColumnFilter() { + return accessor.getBoolean(Option.COMPILER_COLUMN_FILTER); + } + + public int getRuntimeMemoryOverheadPercentage() { + return accessor.getInt(Option.COMPILER_RUNTIME_MEMORY_OVERHEAD); + } } diff --cc asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/aws/AwsS3InputStream.java index f2ede19c8f,0f7f71acff..7a1bdad9cb --- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/aws/AwsS3InputStream.java +++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/aws/AwsS3InputStream.java @@@ -49,11 -49,11 +50,12 @@@ public class AwsS3InputStream extends A // Configuration private final String bucket; private final S3Client s3Client; + private ResponseInputStream<?> s3InStream; private static final int MAX_RETRIES = 5; // We will retry 5 times in case of internal error from AWS S3 service - public AwsS3InputStream(Map<String, String> configuration, List<String> filePaths) throws HyracksDataException { - super(configuration, filePaths); + public AwsS3InputStream(Map<String, String> configuration, List<String> filePaths, + IExternalFilterValueEmbedder valueEmbedder) throws HyracksDataException { + super(configuration, filePaths, valueEmbedder); this.s3Client = buildAwsS3Client(configuration); this.bucket = configuration.get(ExternalDataConstants.CONTAINER_NAME_FIELD_NAME); } diff --cc asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java index 255af53dfe,08414c6d39..c65cf38c98 --- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java +++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java @@@ -197,536 -204,778 +198,544 @@@ public class BuiltinFunctions // array functions public static final FunctionIdentifier ARRAY_REMOVE = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-remove", FunctionIdentifier.VARARGS); + FunctionConstants.newAsterix("array-remove", FunctionIdentifier.VARARGS); public static final FunctionIdentifier ARRAY_PUT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-put", FunctionIdentifier.VARARGS); + FunctionConstants.newAsterix("array-put", FunctionIdentifier.VARARGS); public static final FunctionIdentifier ARRAY_PREPEND = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-prepend", FunctionIdentifier.VARARGS); + FunctionConstants.newAsterix("array-prepend", FunctionIdentifier.VARARGS); public static final FunctionIdentifier ARRAY_APPEND = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-append", FunctionIdentifier.VARARGS); + FunctionConstants.newAsterix("array-append", FunctionIdentifier.VARARGS); public static final FunctionIdentifier ARRAY_INSERT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-insert", FunctionIdentifier.VARARGS); - public static final FunctionIdentifier ARRAY_POSITION = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-position", 2); - public static final FunctionIdentifier ARRAY_REPEAT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-repeat", 2); - public static final FunctionIdentifier ARRAY_REVERSE = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-reverse", 1); - public static final FunctionIdentifier ARRAY_CONTAINS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-contains", 2); - public static final FunctionIdentifier ARRAY_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-distinct", 1); - public static final FunctionIdentifier ARRAY_SORT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-sort", 1); + FunctionConstants.newAsterix("array-insert", FunctionIdentifier.VARARGS); + public static final FunctionIdentifier ARRAY_POSITION = FunctionConstants.newAsterix("array-position", 2); + public static final FunctionIdentifier ARRAY_REPEAT = FunctionConstants.newAsterix("array-repeat", 2); + public static final FunctionIdentifier ARRAY_REVERSE = FunctionConstants.newAsterix("array-reverse", 1); + public static final FunctionIdentifier ARRAY_CONTAINS = FunctionConstants.newAsterix("array-contains", 2); + public static final FunctionIdentifier ARRAY_DISTINCT = FunctionConstants.newAsterix("array-distinct", 1); + public static final FunctionIdentifier ARRAY_SORT = FunctionConstants.newAsterix("array-sort", 1); public static final FunctionIdentifier ARRAY_UNION = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-union", FunctionIdentifier.VARARGS); + FunctionConstants.newAsterix("array-union", FunctionIdentifier.VARARGS); public static final FunctionIdentifier ARRAY_INTERSECT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-intersect", FunctionIdentifier.VARARGS); - public static final FunctionIdentifier ARRAY_IFNULL = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-ifnull", 1); + FunctionConstants.newAsterix("array-intersect", FunctionIdentifier.VARARGS); + public static final FunctionIdentifier ARRAY_IFNULL = FunctionConstants.newAsterix("array-ifnull", 1); public static final FunctionIdentifier ARRAY_CONCAT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-concat", FunctionIdentifier.VARARGS); - public static final FunctionIdentifier ARRAY_RANGE_WITHOUT_STEP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-range", 2); - public static final FunctionIdentifier ARRAY_RANGE_WITH_STEP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-range", 3); - public static final FunctionIdentifier ARRAY_FLATTEN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-flatten", 2); + FunctionConstants.newAsterix("array-concat", FunctionIdentifier.VARARGS); + public static final FunctionIdentifier ARRAY_RANGE_WITHOUT_STEP = FunctionConstants.newAsterix("array-range", 2); + public static final FunctionIdentifier ARRAY_RANGE_WITH_STEP = FunctionConstants.newAsterix("array-range", 3); + public static final FunctionIdentifier ARRAY_FLATTEN = FunctionConstants.newAsterix("array-flatten", 2); public static final FunctionIdentifier ARRAY_REPLACE_WITHOUT_MAXIMUM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-replace", 3); + FunctionConstants.newAsterix("array-replace", 3); public static final FunctionIdentifier ARRAY_REPLACE_WITH_MAXIMUM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-replace", 4); + FunctionConstants.newAsterix("array-replace", 4); public static final FunctionIdentifier ARRAY_SYMDIFF = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-symdiff", FunctionIdentifier.VARARGS); + FunctionConstants.newAsterix("array-symdiff", FunctionIdentifier.VARARGS); public static final FunctionIdentifier ARRAY_SYMDIFFN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-symdiffn", FunctionIdentifier.VARARGS); - public static final FunctionIdentifier ARRAY_STAR = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-star", 1); + FunctionConstants.newAsterix("array-symdiffn", FunctionIdentifier.VARARGS); + public static final FunctionIdentifier ARRAY_STAR = FunctionConstants.newAsterix("array-star", 1); public static final FunctionIdentifier ARRAY_SLICE_WITHOUT_END_POSITION = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-slice", 2); + FunctionConstants.newAsterix("array-slice", 2); public static final FunctionIdentifier ARRAY_SLICE_WITH_END_POSITION = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-slice", 3); - public static final FunctionIdentifier ARRAY_EXCEPT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-except", 2); - public static final FunctionIdentifier ARRAY_SWAP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-swap", 3); - public static final FunctionIdentifier ARRAY_MOVE = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-move", 3); - public static final FunctionIdentifier ARRAY_BINARY_SEARCH = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "array-binary-search", 2); + FunctionConstants.newAsterix("array-slice", 3); + public static final FunctionIdentifier ARRAY_EXCEPT = FunctionConstants.newAsterix("array-except", 2); + public static final FunctionIdentifier ARRAY_SWAP = FunctionConstants.newAsterix("array-swap", 3); + public static final FunctionIdentifier ARRAY_MOVE = FunctionConstants.newAsterix("array-move", 3); + public static final FunctionIdentifier ARRAY_BINARY_SEARCH = FunctionConstants.newAsterix("array-binary-search", 2); // objects - public static final FunctionIdentifier RECORD_MERGE = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "object-merge", 2); + public static final FunctionIdentifier RECORD_MERGE = FunctionConstants.newAsterix("object-merge", 2); public static final FunctionIdentifier RECORD_MERGE_IGNORE_DUPLICATES = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "object-merge-ignore-duplicates", 2); + FunctionConstants.newAsterix("object-merge-ignore-duplicates", 2); public static final FunctionIdentifier RECORD_CONCAT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "object-concat", FunctionIdentifier.VARARGS); + FunctionConstants.newAsterix("object-concat", FunctionIdentifier.VARARGS); public static final FunctionIdentifier RECORD_CONCAT_STRICT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "object-concat-strict", FunctionIdentifier.VARARGS); - public static final FunctionIdentifier REMOVE_FIELDS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "object-remove-fields", 2); - public static final FunctionIdentifier ADD_FIELDS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "object-add-fields", 2); - - public static final FunctionIdentifier CLOSED_RECORD_CONSTRUCTOR = new FunctionIdentifier( - FunctionConstants.ASTERIX_NS, "closed-object-constructor", FunctionIdentifier.VARARGS); + FunctionConstants.newAsterix("object-concat-strict", FunctionIdentifier.VARARGS); + public static final FunctionIdentifier REMOVE_FIELDS = FunctionConstants.newAsterix("object-remove-fields", 2); + public static final FunctionIdentifier ADD_FIELDS = FunctionConstants.newAsterix("object-add-fields", 2); + + public static final FunctionIdentifier CLOSED_RECORD_CONSTRUCTOR = + FunctionConstants.newAsterix("closed-object-constructor", FunctionIdentifier.VARARGS); public static final FunctionIdentifier OPEN_RECORD_CONSTRUCTOR = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "open-object-constructor", FunctionIdentifier.VARARGS); + FunctionConstants.newAsterix("open-object-constructor", FunctionIdentifier.VARARGS); public static final FunctionIdentifier FIELD_ACCESS_BY_INDEX = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "field-access-by-index", 2); + FunctionConstants.newAsterix("field-access-by-index", 2); public static final FunctionIdentifier FIELD_ACCESS_BY_NAME = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "field-access-by-name", 2); - public static final FunctionIdentifier FIELD_ACCESS_NESTED = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "field-access-nested", 2); - public static final FunctionIdentifier GET_RECORD_FIELDS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "get-object-fields", 1); + FunctionConstants.newAsterix("field-access-by-name", 2); + public static final FunctionIdentifier FIELD_ACCESS_NESTED = FunctionConstants.newAsterix("field-access-nested", 2); + public static final FunctionIdentifier GET_RECORD_FIELDS = FunctionConstants.newAsterix("get-object-fields", 1); public static final FunctionIdentifier GET_RECORD_FIELD_VALUE = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "get-object-field-value", 2); - public static final FunctionIdentifier RECORD_LENGTH = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "object-length", 1); - public static final FunctionIdentifier RECORD_NAMES = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "object-names", 1); + FunctionConstants.newAsterix("get-object-field-value", 2); + public static final FunctionIdentifier RECORD_LENGTH = FunctionConstants.newAsterix("object-length", 1); + public static final FunctionIdentifier RECORD_NAMES = FunctionConstants.newAsterix("object-names", 1); public static final FunctionIdentifier RECORD_PAIRS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "object-pairs", FunctionIdentifier.VARARGS); + FunctionConstants.newAsterix("object-pairs", FunctionIdentifier.VARARGS); public static final FunctionIdentifier GEOMETRY_CONSTRUCTOR = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "st-geom-from-geojson", FunctionIdentifier.VARARGS); - public static final FunctionIdentifier RECORD_REMOVE = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "object-remove", 2); - public static final FunctionIdentifier RECORD_RENAME = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "object-rename", 3); - public static final FunctionIdentifier RECORD_UNWRAP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "object-unwrap", 1); - public static final FunctionIdentifier RECORD_REPLACE = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "object-replace", 3); - public static final FunctionIdentifier RECORD_ADD = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "object-add", 3); - public static final FunctionIdentifier RECORD_PUT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "object-put", 3); - public static final FunctionIdentifier RECORD_VALUES = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "object-values", 1); - public static final FunctionIdentifier PAIRS = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "pairs", 1); + FunctionConstants.newAsterix("st-geom-from-geojson", FunctionIdentifier.VARARGS); + public static final FunctionIdentifier RECORD_REMOVE = FunctionConstants.newAsterix("object-remove", 2); + public static final FunctionIdentifier RECORD_RENAME = FunctionConstants.newAsterix("object-rename", 3); + public static final FunctionIdentifier RECORD_UNWRAP = FunctionConstants.newAsterix("object-unwrap", 1); + public static final FunctionIdentifier RECORD_REPLACE = FunctionConstants.newAsterix("object-replace", 3); + public static final FunctionIdentifier RECORD_ADD = FunctionConstants.newAsterix("object-add", 3); + public static final FunctionIdentifier RECORD_PUT = FunctionConstants.newAsterix("object-put", 3); + public static final FunctionIdentifier RECORD_VALUES = FunctionConstants.newAsterix("object-values", 1); + public static final FunctionIdentifier PAIRS = FunctionConstants.newAsterix("pairs", 1); // numeric - public static final FunctionIdentifier NUMERIC_UNARY_MINUS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "numeric-unary-minus", 1); - public static final FunctionIdentifier NUMERIC_SUBTRACT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "numeric-subtract", 2); - public static final FunctionIdentifier NUMERIC_MULTIPLY = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "numeric-multiply", 2); - public static final FunctionIdentifier NUMERIC_DIVIDE = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "numeric-divide", 2); - public static final FunctionIdentifier NUMERIC_MOD = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "numeric-mod", 2); - public static final FunctionIdentifier NUMERIC_DIV = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "numeric-div", 2); - public static final FunctionIdentifier NUMERIC_POWER = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "power", 2); - public static final FunctionIdentifier NUMERIC_ABS = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "abs", 1); - public static final FunctionIdentifier NUMERIC_ACOS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "acos", 1); - public static final FunctionIdentifier NUMERIC_ASIN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "asin", 1); - public static final FunctionIdentifier NUMERIC_ATAN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "atan", 1); - public static final FunctionIdentifier NUMERIC_ATAN2 = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "atan2", 2); - public static final FunctionIdentifier NUMERIC_DEGREES = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "degrees", 1); - public static final FunctionIdentifier NUMERIC_RADIANS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "radians", 1); - public static final FunctionIdentifier NUMERIC_COS = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "cos", 1); - public static final FunctionIdentifier NUMERIC_COSH = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "cosh", 1); - public static final FunctionIdentifier NUMERIC_SIN = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sin", 1); - public static final FunctionIdentifier NUMERIC_SINH = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sinh", 1); - public static final FunctionIdentifier NUMERIC_TAN = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "tan", 1); - public static final FunctionIdentifier NUMERIC_TANH = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "tanh", 1); - public static final FunctionIdentifier NUMERIC_EXP = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "exp", 1); - public static final FunctionIdentifier NUMERIC_LN = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "ln", 1); - public static final FunctionIdentifier NUMERIC_LOG = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "log", 1); - public static final FunctionIdentifier NUMERIC_SQRT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sqrt", 1); - public static final FunctionIdentifier NUMERIC_SIGN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sign", 1); - public static final FunctionIdentifier NUMERIC_E = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "e", 0); - public static final FunctionIdentifier NUMERIC_PI = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "pi", 0); - - public static final FunctionIdentifier NUMERIC_CEILING = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "ceiling", 1); - public static final FunctionIdentifier NUMERIC_FLOOR = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "floor", 1); - public static final FunctionIdentifier NUMERIC_ROUND = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "round", 1); - public static final FunctionIdentifier NUMERIC_ROUND_WITH_ROUND_DIGIT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "round", 2); + public static final FunctionIdentifier NUMERIC_UNARY_MINUS = FunctionConstants.newAsterix("numeric-unary-minus", 1); + public static final FunctionIdentifier NUMERIC_SUBTRACT = FunctionConstants.newAsterix("numeric-subtract", 2); + public static final FunctionIdentifier NUMERIC_MULTIPLY = FunctionConstants.newAsterix("numeric-multiply", 2); + public static final FunctionIdentifier NUMERIC_DIVIDE = FunctionConstants.newAsterix("numeric-divide", 2); + public static final FunctionIdentifier NUMERIC_MOD = FunctionConstants.newAsterix("numeric-mod", 2); + public static final FunctionIdentifier NUMERIC_DIV = FunctionConstants.newAsterix("numeric-div", 2); + public static final FunctionIdentifier NUMERIC_POWER = FunctionConstants.newAsterix("power", 2); + public static final FunctionIdentifier NUMERIC_ABS = FunctionConstants.newAsterix("abs", 1); + public static final FunctionIdentifier NUMERIC_ACOS = FunctionConstants.newAsterix("acos", 1); + public static final FunctionIdentifier NUMERIC_ASIN = FunctionConstants.newAsterix("asin", 1); + public static final FunctionIdentifier NUMERIC_ATAN = FunctionConstants.newAsterix("atan", 1); + public static final FunctionIdentifier NUMERIC_ATAN2 = FunctionConstants.newAsterix("atan2", 2); + public static final FunctionIdentifier NUMERIC_DEGREES = FunctionConstants.newAsterix("degrees", 1); + public static final FunctionIdentifier NUMERIC_RADIANS = FunctionConstants.newAsterix("radians", 1); + public static final FunctionIdentifier NUMERIC_COS = FunctionConstants.newAsterix("cos", 1); + public static final FunctionIdentifier NUMERIC_COSH = FunctionConstants.newAsterix("cosh", 1); + public static final FunctionIdentifier NUMERIC_SIN = FunctionConstants.newAsterix("sin", 1); + public static final FunctionIdentifier NUMERIC_SINH = FunctionConstants.newAsterix("sinh", 1); + public static final FunctionIdentifier NUMERIC_TAN = FunctionConstants.newAsterix("tan", 1); + public static final FunctionIdentifier NUMERIC_TANH = FunctionConstants.newAsterix("tanh", 1); + public static final FunctionIdentifier NUMERIC_EXP = FunctionConstants.newAsterix("exp", 1); + public static final FunctionIdentifier NUMERIC_LN = FunctionConstants.newAsterix("ln", 1); + public static final FunctionIdentifier NUMERIC_LOG = FunctionConstants.newAsterix("log", 1); + public static final FunctionIdentifier NUMERIC_SQRT = FunctionConstants.newAsterix("sqrt", 1); + public static final FunctionIdentifier NUMERIC_SIGN = FunctionConstants.newAsterix("sign", 1); + public static final FunctionIdentifier NUMERIC_E = FunctionConstants.newAsterix("e", 0); + public static final FunctionIdentifier NUMERIC_PI = FunctionConstants.newAsterix("pi", 0); + + public static final FunctionIdentifier NUMERIC_CEILING = FunctionConstants.newAsterix("ceiling", 1); + public static final FunctionIdentifier NUMERIC_FLOOR = FunctionConstants.newAsterix("floor", 1); + public static final FunctionIdentifier NUMERIC_ROUND = FunctionConstants.newAsterix("round", 1); + public static final FunctionIdentifier NUMERIC_ROUND_WITH_ROUND_DIGIT = FunctionConstants.newAsterix("round", 2); public static final FunctionIdentifier NUMERIC_ROUND_HALF_TO_EVEN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "round-half-to-even", 1); + FunctionConstants.newAsterix("round-half-to-even", 1); public static final FunctionIdentifier NUMERIC_ROUND_HALF_TO_EVEN2 = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "round-half-to-even", 2); - public static final FunctionIdentifier NUMERIC_ROUND_HALF_UP2 = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "round-half-up", 2); - public static final FunctionIdentifier NUMERIC_TRUNC = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "trunc", 2); + FunctionConstants.newAsterix("round-half-to-even", 2); + public static final FunctionIdentifier NUMERIC_ROUND_HALF_UP2 = FunctionConstants.newAsterix("round-half-up", 2); + public static final FunctionIdentifier NUMERIC_TRUNC = FunctionConstants.newAsterix("trunc", 2); // binary functions - public static final FunctionIdentifier BINARY_LENGTH = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "binary-length", 1); - public static final FunctionIdentifier PARSE_BINARY = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "parse-binary", 2); - public static final FunctionIdentifier PRINT_BINARY = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "print-binary", 2); - public static final FunctionIdentifier BINARY_CONCAT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "binary-concat", 1); - public static final FunctionIdentifier SUBBINARY_FROM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sub-binary", 2); - public static final FunctionIdentifier SUBBINARY_FROM_TO = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sub-binary", 3); - public static final FunctionIdentifier FIND_BINARY = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "find-binary", 2); - public static final FunctionIdentifier FIND_BINARY_FROM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "find-binary", 3); + public static final FunctionIdentifier BINARY_LENGTH = FunctionConstants.newAsterix("binary-length", 1); + public static final FunctionIdentifier PARSE_BINARY = FunctionConstants.newAsterix("parse-binary", 2); + public static final FunctionIdentifier PRINT_BINARY = FunctionConstants.newAsterix("print-binary", 2); + public static final FunctionIdentifier BINARY_CONCAT = FunctionConstants.newAsterix("binary-concat", 1); + public static final FunctionIdentifier SUBBINARY_FROM = FunctionConstants.newAsterix("sub-binary", 2); + public static final FunctionIdentifier SUBBINARY_FROM_TO = FunctionConstants.newAsterix("sub-binary", 3); + public static final FunctionIdentifier FIND_BINARY = FunctionConstants.newAsterix("find-binary", 2); + public static final FunctionIdentifier FIND_BINARY_FROM = FunctionConstants.newAsterix("find-binary", 3); // bitwise functions - public static final FunctionIdentifier BIT_AND = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "bitand", FunctionIdentifier.VARARGS); - public static final FunctionIdentifier BIT_OR = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "bitor", FunctionIdentifier.VARARGS); - public static final FunctionIdentifier BIT_XOR = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "bitxor", FunctionIdentifier.VARARGS); - public static final FunctionIdentifier BIT_NOT = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "bitnot", 1); - public static final FunctionIdentifier BIT_COUNT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "bitcount", 1); - public static final FunctionIdentifier BIT_SET = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "bitset", 2); - public static final FunctionIdentifier BIT_CLEAR = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "bitclear", 2); - public static final FunctionIdentifier BIT_SHIFT_WITHOUT_ROTATE_FLAG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "bitshift", 2); - public static final FunctionIdentifier BIT_SHIFT_WITH_ROTATE_FLAG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "bitshift", 3); - public static final FunctionIdentifier BIT_TEST_WITHOUT_ALL_FLAG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "bittest", 2); - public static final FunctionIdentifier BIT_TEST_WITH_ALL_FLAG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "bittest", 3); - public static final FunctionIdentifier IS_BIT_SET_WITHOUT_ALL_FLAG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "isbitset", 2); - public static final FunctionIdentifier IS_BIT_SET_WITH_ALL_FLAG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "isbitset", 3); + public static final FunctionIdentifier BIT_AND = FunctionConstants.newAsterix("bitand", FunctionIdentifier.VARARGS); + public static final FunctionIdentifier BIT_OR = FunctionConstants.newAsterix("bitor", FunctionIdentifier.VARARGS); + public static final FunctionIdentifier BIT_XOR = FunctionConstants.newAsterix("bitxor", FunctionIdentifier.VARARGS); + public static final FunctionIdentifier BIT_NOT = FunctionConstants.newAsterix("bitnot", 1); + public static final FunctionIdentifier BIT_COUNT = FunctionConstants.newAsterix("bitcount", 1); + public static final FunctionIdentifier BIT_SET = FunctionConstants.newAsterix("bitset", 2); + public static final FunctionIdentifier BIT_CLEAR = FunctionConstants.newAsterix("bitclear", 2); + public static final FunctionIdentifier BIT_SHIFT_WITHOUT_ROTATE_FLAG = FunctionConstants.newAsterix("bitshift", 2); + public static final FunctionIdentifier BIT_SHIFT_WITH_ROTATE_FLAG = FunctionConstants.newAsterix("bitshift", 3); + public static final FunctionIdentifier BIT_TEST_WITHOUT_ALL_FLAG = FunctionConstants.newAsterix("bittest", 2); + public static final FunctionIdentifier BIT_TEST_WITH_ALL_FLAG = FunctionConstants.newAsterix("bittest", 3); + public static final FunctionIdentifier IS_BIT_SET_WITHOUT_ALL_FLAG = FunctionConstants.newAsterix("isbitset", 2); + public static final FunctionIdentifier IS_BIT_SET_WITH_ALL_FLAG = FunctionConstants.newAsterix("isbitset", 3); // String functions - public static final FunctionIdentifier STRING_EQUAL = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "string-equal", 2); - public static final FunctionIdentifier STRING_MATCHES = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "matches", 2); - public static final FunctionIdentifier STRING_MATCHES_WITH_FLAG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "matches", 3); - public static final FunctionIdentifier STRING_REGEXP_LIKE = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "regexp-like", 2); + public static final FunctionIdentifier STRING_EQUAL = FunctionConstants.newAsterix("string-equal", 2); + public static final FunctionIdentifier STRING_MATCHES = FunctionConstants.newAsterix("matches", 2); + public static final FunctionIdentifier STRING_MATCHES_WITH_FLAG = FunctionConstants.newAsterix("matches", 3); + public static final FunctionIdentifier STRING_REGEXP_LIKE = FunctionConstants.newAsterix("regexp-like", 2); public static final FunctionIdentifier STRING_REGEXP_LIKE_WITH_FLAG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "regexp-like", 3); - public static final FunctionIdentifier STRING_REGEXP_POSITION = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "regexp-position", 2); + FunctionConstants.newAsterix("regexp-like", 3); + public static final FunctionIdentifier STRING_REGEXP_POSITION = FunctionConstants.newAsterix("regexp-position", 2); public static final FunctionIdentifier STRING_REGEXP_POSITION_OFFSET_1 = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "regexp-position1", 2); + FunctionConstants.newAsterix("regexp-position1", 2); public static final FunctionIdentifier STRING_REGEXP_POSITION_WITH_FLAG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "regexp-position", 3); + FunctionConstants.newAsterix("regexp-position", 3); public static final FunctionIdentifier STRING_REGEXP_POSITION_OFFSET_1_WITH_FLAG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "regexp-position1", 3); - public static final FunctionIdentifier STRING_REGEXP_REPLACE = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "regexp-replace", 3); + FunctionConstants.newAsterix("regexp-position1", 3); + public static final FunctionIdentifier STRING_REGEXP_REPLACE = FunctionConstants.newAsterix("regexp-replace", 3); public static final FunctionIdentifier STRING_REGEXP_REPLACE_WITH_FLAG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "regexp-replace", 4); - public static final FunctionIdentifier STRING_REGEXP_MATCHES = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "regexp-matches", 2); - public static final FunctionIdentifier STRING_REGEXP_SPLIT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "regexp-split", 2); - public static final FunctionIdentifier STRING_LOWERCASE = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "lowercase", 1); - public static final FunctionIdentifier STRING_UPPERCASE = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "uppercase", 1); - public static final FunctionIdentifier STRING_INITCAP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "initcap", 1); - public static final FunctionIdentifier STRING_TRIM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "trim", 1); - public static final FunctionIdentifier STRING_LTRIM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "ltrim", 1); - public static final FunctionIdentifier STRING_RTRIM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "rtrim", 1); - public static final FunctionIdentifier STRING_TRIM2 = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "trim", 2); - public static final FunctionIdentifier STRING_LTRIM2 = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "ltrim", 2); - public static final FunctionIdentifier STRING_RTRIM2 = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "rtrim", 2); - public static final FunctionIdentifier STRING_POSITION = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "position", 2); - public static final FunctionIdentifier STRING_POSITION_OFFSET_1 = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "position1", 2); - public static final FunctionIdentifier STRING_REPLACE = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "replace", 3); - public static final FunctionIdentifier STRING_REPLACE_WITH_LIMIT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "replace", 4); - public static final FunctionIdentifier STRING_REVERSE = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "reverse", 1); - public static final FunctionIdentifier STRING_LENGTH = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "string-length", 1); - public static final FunctionIdentifier STRING_LIKE = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "like", 2); - public static final FunctionIdentifier STRING_CONTAINS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "contains", 2); - public static final FunctionIdentifier STRING_STARTS_WITH = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "starts-with", 2); - public static final FunctionIdentifier STRING_ENDS_WITH = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "ends-with", 2); - public static final FunctionIdentifier SUBSTRING = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "substring", 3); - public static final FunctionIdentifier SUBSTRING_OFFSET_1 = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "substring1", 3); - public static final FunctionIdentifier SUBSTRING2 = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "substring", 2); - public static final FunctionIdentifier SUBSTRING2_OFFSET_1 = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "substring1", 2); - public static final FunctionIdentifier SUBSTRING_BEFORE = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "substring-before", 2); - public static final FunctionIdentifier SUBSTRING_AFTER = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "substring-after", 2); - public static final FunctionIdentifier STRING_TO_CODEPOINT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "string-to-codepoint", 1); - public static final FunctionIdentifier CODEPOINT_TO_STRING = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "codepoint-to-string", 1); - public static final FunctionIdentifier STRING_CONCAT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "string-concat", 1); - public static final FunctionIdentifier STRING_JOIN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "string-join", 2); - public static final FunctionIdentifier STRING_REPEAT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "repeat", 2); - public static final FunctionIdentifier STRING_SPLIT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "split", 2); - public static final FunctionIdentifier STRING_PARSE_JSON = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "parse-json", 1); + FunctionConstants.newAsterix("regexp-replace", 4); + public static final FunctionIdentifier STRING_REGEXP_MATCHES = FunctionConstants.newAsterix("regexp-matches", 2); + public static final FunctionIdentifier STRING_REGEXP_SPLIT = FunctionConstants.newAsterix("regexp-split", 2); + public static final FunctionIdentifier STRING_LOWERCASE = FunctionConstants.newAsterix("lowercase", 1); + public static final FunctionIdentifier STRING_UPPERCASE = FunctionConstants.newAsterix("uppercase", 1); + public static final FunctionIdentifier STRING_INITCAP = FunctionConstants.newAsterix("initcap", 1); + public static final FunctionIdentifier STRING_TRIM = FunctionConstants.newAsterix("trim", 1); + public static final FunctionIdentifier STRING_LTRIM = FunctionConstants.newAsterix("ltrim", 1); + public static final FunctionIdentifier STRING_RTRIM = FunctionConstants.newAsterix("rtrim", 1); + public static final FunctionIdentifier STRING_TRIM2 = FunctionConstants.newAsterix("trim", 2); + public static final FunctionIdentifier STRING_LTRIM2 = FunctionConstants.newAsterix("ltrim", 2); + public static final FunctionIdentifier STRING_RTRIM2 = FunctionConstants.newAsterix("rtrim", 2); + public static final FunctionIdentifier STRING_POSITION = FunctionConstants.newAsterix("position", 2); + public static final FunctionIdentifier STRING_POSITION_OFFSET_1 = FunctionConstants.newAsterix("position1", 2); + public static final FunctionIdentifier STRING_REPLACE = FunctionConstants.newAsterix("replace", 3); + public static final FunctionIdentifier STRING_REPLACE_WITH_LIMIT = FunctionConstants.newAsterix("replace", 4); + public static final FunctionIdentifier STRING_REVERSE = FunctionConstants.newAsterix("reverse", 1); + public static final FunctionIdentifier STRING_LENGTH = FunctionConstants.newAsterix("string-length", 1); + public static final FunctionIdentifier STRING_LIKE = FunctionConstants.newAsterix("like", 2); + public static final FunctionIdentifier STRING_CONTAINS = FunctionConstants.newAsterix("contains", 2); + public static final FunctionIdentifier STRING_STARTS_WITH = FunctionConstants.newAsterix("starts-with", 2); + public static final FunctionIdentifier STRING_ENDS_WITH = FunctionConstants.newAsterix("ends-with", 2); + public static final FunctionIdentifier SUBSTRING = FunctionConstants.newAsterix("substring", 3); + public static final FunctionIdentifier SUBSTRING_OFFSET_1 = FunctionConstants.newAsterix("substring1", 3); + public static final FunctionIdentifier SUBSTRING2 = FunctionConstants.newAsterix("substring", 2); + public static final FunctionIdentifier SUBSTRING2_OFFSET_1 = FunctionConstants.newAsterix("substring1", 2); + public static final FunctionIdentifier SUBSTRING_BEFORE = FunctionConstants.newAsterix("substring-before", 2); + public static final FunctionIdentifier SUBSTRING_AFTER = FunctionConstants.newAsterix("substring-after", 2); + public static final FunctionIdentifier STRING_TO_CODEPOINT = FunctionConstants.newAsterix("string-to-codepoint", 1); + public static final FunctionIdentifier CODEPOINT_TO_STRING = FunctionConstants.newAsterix("codepoint-to-string", 1); + public static final FunctionIdentifier STRING_CONCAT = FunctionConstants.newAsterix("string-concat", 1); + public static final FunctionIdentifier STRING_JOIN = FunctionConstants.newAsterix("string-join", 2); + public static final FunctionIdentifier STRING_REPEAT = FunctionConstants.newAsterix("repeat", 2); + public static final FunctionIdentifier STRING_SPLIT = FunctionConstants.newAsterix("split", 2); + public static final FunctionIdentifier STRING_PARSE_JSON = FunctionConstants.newAsterix("parse-json", 1); public static final FunctionIdentifier DATASET = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "dataset", FunctionIdentifier.VARARGS); // 1 or 2 - public static final FunctionIdentifier FEED_COLLECT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "feed-collect", 6); - public static final FunctionIdentifier FEED_INTERCEPT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "feed-intercept", 1); + FunctionConstants.newAsterix("dataset", FunctionIdentifier.VARARGS); // 1, 2 or 3 + public static final FunctionIdentifier FEED_COLLECT = FunctionConstants.newAsterix("feed-collect", 7); + public static final FunctionIdentifier FEED_INTERCEPT = FunctionConstants.newAsterix("feed-intercept", 1); public static final FunctionIdentifier INDEX_SEARCH = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "index-search", FunctionIdentifier.VARARGS); + FunctionConstants.newAsterix("index-search", FunctionIdentifier.VARARGS); public static final FunctionIdentifier MAKE_FIELD_INDEX_HANDLE = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "make-field-index-handle", 2); + FunctionConstants.newAsterix("make-field-index-handle", 2); public static final FunctionIdentifier MAKE_FIELD_NESTED_HANDLE = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "make-field-nested-handle", 3); + FunctionConstants.newAsterix("make-field-nested-handle", 3); public static final FunctionIdentifier MAKE_FIELD_NAME_HANDLE = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "make-field-name-handle", 1); + FunctionConstants.newAsterix("make-field-name-handle", 1); // aggregate functions - public static final FunctionIdentifier LISTIFY = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "listify", 1); - public static final FunctionIdentifier AVG = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-avg", 1); - public static final FunctionIdentifier COUNT = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-count", 1); - public static final FunctionIdentifier SUM = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-sum", 1); - public static final FunctionIdentifier LOCAL_SUM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-sum", 1); - public static final FunctionIdentifier INTERMEDIATE_SUM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-intermediate-sum", 1); - public static final FunctionIdentifier GLOBAL_SUM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-sum", 1); - public static final FunctionIdentifier MAX = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-max", 1); - public static final FunctionIdentifier LOCAL_MAX = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-max", 1); - public static final FunctionIdentifier INTERMEDIATE_MAX = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-intermediate-max", 1); - public static final FunctionIdentifier GLOBAL_MAX = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-max", 1); - public static final FunctionIdentifier MIN = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-min", 1); - public static final FunctionIdentifier LOCAL_MIN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-min", 1); - public static final FunctionIdentifier INTERMEDIATE_MIN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-intermediate-min", 1); - public static final FunctionIdentifier GLOBAL_MIN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-min", 1); - public static final FunctionIdentifier GLOBAL_AVG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-avg", 1); - public static final FunctionIdentifier INTERMEDIATE_AVG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-intermediate-avg", 1); - public static final FunctionIdentifier LOCAL_AVG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-avg", 1); - public static final FunctionIdentifier MEDIAN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-median", 1); - public static final FunctionIdentifier FIRST_ELEMENT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-first-element", 1); + public static final FunctionIdentifier LISTIFY = FunctionConstants.newAsterix("listify", 1); + public static final FunctionIdentifier AVG = FunctionConstants.newAsterix("agg-avg", 1); + public static final FunctionIdentifier COUNT = FunctionConstants.newAsterix("agg-count", 1); + public static final FunctionIdentifier SUM = FunctionConstants.newAsterix("agg-sum", 1); + public static final FunctionIdentifier LOCAL_SUM = FunctionConstants.newAsterix("agg-local-sum", 1); + public static final FunctionIdentifier INTERMEDIATE_SUM = FunctionConstants.newAsterix("agg-intermediate-sum", 1); + public static final FunctionIdentifier GLOBAL_SUM = FunctionConstants.newAsterix("agg-global-sum", 1); + public static final FunctionIdentifier MAX = FunctionConstants.newAsterix("agg-max", 1); + public static final FunctionIdentifier LOCAL_MAX = FunctionConstants.newAsterix("agg-local-max", 1); + public static final FunctionIdentifier INTERMEDIATE_MAX = FunctionConstants.newAsterix("agg-intermediate-max", 1); + public static final FunctionIdentifier GLOBAL_MAX = FunctionConstants.newAsterix("agg-global-max", 1); + public static final FunctionIdentifier MIN = FunctionConstants.newAsterix("agg-min", 1); + public static final FunctionIdentifier LOCAL_MIN = FunctionConstants.newAsterix("agg-local-min", 1); + public static final FunctionIdentifier INTERMEDIATE_MIN = FunctionConstants.newAsterix("agg-intermediate-min", 1); + public static final FunctionIdentifier GLOBAL_MIN = FunctionConstants.newAsterix("agg-global-min", 1); + public static final FunctionIdentifier GLOBAL_AVG = FunctionConstants.newAsterix("agg-global-avg", 1); + public static final FunctionIdentifier INTERMEDIATE_AVG = FunctionConstants.newAsterix("agg-intermediate-avg", 1); + public static final FunctionIdentifier LOCAL_AVG = FunctionConstants.newAsterix("agg-local-avg", 1); ++ public static final FunctionIdentifier MEDIAN = FunctionConstants.newAsterix("agg-median", 1); + public static final FunctionIdentifier FIRST_ELEMENT = FunctionConstants.newAsterix("agg-first-element", 1); public static final FunctionIdentifier LOCAL_FIRST_ELEMENT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-first-element", 1); - public static final FunctionIdentifier LAST_ELEMENT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-last-element", 1); - public static final FunctionIdentifier STDDEV_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-stddev_samp", 1); + FunctionConstants.newAsterix("agg-local-first-element", 1); + public static final FunctionIdentifier LAST_ELEMENT = FunctionConstants.newAsterix("agg-last-element", 1); + public static final FunctionIdentifier STDDEV_SAMP = FunctionConstants.newAsterix("agg-stddev_samp", 1); public static final FunctionIdentifier GLOBAL_STDDEV_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-stddev_samp", 1); + FunctionConstants.newAsterix("agg-global-stddev_samp", 1); public static final FunctionIdentifier INTERMEDIATE_STDDEV_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-intermediate-stddev_samp", 1); - public static final FunctionIdentifier LOCAL_STDDEV_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-stddev_samp", 1); + FunctionConstants.newAsterix("agg-intermediate-stddev_samp", 1); + public static final FunctionIdentifier LOCAL_STDDEV_SAMP = FunctionConstants.newAsterix("agg-local-stddev_samp", 1); public static final FunctionIdentifier LOCAL_SAMPLING = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-sampling", FunctionIdentifier.VARARGS); + FunctionConstants.newAsterix("agg-local-sampling", FunctionIdentifier.VARARGS); public static final FunctionIdentifier RANGE_MAP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-range-map", FunctionIdentifier.VARARGS); - public static final FunctionIdentifier STDDEV_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-stddev_pop", 1); - public static final FunctionIdentifier GLOBAL_STDDEV_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-stddev_pop", 1); + FunctionConstants.newAsterix("agg-range-map", FunctionIdentifier.VARARGS); + public static final FunctionIdentifier STDDEV_POP = FunctionConstants.newAsterix("agg-stddev_pop", 1); + public static final FunctionIdentifier GLOBAL_STDDEV_POP = FunctionConstants.newAsterix("agg-global-stddev_pop", 1); public static final FunctionIdentifier INTERMEDIATE_STDDEV_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-intermediate-stddev_pop", 1); - public static final FunctionIdentifier LOCAL_STDDEV_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-stddev_pop", 1); - public static final FunctionIdentifier VAR_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-var_samp", 1); - public static final FunctionIdentifier GLOBAL_VAR_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-var_samp", 1); + FunctionConstants.newAsterix("agg-intermediate-stddev_pop", 1); + public static final FunctionIdentifier LOCAL_STDDEV_POP = FunctionConstants.newAsterix("agg-local-stddev_pop", 1); + public static final FunctionIdentifier VAR_SAMP = FunctionConstants.newAsterix("agg-var_samp", 1); + public static final FunctionIdentifier GLOBAL_VAR_SAMP = FunctionConstants.newAsterix("agg-global-var_samp", 1); public static final FunctionIdentifier INTERMEDIATE_VAR_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-intermediate-var_samp", 1); - public static final FunctionIdentifier LOCAL_VAR_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-var_samp", 1); - public static final FunctionIdentifier VAR_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-var_pop", 1); - public static final FunctionIdentifier GLOBAL_VAR_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-var_pop", 1); + FunctionConstants.newAsterix("agg-intermediate-var_samp", 1); + public static final FunctionIdentifier LOCAL_VAR_SAMP = FunctionConstants.newAsterix("agg-local-var_samp", 1); + public static final FunctionIdentifier VAR_POP = FunctionConstants.newAsterix("agg-var_pop", 1); + public static final FunctionIdentifier GLOBAL_VAR_POP = FunctionConstants.newAsterix("agg-global-var_pop", 1); public static final FunctionIdentifier INTERMEDIATE_VAR_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-intermediate-var_pop", 1); - public static final FunctionIdentifier LOCAL_VAR_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-var_pop", 1); - public static final FunctionIdentifier SKEWNESS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-skewness", 1); - public static final FunctionIdentifier GLOBAL_SKEWNESS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-skewness", 1); + FunctionConstants.newAsterix("agg-intermediate-var_pop", 1); + public static final FunctionIdentifier LOCAL_VAR_POP = FunctionConstants.newAsterix("agg-local-var_pop", 1); + public static final FunctionIdentifier SKEWNESS = FunctionConstants.newAsterix("agg-skewness", 1); + public static final FunctionIdentifier GLOBAL_SKEWNESS = FunctionConstants.newAsterix("agg-global-skewness", 1); public static final FunctionIdentifier INTERMEDIATE_SKEWNESS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-intermediate-skewness", 1); - public static final FunctionIdentifier LOCAL_SKEWNESS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-skewness", 1); - public static final FunctionIdentifier KURTOSIS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-kurtosis", 1); - public static final FunctionIdentifier GLOBAL_KURTOSIS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-kurtosis", 1); + FunctionConstants.newAsterix("agg-intermediate-skewness", 1); + public static final FunctionIdentifier LOCAL_SKEWNESS = FunctionConstants.newAsterix("agg-local-skewness", 1); + public static final FunctionIdentifier KURTOSIS = FunctionConstants.newAsterix("agg-kurtosis", 1); + public static final FunctionIdentifier GLOBAL_KURTOSIS = FunctionConstants.newAsterix("agg-global-kurtosis", 1); public static final FunctionIdentifier INTERMEDIATE_KURTOSIS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-intermediate-kurtosis", 1); - public static final FunctionIdentifier LOCAL_KURTOSIS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-kurtosis", 1); - public static final FunctionIdentifier NULL_WRITER = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-null-writer", 1); - public static final FunctionIdentifier UNION_MBR = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-union_mbr", 1); - public static final FunctionIdentifier LOCAL_UNION_MBR = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-union_mbr", 1); + FunctionConstants.newAsterix("agg-intermediate-kurtosis", 1); + public static final FunctionIdentifier LOCAL_KURTOSIS = FunctionConstants.newAsterix("agg-local-kurtosis", 1); + public static final FunctionIdentifier NULL_WRITER = FunctionConstants.newAsterix("agg-null-writer", 1); + public static final FunctionIdentifier UNION_MBR = FunctionConstants.newAsterix("agg-union_mbr", 1); + public static final FunctionIdentifier LOCAL_UNION_MBR = FunctionConstants.newAsterix("agg-local-union_mbr", 1); public static final FunctionIdentifier INTERMEDIATE_UNION_MBR = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-intermediate-union_mbr", 1); - public static final FunctionIdentifier GLOBAL_UNION_MBR = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-union_mbr", 1); - - public static final FunctionIdentifier SCALAR_ARRAYAGG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "arrayagg", 1); - public static final FunctionIdentifier SCALAR_AVG = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "avg", 1); - public static final FunctionIdentifier SCALAR_COUNT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "count", 1); - public static final FunctionIdentifier SCALAR_SUM = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sum", 1); - public static final FunctionIdentifier SCALAR_MAX = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "max", 1); - public static final FunctionIdentifier SCALAR_MIN = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "min", 1); - public static final FunctionIdentifier SCALAR_MEDIAN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "median", 1); - public static final FunctionIdentifier SCALAR_FIRST_ELEMENT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "first-element", 1); + FunctionConstants.newAsterix("agg-intermediate-union_mbr", 1); + public static final FunctionIdentifier GLOBAL_UNION_MBR = FunctionConstants.newAsterix("agg-global-union_mbr", 1); + + public static final FunctionIdentifier SCALAR_ARRAYAGG = FunctionConstants.newAsterix("arrayagg", 1); + public static final FunctionIdentifier SCALAR_AVG = FunctionConstants.newAsterix("avg", 1); + public static final FunctionIdentifier SCALAR_COUNT = FunctionConstants.newAsterix("count", 1); + public static final FunctionIdentifier SCALAR_SUM = FunctionConstants.newAsterix("sum", 1); + public static final FunctionIdentifier SCALAR_MAX = FunctionConstants.newAsterix("max", 1); + public static final FunctionIdentifier SCALAR_MIN = FunctionConstants.newAsterix("min", 1); ++ public static final FunctionIdentifier SCALAR_MEDIAN = FunctionConstants.newAsterix("median", 1); + public static final FunctionIdentifier SCALAR_FIRST_ELEMENT = FunctionConstants.newAsterix("first-element", 1); public static final FunctionIdentifier SCALAR_LOCAL_FIRST_ELEMENT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-first-element", 1); - public static final FunctionIdentifier SCALAR_LAST_ELEMENT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "last-element", 1); - public static final FunctionIdentifier SCALAR_STDDEV_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "stddev_samp", 1); - public static final FunctionIdentifier SCALAR_STDDEV_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "stddev_pop", 1); - public static final FunctionIdentifier SCALAR_VAR_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "var_samp", 1); - public static final FunctionIdentifier SCALAR_VAR_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "var_pop", 1); - public static final FunctionIdentifier SCALAR_SKEWNESS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "skewness", 1); - public static final FunctionIdentifier SCALAR_KURTOSIS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "kurtosis", 1); - public static final FunctionIdentifier SCALAR_UNION_MBR = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "union_mbr", 1); + FunctionConstants.newAsterix("local-first-element", 1); + public static final FunctionIdentifier SCALAR_LAST_ELEMENT = FunctionConstants.newAsterix("last-element", 1); + public static final FunctionIdentifier SCALAR_STDDEV_SAMP = FunctionConstants.newAsterix("stddev_samp", 1); + public static final FunctionIdentifier SCALAR_STDDEV_POP = FunctionConstants.newAsterix("stddev_pop", 1); + public static final FunctionIdentifier SCALAR_VAR_SAMP = FunctionConstants.newAsterix("var_samp", 1); + public static final FunctionIdentifier SCALAR_VAR_POP = FunctionConstants.newAsterix("var_pop", 1); + public static final FunctionIdentifier SCALAR_SKEWNESS = FunctionConstants.newAsterix("skewness", 1); + public static final FunctionIdentifier SCALAR_KURTOSIS = FunctionConstants.newAsterix("kurtosis", 1); + public static final FunctionIdentifier SCALAR_UNION_MBR = FunctionConstants.newAsterix("union_mbr", 1); // serializable aggregate functions - public static final FunctionIdentifier SERIAL_AVG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "avg-serial", 1); - public static final FunctionIdentifier SERIAL_COUNT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "count-serial", 1); - public static final FunctionIdentifier SERIAL_SUM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sum-serial", 1); - public static final FunctionIdentifier SERIAL_LOCAL_SUM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-sum-serial", 1); + public static final FunctionIdentifier SERIAL_AVG = FunctionConstants.newAsterix("avg-serial", 1); + public static final FunctionIdentifier SERIAL_COUNT = FunctionConstants.newAsterix("count-serial", 1); + public static final FunctionIdentifier SERIAL_SUM = FunctionConstants.newAsterix("sum-serial", 1); + public static final FunctionIdentifier SERIAL_LOCAL_SUM = FunctionConstants.newAsterix("local-sum-serial", 1); public static final FunctionIdentifier SERIAL_INTERMEDIATE_SUM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-sum-serial", 1); - public static final FunctionIdentifier SERIAL_GLOBAL_SUM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-sum-serial", 1); - public static final FunctionIdentifier SERIAL_GLOBAL_AVG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-avg-serial", 1); - public static final FunctionIdentifier SERIAL_LOCAL_AVG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-avg-serial", 1); + FunctionConstants.newAsterix("intermediate-sum-serial", 1); + public static final FunctionIdentifier SERIAL_GLOBAL_SUM = FunctionConstants.newAsterix("global-sum-serial", 1); + public static final FunctionIdentifier SERIAL_GLOBAL_AVG = FunctionConstants.newAsterix("global-avg-serial", 1); + public static final FunctionIdentifier SERIAL_LOCAL_AVG = FunctionConstants.newAsterix("local-avg-serial", 1); public static final FunctionIdentifier SERIAL_INTERMEDIATE_AVG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-avg-serial", 1); - public static final FunctionIdentifier SERIAL_STDDEV_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "stddev_samp-serial", 1); + FunctionConstants.newAsterix("intermediate-avg-serial", 1); + public static final FunctionIdentifier SERIAL_STDDEV_SAMP = FunctionConstants.newAsterix("stddev_samp-serial", 1); public static final FunctionIdentifier SERIAL_GLOBAL_STDDEV_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-stddev_samp-serial", 1); + FunctionConstants.newAsterix("global-stddev_samp-serial", 1); public static final FunctionIdentifier SERIAL_LOCAL_STDDEV_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-stddev_samp-serial", 1); + FunctionConstants.newAsterix("local-stddev_samp-serial", 1); public static final FunctionIdentifier SERIAL_INTERMEDIATE_STDDEV_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-stddev_samp-serial", 1); - public static final FunctionIdentifier SERIAL_STDDEV_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "stddev_pop-serial", 1); + FunctionConstants.newAsterix("intermediate-stddev_samp-serial", 1); + public static final FunctionIdentifier SERIAL_STDDEV_POP = FunctionConstants.newAsterix("stddev_pop-serial", 1); public static final FunctionIdentifier SERIAL_GLOBAL_STDDEV_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-stddev_pop-serial", 1); + FunctionConstants.newAsterix("global-stddev_pop-serial", 1); public static final FunctionIdentifier SERIAL_LOCAL_STDDEV_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-stddev_pop-serial", 1); + FunctionConstants.newAsterix("local-stddev_pop-serial", 1); public static final FunctionIdentifier SERIAL_INTERMEDIATE_STDDEV_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-stddev_pop-serial", 1); - public static final FunctionIdentifier SERIAL_VAR_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "var_samp-serial", 1); + FunctionConstants.newAsterix("intermediate-stddev_pop-serial", 1); + public static final FunctionIdentifier SERIAL_VAR_SAMP = FunctionConstants.newAsterix("var_samp-serial", 1); public static final FunctionIdentifier SERIAL_GLOBAL_VAR_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-var_samp-serial", 1); + FunctionConstants.newAsterix("global-var_samp-serial", 1); public static final FunctionIdentifier SERIAL_LOCAL_VAR_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-var_samp-serial", 1); + FunctionConstants.newAsterix("local-var_samp-serial", 1); public static final FunctionIdentifier SERIAL_INTERMEDIATE_VAR_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-var_samp-serial", 1); - public static final FunctionIdentifier SERIAL_VAR_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "var_pop-serial", 1); + FunctionConstants.newAsterix("intermediate-var_samp-serial", 1); + public static final FunctionIdentifier SERIAL_VAR_POP = FunctionConstants.newAsterix("var_pop-serial", 1); public static final FunctionIdentifier SERIAL_GLOBAL_VAR_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-var_pop-serial", 1); + FunctionConstants.newAsterix("global-var_pop-serial", 1); public static final FunctionIdentifier SERIAL_LOCAL_VAR_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-var_pop-serial", 1); + FunctionConstants.newAsterix("local-var_pop-serial", 1); public static final FunctionIdentifier SERIAL_INTERMEDIATE_VAR_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-var_pop-serial", 1); - public static final FunctionIdentifier SERIAL_SKEWNESS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "skewness-serial", 1); + FunctionConstants.newAsterix("intermediate-var_pop-serial", 1); + public static final FunctionIdentifier SERIAL_SKEWNESS = FunctionConstants.newAsterix("skewness-serial", 1); public static final FunctionIdentifier SERIAL_GLOBAL_SKEWNESS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-skewness-serial", 1); + FunctionConstants.newAsterix("global-skewness-serial", 1); public static final FunctionIdentifier SERIAL_LOCAL_SKEWNESS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-skewness-serial", 1); + FunctionConstants.newAsterix("local-skewness-serial", 1); public static final FunctionIdentifier SERIAL_INTERMEDIATE_SKEWNESS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-skewness-serial", 1); - public static final FunctionIdentifier SERIAL_KURTOSIS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "kurtosis-serial", 1); + FunctionConstants.newAsterix("intermediate-skewness-serial", 1); + public static final FunctionIdentifier SERIAL_KURTOSIS = FunctionConstants.newAsterix("kurtosis-serial", 1); public static final FunctionIdentifier SERIAL_GLOBAL_KURTOSIS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-kurtosis-serial", 1); + FunctionConstants.newAsterix("global-kurtosis-serial", 1); public static final FunctionIdentifier SERIAL_LOCAL_KURTOSIS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-kurtosis-serial", 1); + FunctionConstants.newAsterix("local-kurtosis-serial", 1); public static final FunctionIdentifier SERIAL_INTERMEDIATE_KURTOSIS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-kurtosis-serial", 1); + FunctionConstants.newAsterix("intermediate-kurtosis-serial", 1); // distinct aggregate functions - public static final FunctionIdentifier LISTIFY_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "listify-distinct", 1); + public static final FunctionIdentifier LISTIFY_DISTINCT = FunctionConstants.newAsterix("listify-distinct", 1); public static final FunctionIdentifier SCALAR_ARRAYAGG_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "arrayagg-distinct", 1); - public static final FunctionIdentifier COUNT_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-count-distinct", 1); - public static final FunctionIdentifier SCALAR_COUNT_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "count-distinct", 1); - public static final FunctionIdentifier SUM_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-sum-distinct", 1); - public static final FunctionIdentifier SCALAR_SUM_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sum-distinct", 1); - public static final FunctionIdentifier AVG_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-avg-distinct", 1); - public static final FunctionIdentifier SCALAR_AVG_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "avg-distinct", 1); - public static final FunctionIdentifier MAX_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-max-distinct", 1); - public static final FunctionIdentifier SCALAR_MAX_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "max-distinct", 1); - public static final FunctionIdentifier MIN_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-min-distinct", 1); - public static final FunctionIdentifier SCALAR_MIN_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "min-distinct", 1); + FunctionConstants.newAsterix("arrayagg-distinct", 1); + public static final FunctionIdentifier COUNT_DISTINCT = FunctionConstants.newAsterix("agg-count-distinct", 1); + public static final FunctionIdentifier SCALAR_COUNT_DISTINCT = FunctionConstants.newAsterix("count-distinct", 1); + public static final FunctionIdentifier SUM_DISTINCT = FunctionConstants.newAsterix("agg-sum-distinct", 1); + public static final FunctionIdentifier SCALAR_SUM_DISTINCT = FunctionConstants.newAsterix("sum-distinct", 1); + public static final FunctionIdentifier AVG_DISTINCT = FunctionConstants.newAsterix("agg-avg-distinct", 1); + public static final FunctionIdentifier SCALAR_AVG_DISTINCT = FunctionConstants.newAsterix("avg-distinct", 1); + public static final FunctionIdentifier MAX_DISTINCT = FunctionConstants.newAsterix("agg-max-distinct", 1); + public static final FunctionIdentifier SCALAR_MAX_DISTINCT = FunctionConstants.newAsterix("max-distinct", 1); + public static final FunctionIdentifier MIN_DISTINCT = FunctionConstants.newAsterix("agg-min-distinct", 1); + public static final FunctionIdentifier SCALAR_MIN_DISTINCT = FunctionConstants.newAsterix("min-distinct", 1); public static final FunctionIdentifier STDDEV_SAMP_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-stddev_samp-distinct", 1); + FunctionConstants.newAsterix("agg-stddev_samp-distinct", 1); public static final FunctionIdentifier SCALAR_STDDEV_SAMP_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "stddev_samp-distinct", 1); + FunctionConstants.newAsterix("stddev_samp-distinct", 1); public static final FunctionIdentifier STDDEV_POP_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-stddev_pop-distinct", 1); + FunctionConstants.newAsterix("agg-stddev_pop-distinct", 1); public static final FunctionIdentifier SCALAR_STDDEV_POP_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "stddev_pop-distinct", 1); - public static final FunctionIdentifier VAR_SAMP_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-var_samp-distinct", 1); + FunctionConstants.newAsterix("stddev_pop-distinct", 1); + public static final FunctionIdentifier VAR_SAMP_DISTINCT = FunctionConstants.newAsterix("agg-var_samp-distinct", 1); public static final FunctionIdentifier SCALAR_VAR_SAMP_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "var_samp-distinct", 1); - public static final FunctionIdentifier VAR_POP_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-var_pop-distinct", 1); + FunctionConstants.newAsterix("var_samp-distinct", 1); + public static final FunctionIdentifier VAR_POP_DISTINCT = FunctionConstants.newAsterix("agg-var_pop-distinct", 1); public static final FunctionIdentifier SCALAR_VAR_POP_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "var_pop-distinct", 1); - public static final FunctionIdentifier SKEWNESS_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-skewness-distinct", 1); + FunctionConstants.newAsterix("var_pop-distinct", 1); + public static final FunctionIdentifier SKEWNESS_DISTINCT = FunctionConstants.newAsterix("agg-skewness-distinct", 1); public static final FunctionIdentifier SCALAR_SKEWNESS_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "skewness-distinct", 1); - public static final FunctionIdentifier KURTOSIS_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-kurtosis-distinct", 1); + FunctionConstants.newAsterix("skewness-distinct", 1); + public static final FunctionIdentifier KURTOSIS_DISTINCT = FunctionConstants.newAsterix("agg-kurtosis-distinct", 1); public static final FunctionIdentifier SCALAR_KURTOSIS_DISTINCT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "kurtosis-distinct", 1); + FunctionConstants.newAsterix("kurtosis-distinct", 1); // sql aggregate functions - public static final FunctionIdentifier SQL_AVG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-sql-avg", 1); + public static final FunctionIdentifier SQL_AVG = FunctionConstants.newAsterix("agg-sql-avg", 1); public static final FunctionIdentifier INTERMEDIATE_SQL_AVG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-agg-sql-avg", 1); - public static final FunctionIdentifier SQL_COUNT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-sql-count", 1); - public static final FunctionIdentifier SQL_SUM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-sql-sum", 1); - public static final FunctionIdentifier LOCAL_SQL_SUM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-sql-sum", 1); + FunctionConstants.newAsterix("intermediate-agg-sql-avg", 1); + public static final FunctionIdentifier SQL_COUNT = FunctionConstants.newAsterix("agg-sql-count", 1); + public static final FunctionIdentifier SQL_SUM = FunctionConstants.newAsterix("agg-sql-sum", 1); + public static final FunctionIdentifier LOCAL_SQL_SUM = FunctionConstants.newAsterix("agg-local-sql-sum", 1); public static final FunctionIdentifier INTERMEDIATE_SQL_SUM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-intermediate-sql-sum", 1); - public static final FunctionIdentifier GLOBAL_SQL_SUM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-sql-sum", 1); - public static final FunctionIdentifier SQL_MAX = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-sql-max", 1); - public static final FunctionIdentifier LOCAL_SQL_MAX = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-sql-max", 1); + FunctionConstants.newAsterix("agg-intermediate-sql-sum", 1); + public static final FunctionIdentifier GLOBAL_SQL_SUM = FunctionConstants.newAsterix("agg-global-sql-sum", 1); + public static final FunctionIdentifier SQL_MAX = FunctionConstants.newAsterix("agg-sql-max", 1); + public static final FunctionIdentifier LOCAL_SQL_MAX = FunctionConstants.newAsterix("agg-local-sql-max", 1); public static final FunctionIdentifier INTERMEDIATE_SQL_MAX = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-intermediate-sql-max", 1); - public static final FunctionIdentifier GLOBAL_SQL_MAX = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-sql-max", 1); - public static final FunctionIdentifier SQL_MIN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-sql-min", 1); - public static final FunctionIdentifier LOCAL_SQL_MIN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-sql-min", 1); + FunctionConstants.newAsterix("agg-intermediate-sql-max", 1); + public static final FunctionIdentifier GLOBAL_SQL_MAX = FunctionConstants.newAsterix("agg-global-sql-max", 1); + public static final FunctionIdentifier SQL_MIN = FunctionConstants.newAsterix("agg-sql-min", 1); + public static final FunctionIdentifier LOCAL_SQL_MIN = FunctionConstants.newAsterix("agg-local-sql-min", 1); public static final FunctionIdentifier INTERMEDIATE_SQL_MIN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-intermediate-sql-min", 1); - public static final FunctionIdentifier GLOBAL_SQL_MIN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-sql-min", 1); - public static final FunctionIdentifier GLOBAL_SQL_AVG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-sql-avg", 1); - public static final FunctionIdentifier LOCAL_SQL_AVG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-sql-avg", 1); - public static final FunctionIdentifier SQL_MEDIAN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-sql-median", 1); - public static final FunctionIdentifier LOCAL_SQL_MEDIAN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-sql-median", 1); + FunctionConstants.newAsterix("agg-intermediate-sql-min", 1); + public static final FunctionIdentifier GLOBAL_SQL_MIN = FunctionConstants.newAsterix("agg-global-sql-min", 1); + public static final FunctionIdentifier GLOBAL_SQL_AVG = FunctionConstants.newAsterix("agg-global-sql-avg", 1); + public static final FunctionIdentifier LOCAL_SQL_AVG = FunctionConstants.newAsterix("agg-local-sql-avg", 1); ++ public static final FunctionIdentifier SQL_MEDIAN = FunctionConstants.newAsterix("agg-sql-median", 1); ++ public static final FunctionIdentifier LOCAL_SQL_MEDIAN = FunctionConstants.newAsterix("agg-local-sql-median", 1); + public static final FunctionIdentifier INTERMEDIATE_SQL_MEDIAN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-intermediate-sql-median", 1); - public static final FunctionIdentifier GLOBAL_SQL_MEDIAN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-sql-median", 1); - public static final FunctionIdentifier SQL_STDDEV_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-sql-stddev_samp", 1); ++ FunctionConstants.newAsterix("agg-intermediate-sql-median", 1); ++ public static final FunctionIdentifier GLOBAL_SQL_MEDIAN = FunctionConstants.newAsterix("agg-global-sql-median", 1); + public static final FunctionIdentifier SQL_STDDEV_SAMP = FunctionConstants.newAsterix("agg-sql-stddev_samp", 1); public static final FunctionIdentifier INTERMEDIATE_SQL_STDDEV_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-agg-sql-stddev_samp", 1); + FunctionConstants.newAsterix("intermediate-agg-sql-stddev_samp", 1); public static final FunctionIdentifier GLOBAL_SQL_STDDEV_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-sql-stddev_samp", 1); + FunctionConstants.newAsterix("agg-global-sql-stddev_samp", 1); public static final FunctionIdentifier LOCAL_SQL_STDDEV_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-sql-stddev_samp", 1); - public static final FunctionIdentifier SQL_STDDEV_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-sql-stddev_pop", 1); + FunctionConstants.newAsterix("agg-local-sql-stddev_samp", 1); + public static final FunctionIdentifier SQL_STDDEV_POP = FunctionConstants.newAsterix("agg-sql-stddev_pop", 1); public static final FunctionIdentifier INTERMEDIATE_SQL_STDDEV_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-agg-sql-stddev_pop", 1); + FunctionConstants.newAsterix("intermediate-agg-sql-stddev_pop", 1); public static final FunctionIdentifier GLOBAL_SQL_STDDEV_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-sql-stddev_pop", 1); + FunctionConstants.newAsterix("agg-global-sql-stddev_pop", 1); public static final FunctionIdentifier LOCAL_SQL_STDDEV_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-sql-stddev_pop", 1); - public static final FunctionIdentifier SQL_VAR_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-sql-var_samp", 1); + FunctionConstants.newAsterix("agg-local-sql-stddev_pop", 1); + public static final FunctionIdentifier SQL_VAR_SAMP = FunctionConstants.newAsterix("agg-sql-var_samp", 1); public static final FunctionIdentifier INTERMEDIATE_SQL_VAR_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-agg-sql-var_samp", 1); + FunctionConstants.newAsterix("intermediate-agg-sql-var_samp", 1); public static final FunctionIdentifier GLOBAL_SQL_VAR_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-sql-var_samp", 1); + FunctionConstants.newAsterix("agg-global-sql-var_samp", 1); public static final FunctionIdentifier LOCAL_SQL_VAR_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-sql-var_samp", 1); - public static final FunctionIdentifier SQL_VAR_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-sql-var_pop", 1); + FunctionConstants.newAsterix("agg-local-sql-var_samp", 1); + public static final FunctionIdentifier SQL_VAR_POP = FunctionConstants.newAsterix("agg-sql-var_pop", 1); public static final FunctionIdentifier INTERMEDIATE_SQL_VAR_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-agg-sql-var_pop", 1); + FunctionConstants.newAsterix("intermediate-agg-sql-var_pop", 1); public static final FunctionIdentifier GLOBAL_SQL_VAR_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-sql-var_pop", 1); - public static final FunctionIdentifier LOCAL_SQL_VAR_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-sql-var_pop", 1); - public static final FunctionIdentifier SQL_SKEWNESS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-sql-skewness", 1); + FunctionConstants.newAsterix("agg-global-sql-var_pop", 1); + public static final FunctionIdentifier LOCAL_SQL_VAR_POP = FunctionConstants.newAsterix("agg-local-sql-var_pop", 1); + public static final FunctionIdentifier SQL_SKEWNESS = FunctionConstants.newAsterix("agg-sql-skewness", 1); public static final FunctionIdentifier INTERMEDIATE_SQL_SKEWNESS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-agg-sql-skewness", 1); + FunctionConstants.newAsterix("intermediate-agg-sql-skewness", 1); public static final FunctionIdentifier GLOBAL_SQL_SKEWNESS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-sql-skewness", 1); + FunctionConstants.newAsterix("agg-global-sql-skewness", 1); public static final FunctionIdentifier LOCAL_SQL_SKEWNESS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-sql-skewness", 1); - public static final FunctionIdentifier SQL_KURTOSIS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-sql-kurtosis", 1); + FunctionConstants.newAsterix("agg-local-sql-skewness", 1); + public static final FunctionIdentifier SQL_KURTOSIS = FunctionConstants.newAsterix("agg-sql-kurtosis", 1); public static final FunctionIdentifier INTERMEDIATE_SQL_KURTOSIS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-agg-sql-kurtosis", 1); + FunctionConstants.newAsterix("intermediate-agg-sql-kurtosis", 1); public static final FunctionIdentifier GLOBAL_SQL_KURTOSIS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-sql-kurtosis", 1); + FunctionConstants.newAsterix("agg-global-sql-kurtosis", 1); public static final FunctionIdentifier LOCAL_SQL_KURTOSIS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-sql-kurtosis", 1); - public static final FunctionIdentifier SQL_UNION_MBR = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-sql-union_mbr", 1); + FunctionConstants.newAsterix("agg-local-sql-kurtosis", 1); + public static final FunctionIdentifier SQL_UNION_MBR = FunctionConstants.newAsterix("agg-sql-union_mbr", 1); public static final FunctionIdentifier LOCAL_SQL_UNION_MBR = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-sql-union_mbr", 1); + FunctionConstants.newAsterix("agg-local-sql-union_mbr", 1); public static final FunctionIdentifier INTERMEDIATE_SQL_UNION_MBR = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-intermediate-sql-union_mbr", 1); + FunctionConstants.newAsterix("agg-intermediate-sql-union_mbr", 1); public static final FunctionIdentifier GLOBAL_SQL_UNION_MBR = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-sql-union_mbr", 1); - - public static final FunctionIdentifier SCALAR_SQL_AVG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-avg", 1); - public static final FunctionIdentifier SCALAR_SQL_COUNT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-count", 1); - public static final FunctionIdentifier SCALAR_SQL_SUM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-sum", 1); - public static final FunctionIdentifier SCALAR_SQL_MAX = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-max", 1); - public static final FunctionIdentifier SCALAR_SQL_MIN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-min", 1); - public static final FunctionIdentifier SCALAR_SQL_MEDIAN = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-median", 1); - public static final FunctionIdentifier SCALAR_SQL_STDDEV_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-stddev_samp", 1); - public static final FunctionIdentifier SCALAR_SQL_STDDEV_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-stddev_pop", 1); - public static final FunctionIdentifier SCALAR_SQL_VAR_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-var_samp", 1); - public static final FunctionIdentifier SCALAR_SQL_VAR_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-var_pop", 1); - public static final FunctionIdentifier SCALAR_SQL_SKEWNESS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-skewness", 1); - public static final FunctionIdentifier SCALAR_SQL_KURTOSIS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-kurtosis", 1); - public static final FunctionIdentifier SCALAR_SQL_UNION_MBR = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-union_mbr", 1); + FunctionConstants.newAsterix("agg-global-sql-union_mbr", 1); + + public static final FunctionIdentifier SCALAR_SQL_AVG = FunctionConstants.newAsterix("sql-avg", 1); + public static final FunctionIdentifier SCALAR_SQL_COUNT = FunctionConstants.newAsterix("sql-count", 1); + public static final FunctionIdentifier SCALAR_SQL_SUM = FunctionConstants.newAsterix("sql-sum", 1); + public static final FunctionIdentifier SCALAR_SQL_MAX = FunctionConstants.newAsterix("sql-max", 1); + public static final FunctionIdentifier SCALAR_SQL_MIN = FunctionConstants.newAsterix("sql-min", 1); ++ public static final FunctionIdentifier SCALAR_SQL_MEDIAN = FunctionConstants.newAsterix("sql-median", 1); + public static final FunctionIdentifier SCALAR_SQL_STDDEV_SAMP = FunctionConstants.newAsterix("sql-stddev_samp", 1); + public static final FunctionIdentifier SCALAR_SQL_STDDEV_POP = FunctionConstants.newAsterix("sql-stddev_pop", 1); + public static final FunctionIdentifier SCALAR_SQL_VAR_SAMP = FunctionConstants.newAsterix("sql-var_samp", 1); + public static final FunctionIdentifier SCALAR_SQL_VAR_POP = FunctionConstants.newAsterix("sql-var_pop", 1); + public static final FunctionIdentifier SCALAR_SQL_SKEWNESS = FunctionConstants.newAsterix("sql-skewness", 1); + public static final FunctionIdentifier SCALAR_SQL_KURTOSIS = FunctionConstants.newAsterix("sql-kurtosis", 1); + public static final FunctionIdentifier SCALAR_SQL_UNION_MBR = FunctionConstants.newAsterix("sql-union_mbr", 1); // serializable sql aggregate functions - public static final FunctionIdentifier SERIAL_SQL_AVG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-avg-serial", 1); - public static final FunctionIdentifier SERIAL_SQL_COUNT = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-count-serial", 1); - public static final FunctionIdentifier SERIAL_SQL_SUM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-sum-serial", 1); + public static final FunctionIdentifier SERIAL_SQL_AVG = FunctionConstants.newAsterix("sql-avg-serial", 1); + public static final FunctionIdentifier SERIAL_SQL_COUNT = FunctionConstants.newAsterix("sql-count-serial", 1); + public static final FunctionIdentifier SERIAL_SQL_SUM = FunctionConstants.newAsterix("sql-sum-serial", 1); public static final FunctionIdentifier SERIAL_LOCAL_SQL_SUM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-sql-sum-serial", 1); + FunctionConstants.newAsterix("local-sql-sum-serial", 1); public static final FunctionIdentifier SERIAL_INTERMEDIATE_SQL_SUM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-sql-sum-serial", 1); + FunctionConstants.newAsterix("intermediate-sql-sum-serial", 1); public static final FunctionIdentifier SERIAL_GLOBAL_SQL_SUM = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-sql-sum-serial", 1); + FunctionConstants.newAsterix("global-sql-sum-serial", 1); public static final FunctionIdentifier SERIAL_GLOBAL_SQL_AVG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-sql-avg-serial", 1); + FunctionConstants.newAsterix("global-sql-avg-serial", 1); public static final FunctionIdentifier SERIAL_INTERMEDIATE_SQL_AVG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-sql-avg-serial", 1); + FunctionConstants.newAsterix("intermediate-sql-avg-serial", 1); public static final FunctionIdentifier SERIAL_LOCAL_SQL_AVG = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-sql-avg-serial", 1); + FunctionConstants.newAsterix("local-sql-avg-serial", 1); public static final FunctionIdentifier SERIAL_SQL_STDDEV_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-stddev-serial_samp", 1); + FunctionConstants.newAsterix("sql-stddev-serial_samp", 1); public static final FunctionIdentifier SERIAL_GLOBAL_SQL_STDDEV_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-sql-stddev-serial_samp", 1); + FunctionConstants.newAsterix("global-sql-stddev-serial_samp", 1); public static final FunctionIdentifier SERIAL_INTERMEDIATE_SQL_STDDEV_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-sql-stddev-serial_samp", 1); + FunctionConstants.newAsterix("intermediate-sql-stddev-serial_samp", 1); public static final FunctionIdentifier SERIAL_LOCAL_SQL_STDDEV_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-sql-stddev-serial_samp", 1); + FunctionConstants.newAsterix("local-sql-stddev-serial_samp", 1); public static final FunctionIdentifier SERIAL_SQL_STDDEV_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-stddev_pop-serial", 1); + FunctionConstants.newAsterix("sql-stddev_pop-serial", 1); public static final FunctionIdentifier SERIAL_GLOBAL_SQL_STDDEV_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-sql-stddev_pop-serial", 1); + FunctionConstants.newAsterix("global-sql-stddev_pop-serial", 1); public static final FunctionIdentifier SERIAL_INTERMEDIATE_SQL_STDDEV_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-sql-stddev_pop-serial", 1); + FunctionConstants.newAsterix("intermediate-sql-stddev_pop-serial", 1); public static final FunctionIdentifier SERIAL_LOCAL_SQL_STDDEV_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-sql-stddev_pop-serial", 1); - public static final FunctionIdentifier SERIAL_SQL_VAR_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-var_samp-serial", 1); + FunctionConstants.newAsterix("local-sql-stddev_pop-serial", 1); + public static final FunctionIdentifier SERIAL_SQL_VAR_SAMP = FunctionConstants.newAsterix("sql-var_samp-serial", 1); public static final FunctionIdentifier SERIAL_GLOBAL_SQL_VAR_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-sql-var_samp-serial", 1); + FunctionConstants.newAsterix("global-sql-var_samp-serial", 1); public static final FunctionIdentifier SERIAL_INTERMEDIATE_SQL_VAR_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-sql-var_samp-serial", 1); + FunctionConstants.newAsterix("intermediate-sql-var_samp-serial", 1); public static final FunctionIdentifier SERIAL_LOCAL_SQL_VAR_SAMP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-sql-var_samp-serial", 1); - public static final FunctionIdentifier SERIAL_SQL_VAR_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-var_pop-serial", 1); + FunctionConstants.newAsterix("local-sql-var_samp-serial", 1); + public static final FunctionIdentifier SERIAL_SQL_VAR_POP = FunctionConstants.newAsterix("sql-var_pop-serial", 1); public static final FunctionIdentifier SERIAL_GLOBAL_SQL_VAR_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-sql-var_pop-serial", 1); + FunctionConstants.newAsterix("global-sql-var_pop-serial", 1); public static final FunctionIdentifier SERIAL_INTERMEDIATE_SQL_VAR_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-sql-var_pop-serial", 1); + FunctionConstants.newAsterix("intermediate-sql-var_pop-serial", 1); public static final FunctionIdentifier SERIAL_LOCAL_SQL_VAR_POP = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-sql-var_pop-serial", 1); - public static final FunctionIdentifier SERIAL_SQL_SKEWNESS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-skewness-serial", 1); + FunctionConstants.newAsterix("local-sql-var_pop-serial", 1); + public static final FunctionIdentifier SERIAL_SQL_SKEWNESS = FunctionConstants.newAsterix("sql-skewness-serial", 1); public static final FunctionIdentifier SERIAL_GLOBAL_SQL_SKEWNESS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-sql-skewness-serial", 1); + FunctionConstants.newAsterix("global-sql-skewness-serial", 1); public static final FunctionIdentifier SERIAL_INTERMEDIATE_SQL_SKEWNESS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-sql-skewness-serial", 1); + FunctionConstants.newAsterix("intermediate-sql-skewness-serial", 1); public static final FunctionIdentifier SERIAL_LOCAL_SQL_SKEWNESS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-sql-skewness-serial", 1); - public static final FunctionIdentifier SERIAL_SQL_KURTOSIS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-kurtosis-serial", 1); + FunctionConstants.newAsterix("local-sql-skewness-serial", 1); + public static final FunctionIdentifier SERIAL_SQL_KURTOSIS = FunctionConstants.newAsterix("sql-kurtosis-serial", 1); public static final FunctionIdentifier SERIAL_GLOBAL_SQL_KURTOSIS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-sql-kurtosis-serial", 1); + FunctionConstants.newAsterix("global-sql-kurtosis-serial", 1); public static final FunctionIdentifier SERIAL_INTERMEDIATE_SQL_KURTOSIS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-sql-kurtosis-serial", 1); + FunctionConstants.newAsterix("intermediate-sql-kurtosis-serial", 1); public static final FunctionIdentifier SERIAL_LOCAL_SQL_KURTOSIS = - new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-sql-kurtosis-serial", 1); + FunctionConstants.newAsterix("local-sql-kurtosis-serial", 1); // distinct sql aggregate functions public static final FunctionIdentifier SQL_COUNT_DISTINCT = @@@ -2779,34 -3257,27 +2814,41 @@@ interface BuiltinFunctionProperty { } + public enum AggregateFunctionProperty implements BuiltinFunctionProperty { + /** Whether the order clause is prohibited */ + NO_ORDER_CLAUSE, + /** Whether the frame clause is prohibited */ + NO_FRAME_CLAUSE + } + public enum WindowFunctionProperty implements BuiltinFunctionProperty { - /** Whether the order clause is prohibited */ + /** + * Whether the order clause is prohibited + */ NO_ORDER_CLAUSE, - /** Whether the frame clause is prohibited */ + /** + * Whether the frame clause is prohibited + */ NO_FRAME_CLAUSE, - /** Whether the first argument is a list */ + /** + * Whether the first argument is a list + */ HAS_LIST_ARG, - /** Whether order by expressions must be injected as arguments */ + /** + * Whether order by expressions must be injected as arguments + */ INJECT_ORDER_ARGS, - /** Whether a running aggregate requires partition materialization runtime */ + /** + * Whether a running aggregate requires partition materialization runtime + */ MATERIALIZE_PARTITION, - /** Whether FROM (FIRST | LAST) modifier is allowed */ + /** + * Whether FROM (FIRST | LAST) modifier is allowed + */ ALLOW_FROM_FIRST_LAST, - /** Whether (RESPECT | IGNORE) NULLS modifier is allowed */ + /** + * Whether (RESPECT | IGNORE) NULLS modifier is allowed + */ ALLOW_RESPECT_IGNORE_NULLS }
