Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,8 @@ internal object Builtins {
Fn_LIKE_ESCAPE__STRING_STRING_STRING__BOOL,
Fn_LIKE_ESCAPE__CLOB_CLOB_CLOB__BOOL,

Fn_LOWER__CHAR__CHAR,
Fn_LOWER__VARCHAR__VARCHAR,
Fn_LOWER__STRING__STRING,
Fn_LOWER__CLOB__CLOB,

Expand Down Expand Up @@ -184,6 +186,8 @@ internal object Builtins {
Fn_SUBSTRING__CLOB_INT64_INT64__CLOB,

FnTimes,
Fn_TRIM__CHAR__CHAR,
Fn_TRIM__VARCHAR__VARCHAR,
Fn_TRIM__STRING__STRING,
Fn_TRIM__CLOB__CLOB,

Expand All @@ -202,6 +206,8 @@ internal object Builtins {
Fn_TRIM_TRAILING_CHARS__STRING_STRING__STRING,
Fn_TRIM_TRAILING_CHARS__CLOB_CLOB__CLOB,

Fn_UPPER__CHAR__CHAR,
Fn_UPPER__VARCHAR__VARCHAR,
Fn_UPPER__STRING__STRING,
Fn_UPPER__CLOB__CLOB,

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,26 @@ import org.partiql.spi.function.Parameter
import org.partiql.spi.types.PType
import org.partiql.spi.value.Datum

internal val Fn_LOWER__CHAR__CHAR = Function.overload(

name = "lower",
returns = PType.character(),
parameters = arrayOf(Parameter("value", PType.character())),

) { args ->
TODO("Not yet implemented")
}

internal val Fn_LOWER__VARCHAR__VARCHAR = Function.overload(

name = "lower",
returns = PType.varchar(),
parameters = arrayOf(Parameter("value", PType.varchar())),

) { args ->
TODO("Not yet implemented")
}

internal val Fn_LOWER__STRING__STRING = Function.overload(

name = "lower",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,26 @@ import org.partiql.spi.utils.FunctionUtils
import org.partiql.spi.utils.StringUtils.codepointTrim
import org.partiql.spi.value.Datum

internal val Fn_TRIM__CHAR__CHAR = FunctionUtils.hidden(

name = "trim",
returns = PType.character(),
parameters = arrayOf(Parameter("value", PType.character())),

) { args ->
TODO("Not yet implemented")
}

internal val Fn_TRIM__VARCHAR__VARCHAR = FunctionUtils.hidden(

name = "trim",
returns = PType.varchar(),
parameters = arrayOf(Parameter("value", PType.varchar())),

) { args ->
TODO("Not yet implemented")
}

/**
* From section 6.7 of SQL 92 spec:
* ```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,26 @@ import org.partiql.spi.function.Parameter
import org.partiql.spi.types.PType
import org.partiql.spi.value.Datum

internal val Fn_UPPER__CHAR__CHAR = Function.overload(

name = "upper",
returns = PType.character(),
parameters = arrayOf(Parameter("value", PType.character())),

) { args ->
TODO("Not yet implemented")
}

internal val Fn_UPPER__VARCHAR__VARCHAR = Function.overload(

name = "upper",
returns = PType.varchar(),
parameters = arrayOf(Parameter("value", PType.varchar())),

) { args ->
TODO("Not yet implemented")
}

internal val Fn_UPPER__STRING__STRING = Function.overload(

name = "upper",
Expand Down
2 changes: 1 addition & 1 deletion test/partiql-tests
Submodule partiql-tests updated 31 files
+11 −2 docs/partiql-tests-schema-proposal.md
+72 −9 partiql-tests-data-extended/eval/primitives/functions/date_add.ion
+25 −0 partiql-tests-data-extended/eval/primitives/time.ion
+34 −0 partiql-tests-data-extended/eval/primitives/timestamp.ion
+4 −4 partiql-tests-data-extended/eval/query/group-by/group-by.ion
+1 −1 partiql-tests-data/eval-equiv/rfc/0007.ion
+2 −2 partiql-tests-data/eval/ion/primitives/path.ion
+1 −1 partiql-tests-data/eval/ion/primitives/symbol.ion
+4 −4 partiql-tests-data/eval/ion/query/group-by/group-by.ion
+8 −8 partiql-tests-data/eval/ion/query/order-by.ion
+28 −14 partiql-tests-data/eval/primitives/functions/char_length.ion
+1 −1 partiql-tests-data/eval/primitives/functions/extract.ion
+20 −11 partiql-tests-data/eval/primitives/functions/lower.ion
+0 −12 partiql-tests-data/eval/primitives/functions/mod.ion
+24 −12 partiql-tests-data/eval/primitives/functions/substring.ion
+6 −3 partiql-tests-data/eval/primitives/functions/trim.ion
+24 −13 partiql-tests-data/eval/primitives/functions/upper.ion
+2 −2 partiql-tests-data/eval/primitives/interval.ion
+34 −18 partiql-tests-data/eval/primitives/naughty-strings.ion
+58 −0 partiql-tests-data/eval/primitives/operators/minus.ion
+56 −2 partiql-tests-data/eval/primitives/operators/plus.ion
+2 −2 partiql-tests-data/eval/primitives/path.ion
+4 −2 partiql-tests-data/eval/primitives/string.ion
+141 −0 partiql-tests-data/eval/primitives/time.ion
+121 −0 partiql-tests-data/eval/primitives/timestamp.ion
+4 −4 partiql-tests-data/eval/query/group-by/group-by.ion
+117 −0 partiql-tests-data/eval/query/order-by.ion
+2 −1 partiql-tests-data/partiql-tests-schema.isl
+1 −0 partiql-tests-validator/build.gradle.kts
+56 −1 partiql-tests-validator/src/test/kotlin/org/partiql/tests/validator/PartiQLTestDataValidator.kt
+99 −0 partiql-tests-validator/src/test/kotlin/org/partiql/tests/validator/TestLoader.kt
Loading