v0.12.0-alpha
Pre-releaseAdded
- Adds support for using EXCLUDED within DML ON-CONFLICT-ACTION conditions. Closes #1111.
Changed
- Updates Kotlin target from 1.4 (DEPRECATED) to 1.6
- Moves PartiqlAst, PartiqlLogical, PartiqlLogicalResolved, and PartiqlPhysical (along with the transforms)
to a new project,partiql-ast
. These are still imported intopartiql-lang
with theapi
annotation. Therefore,
no action is required to consume the migrated classes. However, this now gives consumers of the AST, Experimental Plans,
Visitors, and VisitorTransforms the option of importing them directly using:org.partiql:partiql-ast:${VERSION}
.
The filepartiql.ion
is still published in thepartiql-lang-kotlin
JAR. - Moves internal class org.partiql.lang.syntax.PartiQLParser to org.partiql.lang.syntax.impl.PartiQLPigParser as we refactor for explicit API.
- Moves ANTLR grammar to
partiql-parser
package. The filesPartiQL.g4
andPartiQLTokens.g4
are still published in thepartiql-lang-kotlin
JAR. - Breaking: Adds new property,
rowAlias
, to experimentalPartiqlLogical.DmlOperation.DmlUpdate
,
PartiqlLogical.DmlOperation.DmlReplace
,PartiqlLogicalResolved.DmlOperation.DmlUpdate
,
PartiqlLogicalResolved.DmlOperation.DmlReplace
,PartiqlPhysical.DmlOperation.DmlUpdate
, and
PartiqlPhysical.DmlOperation.DmlReplace
.
Deprecated
Fixed
Removed
-
Breaking: Removes deprecated
org.partiql.annotations.PartiQLExperimental
-
Breaking: Removes deprecated/unused
blacklist()
anddenyList()
fromorg.partiql.lang.eval
-
Breaking: Removes deprecated enum
LEGACY
inorg.partiql.lang.eval.CompileOptions
-
Breaking: Removes deprecated
org.partiql.lang.eval.ExprValueFactory
, as well as all methods that had its instance
among arguments. The counterparts of these methods without an ExprValueFactory are still available. The affected methods
include:ofIonStruct()
inorg.partiql.lang.eval.Bindings
, a constructor oforg.partiql.lang.CompilerPipeline
,
convert()
inorg.partiql.lang.eval.io.DelimitedValues.ConversionMode
,exprValue()
from
org.partiql.lang.eval.io.DelimitedValues
, a constructor fororg.partiql.lang.eval.physical.EvaluatorState
, and
valueFactory
,build
,builder
,standard
inorg.partiql.lang.CompilerPipeline
-
Breaking: Removes deprecated
org.partiql.lang.eval.visitors.GroupKeyReferencesVisitorTransform
-
Breaking: Removes
org.partiql.lang.mappers.StaticTypeMapper
-
Breaking: Removes
org.partiql.lang.mappers.IonSchemaMapper
-
Breaking: Removes
org.partiql.lang.mappers.TypeNotFoundException
-
Breaking: Removes
org.partiql.lang.mappers.getBaseTypeName()
-
Breaking: Removes unused/deprecated enums
KEYWORD
,TOKEN_TYPE
,EXPECTED_TOKEN_TYPE
,EXPECTED_TOKEN_TYPE_1_OF_2
,
EXPECTED_TOKEN_TYPE_2_OF_2
,TIMESTAMP_STRING
,NARY_OP
fromorg.partiql.lang.errors.Property
-
Breaking: Removes unused
tokenTypeValue()
fromorg.partiql.lang.errors.PropertyValue
-
Breaking: Removes unused
TOKEN_CLASS
fromorg.partiql.lang.errors.PropertyType
-
Breaking: Removes unused
set(Property, TokenType)
fromorg.partiql.lang.errors.PropertyValueMap
-
Breaking: Removes unused/deprecated enums
LEXER_INVALID_NAME
,LEXER_INVALID_OPERATOR
,LEXER_INVALID_ION_LITERAL
,
PARSE_EXPECTED_KEYWORD
,PARSE_EXPECTED_TOKEN_TYPE
,PARSE_EXPECTED_2_TOKEN_TYPES
,PARSE_EXPECTED_TYPE_NAME
,
PARSE_EXPECTED_WHEN_CLAUSE
,PARSE_EXPECTED_WHERE_CLAUSE
,PARSE_EXPECTED_CONFLICT_ACTION
,PARSE_EXPECTED_RETURNING_CLAUSE
,
PARSE_UNSUPPORTED_RETURNING_CLAUSE_SYNTAX
,PARSE_UNSUPPORTED_TOKEN
,PARSE_EXPECTED_MEMBER
,PARSE_UNSUPPORTED_SELECT
,
PARSE_UNSUPPORTED_CASE
,PARSE_UNSUPPORTED_CASE_CLAUSE
,PARSE_UNSUPPORTED_ALIAS
,PARSE_UNSUPPORTED_SYNTAX
,
PARSE_UNSUPPORTED_SYNTAX
,PARSE_INVALID_PATH_COMPONENT
,PARSE_MISSING_IDENT_AFTER_AT
,PARSE_UNEXPECTED_OPERATOR
,
PARSE_UNEXPECTED_TERM
,PARSE_UNEXPECTED_KEYWORD
,PARSE_EXPECTED_EXPRESSION
,PARSE_EXPECTED_LEFT_PAREN_AFTER_CAST
,
PARSE_EXPECTED_LEFT_PAREN_VALUE_CONSTRUCTOR
,PARSE_EXPECTED_LEFT_PAREN_BUILTIN_FUNCTION_CALL
,
PARSE_EXPECTED_RIGHT_PAREN_BUILTIN_FUNCTION_CALL
,PARSE_EXPECTED_ARGUMENT_DELIMITER
,PARSE_CAST_ARITY
,
PARSE_INVALID_TYPE_PARAM
,PARSE_EMPTY_SELECT
,PARSE_SELECT_MISSING_FROM
,PARSE_MISSING_OPERATION
,
PARSE_MISSING_SET_ASSIGNMENT
,PARSE_EXPECTED_IDENT_FOR_GROUP_NAME
,PARSE_EXPECTED_IDENT_FOR_ALIAS
,
PARSE_EXPECTED_KEYWORD_FOR_MATCH
,PARSE_EXPECTED_IDENT_FOR_MATCH
,PARSE_EXPECTED_LEFT_PAREN_FOR_MATCH_NODE
,
PARSE_EXPECTED_RIGHT_PAREN_FOR_MATCH_NODE
,PARSE_EXPECTED_LEFT_BRACKET_FOR_MATCH_EDGE
,
PARSE_EXPECTED_RIGHT_BRACKET_FOR_MATCH_EDGE
,PARSE_EXPECTED_PARENTHESIZED_PATTERN
,PARSE_EXPECTED_EDGE_PATTERN_MATCH_EDGE
,
PARSE_EXPECTED_EQUALS_FOR_MATCH_PATH_VARIABLE
,PARSE_EXPECTED_AS_FOR_LET
,PARSE_UNSUPPORTED_CALL_WITH_STAR
,
PARSE_NON_UNARY_AGREGATE_FUNCTION_CALL
,PARSE_NO_STORED_PROCEDURE_PROVIDED
,PARSE_MALFORMED_JOIN
,
PARSE_EXPECTED_IDENT_FOR_AT
,PARSE_INVALID_CONTEXT_FOR_WILDCARD_IN_SELECT_LIST
,
PARSE_CANNOT_MIX_SQB_AND_WILDCARD_IN_SELECT_LIST
,PARSE_ASTERISK_IS_NOT_ALONE_IN_SELECT_LIST
,
SEMANTIC_DUPLICATE_ALIASES_IN_SELECT_LIST_ITEM
,SEMANTIC_NO_SUCH_FUNCTION
,SEMANTIC_INCORRECT_ARGUMENT_TYPES_TO_FUNC_CALL
,
EVALUATOR_NON_TEXT_STRUCT_KEY
,SEMANTIC_INCORRECT_NODE_ARITY
,SEMANTIC_ASTERISK_USED_WITH_OTHER_ITEMS
,
getKeyword()
fromorg.partiql.lang.errors.ErrorCode
-
Breaking: Removes unused
fillErrorContext()
fromorg.partiql.lang.eval
-
Breaking: Removes deprecated
isNull()
fromorg.partiql.lang.eval.ExprValueType
-
Breaking: Remove unused
fromTypeName()
,fromSqlDataType()
,fromSqlDataTypeOrNull()
fromorg.partiql.lang.eval.ExprValueType
-
Breaking: Removes deprecated
org.partiql.lang.syntax.Lexer
-
Breaking: Removes unused
STANDARD_AGGREGATE_FUNCTIONS
,OperatorPrecedenceGroups
fromorg.partiql.lang.syntax
-
Breaking: Removes deprecated
org.partiql.lang.syntax.SourcePosition
-
Breaking: Removes deprecated
org.partiql.lang.syntax.SourceSpan
-
Breaking: Removes deprecated
org.partiql.lang.syntax.Token
-
Breaking: Removes deprecated
org.partiql.lang.syntax.TokenType
-
Breaking: Stops publishing PartiQL ISL to Maven Central. The last published version is https://central.sonatype.com/artifact/org.partiql/partiql-isl-kotlin/0.11.0
-
Breaking: Removes unused package
org.partiql.lang.schemadiscovery
which included unused classes of:
SchemaInferencerFromExample
,SchemaInferencerFromExampleImpl
,TypeConstraint
,NormalizeNullableVisitorTransform
,
NormalizeDecimalPrecisionsToUpToRange
, andIonExampleParser
. -
Breaking: Removes unused package
org.partiql.lang.partiqlisl
which includes unused classes/methods:ResourceAuthority
,
getResourceAuthority()
, andloadPartiqlIsl()
. -
Breaking: Plan nodes cannot be directly instantiated. To instantiate, use the
Plan
(DEFAULT) factory. -
Breaking: PlanRewriter has been moved from
org.partiql.plan.visitor.PlanRewriter
toorg.partiql.plan.util.PlanRewriter
Security
Contributors
Thank you to all who have contributed!
Commits: v0.11.0-alpha...v0.12.0-alpha