Skip to content

Commit

Permalink
[V1] Moves datum/catalog from eval/planner to spi java package (#1581)
Browse files Browse the repository at this point in the history
  • Loading branch information
rchowell authored Sep 17, 2024
1 parent 82ae5d9 commit 8e0afff
Show file tree
Hide file tree
Showing 229 changed files with 682 additions and 628 deletions.
4 changes: 2 additions & 2 deletions partiql-cli/src/main/kotlin/org/partiql/cli/Main.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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)
Expand Down
4 changes: 2 additions & 2 deletions partiql-eval/api/partiql-eval.api
Original file line number Diff line number Diff line change
@@ -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;
}

Expand Down Expand Up @@ -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 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
Original file line number Diff line number Diff line change
@@ -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<Datum>) {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {

Expand Down
Original file line number Diff line number Diff line change
@@ -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 {
/**
Expand Down
Original file line number Diff line number Diff line change
@@ -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].
Expand Down
Original file line number Diff line number Diff line change
@@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {

Expand Down
Original file line number Diff line number Diff line change
@@ -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<Array<Datum>> {
private val delegate = Datum.comparator(false)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ 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
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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 <searched case> expression.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
Loading

0 comments on commit 8e0afff

Please sign in to comment.