From 3f4e955ad43d733dfb7d614250b067d83ee4f37c Mon Sep 17 00:00:00 2001 From: "R. C. Howell" Date: Mon, 16 Sep 2024 11:34:08 -0700 Subject: [PATCH 1/2] Moves datum/catalog from eval/planner to spi java package --- .../src/main/kotlin/org/partiql/cli/Main.kt | 4 +- .../org/partiql/cli/pipeline/Pipeline.kt | 4 +- .../org/partiql/eval/internal/Environment.kt | 2 +- .../org/partiql/eval/internal/Record.kt | 2 +- .../eval/internal/helpers/RecordUtility.kt | 2 +- .../internal/helpers/RecordValueIterator.kt | 2 +- .../eval/internal/helpers/ValueUtility.kt | 2 +- .../eval/internal/operator/Operator.kt | 2 +- .../operator/rel/DatumArrayComparator.kt | 2 +- .../internal/operator/rel/RelOpAggregate.kt | 2 +- .../internal/operator/rel/RelOpExceptAll.kt | 2 +- .../internal/operator/rel/RelOpExcludeOld.kt | 4 +- .../operator/rel/RelOpIntersectAll.kt | 2 +- .../internal/operator/rel/RelOpIterate.kt | 2 +- .../operator/rel/RelOpIteratePermissive.kt | 2 +- .../operator/rel/RelOpJoinOuterFull.kt | 2 +- .../operator/rel/RelOpJoinOuterLeft.kt | 4 +- .../operator/rel/RelOpJoinOuterRight.kt | 2 +- .../eval/internal/operator/rel/RelOpSort.kt | 2 +- .../internal/operator/rel/RelOpUnpivot.kt | 4 +- .../eval/internal/operator/rex/CastTable.kt | 2 +- .../internal/operator/rex/ExprCallDynamic.kt | 2 +- .../internal/operator/rex/ExprCallStatic.kt | 2 +- .../eval/internal/operator/rex/ExprCase.kt | 2 +- .../eval/internal/operator/rex/ExprCast.kt | 2 +- .../internal/operator/rex/ExprCoalesce.kt | 2 +- .../eval/internal/operator/rex/ExprMissing.kt | 2 +- .../eval/internal/operator/rex/ExprNullIf.kt | 2 +- .../internal/operator/rex/ExprPathIndex.kt | 2 +- .../eval/internal/operator/rex/ExprPathKey.kt | 2 +- .../internal/operator/rex/ExprPathSymbol.kt | 2 +- .../internal/operator/rex/ExprPermissive.kt | 2 +- .../eval/internal/operator/rex/ExprPivot.kt | 4 +- .../operator/rex/ExprPivotPermissive.kt | 4 +- .../eval/internal/operator/rex/ExprSelect.kt | 2 +- .../eval/internal/operator/rex/ExprSpread.kt | 2 +- .../operator/rex/ExprStructPermissive.kt | 5 +- .../internal/operator/rex/ExprStructStrict.kt | 5 +- .../internal/operator/rex/ExprSubquery.kt | 2 +- .../eval/internal/operator/rex/ExprTable.kt | 4 +- .../eval/internal/PartiQLEngineDefaultTest.kt | 6 +- .../operator/rex/ExprCallDynamicTest.kt | 12 +- partiql-plan/api/partiql-plan.api | 16 +- .../partiql/plan/v1/builder/PlanFactory.kt | 4 +- .../org/partiql/plan/v1/builder/RexBuilder.kt | 2 +- .../partiql/plan/v1/operator/rex/RexLit.kt | 2 +- .../partiql/plan/v1/operator/rex/RexTable.kt | 2 +- partiql-planner/api/partiql-planner.api | 4 +- .../org/partiql/planner/PartiQLPlanner.kt | 2 +- .../org/partiql/planner/internal/Env.kt | 10 +- .../planner/internal/ProblemGenerator.kt | 2 +- .../partiql/planner/internal/SqlPlanner.kt | 2 +- .../org/partiql/planner/internal/ir/Nodes.kt | 6 +- .../planner/internal/transforms/AstToPlan.kt | 2 +- .../internal/transforms/RexConverter.kt | 2 +- .../planner/internal/typer/CompilerType.kt | 2 +- .../partiql/planner/internal/typer/Scope.kt | 2 +- .../partiql/planner/internal/typer/TypeEnv.kt | 2 +- .../planner/internal/utils/PlanUtils.kt | 4 +- .../main/resources/partiql_plan_internal.ion | 4 +- .../kotlin/org/partiql/planner/PlanTest.kt | 6 +- .../planner/PlannerErrorReportingTests.kt | 2 +- .../partiql/planner/internal/TestCatalog.kt | 12 +- .../internal/exclude/SubsumptionTest.kt | 2 +- .../internal/typer/PartiQLTyperTestBase.kt | 6 +- .../planner/internal/typer/PlanTyperTest.kt | 8 +- .../internal/typer/PlanTyperTestsPorted.kt | 6 +- .../planner/internal/typer/ScopeTest.kt | 6 +- partiql-spi/api/partiql-spi.api | 530 +++++++++--------- .../partiql/{eval => spi}/value/Datum.java | 2 +- .../{eval => spi}/value/DatumBigInteger.java | 2 +- .../{eval => spi}/value/DatumBoolean.java | 2 +- .../{eval => spi}/value/DatumByte.java | 2 +- .../{eval => spi}/value/DatumBytes.java | 2 +- .../{eval => spi}/value/DatumChars.java | 2 +- .../{eval => spi}/value/DatumCollection.java | 2 +- .../{eval => spi}/value/DatumComparator.java | 2 +- .../{eval => spi}/value/DatumDate.java | 2 +- .../{eval => spi}/value/DatumDecimal.java | 2 +- .../{eval => spi}/value/DatumDouble.java | 2 +- .../{eval => spi}/value/DatumFloat.java | 2 +- .../partiql/{eval => spi}/value/DatumInt.java | 2 +- .../{eval => spi}/value/DatumInterval.java | 2 +- .../{eval => spi}/value/DatumLong.java | 2 +- .../{eval => spi}/value/DatumMissing.java | 2 +- .../{eval => spi}/value/DatumNull.java | 2 +- .../{eval => spi}/value/DatumShort.java | 2 +- .../{eval => spi}/value/DatumString.java | 2 +- .../{eval => spi}/value/DatumStruct.java | 2 +- .../{eval => spi}/value/DatumTime.java | 2 +- .../{eval => spi}/value/DatumTimestamp.java | 2 +- .../partiql/{eval => spi}/value/Field.java | 2 +- .../value/PQLToPartiQLIterable.java | 2 +- .../value/PQLToPartiQLStruct.java | 2 +- .../value/PartiQLToPQLIterable.java | 2 +- .../value/PartiQLToPQLStruct.java | 2 +- .../{planner => spi}/catalog/Catalog.kt | 2 +- .../{planner => spi}/catalog/Catalogs.kt | 2 +- .../{planner => spi}/catalog/Function.kt | 4 +- .../{planner => spi}/catalog/Identifier.kt | 2 +- .../partiql/{planner => spi}/catalog/Name.kt | 2 +- .../{planner => spi}/catalog/Namespace.kt | 2 +- .../partiql/{planner => spi}/catalog/Path.kt | 2 +- .../{planner => spi}/catalog/Session.kt | 4 +- .../partiql/{planner => spi}/catalog/Table.kt | 4 +- .../org/partiql/spi/connector/Connector.kt | 2 +- .../src/main/kotlin/org/partiql/spi/fn/Agg.kt | 2 +- .../src/main/kotlin/org/partiql/spi/fn/Fn.kt | 2 +- .../org/partiql/spi/fn/builtins/FnAbs.kt | 2 +- .../org/partiql/spi/fn/builtins/FnAnd.kt | 2 +- .../org/partiql/spi/fn/builtins/FnBetween.kt | 2 +- .../partiql/spi/fn/builtins/FnBitLength.kt | 2 +- .../partiql/spi/fn/builtins/FnBitwiseAnd.kt | 2 +- .../partiql/spi/fn/builtins/FnCardinality.kt | 2 +- .../partiql/spi/fn/builtins/FnCharLength.kt | 2 +- .../org/partiql/spi/fn/builtins/FnCollAgg.kt | 2 +- .../org/partiql/spi/fn/builtins/FnConcat.kt | 2 +- .../partiql/spi/fn/builtins/FnCurrentDate.kt | 2 +- .../partiql/spi/fn/builtins/FnCurrentUser.kt | 2 +- .../partiql/spi/fn/builtins/FnDateAddDay.kt | 2 +- .../partiql/spi/fn/builtins/FnDateAddHour.kt | 2 +- .../spi/fn/builtins/FnDateAddMinute.kt | 2 +- .../partiql/spi/fn/builtins/FnDateAddMonth.kt | 2 +- .../spi/fn/builtins/FnDateAddSecond.kt | 2 +- .../partiql/spi/fn/builtins/FnDateAddYear.kt | 2 +- .../partiql/spi/fn/builtins/FnDateDiffDay.kt | 2 +- .../partiql/spi/fn/builtins/FnDateDiffHour.kt | 2 +- .../spi/fn/builtins/FnDateDiffMinute.kt | 2 +- .../spi/fn/builtins/FnDateDiffMonth.kt | 2 +- .../spi/fn/builtins/FnDateDiffSecond.kt | 2 +- .../partiql/spi/fn/builtins/FnDateDiffYear.kt | 2 +- .../org/partiql/spi/fn/builtins/FnDivide.kt | 2 +- .../org/partiql/spi/fn/builtins/FnEq.kt | 2 +- .../org/partiql/spi/fn/builtins/FnExists.kt | 2 +- .../org/partiql/spi/fn/builtins/FnExtract.kt | 2 +- .../org/partiql/spi/fn/builtins/FnGt.kt | 2 +- .../org/partiql/spi/fn/builtins/FnGte.kt | 2 +- .../partiql/spi/fn/builtins/FnInCollection.kt | 2 +- .../org/partiql/spi/fn/builtins/FnIsAny.kt | 2 +- .../org/partiql/spi/fn/builtins/FnIsBag.kt | 2 +- .../org/partiql/spi/fn/builtins/FnIsBinary.kt | 2 +- .../org/partiql/spi/fn/builtins/FnIsBlob.kt | 2 +- .../org/partiql/spi/fn/builtins/FnIsBool.kt | 2 +- .../org/partiql/spi/fn/builtins/FnIsByte.kt | 2 +- .../org/partiql/spi/fn/builtins/FnIsChar.kt | 2 +- .../org/partiql/spi/fn/builtins/FnIsClob.kt | 2 +- .../org/partiql/spi/fn/builtins/FnIsDate.kt | 2 +- .../partiql/spi/fn/builtins/FnIsDecimal.kt | 2 +- .../spi/fn/builtins/FnIsDecimalArbitrary.kt | 2 +- .../partiql/spi/fn/builtins/FnIsFloat32.kt | 2 +- .../partiql/spi/fn/builtins/FnIsFloat64.kt | 2 +- .../org/partiql/spi/fn/builtins/FnIsInt.kt | 2 +- .../org/partiql/spi/fn/builtins/FnIsInt16.kt | 2 +- .../org/partiql/spi/fn/builtins/FnIsInt32.kt | 2 +- .../org/partiql/spi/fn/builtins/FnIsInt64.kt | 2 +- .../org/partiql/spi/fn/builtins/FnIsInt8.kt | 2 +- .../partiql/spi/fn/builtins/FnIsInterval.kt | 2 +- .../org/partiql/spi/fn/builtins/FnIsList.kt | 2 +- .../partiql/spi/fn/builtins/FnIsMissing.kt | 2 +- .../org/partiql/spi/fn/builtins/FnIsNull.kt | 2 +- .../org/partiql/spi/fn/builtins/FnIsSexp.kt | 2 +- .../org/partiql/spi/fn/builtins/FnIsString.kt | 2 +- .../org/partiql/spi/fn/builtins/FnIsStruct.kt | 2 +- .../org/partiql/spi/fn/builtins/FnIsSymbol.kt | 2 +- .../org/partiql/spi/fn/builtins/FnIsTime.kt | 2 +- .../partiql/spi/fn/builtins/FnIsTimestamp.kt | 2 +- .../org/partiql/spi/fn/builtins/FnLike.kt | 2 +- .../partiql/spi/fn/builtins/FnLikeEscape.kt | 2 +- .../org/partiql/spi/fn/builtins/FnLower.kt | 2 +- .../org/partiql/spi/fn/builtins/FnLt.kt | 2 +- .../org/partiql/spi/fn/builtins/FnLte.kt | 2 +- .../org/partiql/spi/fn/builtins/FnMinus.kt | 2 +- .../org/partiql/spi/fn/builtins/FnModulo.kt | 2 +- .../org/partiql/spi/fn/builtins/FnNeg.kt | 2 +- .../org/partiql/spi/fn/builtins/FnNot.kt | 2 +- .../partiql/spi/fn/builtins/FnOctetLength.kt | 2 +- .../org/partiql/spi/fn/builtins/FnOr.kt | 2 +- .../org/partiql/spi/fn/builtins/FnPlus.kt | 2 +- .../org/partiql/spi/fn/builtins/FnPos.kt | 2 +- .../org/partiql/spi/fn/builtins/FnPosition.kt | 2 +- .../org/partiql/spi/fn/builtins/FnSize.kt | 2 +- .../partiql/spi/fn/builtins/FnSubstring.kt | 2 +- .../org/partiql/spi/fn/builtins/FnTimes.kt | 2 +- .../org/partiql/spi/fn/builtins/FnTrim.kt | 2 +- .../partiql/spi/fn/builtins/FnTrimChars.kt | 2 +- .../partiql/spi/fn/builtins/FnTrimLeading.kt | 2 +- .../spi/fn/builtins/FnTrimLeadingChars.kt | 2 +- .../partiql/spi/fn/builtins/FnTrimTrailing.kt | 2 +- .../spi/fn/builtins/FnTrimTrailingChars.kt | 2 +- .../org/partiql/spi/fn/builtins/FnUpper.kt | 2 +- .../org/partiql/spi/fn/builtins/FnUtcnow.kt | 2 +- .../spi/fn/builtins/internal/Accumulator.kt | 2 +- .../builtins/internal/AccumulatorAnySome.kt | 2 +- .../fn/builtins/internal/AccumulatorAvg.kt | 2 +- .../fn/builtins/internal/AccumulatorCount.kt | 2 +- .../builtins/internal/AccumulatorCountStar.kt | 2 +- .../builtins/internal/AccumulatorDistinct.kt | 2 +- .../fn/builtins/internal/AccumulatorEvery.kt | 2 +- .../builtins/internal/AccumulatorGroupAs.kt | 2 +- .../fn/builtins/internal/AccumulatorMax.kt | 2 +- .../fn/builtins/internal/AccumulatorMin.kt | 2 +- .../fn/builtins/internal/AccumulatorSum.kt | 2 +- .../{planner => spi}/internal/SqlTypes.kt | 2 +- .../kotlin/org/partiql/spi/value/.gitkeep | 0 .../partiql/{ => spi}/value/ion/IonDatum.kt | 9 +- .../partiql/eval/value/DatumComparatorTest.kt | 68 ++- .../org/partiql/plugins/local/LocalCatalog.kt | 14 +- .../partiql/plugins/local/LocalConnector.kt | 2 +- .../org/partiql/plugins/local/LocalTable.kt | 6 +- .../partiql/plugins/memory/MemoryConnector.kt | 10 +- .../org/partiql/plugins/memory/MemoryTable.kt | 6 +- .../plugins/memory/MemoryConnectorTest.kt | 2 +- .../partiql/runner/executor/EvalExecutor.kt | 6 +- 213 files changed, 604 insertions(+), 561 deletions(-) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/Datum.java (99%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/DatumBigInteger.java (94%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/DatumBoolean.java (93%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/DatumByte.java (94%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/DatumBytes.java (95%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/DatumChars.java (94%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/DatumCollection.java (95%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/DatumComparator.java (99%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/DatumDate.java (95%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/DatumDecimal.java (95%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/DatumDouble.java (95%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/DatumFloat.java (95%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/DatumInt.java (93%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/DatumInterval.java (93%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/DatumLong.java (93%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/DatumMissing.java (94%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/DatumNull.java (99%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/DatumShort.java (93%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/DatumString.java (94%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/DatumStruct.java (98%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/DatumTime.java (95%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/DatumTimestamp.java (95%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/Field.java (97%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/PQLToPartiQLIterable.java (95%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/PQLToPartiQLStruct.java (96%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/PartiQLToPQLIterable.java (96%) rename partiql-spi/src/main/java/org/partiql/{eval => spi}/value/PartiQLToPQLStruct.java (97%) rename partiql-spi/src/main/kotlin/org/partiql/{planner => spi}/catalog/Catalog.kt (98%) rename partiql-spi/src/main/kotlin/org/partiql/{planner => spi}/catalog/Catalogs.kt (98%) rename partiql-spi/src/main/kotlin/org/partiql/{planner => spi}/catalog/Function.kt (97%) rename partiql-spi/src/main/kotlin/org/partiql/{planner => spi}/catalog/Identifier.kt (99%) rename partiql-spi/src/main/kotlin/org/partiql/{planner => spi}/catalog/Name.kt (98%) rename partiql-spi/src/main/kotlin/org/partiql/{planner => spi}/catalog/Namespace.kt (98%) rename partiql-spi/src/main/kotlin/org/partiql/{planner => spi}/catalog/Path.kt (96%) rename partiql-spi/src/main/kotlin/org/partiql/{planner => spi}/catalog/Session.kt (97%) rename partiql-spi/src/main/kotlin/org/partiql/{planner => spi}/catalog/Table.kt (98%) rename partiql-spi/src/main/kotlin/org/partiql/{planner => spi}/internal/SqlTypes.kt (99%) create mode 100644 partiql-spi/src/main/kotlin/org/partiql/spi/value/.gitkeep rename partiql-spi/src/main/kotlin/org/partiql/{ => spi}/value/ion/IonDatum.kt (98%) diff --git a/partiql-cli/src/main/kotlin/org/partiql/cli/Main.kt b/partiql-cli/src/main/kotlin/org/partiql/cli/Main.kt index d2b496c106..9deb32524d 100644 --- a/partiql-cli/src/main/kotlin/org/partiql/cli/Main.kt +++ b/partiql-cli/src/main/kotlin/org/partiql/cli/Main.kt @@ -24,14 +24,14 @@ import org.partiql.cli.pipeline.Pipeline import org.partiql.cli.shell.Shell import org.partiql.eval.PartiQLEngine import org.partiql.eval.PartiQLResult -import org.partiql.planner.catalog.Name import org.partiql.plugins.memory.MemoryConnector import org.partiql.plugins.memory.MemoryTable +import org.partiql.spi.catalog.Name import org.partiql.spi.connector.Connector +import org.partiql.spi.value.ion.IonDatum import org.partiql.types.PType import org.partiql.value.PartiQLValueExperimental import org.partiql.value.io.PartiQLValueTextWriter -import org.partiql.value.ion.IonDatum import picocli.CommandLine import java.io.File import java.io.InputStream diff --git a/partiql-cli/src/main/kotlin/org/partiql/cli/pipeline/Pipeline.kt b/partiql-cli/src/main/kotlin/org/partiql/cli/pipeline/Pipeline.kt index 5b098a0d71..6c5027c64f 100644 --- a/partiql-cli/src/main/kotlin/org/partiql/cli/pipeline/Pipeline.kt +++ b/partiql-cli/src/main/kotlin/org/partiql/cli/pipeline/Pipeline.kt @@ -9,9 +9,9 @@ import org.partiql.eval.PartiQLResult import org.partiql.parser.PartiQLParser import org.partiql.plan.v1.PartiQLPlan import org.partiql.planner.PartiQLPlanner +import org.partiql.spi.catalog.Session import org.partiql.spi.connector.Connector import java.time.Instant -import org.partiql.planner.catalog.Session as PlannerSession internal class Pipeline private constructor( private val parser: PartiQLParser, @@ -35,7 +35,7 @@ internal class Pipeline private constructor( private val catalogs = connectors.values.map { it.getCatalog() } - fun planner() = PlannerSession.builder() + fun planner() = org.partiql.spi.catalog.Session.builder() .identity(userId) .namespace(currentDirectory) .catalog(currentCatalog) diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/Environment.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/Environment.kt index 1b9cac408a..dc9c4e0f9d 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/Environment.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/Environment.kt @@ -1,6 +1,6 @@ package org.partiql.eval.internal -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum /** * This class represents the Variables Environment defined in the PartiQL Specification. diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/Record.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/Record.kt index fe80e161c8..76a55c4da1 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/Record.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/Record.kt @@ -1,6 +1,6 @@ package org.partiql.eval.internal -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum internal class Record(val values: Array) { diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/helpers/RecordUtility.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/helpers/RecordUtility.kt index bb01076d16..5e13f2d4c6 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/helpers/RecordUtility.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/helpers/RecordUtility.kt @@ -1,6 +1,6 @@ package org.partiql.eval.internal.helpers -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum internal object RecordUtility { /** diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/helpers/RecordValueIterator.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/helpers/RecordValueIterator.kt index 23e5a308f9..72c01121c3 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/helpers/RecordValueIterator.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/helpers/RecordValueIterator.kt @@ -1,7 +1,7 @@ package org.partiql.eval.internal.helpers import org.partiql.eval.internal.Record -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum /** * An [Iterator] over an [Iterator] lazily producing [Record]s as you call [next]. diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/helpers/ValueUtility.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/helpers/ValueUtility.kt index 87096675f6..909854af1f 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/helpers/ValueUtility.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/helpers/ValueUtility.kt @@ -1,7 +1,7 @@ package org.partiql.eval.internal.helpers import org.partiql.errors.TypeCheckException -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import org.partiql.types.PType import org.partiql.value.PartiQLValue import org.partiql.value.PartiQLValueExperimental diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/Operator.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/Operator.kt index e4abd8f40e..e4e0db2193 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/Operator.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/Operator.kt @@ -2,8 +2,8 @@ package org.partiql.eval.internal.operator import org.partiql.eval.internal.Environment import org.partiql.eval.internal.Record -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Agg +import org.partiql.spi.value.Datum internal sealed interface Operator { diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/DatumArrayComparator.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/DatumArrayComparator.kt index 276887ae78..e9d65aa802 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/DatumArrayComparator.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/DatumArrayComparator.kt @@ -1,6 +1,6 @@ package org.partiql.eval.internal.operator.rel -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum internal object DatumArrayComparator : Comparator> { private val delegate = Datum.comparator(false) diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpAggregate.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpAggregate.kt index 23679ee545..821ad6e0f8 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpAggregate.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpAggregate.kt @@ -3,8 +3,8 @@ package org.partiql.eval.internal.operator.rel import org.partiql.eval.internal.Environment import org.partiql.eval.internal.Record import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Agg +import org.partiql.spi.value.Datum import java.util.TreeMap import java.util.TreeSet diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpExceptAll.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpExceptAll.kt index 20b37ec79a..7fc567c853 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpExceptAll.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpExceptAll.kt @@ -4,7 +4,7 @@ import org.partiql.eval.internal.Environment import org.partiql.eval.internal.Record import org.partiql.eval.internal.helpers.RecordUtility.coerceMissing import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import java.util.TreeMap internal class RelOpExceptAll( diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpExcludeOld.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpExcludeOld.kt index 8158d3aaf5..a39972a24a 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpExcludeOld.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpExcludeOld.kt @@ -4,14 +4,14 @@ import org.partiql.eval.internal.Environment import org.partiql.eval.internal.Record import org.partiql.eval.internal.helpers.IteratorSupplier import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum -import org.partiql.eval.value.Field import org.partiql.plan.Rel import org.partiql.plan.relOpExcludeTypeCollIndex import org.partiql.plan.relOpExcludeTypeCollWildcard import org.partiql.plan.relOpExcludeTypeStructKey import org.partiql.plan.relOpExcludeTypeStructSymbol import org.partiql.plan.relOpExcludeTypeStructWildcard +import org.partiql.spi.value.Datum +import org.partiql.spi.value.Field import org.partiql.types.PType import org.partiql.value.PartiQLValue import org.partiql.value.PartiQLValueType diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpIntersectAll.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpIntersectAll.kt index e8cc990302..dcaf696220 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpIntersectAll.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpIntersectAll.kt @@ -4,7 +4,7 @@ import org.partiql.eval.internal.Environment import org.partiql.eval.internal.Record import org.partiql.eval.internal.helpers.RecordUtility.coerceMissing import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import java.util.TreeMap internal class RelOpIntersectAll( diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpIterate.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpIterate.kt index 403a4ad82b..1573895df4 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpIterate.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpIterate.kt @@ -4,7 +4,7 @@ import org.partiql.errors.TypeCheckException import org.partiql.eval.internal.Environment import org.partiql.eval.internal.Record import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import org.partiql.types.PType internal class RelOpIterate( diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpIteratePermissive.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpIteratePermissive.kt index 713d1f41f2..0b331a3c6b 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpIteratePermissive.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpIteratePermissive.kt @@ -3,7 +3,7 @@ package org.partiql.eval.internal.operator.rel import org.partiql.eval.internal.Environment import org.partiql.eval.internal.Record import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import org.partiql.types.PType internal class RelOpIteratePermissive( diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpJoinOuterFull.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpJoinOuterFull.kt index 1ddba669d2..0eeb95b390 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpJoinOuterFull.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpJoinOuterFull.kt @@ -4,8 +4,8 @@ import org.partiql.eval.internal.Environment import org.partiql.eval.internal.Record import org.partiql.eval.internal.helpers.ValueUtility.isTrue import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum import org.partiql.plan.v1.Schema +import org.partiql.spi.value.Datum /** * Full Outer Join returns all joined records from the [lhs] and [rhs] when the [condition] evaluates to true. For all diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpJoinOuterLeft.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpJoinOuterLeft.kt index b564ac7bdb..a1f2f5f105 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpJoinOuterLeft.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpJoinOuterLeft.kt @@ -4,9 +4,8 @@ import org.partiql.eval.internal.Environment import org.partiql.eval.internal.Record import org.partiql.eval.internal.helpers.ValueUtility.isTrue import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum import org.partiql.plan.v1.Schema -import org.partiql.value.PartiQLValueExperimental +import org.partiql.spi.value.Datum /** * Left Outer Join returns all joined records from the [lhs] and [rhs] when the [condition] evaluates to true. For all @@ -63,7 +62,6 @@ internal class RelOpJoinOuterLeft( * * Development Note: The non-lateral version wouldn't need to push to the current environment. */ - @OptIn(PartiQLValueExperimental::class) private fun implementation() = iterator { for (lhsRecord in lhs) { var lhsMatched = false diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpJoinOuterRight.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpJoinOuterRight.kt index b0f2ff8b1b..0b1f216d5b 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpJoinOuterRight.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpJoinOuterRight.kt @@ -4,8 +4,8 @@ import org.partiql.eval.internal.Environment import org.partiql.eval.internal.Record import org.partiql.eval.internal.helpers.ValueUtility.isTrue import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum import org.partiql.plan.v1.Schema +import org.partiql.spi.value.Datum /** * Right Outer Join returns all joined records from the [lhs] and [rhs] when the [condition] evaluates to true. For all diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpSort.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpSort.kt index 973dd7070f..a830c332a8 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpSort.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpSort.kt @@ -3,7 +3,7 @@ package org.partiql.eval.internal.operator.rel import org.partiql.eval.internal.Environment import org.partiql.eval.internal.Record import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import java.util.Collections internal class RelOpSort( diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpUnpivot.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpUnpivot.kt index b7505512a9..19e24ba9fb 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpUnpivot.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpUnpivot.kt @@ -4,8 +4,8 @@ import org.partiql.errors.TypeCheckException import org.partiql.eval.internal.Environment import org.partiql.eval.internal.Record import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum -import org.partiql.eval.value.Field +import org.partiql.spi.value.Datum +import org.partiql.spi.value.Field import org.partiql.types.PType /** diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/CastTable.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/CastTable.kt index cae9d4f0c4..043ec2552d 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/CastTable.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/CastTable.kt @@ -5,7 +5,7 @@ import com.amazon.ionelement.api.IonElementException import com.amazon.ionelement.api.createIonElementLoader import org.partiql.errors.DataException import org.partiql.errors.TypeCheckException -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import org.partiql.types.PType import org.partiql.types.PType.Kind.ARRAY import org.partiql.types.PType.Kind.BAG diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCallDynamic.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCallDynamic.kt index e6ba63a920..4f090c7552 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCallDynamic.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCallDynamic.kt @@ -3,8 +3,8 @@ package org.partiql.eval.internal.operator.rex import org.partiql.errors.TypeCheckException import org.partiql.eval.internal.Environment import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn +import org.partiql.spi.value.Datum import org.partiql.types.PType import org.partiql.value.PartiQLValue diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCallStatic.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCallStatic.kt index acbda8b4f3..9789f51ed4 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCallStatic.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCallStatic.kt @@ -2,8 +2,8 @@ package org.partiql.eval.internal.operator.rex import org.partiql.eval.internal.Environment import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn +import org.partiql.spi.value.Datum import org.partiql.value.PartiQLValueExperimental @OptIn(PartiQLValueExperimental::class) diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCase.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCase.kt index d6ccd484d0..c866fa4e07 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCase.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCase.kt @@ -2,7 +2,7 @@ package org.partiql.eval.internal.operator.rex import org.partiql.eval.internal.Environment import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import org.partiql.types.PType internal class ExprCase( diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCast.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCast.kt index 770da49947..6c47ed53ee 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCast.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCast.kt @@ -2,7 +2,7 @@ package org.partiql.eval.internal.operator.rex import org.partiql.eval.internal.Environment import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import org.partiql.types.PType /** diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCoalesce.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCoalesce.kt index 0b1d9b9a73..fd3482854e 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCoalesce.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCoalesce.kt @@ -2,7 +2,7 @@ package org.partiql.eval.internal.operator.rex import org.partiql.eval.internal.Environment import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import org.partiql.value.PartiQLValueExperimental internal class ExprCoalesce( diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprMissing.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprMissing.kt index 12d4884d30..f1c05c78e3 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprMissing.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprMissing.kt @@ -2,7 +2,7 @@ package org.partiql.eval.internal.operator.rex import org.partiql.eval.internal.Environment import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import org.partiql.types.PType internal class ExprMissing( diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprNullIf.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprNullIf.kt index f6b752de4d..0226ffa2d9 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprNullIf.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprNullIf.kt @@ -2,7 +2,7 @@ package org.partiql.eval.internal.operator.rex import org.partiql.eval.internal.Environment import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum internal class ExprNullIf( private val valueExpr: Operator.Expr, diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPathIndex.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPathIndex.kt index 7595f73013..d8c54acde0 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPathIndex.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPathIndex.kt @@ -4,7 +4,7 @@ import org.partiql.errors.TypeCheckException import org.partiql.eval.internal.Environment import org.partiql.eval.internal.helpers.ValueUtility.getInt32Coerced import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import org.partiql.types.PType internal class ExprPathIndex( diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPathKey.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPathKey.kt index 39cc194136..6ae5e88789 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPathKey.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPathKey.kt @@ -4,7 +4,7 @@ import org.partiql.errors.TypeCheckException import org.partiql.eval.internal.Environment import org.partiql.eval.internal.helpers.ValueUtility.check import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import org.partiql.value.PartiQLValueExperimental import org.partiql.value.PartiQLValueType diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPathSymbol.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPathSymbol.kt index 949828aaa3..ee52ba1288 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPathSymbol.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPathSymbol.kt @@ -4,7 +4,7 @@ import org.partiql.errors.TypeCheckException import org.partiql.eval.internal.Environment import org.partiql.eval.internal.helpers.ValueUtility.check import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import org.partiql.value.PartiQLValueExperimental import org.partiql.value.PartiQLValueType diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPermissive.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPermissive.kt index 5fb09b6e27..24b307b9fc 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPermissive.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPermissive.kt @@ -5,7 +5,7 @@ import org.partiql.errors.DataException import org.partiql.errors.TypeCheckException import org.partiql.eval.internal.Environment import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum internal class ExprPermissive( val target: Operator.Expr diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPivot.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPivot.kt index a7b56a1c16..3d81f308a7 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPivot.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPivot.kt @@ -3,8 +3,8 @@ package org.partiql.eval.internal.operator.rex import org.partiql.eval.internal.Environment import org.partiql.eval.internal.helpers.ValueUtility.getText import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum -import org.partiql.eval.value.Field +import org.partiql.spi.value.Datum +import org.partiql.spi.value.Field internal class ExprPivot( private val input: Operator.Relation, diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPivotPermissive.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPivotPermissive.kt index 63eacbde6a..f4196a9edb 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPivotPermissive.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprPivotPermissive.kt @@ -4,8 +4,8 @@ import org.partiql.errors.TypeCheckException import org.partiql.eval.internal.Environment import org.partiql.eval.internal.helpers.ValueUtility.getText import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum -import org.partiql.eval.value.Field +import org.partiql.spi.value.Datum +import org.partiql.spi.value.Field internal class ExprPivotPermissive( private val input: Operator.Relation, diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprSelect.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprSelect.kt index 388a77ecf9..81ea777c14 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprSelect.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprSelect.kt @@ -2,7 +2,7 @@ package org.partiql.eval.internal.operator.rex import org.partiql.eval.internal.Environment import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import org.partiql.value.PartiQLValueExperimental /** diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprSpread.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprSpread.kt index fbb9f2bbc3..ac6a57abf2 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprSpread.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprSpread.kt @@ -3,7 +3,7 @@ package org.partiql.eval.internal.operator.rex import org.partiql.eval.internal.Environment import org.partiql.eval.internal.helpers.ValueUtility.check import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import org.partiql.types.PType import org.partiql.value.PartiQLValueExperimental import org.partiql.value.PartiQLValueType diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprStructPermissive.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprStructPermissive.kt index bfc17fb2aa..6ef352296a 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprStructPermissive.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprStructPermissive.kt @@ -2,7 +2,8 @@ package org.partiql.eval.internal.operator.rex import org.partiql.eval.internal.Environment import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum +import org.partiql.spi.value.Field import org.partiql.types.PType internal class ExprStructPermissive(private val fields: List) : Operator.Expr { @@ -13,7 +14,7 @@ internal class ExprStructPermissive(private val fields: List) : val value = it.value.eval(env) when (value.isMissing) { true -> null - false -> org.partiql.eval.value.Field.of(keyString, value) + false -> Field.of(keyString, value) } } return Datum.struct(fields) diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprStructStrict.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprStructStrict.kt index 2b16746b37..099f3218c6 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprStructStrict.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprStructStrict.kt @@ -4,7 +4,8 @@ import org.partiql.errors.TypeCheckException import org.partiql.eval.internal.Environment import org.partiql.eval.internal.helpers.ValueUtility.getText import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum +import org.partiql.spi.value.Field internal class ExprStructStrict(private val fields: List) : Operator.Expr { override fun eval(env: Environment): Datum { @@ -17,7 +18,7 @@ internal class ExprStructStrict(private val fields: List) : Ope val value = it.value.eval(env) when (value.isMissing) { true -> null - false -> org.partiql.eval.value.Field.of(keyString, value) + false -> Field.of(keyString, value) } } return Datum.struct(fields) diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprSubquery.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprSubquery.kt index 7115018b5b..4836d1e0e9 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprSubquery.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprSubquery.kt @@ -5,8 +5,8 @@ import org.partiql.errors.TypeCheckException import org.partiql.eval.internal.Environment import org.partiql.eval.internal.helpers.ValueUtility.check import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum import org.partiql.types.PType +import org.partiql.spi.value.Datum /** * Implementation of scalar subquery coercion. diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprTable.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprTable.kt index eab80a10f7..8a6be2e7d6 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprTable.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprTable.kt @@ -2,8 +2,8 @@ package org.partiql.eval.internal.operator.rex import org.partiql.eval.internal.Environment import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum -import org.partiql.planner.catalog.Table +import org.partiql.spi.catalog.Table +import org.partiql.spi.value.Datum /** * Wrap a [Table] as an expression operator. diff --git a/partiql-eval/src/test/kotlin/org/partiql/eval/internal/PartiQLEngineDefaultTest.kt b/partiql-eval/src/test/kotlin/org/partiql/eval/internal/PartiQLEngineDefaultTest.kt index ccd597c78c..e65426650b 100644 --- a/partiql-eval/src/test/kotlin/org/partiql/eval/internal/PartiQLEngineDefaultTest.kt +++ b/partiql-eval/src/test/kotlin/org/partiql/eval/internal/PartiQLEngineDefaultTest.kt @@ -13,11 +13,12 @@ import org.partiql.eval.PartiQLResult import org.partiql.parser.PartiQLParser import org.partiql.plan.v1.PartiQLPlan import org.partiql.planner.builder.PartiQLPlannerBuilder -import org.partiql.planner.catalog.Name -import org.partiql.planner.catalog.Session import org.partiql.planner.internal.SqlPlannerV1 import org.partiql.plugins.memory.MemoryConnector import org.partiql.plugins.memory.MemoryTable +import org.partiql.spi.catalog.Name +import org.partiql.spi.catalog.Session +import org.partiql.spi.value.ion.IonDatum import org.partiql.types.PType import org.partiql.types.StaticType import org.partiql.value.CollectionValue @@ -30,7 +31,6 @@ import org.partiql.value.int32Value import org.partiql.value.int64Value import org.partiql.value.intValue import org.partiql.value.io.PartiQLValueIonWriterBuilder -import org.partiql.value.ion.IonDatum import org.partiql.value.listValue import org.partiql.value.missingValue import org.partiql.value.nullValue diff --git a/partiql-eval/src/test/kotlin/org/partiql/eval/internal/operator/rex/ExprCallDynamicTest.kt b/partiql-eval/src/test/kotlin/org/partiql/eval/internal/operator/rex/ExprCallDynamicTest.kt index bd547f8446..b13d5f5bdb 100644 --- a/partiql-eval/src/test/kotlin/org/partiql/eval/internal/operator/rex/ExprCallDynamicTest.kt +++ b/partiql-eval/src/test/kotlin/org/partiql/eval/internal/operator/rex/ExprCallDynamicTest.kt @@ -7,15 +7,15 @@ import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.provider.MethodSource import org.partiql.eval.internal.Environment import org.partiql.eval.internal.helpers.ValueUtility.check -import org.partiql.eval.value.Datum -import org.partiql.eval.value.Datum.bag -import org.partiql.eval.value.Datum.bool -import org.partiql.eval.value.Datum.integer -import org.partiql.eval.value.Datum.list -import org.partiql.eval.value.Datum.string import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum +import org.partiql.spi.value.Datum.bag +import org.partiql.spi.value.Datum.bool +import org.partiql.spi.value.Datum.integer +import org.partiql.spi.value.Datum.list +import org.partiql.spi.value.Datum.string import org.partiql.types.PType import org.partiql.value.PartiQLValueExperimental import org.partiql.value.PartiQLValueType diff --git a/partiql-plan/api/partiql-plan.api b/partiql-plan/api/partiql-plan.api index 472fc8d779..857ea4f588 100644 --- a/partiql-plan/api/partiql-plan.api +++ b/partiql-plan/api/partiql-plan.api @@ -2560,7 +2560,7 @@ public abstract interface class org/partiql/plan/v1/builder/PlanFactory { public abstract fun rexCast (Lorg/partiql/plan/v1/operator/rex/Rex;Lorg/partiql/types/PType;)Lorg/partiql/plan/v1/operator/rex/RexCast; public abstract fun rexCoalesce (Ljava/util/List;)Lorg/partiql/plan/v1/operator/rex/RexCoalesce; public abstract fun rexError (Ljava/lang/String;Ljava/util/List;)Lorg/partiql/plan/v1/operator/rex/RexError; - public abstract fun rexLit (Lorg/partiql/eval/value/Datum;)Lorg/partiql/plan/v1/operator/rex/RexLit; + public abstract fun rexLit (Lorg/partiql/spi/value/Datum;)Lorg/partiql/plan/v1/operator/rex/RexLit; public abstract fun rexMissing (Ljava/lang/String;Ljava/util/List;)Lorg/partiql/plan/v1/operator/rex/RexMissing; public abstract fun rexNullIf (Lorg/partiql/plan/v1/operator/rex/Rex;Lorg/partiql/plan/v1/operator/rex/Rex;)Lorg/partiql/plan/v1/operator/rex/RexNullIf; public abstract fun rexPathIndex (Lorg/partiql/plan/v1/operator/rex/Rex;Lorg/partiql/plan/v1/operator/rex/Rex;)Lorg/partiql/plan/v1/operator/rex/RexPathIndex; @@ -2576,7 +2576,7 @@ public abstract interface class org/partiql/plan/v1/builder/PlanFactory { public abstract fun rexSubqueryIn (Ljava/util/List;Lorg/partiql/plan/v1/operator/rel/Rel;)Lorg/partiql/plan/v1/operator/rex/RexSubqueryIn; public abstract fun rexSubqueryIn (Lorg/partiql/plan/v1/operator/rex/Rex;Lorg/partiql/plan/v1/operator/rel/Rel;)Lorg/partiql/plan/v1/operator/rex/RexSubqueryIn; public abstract fun rexSubqueryTest (Lorg/partiql/plan/v1/operator/rex/RexSubqueryTest$Test;Lorg/partiql/plan/v1/operator/rel/Rel;)Lorg/partiql/plan/v1/operator/rex/RexSubqueryTest; - public abstract fun rexTable (Lorg/partiql/planner/catalog/Table;)Lorg/partiql/plan/v1/operator/rex/RexTable; + public abstract fun rexTable (Lorg/partiql/spi/catalog/Table;)Lorg/partiql/plan/v1/operator/rex/RexTable; public abstract fun rexVar (II)Lorg/partiql/plan/v1/operator/rex/RexVar; } @@ -2618,7 +2618,7 @@ public final class org/partiql/plan/v1/builder/PlanFactory$DefaultImpls { public static fun rexCast (Lorg/partiql/plan/v1/builder/PlanFactory;Lorg/partiql/plan/v1/operator/rex/Rex;Lorg/partiql/types/PType;)Lorg/partiql/plan/v1/operator/rex/RexCast; public static fun rexCoalesce (Lorg/partiql/plan/v1/builder/PlanFactory;Ljava/util/List;)Lorg/partiql/plan/v1/operator/rex/RexCoalesce; public static fun rexError (Lorg/partiql/plan/v1/builder/PlanFactory;Ljava/lang/String;Ljava/util/List;)Lorg/partiql/plan/v1/operator/rex/RexError; - public static fun rexLit (Lorg/partiql/plan/v1/builder/PlanFactory;Lorg/partiql/eval/value/Datum;)Lorg/partiql/plan/v1/operator/rex/RexLit; + public static fun rexLit (Lorg/partiql/plan/v1/builder/PlanFactory;Lorg/partiql/spi/value/Datum;)Lorg/partiql/plan/v1/operator/rex/RexLit; public static fun rexMissing (Lorg/partiql/plan/v1/builder/PlanFactory;Ljava/lang/String;Ljava/util/List;)Lorg/partiql/plan/v1/operator/rex/RexMissing; public static fun rexNullIf (Lorg/partiql/plan/v1/builder/PlanFactory;Lorg/partiql/plan/v1/operator/rex/Rex;Lorg/partiql/plan/v1/operator/rex/Rex;)Lorg/partiql/plan/v1/operator/rex/RexNullIf; public static fun rexPathIndex (Lorg/partiql/plan/v1/builder/PlanFactory;Lorg/partiql/plan/v1/operator/rex/Rex;Lorg/partiql/plan/v1/operator/rex/Rex;)Lorg/partiql/plan/v1/operator/rex/RexPathIndex; @@ -2634,7 +2634,7 @@ public final class org/partiql/plan/v1/builder/PlanFactory$DefaultImpls { public static fun rexSubqueryIn (Lorg/partiql/plan/v1/builder/PlanFactory;Ljava/util/List;Lorg/partiql/plan/v1/operator/rel/Rel;)Lorg/partiql/plan/v1/operator/rex/RexSubqueryIn; public static fun rexSubqueryIn (Lorg/partiql/plan/v1/builder/PlanFactory;Lorg/partiql/plan/v1/operator/rex/Rex;Lorg/partiql/plan/v1/operator/rel/Rel;)Lorg/partiql/plan/v1/operator/rex/RexSubqueryIn; public static fun rexSubqueryTest (Lorg/partiql/plan/v1/builder/PlanFactory;Lorg/partiql/plan/v1/operator/rex/RexSubqueryTest$Test;Lorg/partiql/plan/v1/operator/rel/Rel;)Lorg/partiql/plan/v1/operator/rex/RexSubqueryTest; - public static fun rexTable (Lorg/partiql/plan/v1/builder/PlanFactory;Lorg/partiql/planner/catalog/Table;)Lorg/partiql/plan/v1/operator/rex/RexTable; + public static fun rexTable (Lorg/partiql/plan/v1/builder/PlanFactory;Lorg/partiql/spi/catalog/Table;)Lorg/partiql/plan/v1/operator/rex/RexTable; public static fun rexVar (Lorg/partiql/plan/v1/builder/PlanFactory;II)Lorg/partiql/plan/v1/operator/rex/RexVar; } @@ -2686,7 +2686,7 @@ public final class org/partiql/plan/v1/builder/RexBuilder { public static final fun lit (I)Lorg/partiql/plan/v1/builder/RexBuilder; public static final fun lit (J)Lorg/partiql/plan/v1/builder/RexBuilder; public static final fun lit (Ljava/lang/String;)Lorg/partiql/plan/v1/builder/RexBuilder; - public static final fun lit (Lorg/partiql/eval/value/Datum;)Lorg/partiql/plan/v1/builder/RexBuilder; + public static final fun lit (Lorg/partiql/spi/value/Datum;)Lorg/partiql/plan/v1/builder/RexBuilder; public static final fun lit (Z)Lorg/partiql/plan/v1/builder/RexBuilder; public static final fun pivot (Lorg/partiql/plan/v1/builder/RelBuilder;Lorg/partiql/plan/v1/builder/RexBuilder;Lorg/partiql/plan/v1/builder/RexBuilder;)Lorg/partiql/plan/v1/builder/RexBuilder; public final fun scan ()Lorg/partiql/plan/v1/builder/RelBuilder; @@ -2707,7 +2707,7 @@ public final class org/partiql/plan/v1/builder/RexBuilder$Companion { public final fun lit (I)Lorg/partiql/plan/v1/builder/RexBuilder; public final fun lit (J)Lorg/partiql/plan/v1/builder/RexBuilder; public final fun lit (Ljava/lang/String;)Lorg/partiql/plan/v1/builder/RexBuilder; - public final fun lit (Lorg/partiql/eval/value/Datum;)Lorg/partiql/plan/v1/builder/RexBuilder; + public final fun lit (Lorg/partiql/spi/value/Datum;)Lorg/partiql/plan/v1/builder/RexBuilder; public final fun lit (Z)Lorg/partiql/plan/v1/builder/RexBuilder; public final fun pivot (Lorg/partiql/plan/v1/builder/RelBuilder;Lorg/partiql/plan/v1/builder/RexBuilder;Lorg/partiql/plan/v1/builder/RexBuilder;)Lorg/partiql/plan/v1/builder/RexBuilder; public final fun select (Lorg/partiql/plan/v1/builder/RelBuilder;Lorg/partiql/plan/v1/builder/RexBuilder;)Lorg/partiql/plan/v1/builder/RexBuilder; @@ -3232,7 +3232,7 @@ public abstract interface class org/partiql/plan/v1/operator/rex/RexLit : org/pa public abstract fun accept (Lorg/partiql/plan/v1/operator/rex/RexVisitor;Ljava/lang/Object;)Ljava/lang/Object; public abstract fun getChildren ()Ljava/util/Collection; public abstract fun getType ()Lorg/partiql/types/PType; - public abstract fun getValue ()Lorg/partiql/eval/value/Datum; + public abstract fun getValue ()Lorg/partiql/spi/value/Datum; } public final class org/partiql/plan/v1/operator/rex/RexLit$DefaultImpls { @@ -3437,7 +3437,7 @@ public final class org/partiql/plan/v1/operator/rex/RexSubqueryTest$Test : java/ public abstract interface class org/partiql/plan/v1/operator/rex/RexTable : org/partiql/plan/v1/operator/rex/Rex { public abstract fun accept (Lorg/partiql/plan/v1/operator/rex/RexVisitor;Ljava/lang/Object;)Ljava/lang/Object; public abstract fun getChildren ()Ljava/util/Collection; - public abstract fun getTable ()Lorg/partiql/planner/catalog/Table; + public abstract fun getTable ()Lorg/partiql/spi/catalog/Table; } public final class org/partiql/plan/v1/operator/rex/RexTable$DefaultImpls { diff --git a/partiql-plan/src/main/kotlin/org/partiql/plan/v1/builder/PlanFactory.kt b/partiql-plan/src/main/kotlin/org/partiql/plan/v1/builder/PlanFactory.kt index 23ba1bd0a3..4e1dcbb1a3 100644 --- a/partiql-plan/src/main/kotlin/org/partiql/plan/v1/builder/PlanFactory.kt +++ b/partiql-plan/src/main/kotlin/org/partiql/plan/v1/builder/PlanFactory.kt @@ -1,6 +1,5 @@ package org.partiql.plan.v1.builder -import org.partiql.eval.value.Datum import org.partiql.plan.v1.Schema import org.partiql.plan.v1.operator.rel.Rel import org.partiql.plan.v1.operator.rel.RelAggregate @@ -89,9 +88,10 @@ import org.partiql.plan.v1.operator.rex.RexTable import org.partiql.plan.v1.operator.rex.RexTableImpl import org.partiql.plan.v1.operator.rex.RexVar import org.partiql.plan.v1.operator.rex.RexVarImpl -import org.partiql.planner.catalog.Table +import org.partiql.spi.catalog.Table import org.partiql.spi.fn.Agg import org.partiql.spi.fn.Fn +import org.partiql.spi.value.Datum import org.partiql.types.PType /** diff --git a/partiql-plan/src/main/kotlin/org/partiql/plan/v1/builder/RexBuilder.kt b/partiql-plan/src/main/kotlin/org/partiql/plan/v1/builder/RexBuilder.kt index 8d43397e20..da7a83caa3 100644 --- a/partiql-plan/src/main/kotlin/org/partiql/plan/v1/builder/RexBuilder.kt +++ b/partiql-plan/src/main/kotlin/org/partiql/plan/v1/builder/RexBuilder.kt @@ -1,10 +1,10 @@ package org.partiql.plan.v1.builder -import org.partiql.eval.value.Datum import org.partiql.plan.v1.operator.rel.Rel import org.partiql.plan.v1.operator.rex.Rex import org.partiql.plan.v1.operator.rex.RexStruct import org.partiql.plan.v1.operator.rex.RexSubqueryTest +import org.partiql.spi.value.Datum import org.partiql.types.PType /** diff --git a/partiql-plan/src/main/kotlin/org/partiql/plan/v1/operator/rex/RexLit.kt b/partiql-plan/src/main/kotlin/org/partiql/plan/v1/operator/rex/RexLit.kt index 8897f85034..90b9e05995 100644 --- a/partiql-plan/src/main/kotlin/org/partiql/plan/v1/operator/rex/RexLit.kt +++ b/partiql-plan/src/main/kotlin/org/partiql/plan/v1/operator/rex/RexLit.kt @@ -1,6 +1,6 @@ package org.partiql.plan.v1.operator.rex -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import org.partiql.types.PType /** diff --git a/partiql-plan/src/main/kotlin/org/partiql/plan/v1/operator/rex/RexTable.kt b/partiql-plan/src/main/kotlin/org/partiql/plan/v1/operator/rex/RexTable.kt index 494641a47a..342bc950b3 100644 --- a/partiql-plan/src/main/kotlin/org/partiql/plan/v1/operator/rex/RexTable.kt +++ b/partiql-plan/src/main/kotlin/org/partiql/plan/v1/operator/rex/RexTable.kt @@ -1,6 +1,6 @@ package org.partiql.plan.v1.operator.rex -import org.partiql.planner.catalog.Table +import org.partiql.spi.catalog.Table import org.partiql.types.PType /** diff --git a/partiql-planner/api/partiql-planner.api b/partiql-planner/api/partiql-planner.api index a47e8f8c34..913e74f5f1 100644 --- a/partiql-planner/api/partiql-planner.api +++ b/partiql-planner/api/partiql-planner.api @@ -1,7 +1,7 @@ public abstract interface class org/partiql/planner/PartiQLPlanner { public static final field Companion Lorg/partiql/planner/PartiQLPlanner$Companion; public static fun builder ()Lorg/partiql/planner/builder/PartiQLPlannerBuilder; - public abstract fun plan (Lorg/partiql/ast/Statement;Lorg/partiql/planner/catalog/Session;Lkotlin/jvm/functions/Function1;)Lorg/partiql/planner/PartiQLPlanner$Result; + public abstract fun plan (Lorg/partiql/ast/Statement;Lorg/partiql/spi/catalog/Session;Lkotlin/jvm/functions/Function1;)Lorg/partiql/planner/PartiQLPlanner$Result; public static fun standard ()Lorg/partiql/planner/PartiQLPlanner; } @@ -11,7 +11,7 @@ public final class org/partiql/planner/PartiQLPlanner$Companion { } public final class org/partiql/planner/PartiQLPlanner$DefaultImpls { - public static synthetic fun plan$default (Lorg/partiql/planner/PartiQLPlanner;Lorg/partiql/ast/Statement;Lorg/partiql/planner/catalog/Session;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/partiql/planner/PartiQLPlanner$Result; + public static synthetic fun plan$default (Lorg/partiql/planner/PartiQLPlanner;Lorg/partiql/ast/Statement;Lorg/partiql/spi/catalog/Session;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/partiql/planner/PartiQLPlanner$Result; } public final class org/partiql/planner/PartiQLPlanner$Result { diff --git a/partiql-planner/src/main/kotlin/org/partiql/planner/PartiQLPlanner.kt b/partiql-planner/src/main/kotlin/org/partiql/planner/PartiQLPlanner.kt index aff7dd7066..81ee7aec0c 100644 --- a/partiql-planner/src/main/kotlin/org/partiql/planner/PartiQLPlanner.kt +++ b/partiql-planner/src/main/kotlin/org/partiql/planner/PartiQLPlanner.kt @@ -5,7 +5,7 @@ import org.partiql.errors.Problem import org.partiql.errors.ProblemCallback import org.partiql.plan.PartiQLPlan import org.partiql.planner.builder.PartiQLPlannerBuilder -import org.partiql.planner.catalog.Session +import org.partiql.spi.catalog.Session /** * PartiQLPlanner is responsible for transforming an AST into PartiQL's logical query plan. diff --git a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/Env.kt b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/Env.kt index d39805b378..233442ef15 100644 --- a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/Env.kt +++ b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/Env.kt @@ -1,10 +1,5 @@ package org.partiql.planner.internal -import org.partiql.planner.catalog.Catalog -import org.partiql.planner.catalog.Catalogs -import org.partiql.planner.catalog.Identifier -import org.partiql.planner.catalog.Name -import org.partiql.planner.catalog.Session import org.partiql.planner.internal.casts.CastTable import org.partiql.planner.internal.casts.Coercions import org.partiql.planner.internal.ir.Ref @@ -21,6 +16,11 @@ import org.partiql.planner.internal.ir.rexOpCastResolved import org.partiql.planner.internal.ir.rexOpVarGlobal import org.partiql.planner.internal.typer.CompilerType import org.partiql.planner.internal.typer.Scope.Companion.toPath +import org.partiql.spi.catalog.Catalog +import org.partiql.spi.catalog.Catalogs +import org.partiql.spi.catalog.Identifier +import org.partiql.spi.catalog.Name +import org.partiql.spi.catalog.Session import org.partiql.spi.fn.AggSignature import org.partiql.spi.fn.SqlFnProvider import org.partiql.types.PType diff --git a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/ProblemGenerator.kt b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/ProblemGenerator.kt index 4d96b0591b..8523d2acc5 100644 --- a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/ProblemGenerator.kt +++ b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/ProblemGenerator.kt @@ -13,7 +13,7 @@ import org.partiql.planner.internal.ir.rexOpMissing import org.partiql.planner.internal.typer.CompilerType import org.partiql.types.PType import org.partiql.types.StaticType -import org.partiql.planner.catalog.Identifier as InternalIdentifier +import org.partiql.spi.catalog.Identifier as InternalIdentifier /** * Used to report problems during planning phase. diff --git a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/SqlPlanner.kt b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/SqlPlanner.kt index 18aec7bb93..0b6bc0cf18 100644 --- a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/SqlPlanner.kt +++ b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/SqlPlanner.kt @@ -5,10 +5,10 @@ import org.partiql.ast.normalize.normalize import org.partiql.errors.ProblemCallback import org.partiql.planner.PartiQLPlanner import org.partiql.planner.PartiQLPlannerPass -import org.partiql.planner.catalog.Session import org.partiql.planner.internal.transforms.AstToPlan import org.partiql.planner.internal.transforms.PlanTransform import org.partiql.planner.internal.typer.PlanTyper +import org.partiql.spi.catalog.Session /** * Default PartiQL logical query planner. diff --git a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/ir/Nodes.kt b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/ir/Nodes.kt index 847876c71e..d225288913 100644 --- a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/ir/Nodes.kt +++ b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/ir/Nodes.kt @@ -3,9 +3,8 @@ package org.partiql.planner.`internal`.ir import org.partiql.errors.Problem -import org.partiql.planner.catalog.Identifier -import org.partiql.planner.catalog.Name -import org.partiql.planner.catalog.Table +import org.partiql.spi.catalog.Identifier +import org.partiql.spi.catalog.Name import org.partiql.planner.internal.ir.builder.PartiQlPlanBuilder import org.partiql.planner.internal.ir.builder.RefAggBuilder import org.partiql.planner.internal.ir.builder.RefCastBuilder @@ -70,6 +69,7 @@ import org.partiql.planner.internal.ir.builder.RexOpVarUnresolvedBuilder import org.partiql.planner.internal.ir.builder.StatementQueryBuilder import org.partiql.planner.internal.ir.visitor.PlanVisitor import org.partiql.planner.internal.typer.CompilerType +import org.partiql.spi.catalog.Table import org.partiql.spi.fn.AggSignature import org.partiql.spi.fn.FnSignature import org.partiql.value.PartiQLValue diff --git a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/transforms/AstToPlan.kt b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/transforms/AstToPlan.kt index cd89318033..5b51624bd3 100644 --- a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/transforms/AstToPlan.kt +++ b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/transforms/AstToPlan.kt @@ -19,9 +19,9 @@ package org.partiql.planner.internal.transforms import org.partiql.ast.AstNode import org.partiql.ast.Expr import org.partiql.ast.visitor.AstBaseVisitor -import org.partiql.planner.catalog.Identifier import org.partiql.planner.internal.Env import org.partiql.planner.internal.ir.statementQuery +import org.partiql.spi.catalog.Identifier import org.partiql.ast.Identifier as AstIdentifier import org.partiql.ast.Statement as AstStatement import org.partiql.planner.internal.ir.Statement as PlanStatement diff --git a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/transforms/RexConverter.kt b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/transforms/RexConverter.kt index 12be76d45e..33a7e1de89 100644 --- a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/transforms/RexConverter.kt +++ b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/transforms/RexConverter.kt @@ -24,7 +24,6 @@ import org.partiql.ast.Select import org.partiql.ast.SetQuantifier import org.partiql.ast.Type import org.partiql.ast.visitor.AstBaseVisitor -import org.partiql.planner.catalog.Identifier import org.partiql.planner.internal.Env import org.partiql.planner.internal.ir.Rel import org.partiql.planner.internal.ir.Rex @@ -54,6 +53,7 @@ import org.partiql.planner.internal.ir.rexOpVarLocal import org.partiql.planner.internal.ir.rexOpVarUnresolved import org.partiql.planner.internal.typer.CompilerType import org.partiql.planner.internal.typer.PlanTyper.Companion.toCType +import org.partiql.spi.catalog.Identifier import org.partiql.types.PType import org.partiql.value.MissingValue import org.partiql.value.PartiQLValueExperimental diff --git a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/typer/CompilerType.kt b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/typer/CompilerType.kt index 7cbf48719d..99a226b4d4 100644 --- a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/typer/CompilerType.kt +++ b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/typer/CompilerType.kt @@ -1,6 +1,6 @@ package org.partiql.planner.internal.typer -import org.partiql.planner.catalog.Identifier +import org.partiql.spi.catalog.Identifier import org.partiql.types.PType import org.partiql.types.PType.Kind diff --git a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/typer/Scope.kt b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/typer/Scope.kt index 78d1b4c37c..bc76fd397f 100644 --- a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/typer/Scope.kt +++ b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/typer/Scope.kt @@ -1,6 +1,5 @@ package org.partiql.planner.internal.typer -import org.partiql.planner.catalog.Identifier import org.partiql.planner.internal.ir.Rel import org.partiql.planner.internal.ir.Rex import org.partiql.planner.internal.ir.rex @@ -9,6 +8,7 @@ import org.partiql.planner.internal.ir.rexOpPathKey import org.partiql.planner.internal.ir.rexOpPathSymbol import org.partiql.planner.internal.ir.rexOpVarLocal import org.partiql.planner.internal.typer.PlanTyper.Companion.toCType +import org.partiql.spi.catalog.Identifier import org.partiql.types.PType import org.partiql.types.PType.Kind import org.partiql.types.StaticType diff --git a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/typer/TypeEnv.kt b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/typer/TypeEnv.kt index 7e73317d43..b605f9eaef 100644 --- a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/typer/TypeEnv.kt +++ b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/typer/TypeEnv.kt @@ -1,8 +1,8 @@ package org.partiql.planner.internal.typer -import org.partiql.planner.catalog.Identifier import org.partiql.planner.internal.Env import org.partiql.planner.internal.ir.Rex +import org.partiql.spi.catalog.Identifier /** * TypeEnv represents the variables type environment (holds references to both locals and globals). diff --git a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/utils/PlanUtils.kt b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/utils/PlanUtils.kt index 884c0ca2f0..be5c5cceb1 100644 --- a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/utils/PlanUtils.kt +++ b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/utils/PlanUtils.kt @@ -24,7 +24,7 @@ internal object PlanUtils { Identifier.CaseSensitivity.INSENSITIVE -> node.symbol } - fun externalize(identifier: org.partiql.planner.catalog.Identifier): Identifier { + fun externalize(identifier: org.partiql.spi.catalog.Identifier): Identifier { if (identifier.hasQualifier()) { val symbols = identifier.getParts().map { externalize(it) } return Identifier.Qualified( @@ -35,7 +35,7 @@ internal object PlanUtils { return externalize(identifier.getIdentifier()) } - private fun externalize(part: org.partiql.planner.catalog.Identifier.Part): Identifier.Symbol { + private fun externalize(part: org.partiql.spi.catalog.Identifier.Part): Identifier.Symbol { return Identifier.Symbol( symbol = part.getText(), caseSensitivity = when (part.isRegular()) { diff --git a/partiql-planner/src/main/resources/partiql_plan_internal.ion b/partiql-planner/src/main/resources/partiql_plan_internal.ion index 1cfa36ed79..4cc5002ccf 100644 --- a/partiql-planner/src/main/resources/partiql_plan_internal.ion +++ b/partiql-planner/src/main/resources/partiql_plan_internal.ion @@ -1,7 +1,7 @@ imports::{ kotlin: [ - identifier::'org.partiql.planner.catalog.Identifier', - name::'org.partiql.planner.catalog.Name', + identifier::'org.partiql.spi.catalog.Identifier', + name::'org.partiql.spi.catalog.Name', partiql_value::'org.partiql.value.PartiQLValue', partiql_value_type::'org.partiql.planner.internal.typer.CompilerType', static_type::'org.partiql.planner.internal.typer.CompilerType', diff --git a/partiql-planner/src/test/kotlin/org/partiql/planner/PlanTest.kt b/partiql-planner/src/test/kotlin/org/partiql/planner/PlanTest.kt index 2186d260c1..34eeb23acf 100644 --- a/partiql-planner/src/test/kotlin/org/partiql/planner/PlanTest.kt +++ b/partiql-planner/src/test/kotlin/org/partiql/planner/PlanTest.kt @@ -9,14 +9,14 @@ import org.partiql.parser.PartiQLParser import org.partiql.plan.PartiQLPlan import org.partiql.plan.PlanNode import org.partiql.plan.debug.PlanPrinter -import org.partiql.planner.catalog.Catalog -import org.partiql.planner.catalog.Name -import org.partiql.planner.catalog.Session import org.partiql.planner.internal.TestCatalog import org.partiql.planner.test.PartiQLTest import org.partiql.planner.test.PartiQLTestProvider import org.partiql.planner.util.PlanNodeEquivalentVisitor import org.partiql.planner.util.ProblemCollector +import org.partiql.spi.catalog.Catalog +import org.partiql.spi.catalog.Name +import org.partiql.spi.catalog.Session import org.partiql.types.BagType import org.partiql.types.PType import org.partiql.types.StaticType diff --git a/partiql-planner/src/test/kotlin/org/partiql/planner/PlannerErrorReportingTests.kt b/partiql-planner/src/test/kotlin/org/partiql/planner/PlannerErrorReportingTests.kt index dd22b40c3d..fb17610bed 100644 --- a/partiql-planner/src/test/kotlin/org/partiql/planner/PlannerErrorReportingTests.kt +++ b/partiql-planner/src/test/kotlin/org/partiql/planner/PlannerErrorReportingTests.kt @@ -7,11 +7,11 @@ import org.partiql.errors.Problem import org.partiql.errors.ProblemSeverity import org.partiql.parser.PartiQLParserBuilder import org.partiql.plan.debug.PlanPrinter -import org.partiql.planner.catalog.Session import org.partiql.planner.internal.typer.CompilerType import org.partiql.planner.internal.typer.PlanTyper.Companion.toCType import org.partiql.planner.util.ProblemCollector import org.partiql.plugins.memory.MemoryConnector +import org.partiql.spi.catalog.Session import org.partiql.types.BagType import org.partiql.types.PType import org.partiql.types.StaticType diff --git a/partiql-planner/src/test/kotlin/org/partiql/planner/internal/TestCatalog.kt b/partiql-planner/src/test/kotlin/org/partiql/planner/internal/TestCatalog.kt index 980c961a65..46587b888e 100644 --- a/partiql-planner/src/test/kotlin/org/partiql/planner/internal/TestCatalog.kt +++ b/partiql-planner/src/test/kotlin/org/partiql/planner/internal/TestCatalog.kt @@ -1,11 +1,11 @@ package org.partiql.planner.internal -import org.partiql.planner.catalog.Catalog -import org.partiql.planner.catalog.Identifier -import org.partiql.planner.catalog.Name -import org.partiql.planner.catalog.Namespace -import org.partiql.planner.catalog.Session -import org.partiql.planner.catalog.Table +import org.partiql.spi.catalog.Catalog +import org.partiql.spi.catalog.Identifier +import org.partiql.spi.catalog.Name +import org.partiql.spi.catalog.Namespace +import org.partiql.spi.catalog.Session +import org.partiql.spi.catalog.Table import org.partiql.types.PType /** diff --git a/partiql-planner/src/test/kotlin/org/partiql/planner/internal/exclude/SubsumptionTest.kt b/partiql-planner/src/test/kotlin/org/partiql/planner/internal/exclude/SubsumptionTest.kt index 023b63ebb1..bf67a0c445 100644 --- a/partiql-planner/src/test/kotlin/org/partiql/planner/internal/exclude/SubsumptionTest.kt +++ b/partiql-planner/src/test/kotlin/org/partiql/planner/internal/exclude/SubsumptionTest.kt @@ -20,8 +20,8 @@ import org.partiql.plan.relOpExcludeTypeStructSymbol import org.partiql.plan.relOpExcludeTypeStructWildcard import org.partiql.plan.rexOpVar import org.partiql.planner.PartiQLPlanner -import org.partiql.planner.catalog.Session import org.partiql.plugins.memory.MemoryConnector +import org.partiql.spi.catalog.Session import java.util.stream.Stream import kotlin.test.assertEquals diff --git a/partiql-planner/src/test/kotlin/org/partiql/planner/internal/typer/PartiQLTyperTestBase.kt b/partiql-planner/src/test/kotlin/org/partiql/planner/internal/typer/PartiQLTyperTestBase.kt index 9f5f3d58b3..a467729574 100644 --- a/partiql-planner/src/test/kotlin/org/partiql/planner/internal/typer/PartiQLTyperTestBase.kt +++ b/partiql-planner/src/test/kotlin/org/partiql/planner/internal/typer/PartiQLTyperTestBase.kt @@ -7,15 +7,15 @@ import org.partiql.parser.PartiQLParser import org.partiql.plan.Statement import org.partiql.plan.debug.PlanPrinter import org.partiql.planner.PartiQLPlanner -import org.partiql.planner.catalog.Catalog -import org.partiql.planner.catalog.Name -import org.partiql.planner.catalog.Session import org.partiql.planner.internal.PlanningProblemDetails import org.partiql.planner.test.PartiQLTest import org.partiql.planner.test.PartiQLTestProvider import org.partiql.planner.util.ProblemCollector import org.partiql.plugins.memory.MemoryConnector import org.partiql.plugins.memory.MemoryTable +import org.partiql.spi.catalog.Catalog +import org.partiql.spi.catalog.Name +import org.partiql.spi.catalog.Session import org.partiql.types.PType import org.partiql.types.PType.Kind import org.partiql.types.StaticType diff --git a/partiql-planner/src/test/kotlin/org/partiql/planner/internal/typer/PlanTyperTest.kt b/partiql-planner/src/test/kotlin/org/partiql/planner/internal/typer/PlanTyperTest.kt index 1b1bcdc0f3..369e3fe7c5 100644 --- a/partiql-planner/src/test/kotlin/org/partiql/planner/internal/typer/PlanTyperTest.kt +++ b/partiql-planner/src/test/kotlin/org/partiql/planner/internal/typer/PlanTyperTest.kt @@ -2,10 +2,6 @@ package org.partiql.planner.internal.typer import org.junit.jupiter.api.Disabled import org.junit.jupiter.api.Test -import org.partiql.planner.catalog.Identifier -import org.partiql.planner.catalog.Name -import org.partiql.planner.catalog.Session -import org.partiql.planner.catalog.Table import org.partiql.planner.internal.Env import org.partiql.planner.internal.ir.Rex import org.partiql.planner.internal.ir.Statement @@ -22,6 +18,10 @@ import org.partiql.planner.internal.ir.statementQuery import org.partiql.planner.internal.typer.PlanTyper.Companion.toCType import org.partiql.planner.util.ProblemCollector import org.partiql.plugins.local.LocalConnector +import org.partiql.spi.catalog.Identifier +import org.partiql.spi.catalog.Name +import org.partiql.spi.catalog.Session +import org.partiql.spi.catalog.Table import org.partiql.types.PType import org.partiql.value.PartiQLValueExperimental import org.partiql.value.int32Value diff --git a/partiql-planner/src/test/kotlin/org/partiql/planner/internal/typer/PlanTyperTestsPorted.kt b/partiql-planner/src/test/kotlin/org/partiql/planner/internal/typer/PlanTyperTestsPorted.kt index 500b77bc38..6c284a9498 100644 --- a/partiql-planner/src/test/kotlin/org/partiql/planner/internal/typer/PlanTyperTestsPorted.kt +++ b/partiql-planner/src/test/kotlin/org/partiql/planner/internal/typer/PlanTyperTestsPorted.kt @@ -19,9 +19,6 @@ import org.partiql.plan.PartiQLPlan import org.partiql.plan.Statement import org.partiql.plan.debug.PlanPrinter import org.partiql.planner.PartiQLPlanner -import org.partiql.planner.catalog.Catalog -import org.partiql.planner.catalog.Name -import org.partiql.planner.catalog.Session import org.partiql.planner.internal.ProblemGenerator import org.partiql.planner.internal.TestCatalog import org.partiql.planner.internal.typer.PlanTyper.Companion.toCType @@ -32,6 +29,9 @@ import org.partiql.planner.test.PartiQLTest import org.partiql.planner.test.PartiQLTestProvider import org.partiql.planner.util.ProblemCollector import org.partiql.plugins.local.toStaticType +import org.partiql.spi.catalog.Catalog +import org.partiql.spi.catalog.Name +import org.partiql.spi.catalog.Session import org.partiql.types.BagType import org.partiql.types.DecimalType import org.partiql.types.ListType diff --git a/partiql-planner/src/test/kotlin/org/partiql/planner/internal/typer/ScopeTest.kt b/partiql-planner/src/test/kotlin/org/partiql/planner/internal/typer/ScopeTest.kt index d57480d76a..276bda5cf8 100644 --- a/partiql-planner/src/test/kotlin/org/partiql/planner/internal/typer/ScopeTest.kt +++ b/partiql-planner/src/test/kotlin/org/partiql/planner/internal/typer/ScopeTest.kt @@ -4,13 +4,13 @@ import org.junit.jupiter.api.parallel.Execution import org.junit.jupiter.api.parallel.ExecutionMode import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.provider.MethodSource -import org.partiql.planner.catalog.Catalog -import org.partiql.planner.catalog.Identifier -import org.partiql.planner.catalog.Session import org.partiql.planner.internal.Env import org.partiql.planner.internal.ir.Rex import org.partiql.planner.internal.ir.relBinding import org.partiql.planner.internal.typer.PlanTyper.Companion.toCType +import org.partiql.spi.catalog.Catalog +import org.partiql.spi.catalog.Identifier +import org.partiql.spi.catalog.Session import org.partiql.types.PType import kotlin.test.assertEquals import kotlin.test.fail diff --git a/partiql-spi/api/partiql-spi.api b/partiql-spi/api/partiql-spi.api index b36a9b9165..3bf3bdf3b4 100644 --- a/partiql-spi/api/partiql-spi.api +++ b/partiql-spi/api/partiql-spi.api @@ -277,249 +277,193 @@ public final class org/partiql/errors/TypeCheckException : java/lang/RuntimeExce public fun fillInStackTrace ()Ljava/lang/Throwable; } -public abstract interface class org/partiql/eval/value/Datum : java/lang/Iterable { - public static fun bag (Ljava/lang/Iterable;)Lorg/partiql/eval/value/Datum; - public static fun bigint (J)Lorg/partiql/eval/value/Datum; - public static fun blob ([B)Lorg/partiql/eval/value/Datum; - public static fun bool (Z)Lorg/partiql/eval/value/Datum; - public static fun clob ([B)Lorg/partiql/eval/value/Datum; - public static fun comparator ()Ljava/util/Comparator; - public static fun comparator (Z)Ljava/util/Comparator; - public static fun date (Lorg/partiql/value/datetime/Date;)Lorg/partiql/eval/value/Datum; - public static fun decimal (Ljava/math/BigDecimal;)Lorg/partiql/eval/value/Datum; - public static fun decimal (Ljava/math/BigDecimal;II)Lorg/partiql/eval/value/Datum; - public static fun doublePrecision (D)Lorg/partiql/eval/value/Datum; - public fun get (Ljava/lang/String;)Lorg/partiql/eval/value/Datum; - public fun getBigDecimal ()Ljava/math/BigDecimal; - public fun getBigInteger ()Ljava/math/BigInteger; - public fun getBoolean ()Z - public fun getByte ()B - public fun getBytes ()[B - public fun getDate ()Lorg/partiql/value/datetime/Date; - public fun getDouble ()D - public fun getFields ()Ljava/util/Iterator; - public fun getFloat ()F - public fun getInsensitive (Ljava/lang/String;)Lorg/partiql/eval/value/Datum; - public fun getInt ()I - public fun getInterval ()J - public fun getLong ()J - public fun getShort ()S - public fun getString ()Ljava/lang/String; - public fun getTime ()Lorg/partiql/value/datetime/Time; - public fun getTimestamp ()Lorg/partiql/value/datetime/Timestamp; - public abstract fun getType ()Lorg/partiql/types/PType; - public static fun integer (I)Lorg/partiql/eval/value/Datum; - public fun isMissing ()Z - public fun isNull ()Z - public fun iterator ()Ljava/util/Iterator; - public static fun list (Ljava/lang/Iterable;)Lorg/partiql/eval/value/Datum; - public static fun missing ()Lorg/partiql/eval/value/Datum; - public static fun missing (Lorg/partiql/types/PType;)Lorg/partiql/eval/value/Datum; - public static fun nullValue ()Lorg/partiql/eval/value/Datum; - public static fun nullValue (Lorg/partiql/types/PType;)Lorg/partiql/eval/value/Datum; - public static fun numeric (Ljava/math/BigInteger;)Lorg/partiql/eval/value/Datum; - public static fun of (Lorg/partiql/value/PartiQLValue;)Lorg/partiql/eval/value/Datum; - public static fun real (F)Lorg/partiql/eval/value/Datum; - public static fun sexp (Ljava/lang/Iterable;)Lorg/partiql/eval/value/Datum; - public static fun smallint (S)Lorg/partiql/eval/value/Datum; - public static fun string (Ljava/lang/String;)Lorg/partiql/eval/value/Datum; - public static fun struct (Ljava/lang/Iterable;)Lorg/partiql/eval/value/Datum; - public static fun symbol (Ljava/lang/String;)Lorg/partiql/eval/value/Datum; - public static fun time (Lorg/partiql/value/datetime/Time;)Lorg/partiql/eval/value/Datum; - public static fun timestamp (Lorg/partiql/value/datetime/Timestamp;)Lorg/partiql/eval/value/Datum; - public static fun tinyint (B)Lorg/partiql/eval/value/Datum; - public fun toPartiQLValue ()Lorg/partiql/value/PartiQLValue; -} - -public abstract interface class org/partiql/eval/value/Field { - public abstract fun getName ()Ljava/lang/String; - public abstract fun getValue ()Lorg/partiql/eval/value/Datum; - public static fun of (Ljava/lang/String;Lorg/partiql/eval/value/Datum;)Lorg/partiql/eval/value/Field; +public abstract interface class org/partiql/spi/Plugin { + public abstract fun getFactory ()Lorg/partiql/spi/connector/Connector$Factory; } -public abstract interface class org/partiql/planner/catalog/Catalog { - public abstract fun getFunctions (Lorg/partiql/planner/catalog/Session;Lorg/partiql/planner/catalog/Name;)Ljava/util/Collection; +public abstract interface class org/partiql/spi/catalog/Catalog { + public abstract fun getFunctions (Lorg/partiql/spi/catalog/Session;Lorg/partiql/spi/catalog/Name;)Ljava/util/Collection; public abstract fun getName ()Ljava/lang/String; - public abstract fun getTable (Lorg/partiql/planner/catalog/Session;Lorg/partiql/planner/catalog/Name;)Lorg/partiql/planner/catalog/Table; - public abstract fun getTableHandle (Lorg/partiql/planner/catalog/Session;Lorg/partiql/planner/catalog/Identifier;)Lorg/partiql/planner/catalog/Table$Handle; - public abstract fun listNamespaces (Lorg/partiql/planner/catalog/Session;)Ljava/util/Collection; - public abstract fun listNamespaces (Lorg/partiql/planner/catalog/Session;Lorg/partiql/planner/catalog/Namespace;)Ljava/util/Collection; - public abstract fun listTables (Lorg/partiql/planner/catalog/Session;)Ljava/util/Collection; - public abstract fun listTables (Lorg/partiql/planner/catalog/Session;Lorg/partiql/planner/catalog/Namespace;)Ljava/util/Collection; -} - -public final class org/partiql/planner/catalog/Catalog$DefaultImpls { - public static fun getFunctions (Lorg/partiql/planner/catalog/Catalog;Lorg/partiql/planner/catalog/Session;Lorg/partiql/planner/catalog/Name;)Ljava/util/Collection; - public static fun getTable (Lorg/partiql/planner/catalog/Catalog;Lorg/partiql/planner/catalog/Session;Lorg/partiql/planner/catalog/Name;)Lorg/partiql/planner/catalog/Table; - public static fun getTableHandle (Lorg/partiql/planner/catalog/Catalog;Lorg/partiql/planner/catalog/Session;Lorg/partiql/planner/catalog/Identifier;)Lorg/partiql/planner/catalog/Table$Handle; - public static fun listNamespaces (Lorg/partiql/planner/catalog/Catalog;Lorg/partiql/planner/catalog/Session;)Ljava/util/Collection; - public static fun listNamespaces (Lorg/partiql/planner/catalog/Catalog;Lorg/partiql/planner/catalog/Session;Lorg/partiql/planner/catalog/Namespace;)Ljava/util/Collection; - public static fun listTables (Lorg/partiql/planner/catalog/Catalog;Lorg/partiql/planner/catalog/Session;)Ljava/util/Collection; - public static fun listTables (Lorg/partiql/planner/catalog/Catalog;Lorg/partiql/planner/catalog/Session;Lorg/partiql/planner/catalog/Namespace;)Ljava/util/Collection; -} - -public abstract interface class org/partiql/planner/catalog/Catalogs { - public static final field Companion Lorg/partiql/planner/catalog/Catalogs$Companion; - public static fun builder ()Lorg/partiql/planner/catalog/Catalogs$Builder; - public abstract fun getCatalog (Ljava/lang/String;Z)Lorg/partiql/planner/catalog/Catalog; + public abstract fun getTable (Lorg/partiql/spi/catalog/Session;Lorg/partiql/spi/catalog/Name;)Lorg/partiql/spi/catalog/Table; + public abstract fun getTableHandle (Lorg/partiql/spi/catalog/Session;Lorg/partiql/spi/catalog/Identifier;)Lorg/partiql/spi/catalog/Table$Handle; + public abstract fun listNamespaces (Lorg/partiql/spi/catalog/Session;)Ljava/util/Collection; + public abstract fun listNamespaces (Lorg/partiql/spi/catalog/Session;Lorg/partiql/spi/catalog/Namespace;)Ljava/util/Collection; + public abstract fun listTables (Lorg/partiql/spi/catalog/Session;)Ljava/util/Collection; + public abstract fun listTables (Lorg/partiql/spi/catalog/Session;Lorg/partiql/spi/catalog/Namespace;)Ljava/util/Collection; +} + +public final class org/partiql/spi/catalog/Catalog$DefaultImpls { + public static fun getFunctions (Lorg/partiql/spi/catalog/Catalog;Lorg/partiql/spi/catalog/Session;Lorg/partiql/spi/catalog/Name;)Ljava/util/Collection; + public static fun getTable (Lorg/partiql/spi/catalog/Catalog;Lorg/partiql/spi/catalog/Session;Lorg/partiql/spi/catalog/Name;)Lorg/partiql/spi/catalog/Table; + public static fun getTableHandle (Lorg/partiql/spi/catalog/Catalog;Lorg/partiql/spi/catalog/Session;Lorg/partiql/spi/catalog/Identifier;)Lorg/partiql/spi/catalog/Table$Handle; + public static fun listNamespaces (Lorg/partiql/spi/catalog/Catalog;Lorg/partiql/spi/catalog/Session;)Ljava/util/Collection; + public static fun listNamespaces (Lorg/partiql/spi/catalog/Catalog;Lorg/partiql/spi/catalog/Session;Lorg/partiql/spi/catalog/Namespace;)Ljava/util/Collection; + public static fun listTables (Lorg/partiql/spi/catalog/Catalog;Lorg/partiql/spi/catalog/Session;)Ljava/util/Collection; + public static fun listTables (Lorg/partiql/spi/catalog/Catalog;Lorg/partiql/spi/catalog/Session;Lorg/partiql/spi/catalog/Namespace;)Ljava/util/Collection; +} + +public abstract interface class org/partiql/spi/catalog/Catalogs { + public static final field Companion Lorg/partiql/spi/catalog/Catalogs$Companion; + public static fun builder ()Lorg/partiql/spi/catalog/Catalogs$Builder; + public abstract fun getCatalog (Ljava/lang/String;Z)Lorg/partiql/spi/catalog/Catalog; public abstract fun listCatalogs ()Ljava/util/Collection; - public static fun of (Ljava/util/Collection;)Lorg/partiql/planner/catalog/Catalogs; - public static fun of ([Lorg/partiql/planner/catalog/Catalog;)Lorg/partiql/planner/catalog/Catalogs; + public static fun of (Ljava/util/Collection;)Lorg/partiql/spi/catalog/Catalogs; + public static fun of ([Lorg/partiql/spi/catalog/Catalog;)Lorg/partiql/spi/catalog/Catalogs; } -public final class org/partiql/planner/catalog/Catalogs$Builder { +public final class org/partiql/spi/catalog/Catalogs$Builder { public fun ()V - public final fun add (Lorg/partiql/planner/catalog/Catalog;)Lorg/partiql/planner/catalog/Catalogs$Builder; - public final fun build ()Lorg/partiql/planner/catalog/Catalogs; + public final fun add (Lorg/partiql/spi/catalog/Catalog;)Lorg/partiql/spi/catalog/Catalogs$Builder; + public final fun build ()Lorg/partiql/spi/catalog/Catalogs; } -public final class org/partiql/planner/catalog/Catalogs$Companion { - public final fun builder ()Lorg/partiql/planner/catalog/Catalogs$Builder; - public final fun of (Ljava/util/Collection;)Lorg/partiql/planner/catalog/Catalogs; - public final fun of ([Lorg/partiql/planner/catalog/Catalog;)Lorg/partiql/planner/catalog/Catalogs; +public final class org/partiql/spi/catalog/Catalogs$Companion { + public final fun builder ()Lorg/partiql/spi/catalog/Catalogs$Builder; + public final fun of (Ljava/util/Collection;)Lorg/partiql/spi/catalog/Catalogs; + public final fun of ([Lorg/partiql/spi/catalog/Catalog;)Lorg/partiql/spi/catalog/Catalogs; } -public final class org/partiql/planner/catalog/Catalogs$DefaultImpls { - public static synthetic fun getCatalog$default (Lorg/partiql/planner/catalog/Catalogs;Ljava/lang/String;ZILjava/lang/Object;)Lorg/partiql/planner/catalog/Catalog; - public static fun listCatalogs (Lorg/partiql/planner/catalog/Catalogs;)Ljava/util/Collection; +public final class org/partiql/spi/catalog/Catalogs$DefaultImpls { + public static synthetic fun getCatalog$default (Lorg/partiql/spi/catalog/Catalogs;Ljava/lang/String;ZILjava/lang/Object;)Lorg/partiql/spi/catalog/Catalog; + public static fun listCatalogs (Lorg/partiql/spi/catalog/Catalogs;)Ljava/util/Collection; } -public abstract interface class org/partiql/planner/catalog/Function { - public static final field Companion Lorg/partiql/planner/catalog/Function$Companion; - public static fun aggregation (Ljava/lang/String;Ljava/util/Collection;Lorg/partiql/types/PType$Kind;)Lorg/partiql/planner/catalog/Function$Aggregation; +public abstract interface class org/partiql/spi/catalog/Function { + public static final field Companion Lorg/partiql/spi/catalog/Function$Companion; + public static fun aggregation (Ljava/lang/String;Ljava/util/Collection;Lorg/partiql/types/PType$Kind;)Lorg/partiql/spi/catalog/Function$Aggregation; public abstract fun computeReturnType (Ljava/util/List;)Lorg/partiql/types/PType; public abstract fun getName ()Ljava/lang/String; - public abstract fun getParameters ()[Lorg/partiql/planner/catalog/Function$Parameter; + public abstract fun getParameters ()[Lorg/partiql/spi/catalog/Function$Parameter; public abstract fun getReturnType ()Lorg/partiql/types/PType$Kind; public abstract fun getSpecific ()Ljava/lang/String; - public static fun scalar (Ljava/lang/String;Ljava/util/Collection;Lorg/partiql/types/PType$Kind;)Lorg/partiql/planner/catalog/Function$Scalar; + public static fun scalar (Ljava/lang/String;Ljava/util/Collection;Lorg/partiql/types/PType$Kind;)Lorg/partiql/spi/catalog/Function$Scalar; } -public abstract interface class org/partiql/planner/catalog/Function$Aggregation : org/partiql/planner/catalog/Function { +public abstract interface class org/partiql/spi/catalog/Function$Aggregation : org/partiql/spi/catalog/Function { public abstract fun getSpecific ()Ljava/lang/String; public abstract fun isDecomposable ()Z } -public final class org/partiql/planner/catalog/Function$Aggregation$DefaultImpls { - public static fun computeReturnType (Lorg/partiql/planner/catalog/Function$Aggregation;Ljava/util/List;)Lorg/partiql/types/PType; - public static fun getParameters (Lorg/partiql/planner/catalog/Function$Aggregation;)[Lorg/partiql/planner/catalog/Function$Parameter; - public static fun getSpecific (Lorg/partiql/planner/catalog/Function$Aggregation;)Ljava/lang/String; - public static fun isDecomposable (Lorg/partiql/planner/catalog/Function$Aggregation;)Z +public final class org/partiql/spi/catalog/Function$Aggregation$DefaultImpls { + public static fun computeReturnType (Lorg/partiql/spi/catalog/Function$Aggregation;Ljava/util/List;)Lorg/partiql/types/PType; + public static fun getParameters (Lorg/partiql/spi/catalog/Function$Aggregation;)[Lorg/partiql/spi/catalog/Function$Parameter; + public static fun getSpecific (Lorg/partiql/spi/catalog/Function$Aggregation;)Ljava/lang/String; + public static fun isDecomposable (Lorg/partiql/spi/catalog/Function$Aggregation;)Z } -public final class org/partiql/planner/catalog/Function$Companion { - public final fun aggregation (Ljava/lang/String;Ljava/util/Collection;Lorg/partiql/types/PType$Kind;)Lorg/partiql/planner/catalog/Function$Aggregation; - public final fun scalar (Ljava/lang/String;Ljava/util/Collection;Lorg/partiql/types/PType$Kind;)Lorg/partiql/planner/catalog/Function$Scalar; +public final class org/partiql/spi/catalog/Function$Companion { + public final fun aggregation (Ljava/lang/String;Ljava/util/Collection;Lorg/partiql/types/PType$Kind;)Lorg/partiql/spi/catalog/Function$Aggregation; + public final fun scalar (Ljava/lang/String;Ljava/util/Collection;Lorg/partiql/types/PType$Kind;)Lorg/partiql/spi/catalog/Function$Scalar; } -public final class org/partiql/planner/catalog/Function$DefaultImpls { - public static fun computeReturnType (Lorg/partiql/planner/catalog/Function;Ljava/util/List;)Lorg/partiql/types/PType; - public static fun getParameters (Lorg/partiql/planner/catalog/Function;)[Lorg/partiql/planner/catalog/Function$Parameter; +public final class org/partiql/spi/catalog/Function$DefaultImpls { + public static fun computeReturnType (Lorg/partiql/spi/catalog/Function;Ljava/util/List;)Lorg/partiql/types/PType; + public static fun getParameters (Lorg/partiql/spi/catalog/Function;)[Lorg/partiql/spi/catalog/Function$Parameter; } -public final class org/partiql/planner/catalog/Function$Parameter { +public final class org/partiql/spi/catalog/Function$Parameter { public final field name Ljava/lang/String; public final field type Lorg/partiql/types/PType$Kind; public fun (Ljava/lang/String;Lorg/partiql/types/PType$Kind;)V public final fun component1 ()Ljava/lang/String; public final fun component2 ()Lorg/partiql/types/PType$Kind; - public final fun copy (Ljava/lang/String;Lorg/partiql/types/PType$Kind;)Lorg/partiql/planner/catalog/Function$Parameter; - public static synthetic fun copy$default (Lorg/partiql/planner/catalog/Function$Parameter;Ljava/lang/String;Lorg/partiql/types/PType$Kind;ILjava/lang/Object;)Lorg/partiql/planner/catalog/Function$Parameter; + public final fun copy (Ljava/lang/String;Lorg/partiql/types/PType$Kind;)Lorg/partiql/spi/catalog/Function$Parameter; + public static synthetic fun copy$default (Lorg/partiql/spi/catalog/Function$Parameter;Ljava/lang/String;Lorg/partiql/types/PType$Kind;ILjava/lang/Object;)Lorg/partiql/spi/catalog/Function$Parameter; public fun equals (Ljava/lang/Object;)Z public fun hashCode ()I public fun toString ()Ljava/lang/String; } -public abstract interface class org/partiql/planner/catalog/Function$Scalar : org/partiql/planner/catalog/Function { +public abstract interface class org/partiql/spi/catalog/Function$Scalar : org/partiql/spi/catalog/Function { public abstract fun getSpecific ()Ljava/lang/String; public abstract fun isNullCall ()Z } -public final class org/partiql/planner/catalog/Function$Scalar$DefaultImpls { - public static fun computeReturnType (Lorg/partiql/planner/catalog/Function$Scalar;Ljava/util/List;)Lorg/partiql/types/PType; - public static fun getParameters (Lorg/partiql/planner/catalog/Function$Scalar;)[Lorg/partiql/planner/catalog/Function$Parameter; - public static fun getSpecific (Lorg/partiql/planner/catalog/Function$Scalar;)Ljava/lang/String; - public static fun isNullCall (Lorg/partiql/planner/catalog/Function$Scalar;)Z +public final class org/partiql/spi/catalog/Function$Scalar$DefaultImpls { + public static fun computeReturnType (Lorg/partiql/spi/catalog/Function$Scalar;Ljava/util/List;)Lorg/partiql/types/PType; + public static fun getParameters (Lorg/partiql/spi/catalog/Function$Scalar;)[Lorg/partiql/spi/catalog/Function$Parameter; + public static fun getSpecific (Lorg/partiql/spi/catalog/Function$Scalar;)Ljava/lang/String; + public static fun isNullCall (Lorg/partiql/spi/catalog/Function$Scalar;)Z } -public final class org/partiql/planner/catalog/Identifier : java/lang/Iterable, kotlin/jvm/internal/markers/KMappedMarker { - public static final field Companion Lorg/partiql/planner/catalog/Identifier$Companion; - public synthetic fun ([Lorg/partiql/planner/catalog/Identifier$Part;Lorg/partiql/planner/catalog/Identifier$Part;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun append (Lorg/partiql/planner/catalog/Identifier;)Lorg/partiql/planner/catalog/Identifier; - public final fun append ([Lorg/partiql/planner/catalog/Identifier$Part;)Lorg/partiql/planner/catalog/Identifier; - public static final fun delimited (Ljava/lang/String;)Lorg/partiql/planner/catalog/Identifier; - public static final fun delimited (Ljava/util/Collection;)Lorg/partiql/planner/catalog/Identifier; - public static final fun delimited ([Ljava/lang/String;)Lorg/partiql/planner/catalog/Identifier; +public final class org/partiql/spi/catalog/Identifier : java/lang/Iterable, kotlin/jvm/internal/markers/KMappedMarker { + public static final field Companion Lorg/partiql/spi/catalog/Identifier$Companion; + public synthetic fun ([Lorg/partiql/spi/catalog/Identifier$Part;Lorg/partiql/spi/catalog/Identifier$Part;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun append (Lorg/partiql/spi/catalog/Identifier;)Lorg/partiql/spi/catalog/Identifier; + public final fun append ([Lorg/partiql/spi/catalog/Identifier$Part;)Lorg/partiql/spi/catalog/Identifier; + public static final fun delimited (Ljava/lang/String;)Lorg/partiql/spi/catalog/Identifier; + public static final fun delimited (Ljava/util/Collection;)Lorg/partiql/spi/catalog/Identifier; + public static final fun delimited ([Ljava/lang/String;)Lorg/partiql/spi/catalog/Identifier; public fun equals (Ljava/lang/Object;)Z public fun forEach (Ljava/util/function/Consumer;)V - public final fun getIdentifier ()Lorg/partiql/planner/catalog/Identifier$Part; + public final fun getIdentifier ()Lorg/partiql/spi/catalog/Identifier$Part; public final fun getParts ()Ljava/util/List; - public final fun getQualifier ()[Lorg/partiql/planner/catalog/Identifier$Part; + public final fun getQualifier ()[Lorg/partiql/spi/catalog/Identifier$Part; public final fun hasQualifier ()Z public fun hashCode ()I public fun iterator ()Ljava/util/Iterator; public final fun matches (Ljava/lang/String;Z)Z - public static synthetic fun matches$default (Lorg/partiql/planner/catalog/Identifier;Ljava/lang/String;ZILjava/lang/Object;)Z - public static final fun of (Ljava/util/Collection;)Lorg/partiql/planner/catalog/Identifier; - public static final fun of ([Lorg/partiql/planner/catalog/Identifier$Part;)Lorg/partiql/planner/catalog/Identifier; - public static final fun regular (Ljava/lang/String;)Lorg/partiql/planner/catalog/Identifier; + public static synthetic fun matches$default (Lorg/partiql/spi/catalog/Identifier;Ljava/lang/String;ZILjava/lang/Object;)Z + public static final fun of (Ljava/util/Collection;)Lorg/partiql/spi/catalog/Identifier; + public static final fun of ([Lorg/partiql/spi/catalog/Identifier$Part;)Lorg/partiql/spi/catalog/Identifier; + public static final fun regular (Ljava/lang/String;)Lorg/partiql/spi/catalog/Identifier; public fun spliterator ()Ljava/util/Spliterator; public fun toString ()Ljava/lang/String; } -public final class org/partiql/planner/catalog/Identifier$Companion { - public final fun delimited (Ljava/lang/String;)Lorg/partiql/planner/catalog/Identifier; - public final fun delimited (Ljava/util/Collection;)Lorg/partiql/planner/catalog/Identifier; - public final fun delimited ([Ljava/lang/String;)Lorg/partiql/planner/catalog/Identifier; - public final fun of (Ljava/util/Collection;)Lorg/partiql/planner/catalog/Identifier; - public final fun of ([Lorg/partiql/planner/catalog/Identifier$Part;)Lorg/partiql/planner/catalog/Identifier; - public final fun regular (Ljava/lang/String;)Lorg/partiql/planner/catalog/Identifier; +public final class org/partiql/spi/catalog/Identifier$Companion { + public final fun delimited (Ljava/lang/String;)Lorg/partiql/spi/catalog/Identifier; + public final fun delimited (Ljava/util/Collection;)Lorg/partiql/spi/catalog/Identifier; + public final fun delimited ([Ljava/lang/String;)Lorg/partiql/spi/catalog/Identifier; + public final fun of (Ljava/util/Collection;)Lorg/partiql/spi/catalog/Identifier; + public final fun of ([Lorg/partiql/spi/catalog/Identifier$Part;)Lorg/partiql/spi/catalog/Identifier; + public final fun regular (Ljava/lang/String;)Lorg/partiql/spi/catalog/Identifier; } -public final class org/partiql/planner/catalog/Identifier$Part { - public static final field Companion Lorg/partiql/planner/catalog/Identifier$Part$Companion; +public final class org/partiql/spi/catalog/Identifier$Part { + public static final field Companion Lorg/partiql/spi/catalog/Identifier$Part$Companion; public synthetic fun (Ljava/lang/String;ZLkotlin/jvm/internal/DefaultConstructorMarker;)V - public static final fun delimited (Ljava/lang/String;)Lorg/partiql/planner/catalog/Identifier$Part; + public static final fun delimited (Ljava/lang/String;)Lorg/partiql/spi/catalog/Identifier$Part; public fun equals (Ljava/lang/Object;)Z public final fun getText ()Ljava/lang/String; public fun hashCode ()I public final fun isRegular ()Z public final fun matches (Ljava/lang/String;)Z - public static final fun regular (Ljava/lang/String;)Lorg/partiql/planner/catalog/Identifier$Part; + public static final fun regular (Ljava/lang/String;)Lorg/partiql/spi/catalog/Identifier$Part; public fun toString ()Ljava/lang/String; } -public final class org/partiql/planner/catalog/Identifier$Part$Companion { - public final fun delimited (Ljava/lang/String;)Lorg/partiql/planner/catalog/Identifier$Part; - public final fun regular (Ljava/lang/String;)Lorg/partiql/planner/catalog/Identifier$Part; +public final class org/partiql/spi/catalog/Identifier$Part$Companion { + public final fun delimited (Ljava/lang/String;)Lorg/partiql/spi/catalog/Identifier$Part; + public final fun regular (Ljava/lang/String;)Lorg/partiql/spi/catalog/Identifier$Part; } -public final class org/partiql/planner/catalog/Name : java/lang/Iterable, kotlin/jvm/internal/markers/KMappedMarker { - public static final field Companion Lorg/partiql/planner/catalog/Name$Companion; - public fun (Lorg/partiql/planner/catalog/Namespace;Ljava/lang/String;)V +public final class org/partiql/spi/catalog/Name : java/lang/Iterable, kotlin/jvm/internal/markers/KMappedMarker { + public static final field Companion Lorg/partiql/spi/catalog/Name$Companion; + public fun (Lorg/partiql/spi/catalog/Namespace;Ljava/lang/String;)V public fun equals (Ljava/lang/Object;)Z public fun forEach (Ljava/util/function/Consumer;)V public final fun getName ()Ljava/lang/String; - public final fun getNamespace ()Lorg/partiql/planner/catalog/Namespace; + public final fun getNamespace ()Lorg/partiql/spi/catalog/Namespace; public final fun hasNamespace ()Z public fun hashCode ()I public fun iterator ()Ljava/util/Iterator; - public static final fun of (Ljava/util/Collection;)Lorg/partiql/planner/catalog/Name; - public static final fun of ([Ljava/lang/String;)Lorg/partiql/planner/catalog/Name; + public static final fun of (Ljava/util/Collection;)Lorg/partiql/spi/catalog/Name; + public static final fun of ([Ljava/lang/String;)Lorg/partiql/spi/catalog/Name; public fun spliterator ()Ljava/util/Spliterator; public fun toString ()Ljava/lang/String; } -public final class org/partiql/planner/catalog/Name$Companion { - public final fun of (Ljava/util/Collection;)Lorg/partiql/planner/catalog/Name; - public final fun of ([Ljava/lang/String;)Lorg/partiql/planner/catalog/Name; +public final class org/partiql/spi/catalog/Name$Companion { + public final fun of (Ljava/util/Collection;)Lorg/partiql/spi/catalog/Name; + public final fun of ([Ljava/lang/String;)Lorg/partiql/spi/catalog/Name; } -public final class org/partiql/planner/catalog/Namespace : java/lang/Iterable, kotlin/jvm/internal/markers/KMappedMarker { - public static final field Companion Lorg/partiql/planner/catalog/Namespace$Companion; +public final class org/partiql/spi/catalog/Namespace : java/lang/Iterable, kotlin/jvm/internal/markers/KMappedMarker { + public static final field Companion Lorg/partiql/spi/catalog/Namespace$Companion; public synthetic fun ([Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun append ([Ljava/lang/String;)Lorg/partiql/planner/catalog/Namespace; - public final fun asIdentifier ()Lorg/partiql/planner/catalog/Identifier; + public final fun append ([Ljava/lang/String;)Lorg/partiql/spi/catalog/Namespace; + public final fun asIdentifier ()Lorg/partiql/spi/catalog/Identifier; public fun equals (Ljava/lang/Object;)Z public fun forEach (Ljava/util/function/Consumer;)V public final fun get (I)Ljava/lang/String; @@ -528,118 +472,114 @@ public final class org/partiql/planner/catalog/Namespace : java/lang/Iterable, k public fun hashCode ()I public final fun isEmpty ()Z public fun iterator ()Ljava/util/Iterator; - public static final fun of (Ljava/util/Collection;)Lorg/partiql/planner/catalog/Namespace; - public static final fun of ([Ljava/lang/String;)Lorg/partiql/planner/catalog/Namespace; + public static final fun of (Ljava/util/Collection;)Lorg/partiql/spi/catalog/Namespace; + public static final fun of ([Ljava/lang/String;)Lorg/partiql/spi/catalog/Namespace; public fun spliterator ()Ljava/util/Spliterator; public fun toString ()Ljava/lang/String; } -public final class org/partiql/planner/catalog/Namespace$Companion { - public final fun empty ()Lorg/partiql/planner/catalog/Namespace; - public final fun of (Ljava/util/Collection;)Lorg/partiql/planner/catalog/Namespace; - public final fun of ([Ljava/lang/String;)Lorg/partiql/planner/catalog/Namespace; +public final class org/partiql/spi/catalog/Namespace$Companion { + public final fun empty ()Lorg/partiql/spi/catalog/Namespace; + public final fun of (Ljava/util/Collection;)Lorg/partiql/spi/catalog/Namespace; + public final fun of ([Ljava/lang/String;)Lorg/partiql/spi/catalog/Namespace; } -public final class org/partiql/planner/catalog/Path : java/lang/Iterable, kotlin/jvm/internal/markers/KMappedMarker { - public static final field Companion Lorg/partiql/planner/catalog/Path$Companion; +public final class org/partiql/spi/catalog/Path : java/lang/Iterable, kotlin/jvm/internal/markers/KMappedMarker { + public static final field Companion Lorg/partiql/spi/catalog/Path$Companion; public synthetic fun (Ljava/util/List;Lkotlin/jvm/internal/DefaultConstructorMarker;)V public fun forEach (Ljava/util/function/Consumer;)V - public final fun get (I)Lorg/partiql/planner/catalog/Namespace; + public final fun get (I)Lorg/partiql/spi/catalog/Namespace; public final fun getLength ()I public final fun isEmpty ()Z public fun iterator ()Ljava/util/Iterator; - public static final fun of ([Lorg/partiql/planner/catalog/Namespace;)Lorg/partiql/planner/catalog/Path; + public static final fun of ([Lorg/partiql/spi/catalog/Namespace;)Lorg/partiql/spi/catalog/Path; public fun spliterator ()Ljava/util/Spliterator; public fun toString ()Ljava/lang/String; } -public final class org/partiql/planner/catalog/Path$Companion { - public final fun of ([Lorg/partiql/planner/catalog/Namespace;)Lorg/partiql/planner/catalog/Path; +public final class org/partiql/spi/catalog/Path$Companion { + public final fun of ([Lorg/partiql/spi/catalog/Namespace;)Lorg/partiql/spi/catalog/Path; } -public abstract interface class org/partiql/planner/catalog/Session { - public static final field Companion Lorg/partiql/planner/catalog/Session$Companion; - public static fun builder ()Lorg/partiql/planner/catalog/Session$Builder; - public static fun empty (Ljava/lang/String;)Lorg/partiql/planner/catalog/Session; +public abstract interface class org/partiql/spi/catalog/Session { + public static final field Companion Lorg/partiql/spi/catalog/Session$Companion; + public static fun builder ()Lorg/partiql/spi/catalog/Session$Builder; + public static fun empty (Ljava/lang/String;)Lorg/partiql/spi/catalog/Session; public abstract fun getCatalog ()Ljava/lang/String; - public abstract fun getCatalogs ()Lorg/partiql/planner/catalog/Catalogs; + public abstract fun getCatalogs ()Lorg/partiql/spi/catalog/Catalogs; public abstract fun getIdentity ()Ljava/lang/String; - public abstract fun getNamespace ()Lorg/partiql/planner/catalog/Namespace; - public abstract fun getPath ()Lorg/partiql/planner/catalog/Path; + public abstract fun getNamespace ()Lorg/partiql/spi/catalog/Namespace; + public abstract fun getPath ()Lorg/partiql/spi/catalog/Path; public abstract fun getProperties ()Ljava/util/Map; } -public final class org/partiql/planner/catalog/Session$Builder { +public final class org/partiql/spi/catalog/Session$Builder { public fun ()V - public final fun build ()Lorg/partiql/planner/catalog/Session; - public final fun catalog (Ljava/lang/String;)Lorg/partiql/planner/catalog/Session$Builder; - public final fun catalogs ([Lorg/partiql/planner/catalog/Catalog;)Lorg/partiql/planner/catalog/Session$Builder; - public final fun identity (Ljava/lang/String;)Lorg/partiql/planner/catalog/Session$Builder; - public final fun namespace (Ljava/util/Collection;)Lorg/partiql/planner/catalog/Session$Builder; - public final fun namespace (Lorg/partiql/planner/catalog/Namespace;)Lorg/partiql/planner/catalog/Session$Builder; - public final fun namespace ([Ljava/lang/String;)Lorg/partiql/planner/catalog/Session$Builder; - public final fun property (Ljava/lang/String;Ljava/lang/String;)Lorg/partiql/planner/catalog/Session$Builder; -} - -public final class org/partiql/planner/catalog/Session$Companion { - public final fun builder ()Lorg/partiql/planner/catalog/Session$Builder; - public final fun empty (Ljava/lang/String;)Lorg/partiql/planner/catalog/Session; -} - -public final class org/partiql/planner/catalog/Session$DefaultImpls { - public static fun getPath (Lorg/partiql/planner/catalog/Session;)Lorg/partiql/planner/catalog/Path; - public static fun getProperties (Lorg/partiql/planner/catalog/Session;)Ljava/util/Map; -} - -public abstract interface class org/partiql/planner/catalog/Table { - public static final field Companion Lorg/partiql/planner/catalog/Table$Companion; - public static fun builder ()Lorg/partiql/planner/catalog/Table$Builder; - public static fun empty (Ljava/lang/String;)Lorg/partiql/planner/catalog/Table; - public static fun empty (Ljava/lang/String;Lorg/partiql/types/PType;)Lorg/partiql/planner/catalog/Table; - public static fun empty (Lorg/partiql/planner/catalog/Name;)Lorg/partiql/planner/catalog/Table; - public static fun empty (Lorg/partiql/planner/catalog/Name;Lorg/partiql/types/PType;)Lorg/partiql/planner/catalog/Table; - public abstract fun getDatum ()Lorg/partiql/eval/value/Datum; - public abstract fun getName ()Lorg/partiql/planner/catalog/Name; + public final fun build ()Lorg/partiql/spi/catalog/Session; + public final fun catalog (Ljava/lang/String;)Lorg/partiql/spi/catalog/Session$Builder; + public final fun catalogs ([Lorg/partiql/spi/catalog/Catalog;)Lorg/partiql/spi/catalog/Session$Builder; + public final fun identity (Ljava/lang/String;)Lorg/partiql/spi/catalog/Session$Builder; + public final fun namespace (Ljava/util/Collection;)Lorg/partiql/spi/catalog/Session$Builder; + public final fun namespace (Lorg/partiql/spi/catalog/Namespace;)Lorg/partiql/spi/catalog/Session$Builder; + public final fun namespace ([Ljava/lang/String;)Lorg/partiql/spi/catalog/Session$Builder; + public final fun property (Ljava/lang/String;Ljava/lang/String;)Lorg/partiql/spi/catalog/Session$Builder; +} + +public final class org/partiql/spi/catalog/Session$Companion { + public final fun builder ()Lorg/partiql/spi/catalog/Session$Builder; + public final fun empty (Ljava/lang/String;)Lorg/partiql/spi/catalog/Session; +} + +public final class org/partiql/spi/catalog/Session$DefaultImpls { + public static fun getPath (Lorg/partiql/spi/catalog/Session;)Lorg/partiql/spi/catalog/Path; + public static fun getProperties (Lorg/partiql/spi/catalog/Session;)Ljava/util/Map; +} + +public abstract interface class org/partiql/spi/catalog/Table { + public static final field Companion Lorg/partiql/spi/catalog/Table$Companion; + public static fun builder ()Lorg/partiql/spi/catalog/Table$Builder; + public static fun empty (Ljava/lang/String;)Lorg/partiql/spi/catalog/Table; + public static fun empty (Ljava/lang/String;Lorg/partiql/types/PType;)Lorg/partiql/spi/catalog/Table; + public static fun empty (Lorg/partiql/spi/catalog/Name;)Lorg/partiql/spi/catalog/Table; + public static fun empty (Lorg/partiql/spi/catalog/Name;Lorg/partiql/types/PType;)Lorg/partiql/spi/catalog/Table; + public abstract fun getDatum ()Lorg/partiql/spi/value/Datum; + public abstract fun getName ()Lorg/partiql/spi/catalog/Name; public abstract fun getSchema ()Lorg/partiql/types/PType; - public static fun of (Lorg/partiql/planner/catalog/Name;Lorg/partiql/eval/value/Datum;)Lorg/partiql/planner/catalog/Table; - public static fun of (Lorg/partiql/planner/catalog/Name;Lorg/partiql/eval/value/Datum;Lorg/partiql/types/PType;)Lorg/partiql/planner/catalog/Table; + public static fun of (Lorg/partiql/spi/catalog/Name;Lorg/partiql/spi/value/Datum;)Lorg/partiql/spi/catalog/Table; + public static fun of (Lorg/partiql/spi/catalog/Name;Lorg/partiql/spi/value/Datum;Lorg/partiql/types/PType;)Lorg/partiql/spi/catalog/Table; } -public final class org/partiql/planner/catalog/Table$Builder { +public final class org/partiql/spi/catalog/Table$Builder { public fun ()V - public final fun build ()Lorg/partiql/planner/catalog/Table; - public final fun datum (Lorg/partiql/eval/value/Datum;)Lorg/partiql/planner/catalog/Table$Builder; - public final fun name (Ljava/lang/String;)Lorg/partiql/planner/catalog/Table$Builder; - public final fun schema (Lorg/partiql/types/PType;)Lorg/partiql/planner/catalog/Table$Builder; -} - -public final class org/partiql/planner/catalog/Table$Companion { - public final fun builder ()Lorg/partiql/planner/catalog/Table$Builder; - public final fun empty (Ljava/lang/String;)Lorg/partiql/planner/catalog/Table; - public final fun empty (Ljava/lang/String;Lorg/partiql/types/PType;)Lorg/partiql/planner/catalog/Table; - public final fun empty (Lorg/partiql/planner/catalog/Name;)Lorg/partiql/planner/catalog/Table; - public final fun empty (Lorg/partiql/planner/catalog/Name;Lorg/partiql/types/PType;)Lorg/partiql/planner/catalog/Table; - public final fun of (Lorg/partiql/planner/catalog/Name;Lorg/partiql/eval/value/Datum;)Lorg/partiql/planner/catalog/Table; - public final fun of (Lorg/partiql/planner/catalog/Name;Lorg/partiql/eval/value/Datum;Lorg/partiql/types/PType;)Lorg/partiql/planner/catalog/Table; + public final fun build ()Lorg/partiql/spi/catalog/Table; + public final fun datum (Lorg/partiql/spi/value/Datum;)Lorg/partiql/spi/catalog/Table$Builder; + public final fun name (Ljava/lang/String;)Lorg/partiql/spi/catalog/Table$Builder; + public final fun schema (Lorg/partiql/types/PType;)Lorg/partiql/spi/catalog/Table$Builder; } -public final class org/partiql/planner/catalog/Table$DefaultImpls { - public static fun getDatum (Lorg/partiql/planner/catalog/Table;)Lorg/partiql/eval/value/Datum; - public static fun getSchema (Lorg/partiql/planner/catalog/Table;)Lorg/partiql/types/PType; +public final class org/partiql/spi/catalog/Table$Companion { + public final fun builder ()Lorg/partiql/spi/catalog/Table$Builder; + public final fun empty (Ljava/lang/String;)Lorg/partiql/spi/catalog/Table; + public final fun empty (Ljava/lang/String;Lorg/partiql/types/PType;)Lorg/partiql/spi/catalog/Table; + public final fun empty (Lorg/partiql/spi/catalog/Name;)Lorg/partiql/spi/catalog/Table; + public final fun empty (Lorg/partiql/spi/catalog/Name;Lorg/partiql/types/PType;)Lorg/partiql/spi/catalog/Table; + public final fun of (Lorg/partiql/spi/catalog/Name;Lorg/partiql/spi/value/Datum;)Lorg/partiql/spi/catalog/Table; + public final fun of (Lorg/partiql/spi/catalog/Name;Lorg/partiql/spi/value/Datum;Lorg/partiql/types/PType;)Lorg/partiql/spi/catalog/Table; } -public final class org/partiql/planner/catalog/Table$Handle { - public final field name Lorg/partiql/planner/catalog/Name; - public final field table Lorg/partiql/planner/catalog/Table; - public fun (Lorg/partiql/planner/catalog/Name;Lorg/partiql/planner/catalog/Table;)V +public final class org/partiql/spi/catalog/Table$DefaultImpls { + public static fun getDatum (Lorg/partiql/spi/catalog/Table;)Lorg/partiql/spi/value/Datum; + public static fun getSchema (Lorg/partiql/spi/catalog/Table;)Lorg/partiql/types/PType; } -public abstract interface class org/partiql/spi/Plugin { - public abstract fun getFactory ()Lorg/partiql/spi/connector/Connector$Factory; +public final class org/partiql/spi/catalog/Table$Handle { + public final field name Lorg/partiql/spi/catalog/Name; + public final field table Lorg/partiql/spi/catalog/Table; + public fun (Lorg/partiql/spi/catalog/Name;Lorg/partiql/spi/catalog/Table;)V } public abstract interface class org/partiql/spi/connector/Connector { - public abstract fun getCatalog ()Lorg/partiql/planner/catalog/Catalog; + public abstract fun getCatalog ()Lorg/partiql/spi/catalog/Catalog; } public abstract interface class org/partiql/spi/connector/Connector$Factory { @@ -657,8 +597,8 @@ public abstract interface class org/partiql/spi/fn/Agg { } public abstract interface class org/partiql/spi/fn/Agg$Accumulator { - public abstract fun next ([Lorg/partiql/eval/value/Datum;)V - public abstract fun value ()Lorg/partiql/eval/value/Datum; + public abstract fun next ([Lorg/partiql/spi/value/Datum;)V + public abstract fun value ()Lorg/partiql/spi/value/Datum; } public final class org/partiql/spi/fn/AggSignature { @@ -678,7 +618,7 @@ public final class org/partiql/spi/fn/AggSignature { public abstract interface class org/partiql/spi/fn/Fn { public abstract fun getSignature ()Lorg/partiql/spi/fn/FnSignature; - public abstract fun invoke ([Lorg/partiql/eval/value/Datum;)Lorg/partiql/eval/value/Datum; + public abstract fun invoke ([Lorg/partiql/spi/value/Datum;)Lorg/partiql/spi/value/Datum; } public final class org/partiql/spi/fn/FnParameter { @@ -732,6 +672,91 @@ public final class org/partiql/spi/fn/SqlFnProvider { public final fun lookupFn (Ljava/lang/String;)Ljava/util/List; } +public abstract interface class org/partiql/spi/value/Datum : java/lang/Iterable { + public static fun bag (Ljava/lang/Iterable;)Lorg/partiql/spi/value/Datum; + public static fun bigint (J)Lorg/partiql/spi/value/Datum; + public static fun blob ([B)Lorg/partiql/spi/value/Datum; + public static fun bool (Z)Lorg/partiql/spi/value/Datum; + public static fun clob ([B)Lorg/partiql/spi/value/Datum; + public static fun comparator ()Ljava/util/Comparator; + public static fun comparator (Z)Ljava/util/Comparator; + public static fun date (Lorg/partiql/value/datetime/Date;)Lorg/partiql/spi/value/Datum; + public static fun decimal (Ljava/math/BigDecimal;)Lorg/partiql/spi/value/Datum; + public static fun decimal (Ljava/math/BigDecimal;II)Lorg/partiql/spi/value/Datum; + public static fun doublePrecision (D)Lorg/partiql/spi/value/Datum; + public fun get (Ljava/lang/String;)Lorg/partiql/spi/value/Datum; + public fun getBigDecimal ()Ljava/math/BigDecimal; + public fun getBigInteger ()Ljava/math/BigInteger; + public fun getBoolean ()Z + public fun getByte ()B + public fun getBytes ()[B + public fun getDate ()Lorg/partiql/value/datetime/Date; + public fun getDouble ()D + public fun getFields ()Ljava/util/Iterator; + public fun getFloat ()F + public fun getInsensitive (Ljava/lang/String;)Lorg/partiql/spi/value/Datum; + public fun getInt ()I + public fun getInterval ()J + public fun getLong ()J + public fun getShort ()S + public fun getString ()Ljava/lang/String; + public fun getTime ()Lorg/partiql/value/datetime/Time; + public fun getTimestamp ()Lorg/partiql/value/datetime/Timestamp; + public abstract fun getType ()Lorg/partiql/types/PType; + public static fun integer (I)Lorg/partiql/spi/value/Datum; + public fun isMissing ()Z + public fun isNull ()Z + public fun iterator ()Ljava/util/Iterator; + public static fun list (Ljava/lang/Iterable;)Lorg/partiql/spi/value/Datum; + public static fun missing ()Lorg/partiql/spi/value/Datum; + public static fun missing (Lorg/partiql/types/PType;)Lorg/partiql/spi/value/Datum; + public static fun nullValue ()Lorg/partiql/spi/value/Datum; + public static fun nullValue (Lorg/partiql/types/PType;)Lorg/partiql/spi/value/Datum; + public static fun numeric (Ljava/math/BigInteger;)Lorg/partiql/spi/value/Datum; + public static fun of (Lorg/partiql/value/PartiQLValue;)Lorg/partiql/spi/value/Datum; + public static fun real (F)Lorg/partiql/spi/value/Datum; + public static fun sexp (Ljava/lang/Iterable;)Lorg/partiql/spi/value/Datum; + public static fun smallint (S)Lorg/partiql/spi/value/Datum; + public static fun string (Ljava/lang/String;)Lorg/partiql/spi/value/Datum; + public static fun struct (Ljava/lang/Iterable;)Lorg/partiql/spi/value/Datum; + public static fun symbol (Ljava/lang/String;)Lorg/partiql/spi/value/Datum; + public static fun time (Lorg/partiql/value/datetime/Time;)Lorg/partiql/spi/value/Datum; + public static fun timestamp (Lorg/partiql/value/datetime/Timestamp;)Lorg/partiql/spi/value/Datum; + public static fun tinyint (B)Lorg/partiql/spi/value/Datum; + public fun toPartiQLValue ()Lorg/partiql/value/PartiQLValue; +} + +public abstract interface class org/partiql/spi/value/Field { + public abstract fun getName ()Ljava/lang/String; + public abstract fun getValue ()Lorg/partiql/spi/value/Datum; + public static fun of (Ljava/lang/String;Lorg/partiql/spi/value/Datum;)Lorg/partiql/spi/value/Field; +} + +public final class org/partiql/spi/value/ion/IonDatum : org/partiql/spi/value/Datum { + public static final field Companion Lorg/partiql/spi/value/ion/IonDatum$Companion; + public synthetic fun (Lcom/amazon/ionelement/api/AnyElement;Lorg/partiql/types/PType;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun get (Ljava/lang/String;)Lorg/partiql/spi/value/Datum; + public fun getBigDecimal ()Ljava/math/BigDecimal; + public fun getBigInteger ()Ljava/math/BigInteger; + public fun getBoolean ()Z + public fun getDate ()Lorg/partiql/value/datetime/Date; + public fun getDouble ()D + public fun getFields ()Ljava/util/Iterator; + public fun getInsensitive (Ljava/lang/String;)Lorg/partiql/spi/value/Datum; + public fun getString ()Ljava/lang/String; + public fun getTime ()Lorg/partiql/value/datetime/Time; + public fun getTimestamp ()Lorg/partiql/value/datetime/Timestamp; + public fun getType ()Lorg/partiql/types/PType; + public fun isMissing ()Z + public fun isNull ()Z + public fun iterator ()Ljava/util/Iterator; + public static final fun of (Lcom/amazon/ionelement/api/AnyElement;)Lorg/partiql/spi/value/Datum; +} + +public final class org/partiql/spi/value/ion/IonDatum$Companion { + public final fun of (Lcom/amazon/ionelement/api/AnyElement;)Lorg/partiql/spi/value/Datum; +} + public abstract class org/partiql/value/BagValue : org/partiql/value/CollectionValue { public fun ()V public abstract fun copy (Ljava/util/List;)Lorg/partiql/value/BagValue; @@ -1513,31 +1538,6 @@ public final class org/partiql/value/io/PartiQLValueWriterBuilder$Companion { public final fun standard ()Lorg/partiql/value/io/PartiQLValueWriterBuilder; } -public final class org/partiql/value/ion/IonDatum : org/partiql/eval/value/Datum { - public static final field Companion Lorg/partiql/value/ion/IonDatum$Companion; - public synthetic fun (Lcom/amazon/ionelement/api/AnyElement;Lorg/partiql/types/PType;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun get (Ljava/lang/String;)Lorg/partiql/eval/value/Datum; - public fun getBigDecimal ()Ljava/math/BigDecimal; - public fun getBigInteger ()Ljava/math/BigInteger; - public fun getBoolean ()Z - public fun getDate ()Lorg/partiql/value/datetime/Date; - public fun getDouble ()D - public fun getFields ()Ljava/util/Iterator; - public fun getInsensitive (Ljava/lang/String;)Lorg/partiql/eval/value/Datum; - public fun getString ()Ljava/lang/String; - public fun getTime ()Lorg/partiql/value/datetime/Time; - public fun getTimestamp ()Lorg/partiql/value/datetime/Timestamp; - public fun getType ()Lorg/partiql/types/PType; - public fun isMissing ()Z - public fun isNull ()Z - public fun iterator ()Ljava/util/Iterator; - public static final fun of (Lcom/amazon/ionelement/api/AnyElement;)Lorg/partiql/eval/value/Datum; -} - -public final class org/partiql/value/ion/IonDatum$Companion { - public final fun of (Lcom/amazon/ionelement/api/AnyElement;)Lorg/partiql/eval/value/Datum; -} - public final class org/partiql/value/util/NumberExtensionsKt { public static final fun coerceNumbers (Ljava/lang/Number;Ljava/lang/Number;)Lkotlin/Pair; } diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/Datum.java b/partiql-spi/src/main/java/org/partiql/spi/value/Datum.java similarity index 99% rename from partiql-spi/src/main/java/org/partiql/eval/value/Datum.java rename to partiql-spi/src/main/java/org/partiql/spi/value/Datum.java index 0334cc3c9b..718287545b 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/Datum.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/Datum.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import kotlin.NotImplementedError; import kotlin.Pair; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/DatumBigInteger.java b/partiql-spi/src/main/java/org/partiql/spi/value/DatumBigInteger.java similarity index 94% rename from partiql-spi/src/main/java/org/partiql/eval/value/DatumBigInteger.java rename to partiql-spi/src/main/java/org/partiql/spi/value/DatumBigInteger.java index a4778784c5..3d82aec16b 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/DatumBigInteger.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/DatumBigInteger.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.types.PType; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/DatumBoolean.java b/partiql-spi/src/main/java/org/partiql/spi/value/DatumBoolean.java similarity index 93% rename from partiql-spi/src/main/java/org/partiql/eval/value/DatumBoolean.java rename to partiql-spi/src/main/java/org/partiql/spi/value/DatumBoolean.java index bdee2a0017..bb241b1eaf 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/DatumBoolean.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/DatumBoolean.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.types.PType; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/DatumByte.java b/partiql-spi/src/main/java/org/partiql/spi/value/DatumByte.java similarity index 94% rename from partiql-spi/src/main/java/org/partiql/eval/value/DatumByte.java rename to partiql-spi/src/main/java/org/partiql/spi/value/DatumByte.java index a689aab9af..f624ecace4 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/DatumByte.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/DatumByte.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.types.PType; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/DatumBytes.java b/partiql-spi/src/main/java/org/partiql/spi/value/DatumBytes.java similarity index 95% rename from partiql-spi/src/main/java/org/partiql/eval/value/DatumBytes.java rename to partiql-spi/src/main/java/org/partiql/spi/value/DatumBytes.java index 153831668e..5574f567d8 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/DatumBytes.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/DatumBytes.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.types.PType; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/DatumChars.java b/partiql-spi/src/main/java/org/partiql/spi/value/DatumChars.java similarity index 94% rename from partiql-spi/src/main/java/org/partiql/eval/value/DatumChars.java rename to partiql-spi/src/main/java/org/partiql/spi/value/DatumChars.java index 09f22b8887..ce437ed43b 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/DatumChars.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/DatumChars.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.types.PType; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/DatumCollection.java b/partiql-spi/src/main/java/org/partiql/spi/value/DatumCollection.java similarity index 95% rename from partiql-spi/src/main/java/org/partiql/eval/value/DatumCollection.java rename to partiql-spi/src/main/java/org/partiql/spi/value/DatumCollection.java index 7b7863bd38..50d4edc588 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/DatumCollection.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/DatumCollection.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.types.PType; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/DatumComparator.java b/partiql-spi/src/main/java/org/partiql/spi/value/DatumComparator.java similarity index 99% rename from partiql-spi/src/main/java/org/partiql/eval/value/DatumComparator.java rename to partiql-spi/src/main/java/org/partiql/spi/value/DatumComparator.java index 1618672103..35c7571f0d 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/DatumComparator.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/DatumComparator.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.types.PType; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/DatumDate.java b/partiql-spi/src/main/java/org/partiql/spi/value/DatumDate.java similarity index 95% rename from partiql-spi/src/main/java/org/partiql/eval/value/DatumDate.java rename to partiql-spi/src/main/java/org/partiql/spi/value/DatumDate.java index 98e0cb1ab7..cac1a359ab 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/DatumDate.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/DatumDate.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.types.PType; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/DatumDecimal.java b/partiql-spi/src/main/java/org/partiql/spi/value/DatumDecimal.java similarity index 95% rename from partiql-spi/src/main/java/org/partiql/eval/value/DatumDecimal.java rename to partiql-spi/src/main/java/org/partiql/spi/value/DatumDecimal.java index 16bd4983c1..1835207f4b 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/DatumDecimal.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/DatumDecimal.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.types.PType; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/DatumDouble.java b/partiql-spi/src/main/java/org/partiql/spi/value/DatumDouble.java similarity index 95% rename from partiql-spi/src/main/java/org/partiql/eval/value/DatumDouble.java rename to partiql-spi/src/main/java/org/partiql/spi/value/DatumDouble.java index 4fe281a4c9..30bd034a4f 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/DatumDouble.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/DatumDouble.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.types.PType; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/DatumFloat.java b/partiql-spi/src/main/java/org/partiql/spi/value/DatumFloat.java similarity index 95% rename from partiql-spi/src/main/java/org/partiql/eval/value/DatumFloat.java rename to partiql-spi/src/main/java/org/partiql/spi/value/DatumFloat.java index b3f1204b34..7675b1b6b8 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/DatumFloat.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/DatumFloat.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.types.PType; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/DatumInt.java b/partiql-spi/src/main/java/org/partiql/spi/value/DatumInt.java similarity index 93% rename from partiql-spi/src/main/java/org/partiql/eval/value/DatumInt.java rename to partiql-spi/src/main/java/org/partiql/spi/value/DatumInt.java index 7f12c441d6..ec3e4cee2c 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/DatumInt.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/DatumInt.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.types.PType; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/DatumInterval.java b/partiql-spi/src/main/java/org/partiql/spi/value/DatumInterval.java similarity index 93% rename from partiql-spi/src/main/java/org/partiql/eval/value/DatumInterval.java rename to partiql-spi/src/main/java/org/partiql/spi/value/DatumInterval.java index 2eb96ea909..4fd9f2b456 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/DatumInterval.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/DatumInterval.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.types.PType; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/DatumLong.java b/partiql-spi/src/main/java/org/partiql/spi/value/DatumLong.java similarity index 93% rename from partiql-spi/src/main/java/org/partiql/eval/value/DatumLong.java rename to partiql-spi/src/main/java/org/partiql/spi/value/DatumLong.java index bce57a6af8..f37b25c023 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/DatumLong.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/DatumLong.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.types.PType; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/DatumMissing.java b/partiql-spi/src/main/java/org/partiql/spi/value/DatumMissing.java similarity index 94% rename from partiql-spi/src/main/java/org/partiql/eval/value/DatumMissing.java rename to partiql-spi/src/main/java/org/partiql/spi/value/DatumMissing.java index f6ffcbd805..fdf6fa1380 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/DatumMissing.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/DatumMissing.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.types.PType; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/DatumNull.java b/partiql-spi/src/main/java/org/partiql/spi/value/DatumNull.java similarity index 99% rename from partiql-spi/src/main/java/org/partiql/eval/value/DatumNull.java rename to partiql-spi/src/main/java/org/partiql/spi/value/DatumNull.java index 222a2672e0..bde8edfae1 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/DatumNull.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/DatumNull.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.types.PType; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/DatumShort.java b/partiql-spi/src/main/java/org/partiql/spi/value/DatumShort.java similarity index 93% rename from partiql-spi/src/main/java/org/partiql/eval/value/DatumShort.java rename to partiql-spi/src/main/java/org/partiql/spi/value/DatumShort.java index 1e729a0d80..0b33667c1b 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/DatumShort.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/DatumShort.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.types.PType; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/DatumString.java b/partiql-spi/src/main/java/org/partiql/spi/value/DatumString.java similarity index 94% rename from partiql-spi/src/main/java/org/partiql/eval/value/DatumString.java rename to partiql-spi/src/main/java/org/partiql/spi/value/DatumString.java index a0318da380..907dbc0f90 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/DatumString.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/DatumString.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.types.PType; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/DatumStruct.java b/partiql-spi/src/main/java/org/partiql/spi/value/DatumStruct.java similarity index 98% rename from partiql-spi/src/main/java/org/partiql/eval/value/DatumStruct.java rename to partiql-spi/src/main/java/org/partiql/spi/value/DatumStruct.java index ff479d1bbb..ae57d04f72 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/DatumStruct.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/DatumStruct.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.types.PType; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/DatumTime.java b/partiql-spi/src/main/java/org/partiql/spi/value/DatumTime.java similarity index 95% rename from partiql-spi/src/main/java/org/partiql/eval/value/DatumTime.java rename to partiql-spi/src/main/java/org/partiql/spi/value/DatumTime.java index 351cd3b1ff..1a2391e66d 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/DatumTime.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/DatumTime.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.types.PType; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/DatumTimestamp.java b/partiql-spi/src/main/java/org/partiql/spi/value/DatumTimestamp.java similarity index 95% rename from partiql-spi/src/main/java/org/partiql/eval/value/DatumTimestamp.java rename to partiql-spi/src/main/java/org/partiql/spi/value/DatumTimestamp.java index b15b5be2fc..bc72fa6842 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/DatumTimestamp.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/DatumTimestamp.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.types.PType; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/Field.java b/partiql-spi/src/main/java/org/partiql/spi/value/Field.java similarity index 97% rename from partiql-spi/src/main/java/org/partiql/eval/value/Field.java rename to partiql-spi/src/main/java/org/partiql/spi/value/Field.java index 64d030689c..8c6ea28028 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/Field.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/Field.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/PQLToPartiQLIterable.java b/partiql-spi/src/main/java/org/partiql/spi/value/PQLToPartiQLIterable.java similarity index 95% rename from partiql-spi/src/main/java/org/partiql/eval/value/PQLToPartiQLIterable.java rename to partiql-spi/src/main/java/org/partiql/spi/value/PQLToPartiQLIterable.java index 93b07af4ba..16224d1114 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/PQLToPartiQLIterable.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/PQLToPartiQLIterable.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.jetbrains.annotations.NotNull; import org.partiql.value.PartiQLValue; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/PQLToPartiQLStruct.java b/partiql-spi/src/main/java/org/partiql/spi/value/PQLToPartiQLStruct.java similarity index 96% rename from partiql-spi/src/main/java/org/partiql/eval/value/PQLToPartiQLStruct.java rename to partiql-spi/src/main/java/org/partiql/spi/value/PQLToPartiQLStruct.java index 9f3f1404ae..18801eb7d1 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/PQLToPartiQLStruct.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/PQLToPartiQLStruct.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import kotlin.Pair; import org.jetbrains.annotations.NotNull; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/PartiQLToPQLIterable.java b/partiql-spi/src/main/java/org/partiql/spi/value/PartiQLToPQLIterable.java similarity index 96% rename from partiql-spi/src/main/java/org/partiql/eval/value/PartiQLToPQLIterable.java rename to partiql-spi/src/main/java/org/partiql/spi/value/PartiQLToPQLIterable.java index e53805c38a..eb3d7cbfd0 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/PartiQLToPQLIterable.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/PartiQLToPQLIterable.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import org.partiql.value.CollectionValue; import org.partiql.value.PartiQLValue; diff --git a/partiql-spi/src/main/java/org/partiql/eval/value/PartiQLToPQLStruct.java b/partiql-spi/src/main/java/org/partiql/spi/value/PartiQLToPQLStruct.java similarity index 97% rename from partiql-spi/src/main/java/org/partiql/eval/value/PartiQLToPQLStruct.java rename to partiql-spi/src/main/java/org/partiql/spi/value/PartiQLToPQLStruct.java index a3e82e62a3..6d7bcbff02 100644 --- a/partiql-spi/src/main/java/org/partiql/eval/value/PartiQLToPQLStruct.java +++ b/partiql-spi/src/main/java/org/partiql/spi/value/PartiQLToPQLStruct.java @@ -1,4 +1,4 @@ -package org.partiql.eval.value; +package org.partiql.spi.value; import kotlin.Pair; import org.jetbrains.annotations.NotNull; diff --git a/partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Catalog.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Catalog.kt similarity index 98% rename from partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Catalog.kt rename to partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Catalog.kt index a094835b95..c78123bfd3 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Catalog.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Catalog.kt @@ -1,4 +1,4 @@ -package org.partiql.planner.catalog +package org.partiql.spi.catalog /** * Catalog interface for access to tables and routines. diff --git a/partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Catalogs.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Catalogs.kt similarity index 98% rename from partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Catalogs.kt rename to partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Catalogs.kt index 17f89d5e79..8b118f42c7 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Catalogs.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Catalogs.kt @@ -1,4 +1,4 @@ -package org.partiql.planner.catalog +package org.partiql.spi.catalog /** * Catalogs is used to provide the default catalog and possibly others by name. diff --git a/partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Function.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Function.kt similarity index 97% rename from partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Function.kt rename to partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Function.kt index 87116312c1..ad1b8a9bb7 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Function.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Function.kt @@ -1,6 +1,6 @@ -package org.partiql.planner.catalog +package org.partiql.spi.catalog -import org.partiql.planner.internal.SqlTypes +import org.partiql.spi.internal.SqlTypes import org.partiql.types.PType /** diff --git a/partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Identifier.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Identifier.kt similarity index 99% rename from partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Identifier.kt rename to partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Identifier.kt index 2077ffa02c..8ecb71e815 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Identifier.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Identifier.kt @@ -1,4 +1,4 @@ -package org.partiql.planner.catalog +package org.partiql.spi.catalog import java.util.Spliterator import java.util.function.Consumer diff --git a/partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Name.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Name.kt similarity index 98% rename from partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Name.kt rename to partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Name.kt index d19d4469c5..a089be9f13 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Name.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Name.kt @@ -1,4 +1,4 @@ -package org.partiql.planner.catalog +package org.partiql.spi.catalog import java.util.Spliterator import java.util.function.Consumer diff --git a/partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Namespace.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Namespace.kt similarity index 98% rename from partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Namespace.kt rename to partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Namespace.kt index 746fb68077..170bf5b989 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Namespace.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Namespace.kt @@ -1,4 +1,4 @@ -package org.partiql.planner.catalog +package org.partiql.spi.catalog import java.util.Spliterator import java.util.function.Consumer diff --git a/partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Path.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Path.kt similarity index 96% rename from partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Path.kt rename to partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Path.kt index 960054e677..603539b869 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Path.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Path.kt @@ -1,4 +1,4 @@ -package org.partiql.planner.catalog +package org.partiql.spi.catalog import java.util.Spliterator import java.util.function.Consumer diff --git a/partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Session.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Session.kt similarity index 97% rename from partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Session.kt rename to partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Session.kt index 78bdd25d6a..75746debaf 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Session.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Session.kt @@ -1,4 +1,4 @@ -package org.partiql.planner.catalog +package org.partiql.spi.catalog /** * Session is used for authorization and name resolution. @@ -101,7 +101,7 @@ public interface Session { /** * Adds catalogs to this session like the old Map. * - * TODO replace with org.partiql.planner.catalog.Catalog. + * TODO replace with org.partiql.spi.catalog.Catalog. */ public fun catalogs(vararg catalogs: Catalog): Builder { for (catalog in catalogs) { diff --git a/partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Table.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Table.kt similarity index 98% rename from partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Table.kt rename to partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Table.kt index 051b028ec3..a0c4ac6649 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/planner/catalog/Table.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Table.kt @@ -1,6 +1,6 @@ -package org.partiql.planner.catalog +package org.partiql.spi.catalog -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import org.partiql.types.PType /** diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/connector/Connector.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/connector/Connector.kt index 7442ca7c76..f3aa5053de 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/connector/Connector.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/connector/Connector.kt @@ -2,7 +2,7 @@ package org.partiql.spi.connector import com.amazon.ionelement.api.StructElement import com.amazon.ionelement.api.emptyIonStruct -import org.partiql.planner.catalog.Catalog +import org.partiql.spi.catalog.Catalog /** * A mechanism by which PartiQL can access bindings and catalog metadata. diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/Agg.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/Agg.kt index c297f7585a..64f363a034 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/Agg.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/Agg.kt @@ -1,6 +1,6 @@ package org.partiql.spi.fn -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum /** * Represents an SQL table-value expression call. diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/Fn.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/Fn.kt index d204f26f7d..e1de413b3c 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/Fn.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/Fn.kt @@ -1,6 +1,6 @@ package org.partiql.spi.fn -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum /** * Represents a scalar function (SQL row-value call expression). diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnAbs.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnAbs.kt index 66aafda7a7..b8708be803 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnAbs.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnAbs.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType import kotlin.math.absoluteValue diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnAnd.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnAnd.kt index 9006d38606..3bfe60ab83 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnAnd.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnAnd.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_AND__BOOL_BOOL__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnBetween.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnBetween.kt index bb77f0b12f..84b31d667c 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnBetween.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnBetween.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_BETWEEN__INT8_INT8_INT8__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnBitLength.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnBitLength.kt index 96b4713b72..acbb732a80 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnBitLength.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnBitLength.kt @@ -1,9 +1,9 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType // SQL spec section 6.17 contains diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnBitwiseAnd.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnBitwiseAnd.kt index 94309e74e5..b11f3c6e64 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnBitwiseAnd.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnBitwiseAnd.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType import kotlin.experimental.and diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnCardinality.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnCardinality.kt index 51da59685e..6a6a23324a 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnCardinality.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnCardinality.kt @@ -1,9 +1,9 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_CARDINALITY__BAG__INT32 : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnCharLength.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnCharLength.kt index 204ebe3f6f..4979f36333 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnCharLength.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnCharLength.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_CHAR_LENGTH__STRING__INT : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnCollAgg.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnCollAgg.kt index 8a39486aee..8b98b3b022 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnCollAgg.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnCollAgg.kt @@ -3,7 +3,6 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature @@ -16,6 +15,7 @@ import org.partiql.spi.fn.builtins.internal.AccumulatorEvery import org.partiql.spi.fn.builtins.internal.AccumulatorMax import org.partiql.spi.fn.builtins.internal.AccumulatorMin import org.partiql.spi.fn.builtins.internal.AccumulatorSum +import org.partiql.spi.value.Datum import org.partiql.types.PType internal abstract class Fn_COLL_AGG__BAG__ANY( diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnConcat.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnConcat.kt index fe7267432b..44f42389a6 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnConcat.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnConcat.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_CONCAT__STRING_STRING__STRING : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnCurrentDate.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnCurrentDate.kt index 4c7eded03c..0eebe110cb 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnCurrentDate.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnCurrentDate.kt @@ -3,9 +3,9 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_CURRENT_DATE____DATE : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnCurrentUser.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnCurrentUser.kt index 2be585dbd9..53f7f24413 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnCurrentUser.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnCurrentUser.kt @@ -3,9 +3,9 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_CURRENT_USER____STRING : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddDay.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddDay.kt index 16c5428694..c0c43d3e0f 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddDay.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddDay.kt @@ -5,10 +5,10 @@ package org.partiql.spi.fn.builtins import org.partiql.errors.DataException import org.partiql.errors.TypeCheckException -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_DATE_ADD_DAY__INT32_DATE__DATE : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddHour.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddHour.kt index 8d6bee01e4..f5fcdc26c4 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddHour.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddHour.kt @@ -5,10 +5,10 @@ package org.partiql.spi.fn.builtins import org.partiql.errors.DataException import org.partiql.errors.TypeCheckException -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_DATE_ADD_HOUR__INT32_TIME__TIME : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddMinute.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddMinute.kt index 015ce50886..6008aca417 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddMinute.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddMinute.kt @@ -5,10 +5,10 @@ package org.partiql.spi.fn.builtins import org.partiql.errors.DataException import org.partiql.errors.TypeCheckException -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_DATE_ADD_MINUTE__INT32_TIME__TIME : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddMonth.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddMonth.kt index c4aff55fcb..de3921c83f 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddMonth.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddMonth.kt @@ -5,10 +5,10 @@ package org.partiql.spi.fn.builtins import org.partiql.errors.DataException import org.partiql.errors.TypeCheckException -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_DATE_ADD_MONTH__INT32_DATE__DATE : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddSecond.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddSecond.kt index 562b62cda3..df14d7c52a 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddSecond.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddSecond.kt @@ -5,10 +5,10 @@ package org.partiql.spi.fn.builtins import org.partiql.errors.DataException import org.partiql.errors.TypeCheckException -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_DATE_ADD_SECOND__INT32_TIME__TIME : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddYear.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddYear.kt index 82e3e43075..12a7ab82f6 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddYear.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateAddYear.kt @@ -5,10 +5,10 @@ package org.partiql.spi.fn.builtins import org.partiql.errors.DataException import org.partiql.errors.TypeCheckException -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_DATE_ADD_YEAR__INT32_DATE__DATE : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffDay.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffDay.kt index 6d3f51b9f5..7f50fc2544 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffDay.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffDay.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_DATE_DIFF_DAY__DATE_DATE__INT64 : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffHour.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffHour.kt index 841c0a143a..012e31a71d 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffHour.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffHour.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_DATE_DIFF_HOUR__TIME_TIME__INT64 : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffMinute.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffMinute.kt index 465ba97960..d7f3712942 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffMinute.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffMinute.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_DATE_DIFF_MINUTE__TIME_TIME__INT64 : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffMonth.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffMonth.kt index e16f67b8ab..f967809eb8 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffMonth.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffMonth.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_DATE_DIFF_MONTH__DATE_DATE__INT64 : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffSecond.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffSecond.kt index 97c646417d..b26a578520 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffSecond.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffSecond.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_DATE_DIFF_SECOND__TIME_TIME__INT64 : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffYear.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffYear.kt index 52f7690a9b..d0a805529b 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffYear.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDateDiffYear.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_DATE_DIFF_YEAR__DATE_DATE__INT64 : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDivide.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDivide.kt index 49de747efb..6e1e576740 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDivide.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnDivide.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType // TODO: Handle Overflow diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnEq.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnEq.kt index 0257e066ad..c39545a988 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnEq.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnEq.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType /** diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnExists.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnExists.kt index 2b0869bf44..751837d7e1 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnExists.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnExists.kt @@ -1,9 +1,9 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_EXISTS__BAG__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnExtract.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnExtract.kt index 9baa13d4a0..501e2a03ef 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnExtract.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnExtract.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType import org.partiql.value.datetime.TimeZone diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnGt.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnGt.kt index 5789bc637e..7f3a1e53ba 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnGt.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnGt.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_GT__INT8_INT8__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnGte.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnGte.kt index a861262296..2296012691 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnGte.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnGte.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_GTE__INT8_INT8__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnInCollection.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnInCollection.kt index 890007cf83..87c58d8c9f 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnInCollection.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnInCollection.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IN_COLLECTION__ANY_BAG__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsAny.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsAny.kt index c5b2ea82f4..39dda40a38 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsAny.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsAny.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_ANY__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsBag.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsBag.kt index d2afbd9d69..8af34df005 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsBag.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsBag.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType import org.partiql.types.PType.Kind diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsBinary.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsBinary.kt index 37e7c7076d..bb828680bf 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsBinary.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsBinary.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_BINARY__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsBlob.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsBlob.kt index 76c14df863..3c91e2fc76 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsBlob.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsBlob.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_BLOB__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsBool.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsBool.kt index 4ecd8c0217..c710bd5fa7 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsBool.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsBool.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_BOOL__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsByte.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsByte.kt index 69d17f7b80..fc2d8058e6 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsByte.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsByte.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_BYTE__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsChar.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsChar.kt index f4a30e2b39..77e5ec7240 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsChar.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsChar.kt @@ -4,10 +4,10 @@ package org.partiql.spi.fn.builtins import org.partiql.errors.TypeCheckException -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_CHAR__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsClob.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsClob.kt index b5aa9564d9..169a71dbeb 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsClob.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsClob.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_CLOB__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsDate.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsDate.kt index f1278c27b0..09dbabb069 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsDate.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsDate.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_DATE__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsDecimal.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsDecimal.kt index f00d32301a..96fec0c25a 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsDecimal.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsDecimal.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType import java.math.RoundingMode import kotlin.math.max diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsDecimalArbitrary.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsDecimalArbitrary.kt index 2ca5c4822f..885b81a3fb 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsDecimalArbitrary.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsDecimalArbitrary.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_DECIMAL_ARBITRARY__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsFloat32.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsFloat32.kt index a4846627d0..bc313eb121 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsFloat32.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsFloat32.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_FLOAT32__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsFloat64.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsFloat64.kt index 6990fed590..5ede39b301 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsFloat64.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsFloat64.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_FLOAT64__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInt.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInt.kt index 317de01fb7..f8238c2052 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInt.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInt.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_INT__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInt16.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInt16.kt index 4bd3ad7154..a85c6485c0 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInt16.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInt16.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_INT16__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInt32.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInt32.kt index 8a267cf57a..29af4d3a8e 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInt32.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInt32.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_INT32__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInt64.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInt64.kt index 9bcfa8750c..02cbbe8ace 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInt64.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInt64.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_INT64__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInt8.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInt8.kt index 9ef658b3e1..b8cdebfe46 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInt8.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInt8.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_INT8__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInterval.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInterval.kt index 2fa2ae3a8a..8339672522 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInterval.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsInterval.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_INTERVAL__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsList.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsList.kt index e000a4f97b..914ed07394 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsList.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsList.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_LIST__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsMissing.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsMissing.kt index 04aa24c076..f50a1f113f 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsMissing.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsMissing.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_MISSING__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsNull.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsNull.kt index 61e44e1b4f..4be6892085 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsNull.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsNull.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_NULL__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsSexp.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsSexp.kt index 4342326a58..dc46532127 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsSexp.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsSexp.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_SEXP__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsString.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsString.kt index 58f2125894..eb0e0247c0 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsString.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsString.kt @@ -4,10 +4,10 @@ package org.partiql.spi.fn.builtins import org.partiql.errors.TypeCheckException -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_STRING__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsStruct.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsStruct.kt index dbd7d459b1..747cab4257 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsStruct.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsStruct.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_STRUCT__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsSymbol.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsSymbol.kt index 0ff2360578..7d298d0b5d 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsSymbol.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsSymbol.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_SYMBOL__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsTime.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsTime.kt index 7b3ef46f9b..f81e8a0086 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsTime.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsTime.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_TIME__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsTimestamp.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsTimestamp.kt index 31ebf22543..67b82d1a35 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsTimestamp.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnIsTimestamp.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_IS_TIMESTAMP__ANY__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnLike.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnLike.kt index 8bc6c5a78d..e112faaed7 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnLike.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnLike.kt @@ -3,12 +3,12 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature import org.partiql.spi.fn.utils.PatternUtils.matchRegexPattern import org.partiql.spi.fn.utils.PatternUtils.parsePattern +import org.partiql.spi.value.Datum import org.partiql.types.PType import java.util.regex.Pattern diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnLikeEscape.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnLikeEscape.kt index e335857d0e..d6038397f8 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnLikeEscape.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnLikeEscape.kt @@ -4,13 +4,13 @@ package org.partiql.spi.fn.builtins import org.partiql.errors.TypeCheckException -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature import org.partiql.spi.fn.utils.PatternUtils import org.partiql.spi.fn.utils.PatternUtils.checkPattern import org.partiql.spi.fn.utils.PatternUtils.parsePattern +import org.partiql.spi.value.Datum import org.partiql.types.PType import java.util.regex.Pattern diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnLower.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnLower.kt index c88a7f8912..e342bd6d3f 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnLower.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnLower.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_LOWER__STRING__STRING : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnLt.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnLt.kt index 51ab92be59..abdf283cc0 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnLt.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnLt.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_LT__INT8_INT8__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnLte.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnLte.kt index fb3cebfb7e..825456bffd 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnLte.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnLte.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_LTE__INT8_INT8__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnMinus.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnMinus.kt index 4942058291..a214638cb7 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnMinus.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnMinus.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType // TODO: Handle Overflow diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnModulo.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnModulo.kt index 056e6862bc..ec77a6dd73 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnModulo.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnModulo.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_MODULO__INT8_INT8__INT8 : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnNeg.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnNeg.kt index f65e6b010a..b977cd566d 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnNeg.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnNeg.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType // TODO: Handle Overflow diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnNot.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnNot.kt index 3655a0245f..88a06b9e9a 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnNot.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnNot.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_NOT__BOOL__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnOctetLength.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnOctetLength.kt index 4f35a56585..a9110133a5 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnOctetLength.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnOctetLength.kt @@ -1,9 +1,9 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_OCTET_LENGTH__STRING__INT32 : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnOr.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnOr.kt index cd1be72ea5..55128339e0 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnOr.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnOr.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_OR__BOOL_BOOL__BOOL : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnPlus.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnPlus.kt index 4792d23f45..a4fab7bfef 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnPlus.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnPlus.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType // TODO: Handle Overflow diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnPos.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnPos.kt index aeae4d6eba..d91d0ac3a4 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnPos.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnPos.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_POS__INT8__INT8 : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnPosition.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnPosition.kt index 8c8db96596..23e1227c9f 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnPosition.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnPosition.kt @@ -3,11 +3,11 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature import org.partiql.spi.fn.utils.StringUtils.codepointPosition +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_POSITION__STRING_STRING__INT64 : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnSize.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnSize.kt index ad0bba469d..33bab6a5e6 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnSize.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnSize.kt @@ -1,9 +1,9 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_SIZE__BAG__INT32 : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnSubstring.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnSubstring.kt index af4b328179..a96dca79ed 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnSubstring.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnSubstring.kt @@ -4,11 +4,11 @@ package org.partiql.spi.fn.builtins import org.partiql.errors.TypeCheckException -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature import org.partiql.spi.fn.utils.StringUtils.codepointSubstring +import org.partiql.spi.value.Datum import org.partiql.types.PType /** diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTimes.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTimes.kt index ef69b763a7..eda8ee9b74 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTimes.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTimes.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType // TODO: Handle Overflow diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrim.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrim.kt index a987ae0800..da8706894f 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrim.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrim.kt @@ -3,11 +3,11 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature import org.partiql.spi.fn.utils.StringUtils.codepointTrim +import org.partiql.spi.value.Datum import org.partiql.types.PType /** diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrimChars.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrimChars.kt index a473213209..f10b2144b4 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrimChars.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrimChars.kt @@ -3,11 +3,11 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature import org.partiql.spi.fn.utils.StringUtils.codepointTrim +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_TRIM_CHARS__STRING_STRING__STRING : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrimLeading.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrimLeading.kt index 3ca8c88a4d..5d1727869b 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrimLeading.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrimLeading.kt @@ -3,11 +3,11 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature import org.partiql.spi.fn.utils.StringUtils.codepointTrimLeading +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_TRIM_LEADING__STRING__STRING : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrimLeadingChars.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrimLeadingChars.kt index 214af682f1..c39605dec1 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrimLeadingChars.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrimLeadingChars.kt @@ -3,11 +3,11 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature import org.partiql.spi.fn.utils.StringUtils.codepointTrimLeading +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_TRIM_LEADING_CHARS__STRING_STRING__STRING : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrimTrailing.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrimTrailing.kt index 425ae6770b..ab7050230b 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrimTrailing.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrimTrailing.kt @@ -3,11 +3,11 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature import org.partiql.spi.fn.utils.StringUtils.codepointTrimTrailing +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_TRIM_TRAILING__STRING__STRING : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrimTrailingChars.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrimTrailingChars.kt index 3243d0b32a..4dbf4467fe 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrimTrailingChars.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnTrimTrailingChars.kt @@ -3,11 +3,11 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature import org.partiql.spi.fn.utils.StringUtils.codepointTrimTrailing +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_TRIM_TRAILING_CHARS__STRING_STRING__STRING : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnUpper.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnUpper.kt index 7489df9023..a07339ec0b 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnUpper.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnUpper.kt @@ -3,10 +3,10 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnParameter import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType internal object Fn_UPPER__STRING__STRING : Fn { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnUtcnow.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnUtcnow.kt index c6549573a3..48f8012fff 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnUtcnow.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/FnUtcnow.kt @@ -3,9 +3,9 @@ package org.partiql.spi.fn.builtins -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Fn import org.partiql.spi.fn.FnSignature +import org.partiql.spi.value.Datum import org.partiql.types.PType import org.partiql.value.datetime.TimestampWithTimeZone diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/Accumulator.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/Accumulator.kt index dc9dd347a8..c7df513061 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/Accumulator.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/Accumulator.kt @@ -16,8 +16,8 @@ package org.partiql.spi.fn.builtins.internal import com.amazon.ion.Decimal import org.partiql.errors.TypeCheckException -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Agg +import org.partiql.spi.value.Datum import org.partiql.types.PType import org.partiql.value.util.coerceNumbers import java.math.BigDecimal diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorAnySome.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorAnySome.kt index 2ac6b49917..bbef77b1df 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorAnySome.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorAnySome.kt @@ -1,6 +1,6 @@ package org.partiql.spi.fn.builtins.internal -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import org.partiql.types.PType internal class AccumulatorAnySome : Accumulator() { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorAvg.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorAvg.kt index 7e591a6011..5eedb5bce0 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorAvg.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorAvg.kt @@ -1,6 +1,6 @@ package org.partiql.spi.fn.builtins.internal -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import org.partiql.types.PType internal class AccumulatorAvg( diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorCount.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorCount.kt index aa659d2c7f..4b25fdfcfb 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorCount.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorCount.kt @@ -1,6 +1,6 @@ package org.partiql.spi.fn.builtins.internal -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum internal class AccumulatorCount : Accumulator() { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorCountStar.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorCountStar.kt index 4c986697ae..1e523cef23 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorCountStar.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorCountStar.kt @@ -1,7 +1,7 @@ package org.partiql.spi.fn.builtins.internal -import org.partiql.eval.value.Datum import org.partiql.spi.fn.Agg +import org.partiql.spi.value.Datum internal class AccumulatorCountStar : Agg.Accumulator { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorDistinct.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorDistinct.kt index 7fa34f3f1b..b9ae1ba7fa 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorDistinct.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorDistinct.kt @@ -1,6 +1,6 @@ package org.partiql.spi.fn.builtins.internal -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import java.util.TreeSet internal class AccumulatorDistinct( diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorEvery.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorEvery.kt index 78dbcffd38..d887c192d9 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorEvery.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorEvery.kt @@ -1,6 +1,6 @@ package org.partiql.spi.fn.builtins.internal -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import org.partiql.types.PType internal class AccumulatorEvery : Accumulator() { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorGroupAs.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorGroupAs.kt index 2c116273df..6a880fee8d 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorGroupAs.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorGroupAs.kt @@ -1,6 +1,6 @@ package org.partiql.spi.fn.builtins.internal -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum internal class AccumulatorGroupAs : Accumulator() { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorMax.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorMax.kt index 05c0f2a834..d1070fd105 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorMax.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorMax.kt @@ -1,6 +1,6 @@ package org.partiql.spi.fn.builtins.internal -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum internal class AccumulatorMax : Accumulator() { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorMin.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorMin.kt index 7b036bf794..5cb6b85a87 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorMin.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorMin.kt @@ -1,6 +1,6 @@ package org.partiql.spi.fn.builtins.internal -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum internal class AccumulatorMin : Accumulator() { diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorSum.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorSum.kt index f764d57ab5..e7e5f4c71c 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorSum.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/fn/builtins/internal/AccumulatorSum.kt @@ -1,6 +1,6 @@ package org.partiql.spi.fn.builtins.internal -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import org.partiql.types.PType internal class AccumulatorSum( diff --git a/partiql-spi/src/main/kotlin/org/partiql/planner/internal/SqlTypes.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/internal/SqlTypes.kt similarity index 99% rename from partiql-spi/src/main/kotlin/org/partiql/planner/internal/SqlTypes.kt rename to partiql-spi/src/main/kotlin/org/partiql/spi/internal/SqlTypes.kt index 13d14f120a..4c676b182d 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/planner/internal/SqlTypes.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/internal/SqlTypes.kt @@ -1,4 +1,4 @@ -package org.partiql.planner.internal +package org.partiql.spi.internal import org.partiql.types.Field import org.partiql.types.PType diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/value/.gitkeep b/partiql-spi/src/main/kotlin/org/partiql/spi/value/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/partiql-spi/src/main/kotlin/org/partiql/value/ion/IonDatum.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/value/ion/IonDatum.kt similarity index 98% rename from partiql-spi/src/main/kotlin/org/partiql/value/ion/IonDatum.kt rename to partiql-spi/src/main/kotlin/org/partiql/spi/value/ion/IonDatum.kt index bc382db92c..525a48a067 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/value/ion/IonDatum.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/value/ion/IonDatum.kt @@ -1,4 +1,4 @@ -package org.partiql.value.ion +package org.partiql.spi.value.ion import com.amazon.ionelement.api.AnyElement import com.amazon.ionelement.api.ElementType.BLOB @@ -14,8 +14,8 @@ import com.amazon.ionelement.api.ElementType.STRING import com.amazon.ionelement.api.ElementType.STRUCT import com.amazon.ionelement.api.ElementType.SYMBOL import com.amazon.ionelement.api.ElementType.TIMESTAMP -import org.partiql.eval.value.Datum -import org.partiql.eval.value.Field +import org.partiql.spi.value.Datum +import org.partiql.spi.value.Field import org.partiql.types.PType import org.partiql.value.datetime.Date import org.partiql.value.datetime.Time @@ -26,7 +26,8 @@ import java.math.BigInteger /** * A [Datum] implemented over Ion's [AnyElement]. */ -public class IonDatum private constructor(value: AnyElement, type: PType) : Datum { +public class IonDatum private constructor(value: AnyElement, type: PType) : + Datum { // DO NOT USE FINAL private var _value = value diff --git a/partiql-spi/src/test/kotlin/org/partiql/eval/value/DatumComparatorTest.kt b/partiql-spi/src/test/kotlin/org/partiql/eval/value/DatumComparatorTest.kt index 3237931746..da87616228 100644 --- a/partiql-spi/src/test/kotlin/org/partiql/eval/value/DatumComparatorTest.kt +++ b/partiql-spi/src/test/kotlin/org/partiql/eval/value/DatumComparatorTest.kt @@ -2,6 +2,8 @@ package org.partiql.eval.value import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test +import org.partiql.spi.value.Datum +import org.partiql.spi.value.Field import org.partiql.types.PType import org.partiql.value.datetime.DateTimeValue.date import org.partiql.value.datetime.DateTimeValue.time @@ -261,19 +263,59 @@ class DatumComparatorTest { Datum.list(listOf(Datum.bool(true), Datum.integer(100))) // [true, 100] ), EquivValues( - Datum.list(listOf(Datum.list(listOf(Datum.integer(1))))) // [[1]] - ), - EquivValues( - Datum.list(listOf(Datum.list(listOf(Datum.integer(1), Datum.integer(1))))) // [[1, 1]] - ), - EquivValues( - Datum.list(listOf(Datum.list(listOf(Datum.integer(1), Datum.integer(2))))) // [[1, 2]] - ), - EquivValues( - Datum.list(listOf(Datum.list(listOf(Datum.integer(2), Datum.integer(1))))) // [[2, 1]] - ), - EquivValues( - Datum.list(listOf(Datum.list(listOf(Datum.list(listOf(Datum.integer(1))))))) // [[[1]]] + Datum.list( + listOf( + Datum.list( + listOf( + Datum.integer(1) + ) + ) + ) + ) // [[1]] + ), + EquivValues( + Datum.list( + listOf( + Datum.list( + listOf( + Datum.integer(1), Datum.integer(1) + ) + ) + ) + ) // [[1, 1]] + ), + EquivValues( + Datum.list( + listOf( + Datum.list( + listOf( + Datum.integer(1), Datum.integer(2) + ) + ) + ) + ) // [[1, 2]] + ), + EquivValues( + Datum.list( + listOf( + Datum.list( + listOf( + Datum.integer(2), Datum.integer(1) + ) + ) + ) + ) // [[2, 1]] + ), + EquivValues( + Datum.list( + listOf( + Datum.list( + listOf( + Datum.list(listOf(Datum.integer(1))) + ) + ) + ) + ) // [[[1]]] ), // TODO: Annotations. // EquivValues( diff --git a/plugins/partiql-local/src/main/kotlin/org/partiql/plugins/local/LocalCatalog.kt b/plugins/partiql-local/src/main/kotlin/org/partiql/plugins/local/LocalCatalog.kt index 7264c1693c..1c0e136dfa 100644 --- a/plugins/partiql-local/src/main/kotlin/org/partiql/plugins/local/LocalCatalog.kt +++ b/plugins/partiql-local/src/main/kotlin/org/partiql/plugins/local/LocalCatalog.kt @@ -1,12 +1,12 @@ package org.partiql.plugins.local -import org.partiql.planner.catalog.Catalog -import org.partiql.planner.catalog.Function -import org.partiql.planner.catalog.Identifier -import org.partiql.planner.catalog.Name -import org.partiql.planner.catalog.Namespace -import org.partiql.planner.catalog.Session -import org.partiql.planner.catalog.Table +import org.partiql.spi.catalog.Catalog +import org.partiql.spi.catalog.Function +import org.partiql.spi.catalog.Identifier +import org.partiql.spi.catalog.Name +import org.partiql.spi.catalog.Namespace +import org.partiql.spi.catalog.Session +import org.partiql.spi.catalog.Table import java.nio.file.Path import kotlin.io.path.isDirectory import kotlin.io.path.nameWithoutExtension diff --git a/plugins/partiql-local/src/main/kotlin/org/partiql/plugins/local/LocalConnector.kt b/plugins/partiql-local/src/main/kotlin/org/partiql/plugins/local/LocalConnector.kt index 8f7ff76199..0cd258f6e0 100644 --- a/plugins/partiql-local/src/main/kotlin/org/partiql/plugins/local/LocalConnector.kt +++ b/plugins/partiql-local/src/main/kotlin/org/partiql/plugins/local/LocalConnector.kt @@ -15,7 +15,7 @@ package org.partiql.plugins.local import com.amazon.ionelement.api.StructElement -import org.partiql.planner.catalog.Catalog +import org.partiql.spi.catalog.Catalog import org.partiql.spi.connector.Connector import java.nio.file.Path import java.nio.file.Paths diff --git a/plugins/partiql-local/src/main/kotlin/org/partiql/plugins/local/LocalTable.kt b/plugins/partiql-local/src/main/kotlin/org/partiql/plugins/local/LocalTable.kt index cdd1f07996..79c33ea87e 100644 --- a/plugins/partiql-local/src/main/kotlin/org/partiql/plugins/local/LocalTable.kt +++ b/plugins/partiql-local/src/main/kotlin/org/partiql/plugins/local/LocalTable.kt @@ -16,9 +16,9 @@ package org.partiql.plugins.local import com.amazon.ion.system.IonReaderBuilder import com.amazon.ionelement.api.loadSingleElement -import org.partiql.eval.value.Datum -import org.partiql.planner.catalog.Name -import org.partiql.planner.catalog.Table +import org.partiql.spi.catalog.Name +import org.partiql.spi.catalog.Table +import org.partiql.spi.value.Datum import org.partiql.types.PType import org.partiql.types.StaticType import java.nio.file.Path diff --git a/plugins/partiql-memory/src/main/kotlin/org/partiql/plugins/memory/MemoryConnector.kt b/plugins/partiql-memory/src/main/kotlin/org/partiql/plugins/memory/MemoryConnector.kt index 26f73ef7af..2edfeef1aa 100644 --- a/plugins/partiql-memory/src/main/kotlin/org/partiql/plugins/memory/MemoryConnector.kt +++ b/plugins/partiql-memory/src/main/kotlin/org/partiql/plugins/memory/MemoryConnector.kt @@ -16,11 +16,11 @@ package org.partiql.plugins.memory import com.amazon.ionelement.api.StructElement -import org.partiql.planner.catalog.Catalog -import org.partiql.planner.catalog.Identifier -import org.partiql.planner.catalog.Name -import org.partiql.planner.catalog.Session -import org.partiql.planner.catalog.Table +import org.partiql.spi.catalog.Catalog +import org.partiql.spi.catalog.Identifier +import org.partiql.spi.catalog.Name +import org.partiql.spi.catalog.Session +import org.partiql.spi.catalog.Table import org.partiql.spi.connector.Connector import org.partiql.types.PType import org.partiql.types.StaticType diff --git a/plugins/partiql-memory/src/main/kotlin/org/partiql/plugins/memory/MemoryTable.kt b/plugins/partiql-memory/src/main/kotlin/org/partiql/plugins/memory/MemoryTable.kt index 9cbfa8bcce..0da5fbe52f 100644 --- a/plugins/partiql-memory/src/main/kotlin/org/partiql/plugins/memory/MemoryTable.kt +++ b/plugins/partiql-memory/src/main/kotlin/org/partiql/plugins/memory/MemoryTable.kt @@ -1,8 +1,8 @@ package org.partiql.plugins.memory -import org.partiql.eval.value.Datum -import org.partiql.planner.catalog.Name -import org.partiql.planner.catalog.Table +import org.partiql.spi.catalog.Name +import org.partiql.spi.catalog.Table +import org.partiql.spi.value.Datum import org.partiql.types.PType public class MemoryTable private constructor( diff --git a/plugins/partiql-memory/src/test/kotlin/org/partiql/plugins/memory/MemoryConnectorTest.kt b/plugins/partiql-memory/src/test/kotlin/org/partiql/plugins/memory/MemoryConnectorTest.kt index 6ee2e4f64c..b24af305ac 100644 --- a/plugins/partiql-memory/src/test/kotlin/org/partiql/plugins/memory/MemoryConnectorTest.kt +++ b/plugins/partiql-memory/src/test/kotlin/org/partiql/plugins/memory/MemoryConnectorTest.kt @@ -1,7 +1,7 @@ package org.partiql.plugins.memory import org.junit.jupiter.api.Test -import org.partiql.planner.catalog.Session +import org.partiql.spi.catalog.Session class MemoryConnectorTest { diff --git a/test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/executor/EvalExecutor.kt b/test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/executor/EvalExecutor.kt index 90cf3e0650..d5cfb7b0aa 100644 --- a/test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/executor/EvalExecutor.kt +++ b/test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/executor/EvalExecutor.kt @@ -10,20 +10,20 @@ import com.amazon.ionelement.api.toIonValue import org.partiql.eval.PartiQLEngine import org.partiql.eval.PartiQLResult import org.partiql.eval.PartiQLStatement -import org.partiql.eval.value.Datum import org.partiql.lang.eval.CompileOptions import org.partiql.lang.eval.TypingMode import org.partiql.parser.PartiQLParser import org.partiql.plan.Statement import org.partiql.planner.PartiQLPlanner -import org.partiql.planner.catalog.Name -import org.partiql.planner.catalog.Session import org.partiql.planner.internal.SqlPlannerV1 import org.partiql.plugins.memory.MemoryConnector import org.partiql.plugins.memory.MemoryTable import org.partiql.runner.ION import org.partiql.runner.test.TestExecutor +import org.partiql.spi.catalog.Name +import org.partiql.spi.catalog.Session import org.partiql.spi.connector.Connector +import org.partiql.spi.value.Datum import org.partiql.types.PType import org.partiql.value.PartiQLValue import org.partiql.value.PartiQLValueExperimental From ca04e13bb31f20c1f87f2671877257cf3dc8b6b7 Mon Sep 17 00:00:00 2001 From: "R. C. Howell" Date: Tue, 17 Sep 2024 15:12:43 -0700 Subject: [PATCH 2/2] Rebase on eval changes --- partiql-eval/api/partiql-eval.api | 4 +- .../kotlin/org/partiql/eval/PartiQLEngine.kt | 2 +- .../org/partiql/eval/PartiQLStatement.kt | 2 +- .../org/partiql/eval/internal/SqlCompiler.kt | 4 +- .../org/partiql/eval/internal/SqlEngine.kt | 2 +- .../internal/operator/rel/RelOpExclude.kt | 4 +- .../eval/internal/operator/rex/ExprArray.kt | 2 +- .../eval/internal/operator/rex/ExprBag.kt | 2 +- .../internal/operator/rex/ExprCaseBranch.kt | 2 +- .../internal/operator/rex/ExprCaseSearched.kt | 2 +- .../eval/internal/operator/rex/ExprLit.kt | 2 +- .../internal/operator/rex/ExprSubquery.kt | 2 +- .../internal/operator/rex/ExprSubqueryRow.kt | 2 +- .../eval/internal/operator/rex/ExprVar.kt | 2 +- .../eval/internal/statement/QueryStatement.kt | 2 +- partiql-planner/api/partiql-planner.api | 4 +- .../partiql/planner/internal/SqlPlannerV1.kt | 2 +- .../org/partiql/planner/internal/ir/Nodes.kt | 93 ++++++++++--------- .../internal/transforms/PlanTransformV1.kt | 2 +- .../main/resources/partiql_plan_internal.ion | 2 +- .../planner/internal/typer/PlanTyperTest.kt | 2 +- .../kotlin/org/partiql/spi/catalog/Table.kt | 10 ++ .../partiql/eval/value/DatumComparatorTest.kt | 4 +- 23 files changed, 83 insertions(+), 72 deletions(-) diff --git a/partiql-eval/api/partiql-eval.api b/partiql-eval/api/partiql-eval.api index eb0ac2d337..9fdde2a2e9 100644 --- a/partiql-eval/api/partiql-eval.api +++ b/partiql-eval/api/partiql-eval.api @@ -1,7 +1,7 @@ public abstract interface class org/partiql/eval/PartiQLEngine { public static final field Companion Lorg/partiql/eval/PartiQLEngine$Companion; public static fun builder ()Lorg/partiql/eval/builder/PartiQLEngineBuilder; - public abstract fun prepare (Lorg/partiql/plan/v1/PartiQLPlan;Lorg/partiql/eval/PartiQLEngine$Mode;Lorg/partiql/planner/catalog/Session;)Lorg/partiql/eval/PartiQLStatement; + public abstract fun prepare (Lorg/partiql/plan/v1/PartiQLPlan;Lorg/partiql/eval/PartiQLEngine$Mode;Lorg/partiql/spi/catalog/Session;)Lorg/partiql/eval/PartiQLStatement; public static fun standard ()Lorg/partiql/eval/PartiQLEngine; } @@ -44,7 +44,7 @@ public final class org/partiql/eval/PartiQLResult$Value : org/partiql/eval/Parti } public abstract interface class org/partiql/eval/PartiQLStatement { - public abstract fun execute (Lorg/partiql/planner/catalog/Session;)Lorg/partiql/eval/PartiQLResult; + public abstract fun execute (Lorg/partiql/spi/catalog/Session;)Lorg/partiql/eval/PartiQLResult; } public final class org/partiql/eval/builder/PartiQLEngineBuilder { diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/PartiQLEngine.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/PartiQLEngine.kt index 23fe4850df..a9f3e338e4 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/PartiQLEngine.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/PartiQLEngine.kt @@ -2,7 +2,7 @@ package org.partiql.eval import org.partiql.eval.builder.PartiQLEngineBuilder import org.partiql.plan.v1.PartiQLPlan -import org.partiql.planner.catalog.Session +import org.partiql.spi.catalog.Session /** * PartiQL's Experimental Engine. diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/PartiQLStatement.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/PartiQLStatement.kt index 7164504e64..ab4de084f3 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/PartiQLStatement.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/PartiQLStatement.kt @@ -1,6 +1,6 @@ package org.partiql.eval -import org.partiql.planner.catalog.Session +import org.partiql.spi.catalog.Session /** * Represents a compiled PartiQL statement ready for execution. diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/SqlCompiler.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/SqlCompiler.kt index a178c3fb23..5f2b987396 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/SqlCompiler.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/SqlCompiler.kt @@ -52,7 +52,6 @@ import org.partiql.eval.internal.operator.rex.ExprSubquery import org.partiql.eval.internal.operator.rex.ExprSubqueryRow import org.partiql.eval.internal.operator.rex.ExprTable import org.partiql.eval.internal.operator.rex.ExprVar -import org.partiql.eval.value.Datum import org.partiql.plan.relOpExcludePath import org.partiql.plan.relOpExcludeStep import org.partiql.plan.relOpExcludeTypeCollIndex @@ -114,8 +113,9 @@ import org.partiql.plan.v1.operator.rex.RexSubqueryTest import org.partiql.plan.v1.operator.rex.RexTable import org.partiql.plan.v1.operator.rex.RexVar import org.partiql.plan.v1.operator.rex.RexVisitor -import org.partiql.planner.catalog.Session +import org.partiql.spi.catalog.Session import org.partiql.spi.fn.Agg +import org.partiql.spi.value.Datum import org.partiql.types.PType import org.partiql.plan.Rel as IRel diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/SqlEngine.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/SqlEngine.kt index 25f6dc3bb8..0b4eead38e 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/SqlEngine.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/SqlEngine.kt @@ -5,7 +5,7 @@ import org.partiql.eval.PartiQLStatement import org.partiql.eval.internal.statement.QueryStatement import org.partiql.plan.v1.PartiQLPlan import org.partiql.plan.v1.Statement -import org.partiql.planner.catalog.Session +import org.partiql.spi.catalog.Session internal class SqlEngine : PartiQLEngine { diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpExclude.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpExclude.kt index 886eb146b3..37b6b65d5b 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpExclude.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rel/RelOpExclude.kt @@ -4,8 +4,6 @@ import org.partiql.eval.internal.Environment import org.partiql.eval.internal.Record import org.partiql.eval.internal.helpers.IteratorSupplier import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum -import org.partiql.eval.value.Field import org.partiql.plan.v1.operator.rel.RelExcludeCollectionWildcard import org.partiql.plan.v1.operator.rel.RelExcludeIndex import org.partiql.plan.v1.operator.rel.RelExcludeKey @@ -13,6 +11,8 @@ import org.partiql.plan.v1.operator.rel.RelExcludePath import org.partiql.plan.v1.operator.rel.RelExcludeStep import org.partiql.plan.v1.operator.rel.RelExcludeStructWildcard import org.partiql.plan.v1.operator.rel.RelExcludeSymbol +import org.partiql.spi.value.Datum +import org.partiql.spi.value.Field import org.partiql.types.PType import org.partiql.value.PartiQLValue import org.partiql.value.PartiQLValueType diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprArray.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprArray.kt index b1b4295ab3..ab174f9a46 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprArray.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprArray.kt @@ -2,7 +2,7 @@ package org.partiql.eval.internal.operator.rex import org.partiql.eval.internal.Environment import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum /** * Creates an array by evaluating each input value expression. diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprBag.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprBag.kt index 8aaeb2ad93..d811eb3d0f 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprBag.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprBag.kt @@ -2,7 +2,7 @@ package org.partiql.eval.internal.operator.rex import org.partiql.eval.internal.Environment import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum /** * Creates a bag by evaluating each input value expression. diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCaseBranch.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCaseBranch.kt index 52dfb79bd0..0809d7d631 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCaseBranch.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCaseBranch.kt @@ -2,7 +2,7 @@ package org.partiql.eval.internal.operator.rex import org.partiql.eval.internal.Environment import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import org.partiql.types.PType /** diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCaseSearched.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCaseSearched.kt index 4b2b85d00a..8d24d87410 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCaseSearched.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCaseSearched.kt @@ -2,7 +2,7 @@ package org.partiql.eval.internal.operator.rex import org.partiql.eval.internal.Environment import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum /** * Implementation of the expression. diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprLit.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprLit.kt index 84718368ee..1bcb2ae795 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprLit.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprLit.kt @@ -2,7 +2,7 @@ package org.partiql.eval.internal.operator.rex import org.partiql.eval.internal.Environment import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum /** * Literal expression. diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprSubquery.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprSubquery.kt index 4836d1e0e9..99bd718333 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprSubquery.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprSubquery.kt @@ -5,8 +5,8 @@ import org.partiql.errors.TypeCheckException import org.partiql.eval.internal.Environment import org.partiql.eval.internal.helpers.ValueUtility.check import org.partiql.eval.internal.operator.Operator -import org.partiql.types.PType import org.partiql.spi.value.Datum +import org.partiql.types.PType /** * Implementation of scalar subquery coercion. diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprSubqueryRow.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprSubqueryRow.kt index e97e88c038..e4a2bb2f59 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprSubqueryRow.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprSubqueryRow.kt @@ -5,7 +5,7 @@ import org.partiql.eval.internal.Environment import org.partiql.eval.internal.helpers.IteratorSupplier import org.partiql.eval.internal.helpers.ValueUtility.check import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum import org.partiql.types.PType /** diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprVar.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprVar.kt index 78bc5f222a..b171b453ae 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprVar.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprVar.kt @@ -2,7 +2,7 @@ package org.partiql.eval.internal.operator.rex import org.partiql.eval.internal.Environment import org.partiql.eval.internal.operator.Operator -import org.partiql.eval.value.Datum +import org.partiql.spi.value.Datum /** * Implementation for variable lookup; walks up environments if necessary, otherwise lookup using tuple offset. diff --git a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/statement/QueryStatement.kt b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/statement/QueryStatement.kt index 33dcbde491..e130928c48 100644 --- a/partiql-eval/src/main/kotlin/org/partiql/eval/internal/statement/QueryStatement.kt +++ b/partiql-eval/src/main/kotlin/org/partiql/eval/internal/statement/QueryStatement.kt @@ -4,7 +4,7 @@ import org.partiql.eval.PartiQLResult import org.partiql.eval.PartiQLStatement import org.partiql.eval.internal.Environment import org.partiql.eval.internal.operator.Operator -import org.partiql.planner.catalog.Session +import org.partiql.spi.catalog.Session import org.partiql.value.PartiQLValueExperimental internal class QueryStatement(root: Operator.Expr) : PartiQLStatement { diff --git a/partiql-planner/api/partiql-planner.api b/partiql-planner/api/partiql-planner.api index 913e74f5f1..260b3a35e6 100644 --- a/partiql-planner/api/partiql-planner.api +++ b/partiql-planner/api/partiql-planner.api @@ -35,7 +35,7 @@ public final class org/partiql/planner/builder/PartiQLPlannerBuilder { public final class org/partiql/planner/internal/SqlPlannerV1 { public static final field INSTANCE Lorg/partiql/planner/internal/SqlPlannerV1; - public final fun plan (Lorg/partiql/ast/Statement;Lorg/partiql/planner/catalog/Session;Lkotlin/jvm/functions/Function1;)Lorg/partiql/plan/v1/PartiQLPlan; - public static synthetic fun plan$default (Lorg/partiql/planner/internal/SqlPlannerV1;Lorg/partiql/ast/Statement;Lorg/partiql/planner/catalog/Session;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/partiql/plan/v1/PartiQLPlan; + public final fun plan (Lorg/partiql/ast/Statement;Lorg/partiql/spi/catalog/Session;Lkotlin/jvm/functions/Function1;)Lorg/partiql/plan/v1/PartiQLPlan; + public static synthetic fun plan$default (Lorg/partiql/planner/internal/SqlPlannerV1;Lorg/partiql/ast/Statement;Lorg/partiql/spi/catalog/Session;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/partiql/plan/v1/PartiQLPlan; } diff --git a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/SqlPlannerV1.kt b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/SqlPlannerV1.kt index cd0c7b945b..48bd37544c 100644 --- a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/SqlPlannerV1.kt +++ b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/SqlPlannerV1.kt @@ -4,10 +4,10 @@ import org.partiql.ast.Statement import org.partiql.ast.normalize.normalize import org.partiql.errors.ProblemCallback import org.partiql.plan.v1.PartiQLPlan -import org.partiql.planner.catalog.Session import org.partiql.planner.internal.transforms.AstToPlan import org.partiql.planner.internal.transforms.PlanTransformV1 import org.partiql.planner.internal.typer.PlanTyper +import org.partiql.spi.catalog.Session /** * Default PartiQL logical query planner. diff --git a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/ir/Nodes.kt b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/ir/Nodes.kt index d225288913..ac4f20bc6b 100644 --- a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/ir/Nodes.kt +++ b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/ir/Nodes.kt @@ -3,8 +3,6 @@ package org.partiql.planner.`internal`.ir import org.partiql.errors.Problem -import org.partiql.spi.catalog.Identifier -import org.partiql.spi.catalog.Name import org.partiql.planner.internal.ir.builder.PartiQlPlanBuilder import org.partiql.planner.internal.ir.builder.RefAggBuilder import org.partiql.planner.internal.ir.builder.RefCastBuilder @@ -69,6 +67,8 @@ import org.partiql.planner.internal.ir.builder.RexOpVarUnresolvedBuilder import org.partiql.planner.internal.ir.builder.StatementQueryBuilder import org.partiql.planner.internal.ir.visitor.PlanVisitor import org.partiql.planner.internal.typer.CompilerType +import org.partiql.spi.catalog.Identifier +import org.partiql.spi.catalog.Name import org.partiql.spi.catalog.Table import org.partiql.spi.fn.AggSignature import org.partiql.spi.fn.FnSignature @@ -119,26 +119,6 @@ internal sealed class Ref : PlanNode() { override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRefObj(this, ctx) - // !! MANUALLY OVERRIDE EQUALS/HASHCODE BECAUSE OF THE `table` - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is Obj) return false - - if (catalog != other.catalog) return false - if (name != other.name) return false - if (type != other.type) return false - - return true - } - - override fun hashCode(): Int { - var result = catalog.hashCode() - result = 31 * result + name.hashCode() - result = 31 * result + type.hashCode() - return result - } - internal companion object { @JvmStatic internal fun builder(): RefObjBuilder = RefObjBuilder() @@ -210,7 +190,8 @@ internal sealed class Statement : PlanNode() { kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitStatementQuery(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitStatementQuery(this, ctx) internal companion object { @JvmStatic @@ -364,7 +345,8 @@ internal data class Rex( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRexOpPathKey(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRexOpPathKey(this, ctx) internal companion object { @JvmStatic @@ -575,7 +557,8 @@ internal data class Rex( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRexOpNullif(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRexOpNullif(this, ctx) internal companion object { @JvmStatic @@ -592,7 +575,8 @@ internal data class Rex( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRexOpCoalesce(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRexOpCoalesce(this, ctx) internal companion object { @JvmStatic @@ -609,7 +593,8 @@ internal data class Rex( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRexOpCollection(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRexOpCollection(this, ctx) internal companion object { @JvmStatic @@ -626,7 +611,8 @@ internal data class Rex( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRexOpStruct(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRexOpStruct(this, ctx) internal data class Field( @JvmField internal val k: Rex, @@ -667,7 +653,8 @@ internal data class Rex( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRexOpPivot(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRexOpPivot(this, ctx) internal companion object { @JvmStatic @@ -687,7 +674,8 @@ internal data class Rex( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRexOpSubquery(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRexOpSubquery(this, ctx) internal enum class Coercion { SCALAR, ROW, @@ -710,7 +698,8 @@ internal data class Rex( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRexOpSelect(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRexOpSelect(this, ctx) internal companion object { @JvmStatic @@ -727,7 +716,8 @@ internal data class Rex( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRexOpTupleUnion(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRexOpTupleUnion(this, ctx) internal companion object { @JvmStatic @@ -763,7 +753,8 @@ internal data class Rex( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRexOpMissing(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRexOpMissing(this, ctx) internal companion object { @JvmStatic @@ -861,7 +852,8 @@ internal data class Rel( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRelOpScanIndexed(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRelOpScanIndexed(this, ctx) internal companion object { @JvmStatic @@ -878,7 +870,8 @@ internal data class Rel( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRelOpUnpivot(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRelOpUnpivot(this, ctx) internal companion object { @JvmStatic @@ -895,7 +888,8 @@ internal data class Rel( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRelOpDistinct(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRelOpDistinct(this, ctx) internal companion object { @JvmStatic @@ -914,7 +908,8 @@ internal data class Rel( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRelOpFilter(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRelOpFilter(this, ctx) internal companion object { @JvmStatic @@ -977,7 +972,8 @@ internal data class Rel( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRelOpUnion(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRelOpUnion(this, ctx) internal companion object { @JvmStatic @@ -998,7 +994,8 @@ internal data class Rel( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRelOpIntersect(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRelOpIntersect(this, ctx) internal companion object { @JvmStatic @@ -1019,7 +1016,8 @@ internal data class Rel( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRelOpExcept(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRelOpExcept(this, ctx) internal companion object { @JvmStatic @@ -1038,7 +1036,8 @@ internal data class Rel( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRelOpLimit(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRelOpLimit(this, ctx) internal companion object { @JvmStatic @@ -1057,7 +1056,8 @@ internal data class Rel( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRelOpOffset(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRelOpOffset(this, ctx) internal companion object { @JvmStatic @@ -1076,7 +1076,8 @@ internal data class Rel( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRelOpProject(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRelOpProject(this, ctx) internal companion object { @JvmStatic @@ -1124,7 +1125,8 @@ internal data class Rel( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRelOpAggregate(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRelOpAggregate(this, ctx) internal enum class Strategy { FULL, PARTIAL, @@ -1196,7 +1198,8 @@ internal data class Rel( kids.filterNotNull() } - override fun accept(visitor: PlanVisitor, ctx: C): R = visitor.visitRelOpExclude(this, ctx) + override fun accept(visitor: PlanVisitor, ctx: C): R = + visitor.visitRelOpExclude(this, ctx) internal data class Path( @JvmField internal val root: Rex.Op, diff --git a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/transforms/PlanTransformV1.kt b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/transforms/PlanTransformV1.kt index bcbb8078dc..fe010be68d 100644 --- a/partiql-planner/src/main/kotlin/org/partiql/planner/internal/transforms/PlanTransformV1.kt +++ b/partiql-planner/src/main/kotlin/org/partiql/planner/internal/transforms/PlanTransformV1.kt @@ -2,7 +2,6 @@ package org.partiql.planner.internal.transforms import org.partiql.errors.Problem import org.partiql.errors.ProblemCallback -import org.partiql.eval.value.Datum import org.partiql.plan.v1.PartiQLPlan import org.partiql.plan.v1.Schema import org.partiql.plan.v1.Statement @@ -26,6 +25,7 @@ import org.partiql.planner.internal.ir.visitor.PlanBaseVisitor import org.partiql.spi.fn.Agg import org.partiql.spi.fn.Fn import org.partiql.spi.fn.SqlFnProvider +import org.partiql.spi.value.Datum import org.partiql.types.Field import org.partiql.types.PType import org.partiql.value.PartiQLValueExperimental diff --git a/partiql-planner/src/main/resources/partiql_plan_internal.ion b/partiql-planner/src/main/resources/partiql_plan_internal.ion index 4cc5002ccf..80141fc7bb 100644 --- a/partiql-planner/src/main/resources/partiql_plan_internal.ion +++ b/partiql-planner/src/main/resources/partiql_plan_internal.ion @@ -8,7 +8,7 @@ imports::{ fn_signature::'org.partiql.spi.fn.FnSignature', agg_signature::'org.partiql.spi.fn.AggSignature', problem::'org.partiql.errors.Problem', - table::'org.partiql.planner.catalog.Table', + table::'org.partiql.spi.catalog.Table', ], } diff --git a/partiql-planner/src/test/kotlin/org/partiql/planner/internal/typer/PlanTyperTest.kt b/partiql-planner/src/test/kotlin/org/partiql/planner/internal/typer/PlanTyperTest.kt index 369e3fe7c5..b9ac8534b7 100644 --- a/partiql-planner/src/test/kotlin/org/partiql/planner/internal/typer/PlanTyperTest.kt +++ b/partiql-planner/src/test/kotlin/org/partiql/planner/internal/typer/PlanTyperTest.kt @@ -327,7 +327,7 @@ class PlanTyperTest { private fun global(type: CompilerType, path: List): Rex { val catalog = "pql" val name = Name.of(path) - val table = Table.Companion.empty(name, type) + val table = Table.empty(name, type) return rex(type, rexOpVarGlobal(refObj(catalog, name, type, table))) } diff --git a/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Table.kt b/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Table.kt index a0c4ac6649..bf14a0d024 100644 --- a/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Table.kt +++ b/partiql-spi/src/main/kotlin/org/partiql/spi/catalog/Table.kt @@ -153,5 +153,15 @@ public interface Table { override fun getName(): Name = _name override fun getSchema(): PType = _schema override fun getDatum(): Datum = _datum + + // TODO REMOVE ME, THIS IS REQUIRED FOR EQUALITY IN UNIT TESTS + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (other !is Table) return false + return _name == other.getName() + } + + // TODO REMOVE ME, THIS IS REQUIRED FOR EQUALITY IN UNIT TESTS + override fun hashCode(): Int = _name.hashCode() } } diff --git a/partiql-spi/src/test/kotlin/org/partiql/eval/value/DatumComparatorTest.kt b/partiql-spi/src/test/kotlin/org/partiql/eval/value/DatumComparatorTest.kt index da87616228..bcfef19e21 100644 --- a/partiql-spi/src/test/kotlin/org/partiql/eval/value/DatumComparatorTest.kt +++ b/partiql-spi/src/test/kotlin/org/partiql/eval/value/DatumComparatorTest.kt @@ -1,9 +1,7 @@ -package org.partiql.eval.value +package org.partiql.spi.value import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test -import org.partiql.spi.value.Datum -import org.partiql.spi.value.Field import org.partiql.types.PType import org.partiql.value.datetime.DateTimeValue.date import org.partiql.value.datetime.DateTimeValue.time