@quereus/quereus 0.5.1 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/dist/src/common/datatype.d.ts +4 -5
- package/dist/src/common/datatype.d.ts.map +1 -1
- package/dist/src/common/datatype.js.map +1 -1
- package/dist/src/common/type-inference.d.ts +3 -6
- package/dist/src/common/type-inference.d.ts.map +1 -1
- package/dist/src/common/type-inference.js +17 -22
- package/dist/src/common/type-inference.js.map +1 -1
- package/dist/src/core/param.d.ts.map +1 -1
- package/dist/src/core/param.js +3 -18
- package/dist/src/core/param.js.map +1 -1
- package/dist/src/func/builtins/aggregate.d.ts.map +1 -1
- package/dist/src/func/builtins/aggregate.js +24 -2
- package/dist/src/func/builtins/aggregate.js.map +1 -1
- package/dist/src/func/builtins/builtin-window-functions.js +10 -10
- package/dist/src/func/builtins/builtin-window-functions.js.map +1 -1
- package/dist/src/func/builtins/conversion.d.ts +10 -0
- package/dist/src/func/builtins/conversion.d.ts.map +1 -1
- package/dist/src/func/builtins/conversion.js +20 -1
- package/dist/src/func/builtins/conversion.js.map +1 -1
- package/dist/src/func/builtins/explain.js +53 -53
- package/dist/src/func/builtins/explain.js.map +1 -1
- package/dist/src/func/builtins/generation.js +2 -2
- package/dist/src/func/builtins/generation.js.map +1 -1
- package/dist/src/func/builtins/index.d.ts.map +1 -1
- package/dist/src/func/builtins/index.js +16 -1
- package/dist/src/func/builtins/index.js.map +1 -1
- package/dist/src/func/builtins/json-tvf.js +17 -17
- package/dist/src/func/builtins/json-tvf.js.map +1 -1
- package/dist/src/func/builtins/scalar.d.ts.map +1 -1
- package/dist/src/func/builtins/scalar.js +202 -13
- package/dist/src/func/builtins/scalar.js.map +1 -1
- package/dist/src/func/builtins/schema.js +18 -18
- package/dist/src/func/builtins/schema.js.map +1 -1
- package/dist/src/func/builtins/string.d.ts.map +1 -1
- package/dist/src/func/builtins/string.js +56 -47
- package/dist/src/func/builtins/string.js.map +1 -1
- package/dist/src/func/builtins/timespan.d.ts +45 -0
- package/dist/src/func/builtins/timespan.d.ts.map +1 -0
- package/dist/src/func/builtins/timespan.js +147 -0
- package/dist/src/func/builtins/timespan.js.map +1 -0
- package/dist/src/func/registration.d.ts +26 -0
- package/dist/src/func/registration.d.ts.map +1 -1
- package/dist/src/func/registration.js +9 -5
- package/dist/src/func/registration.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/parser/parser.js +2 -2
- package/dist/src/parser/parser.js.map +1 -1
- package/dist/src/planner/building/constraint-builder.js +2 -2
- package/dist/src/planner/building/constraint-builder.js.map +1 -1
- package/dist/src/planner/building/delete.js +3 -3
- package/dist/src/planner/building/delete.js.map +1 -1
- package/dist/src/planner/building/function-call.d.ts.map +1 -1
- package/dist/src/planner/building/function-call.js +24 -4
- package/dist/src/planner/building/function-call.js.map +1 -1
- package/dist/src/planner/building/insert.js +3 -3
- package/dist/src/planner/building/insert.js.map +1 -1
- package/dist/src/planner/building/select.d.ts.map +1 -1
- package/dist/src/planner/building/select.js +3 -2
- package/dist/src/planner/building/select.js.map +1 -1
- package/dist/src/planner/building/update.js +7 -7
- package/dist/src/planner/building/update.js.map +1 -1
- package/dist/src/planner/nodes/aggregate-function.d.ts +2 -1
- package/dist/src/planner/nodes/aggregate-function.d.ts.map +1 -1
- package/dist/src/planner/nodes/aggregate-function.js +10 -3
- package/dist/src/planner/nodes/aggregate-function.js.map +1 -1
- package/dist/src/planner/nodes/cte-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/cte-node.js +2 -2
- package/dist/src/planner/nodes/cte-node.js.map +1 -1
- package/dist/src/planner/nodes/declarative-schema.js +3 -3
- package/dist/src/planner/nodes/declarative-schema.js.map +1 -1
- package/dist/src/planner/nodes/function.d.ts +2 -1
- package/dist/src/planner/nodes/function.d.ts.map +1 -1
- package/dist/src/planner/nodes/function.js +6 -3
- package/dist/src/planner/nodes/function.js.map +1 -1
- package/dist/src/planner/nodes/insert-node.js +1 -1
- package/dist/src/planner/nodes/insert-node.js.map +1 -1
- package/dist/src/planner/nodes/pragma.d.ts +1 -1
- package/dist/src/planner/nodes/pragma.d.ts.map +1 -1
- package/dist/src/planner/nodes/pragma.js +3 -3
- package/dist/src/planner/nodes/pragma.js.map +1 -1
- package/dist/src/planner/nodes/reference.js +1 -1
- package/dist/src/planner/nodes/reference.js.map +1 -1
- package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
- package/dist/src/planner/nodes/scalar.js +55 -101
- package/dist/src/planner/nodes/scalar.js.map +1 -1
- package/dist/src/planner/nodes/sequencing-node.js +2 -2
- package/dist/src/planner/nodes/sequencing-node.js.map +1 -1
- package/dist/src/planner/nodes/sink-node.js +2 -2
- package/dist/src/planner/nodes/sink-node.js.map +1 -1
- package/dist/src/planner/nodes/subquery.d.ts.map +1 -1
- package/dist/src/planner/nodes/subquery.js +4 -7
- package/dist/src/planner/nodes/subquery.js.map +1 -1
- package/dist/src/planner/nodes/view-reference-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/view-reference-node.js +2 -2
- package/dist/src/planner/nodes/view-reference-node.js.map +1 -1
- package/dist/src/planner/nodes/window-function.js +3 -3
- package/dist/src/planner/nodes/window-function.js.map +1 -1
- package/dist/src/planner/rules/access/rule-select-access-path.js +1 -1
- package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js +1 -1
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
- package/dist/src/planner/scopes/global.js +3 -3
- package/dist/src/planner/scopes/global.js.map +1 -1
- package/dist/src/planner/scopes/param.d.ts.map +1 -1
- package/dist/src/planner/scopes/param.js +2 -2
- package/dist/src/planner/scopes/param.js.map +1 -1
- package/dist/src/planner/type-utils.d.ts +2 -12
- package/dist/src/planner/type-utils.d.ts.map +1 -1
- package/dist/src/planner/type-utils.js +6 -21
- package/dist/src/planner/type-utils.js.map +1 -1
- package/dist/src/runtime/emit/binary.d.ts.map +1 -1
- package/dist/src/runtime/emit/binary.js +40 -2
- package/dist/src/runtime/emit/binary.js.map +1 -1
- package/dist/src/runtime/emit/set-operation.d.ts.map +1 -1
- package/dist/src/runtime/emit/set-operation.js +33 -22
- package/dist/src/runtime/emit/set-operation.js.map +1 -1
- package/dist/src/runtime/emit/temporal-arithmetic.d.ts +33 -0
- package/dist/src/runtime/emit/temporal-arithmetic.d.ts.map +1 -0
- package/dist/src/runtime/emit/temporal-arithmetic.js +269 -0
- package/dist/src/runtime/emit/temporal-arithmetic.js.map +1 -0
- package/dist/src/runtime/emit/unary.d.ts.map +1 -1
- package/dist/src/runtime/emit/unary.js +12 -0
- package/dist/src/runtime/emit/unary.js.map +1 -1
- package/dist/src/schema/catalog.js +3 -3
- package/dist/src/schema/catalog.js.map +1 -1
- package/dist/src/schema/column.d.ts +0 -3
- package/dist/src/schema/column.d.ts.map +1 -1
- package/dist/src/schema/column.js +0 -2
- package/dist/src/schema/column.js.map +1 -1
- package/dist/src/schema/function.d.ts +29 -1
- package/dist/src/schema/function.d.ts.map +1 -1
- package/dist/src/schema/function.js.map +1 -1
- package/dist/src/schema/table.d.ts +3 -3
- package/dist/src/schema/table.d.ts.map +1 -1
- package/dist/src/schema/table.js +4 -6
- package/dist/src/schema/table.js.map +1 -1
- package/dist/src/types/index.d.ts +1 -1
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js +1 -1
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/registry.d.ts.map +1 -1
- package/dist/src/types/registry.js +5 -1
- package/dist/src/types/registry.js.map +1 -1
- package/dist/src/types/temporal-types.d.ts +5 -0
- package/dist/src/types/temporal-types.d.ts.map +1 -1
- package/dist/src/types/temporal-types.js +122 -0
- package/dist/src/types/temporal-types.js.map +1 -1
- package/dist/src/util/ast-stringify.js +1 -1
- package/dist/src/util/ast-stringify.js.map +1 -1
- package/dist/src/util/plan-formatter.d.ts.map +1 -1
- package/dist/src/util/plan-formatter.js +1 -5
- package/dist/src/util/plan-formatter.js.map +1 -1
- package/dist/src/util/row-descriptor.js +2 -2
- package/dist/src/util/row-descriptor.js.map +1 -1
- package/dist/src/vtab/best-access-plan.d.ts +4 -3
- package/dist/src/vtab/best-access-plan.d.ts.map +1 -1
- package/dist/src/vtab/best-access-plan.js.map +1 -1
- package/dist/src/vtab/memory/module.js +1 -1
- package/dist/src/vtab/memory/module.js.map +1 -1
- package/package.json +1 -1
- package/src/common/datatype.ts +4 -5
- package/src/common/type-inference.ts +13 -22
- package/src/core/param.ts +4 -11
- package/src/func/builtins/aggregate.ts +24 -2
- package/src/func/builtins/builtin-window-functions.ts +10 -10
- package/src/func/builtins/conversion.ts +26 -1
- package/src/func/builtins/explain.ts +53 -53
- package/src/func/builtins/generation.ts +2 -2
- package/src/func/builtins/index.ts +20 -1
- package/src/func/builtins/json-tvf.ts +17 -17
- package/src/func/builtins/scalar.ts +205 -14
- package/src/func/builtins/schema.ts +18 -18
- package/src/func/builtins/string.ts +91 -78
- package/src/func/builtins/timespan.ts +179 -0
- package/src/func/registration.ts +35 -5
- package/src/index.ts +2 -1
- package/src/parser/parser.ts +2 -2
- package/src/planner/building/constraint-builder.ts +2 -2
- package/src/planner/building/delete.ts +3 -3
- package/src/planner/building/function-call.ts +44 -3
- package/src/planner/building/insert.ts +3 -3
- package/src/planner/building/select.ts +3 -2
- package/src/planner/building/update.ts +7 -7
- package/src/planner/nodes/aggregate-function.ts +13 -3
- package/src/planner/nodes/cte-node.ts +2 -2
- package/src/planner/nodes/declarative-schema.ts +3 -3
- package/src/planner/nodes/function.ts +8 -3
- package/src/planner/nodes/insert-node.ts +1 -1
- package/src/planner/nodes/pragma.ts +4 -3
- package/src/planner/nodes/reference.ts +1 -1
- package/src/planner/nodes/scalar.ts +54 -102
- package/src/planner/nodes/sequencing-node.ts +2 -2
- package/src/planner/nodes/sink-node.ts +2 -2
- package/src/planner/nodes/subquery.ts +5 -7
- package/src/planner/nodes/view-reference-node.ts +2 -2
- package/src/planner/nodes/window-function.ts +3 -3
- package/src/planner/rules/access/rule-select-access-path.ts +1 -1
- package/src/planner/rules/retrieve/rule-grow-retrieve.ts +1 -1
- package/src/planner/scopes/global.ts +3 -3
- package/src/planner/scopes/param.ts +2 -2
- package/src/planner/type-utils.ts +6 -14
- package/src/runtime/emit/binary.ts +48 -2
- package/src/runtime/emit/set-operation.ts +52 -22
- package/src/runtime/emit/temporal-arithmetic.ts +302 -0
- package/src/runtime/emit/unary.ts +13 -0
- package/src/schema/catalog.ts +3 -3
- package/src/schema/column.ts +0 -3
- package/src/schema/function.ts +29 -1
- package/src/schema/table.ts +5 -7
- package/src/types/index.ts +1 -1
- package/src/types/registry.ts +5 -1
- package/src/types/temporal-types.ts +123 -0
- package/src/util/ast-stringify.ts +1 -1
- package/src/util/plan-formatter.ts +1 -4
- package/src/util/row-descriptor.ts +2 -2
- package/src/vtab/best-access-plan.ts +4 -3
- package/src/vtab/memory/module.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../src/vtab/memory/module.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../src/vtab/memory/module.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/common/datatype.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Expression } from "../parser/ast.js";
|
|
2
|
-
import type { DeepReadonly
|
|
2
|
+
import type { DeepReadonly } from "./types.js";
|
|
3
|
+
import type { LogicalType } from "../types/logical-type.js";
|
|
3
4
|
|
|
4
5
|
export type TypeClass = 'scalar' | 'relation' | 'list' | 'void';
|
|
5
6
|
|
|
@@ -13,16 +14,14 @@ export type BaseType = DeepReadonly<{
|
|
|
13
14
|
*/
|
|
14
15
|
export type ScalarType = DeepReadonly<BaseType & {
|
|
15
16
|
typeClass: 'scalar';
|
|
16
|
-
/** The type
|
|
17
|
-
|
|
17
|
+
/** The logical type defining semantics and behavior */
|
|
18
|
+
logicalType: LogicalType;
|
|
18
19
|
/** The optional collation name of the scalar value. */
|
|
19
20
|
collationName?: string;
|
|
20
21
|
/** If nullable, null values are allowed and may be encountered in inference contexts too. */
|
|
21
22
|
nullable: boolean;
|
|
22
23
|
/** Indicates that it is inferred const, computed, or otherwise immutable. Missing assumes false. */
|
|
23
24
|
isReadOnly?: boolean;
|
|
24
|
-
/** For literals or inferred constants, we can know the specific type */
|
|
25
|
-
datatype?: SqlDataType;
|
|
26
25
|
/** TODO: Based on integrity constraints, in some cases we can know of further restrictions on the set of values, which may enabled certain optimizations. */
|
|
27
26
|
//constraints?: ReadonlyArray<ColumnConstraint>;
|
|
28
27
|
}>
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { SqlDataType, type SqlValue } from "./types.js";
|
|
2
|
+
import type { LogicalType } from "../types/logical-type.js";
|
|
3
|
+
import { NULL_TYPE, INTEGER_TYPE, REAL_TYPE, TEXT_TYPE, BLOB_TYPE, BOOLEAN_TYPE } from "../types/builtin-types.js";
|
|
2
4
|
|
|
3
5
|
export function getLiteralSqlType(v: SqlValue): SqlDataType {
|
|
4
6
|
if (v === null) return SqlDataType.NULL;
|
|
@@ -13,28 +15,17 @@ export function getLiteralSqlType(v: SqlValue): SqlDataType {
|
|
|
13
15
|
}
|
|
14
16
|
|
|
15
17
|
/**
|
|
16
|
-
*
|
|
17
|
-
* @see https://www.sqlite.org/datatype3.html#determination_of_column_affinity
|
|
18
|
-
*
|
|
19
|
-
* @param typeName The declared type name (case-insensitive)
|
|
20
|
-
* @returns The determined SqlDataType affinity
|
|
18
|
+
* Infer LogicalType from a SqlValue
|
|
21
19
|
*/
|
|
22
|
-
export function
|
|
23
|
-
if (
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
if (typeUpper.includes('INT')) {
|
|
28
|
-
return SqlDataType.INTEGER;
|
|
29
|
-
}
|
|
30
|
-
if (typeUpper.includes('CHAR') || typeUpper.includes('CLOB') || typeUpper.includes('TEXT')) {
|
|
31
|
-
return SqlDataType.TEXT;
|
|
32
|
-
}
|
|
33
|
-
if (typeUpper.includes('BLOB')) {
|
|
34
|
-
return SqlDataType.BLOB;
|
|
35
|
-
}
|
|
36
|
-
if (typeUpper.includes('REAL') || typeUpper.includes('FLOA') || typeUpper.includes('DOUB')) {
|
|
37
|
-
return SqlDataType.REAL;
|
|
20
|
+
export function inferLogicalTypeFromValue(v: SqlValue): LogicalType {
|
|
21
|
+
if (v === null) return NULL_TYPE;
|
|
22
|
+
if (typeof v === 'number') {
|
|
23
|
+
// For now, all numbers are REAL. Could check Number.isInteger() for INTEGER_TYPE
|
|
24
|
+
return REAL_TYPE;
|
|
38
25
|
}
|
|
39
|
-
|
|
26
|
+
if (typeof v === 'bigint') return INTEGER_TYPE;
|
|
27
|
+
if (typeof v === 'boolean') return BOOLEAN_TYPE;
|
|
28
|
+
if (typeof v === 'string') return TEXT_TYPE;
|
|
29
|
+
if (v instanceof Uint8Array) return BLOB_TYPE;
|
|
30
|
+
return BLOB_TYPE;
|
|
40
31
|
}
|
package/src/core/param.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ScalarType } from '../common/datatype.js';
|
|
2
|
-
import { type SqlParameters, type SqlValue
|
|
2
|
+
import { type SqlParameters, type SqlValue } from '../common/types.js';
|
|
3
|
+
import { inferLogicalTypeFromValue } from '../common/type-inference.js';
|
|
3
4
|
|
|
4
5
|
export function getParameterTypeHints(params: SqlParameters | undefined): Map<string | number, ScalarType> | undefined {
|
|
5
6
|
let results: Map<string | number, ScalarType> | undefined;
|
|
@@ -22,20 +23,12 @@ export function getParameterTypeHints(params: SqlParameters | undefined): Map<st
|
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
function getParameterScalarType(value: SqlValue): ScalarType {
|
|
25
|
-
|
|
26
|
-
if (value === null) affinity = SqlDataType.NULL;
|
|
27
|
-
else if (typeof value === 'number') affinity = SqlDataType.REAL;
|
|
28
|
-
else if (typeof value === 'bigint') affinity = SqlDataType.INTEGER;
|
|
29
|
-
else if (typeof value === 'string') affinity = SqlDataType.TEXT;
|
|
30
|
-
else if (value instanceof Uint8Array) affinity = SqlDataType.BLOB;
|
|
31
|
-
else if (typeof value === 'boolean') affinity = SqlDataType.INTEGER;
|
|
32
|
-
else affinity = SqlDataType.BLOB;
|
|
26
|
+
const logicalType = inferLogicalTypeFromValue(value);
|
|
33
27
|
|
|
34
28
|
return {
|
|
35
29
|
typeClass: 'scalar',
|
|
36
|
-
|
|
30
|
+
logicalType,
|
|
37
31
|
nullable: value === null,
|
|
38
32
|
isReadOnly: true,
|
|
39
|
-
datatype: affinity,
|
|
40
33
|
};
|
|
41
34
|
}
|
|
@@ -87,7 +87,18 @@ export const avgFunc = createAggregateFunction(
|
|
|
87
87
|
|
|
88
88
|
// --- MIN(X) ---
|
|
89
89
|
export const minFunc = createAggregateFunction(
|
|
90
|
-
{
|
|
90
|
+
{
|
|
91
|
+
name: 'min',
|
|
92
|
+
numArgs: 1,
|
|
93
|
+
initialValue: null,
|
|
94
|
+
// Type inference: return the same type as the input argument
|
|
95
|
+
inferReturnType: (argTypes) => ({
|
|
96
|
+
typeClass: 'scalar',
|
|
97
|
+
logicalType: argTypes[0],
|
|
98
|
+
nullable: true, // MIN can return NULL if all values are NULL or no rows
|
|
99
|
+
isReadOnly: true
|
|
100
|
+
})
|
|
101
|
+
},
|
|
91
102
|
(acc: { min: SqlValue } | null, value: SqlValue): { min: SqlValue } | null => {
|
|
92
103
|
if (value === null) return acc; // Ignore NULLs
|
|
93
104
|
if (acc === null) return { min: value }; // First non-null value
|
|
@@ -100,7 +111,18 @@ export const minFunc = createAggregateFunction(
|
|
|
100
111
|
|
|
101
112
|
// --- MAX(X) ---
|
|
102
113
|
export const maxFunc = createAggregateFunction(
|
|
103
|
-
{
|
|
114
|
+
{
|
|
115
|
+
name: 'max',
|
|
116
|
+
numArgs: 1,
|
|
117
|
+
initialValue: null,
|
|
118
|
+
// Type inference: return the same type as the input argument
|
|
119
|
+
inferReturnType: (argTypes) => ({
|
|
120
|
+
typeClass: 'scalar',
|
|
121
|
+
logicalType: argTypes[0],
|
|
122
|
+
nullable: true, // MAX can return NULL if all values are NULL or no rows
|
|
123
|
+
isReadOnly: true
|
|
124
|
+
})
|
|
125
|
+
},
|
|
104
126
|
(acc: { max: SqlValue } | null, value: SqlValue): { max: SqlValue } | null => {
|
|
105
127
|
if (value === null) return acc; // Ignore NULLs
|
|
106
128
|
if (acc === null) return { max: value }; // First non-null value
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { registerWindowFunction } from '../../schema/window-function.js';
|
|
2
|
-
import { SqlDataType } from '../../common/types.js';
|
|
3
2
|
import { AggValue } from '../registration.js';
|
|
3
|
+
import { INTEGER_TYPE, REAL_TYPE } from '../../types/builtin-types.js';
|
|
4
4
|
|
|
5
5
|
// Built-in window function schemas
|
|
6
6
|
export function registerBuiltinWindowFunctions(): void {
|
|
@@ -10,7 +10,7 @@ export function registerBuiltinWindowFunctions(): void {
|
|
|
10
10
|
argCount: 0,
|
|
11
11
|
returnType: {
|
|
12
12
|
typeClass: 'scalar',
|
|
13
|
-
|
|
13
|
+
logicalType: INTEGER_TYPE,
|
|
14
14
|
nullable: false,
|
|
15
15
|
isReadOnly: true
|
|
16
16
|
},
|
|
@@ -23,7 +23,7 @@ export function registerBuiltinWindowFunctions(): void {
|
|
|
23
23
|
argCount: 0,
|
|
24
24
|
returnType: {
|
|
25
25
|
typeClass: 'scalar',
|
|
26
|
-
|
|
26
|
+
logicalType: INTEGER_TYPE,
|
|
27
27
|
nullable: false,
|
|
28
28
|
isReadOnly: true
|
|
29
29
|
},
|
|
@@ -36,7 +36,7 @@ export function registerBuiltinWindowFunctions(): void {
|
|
|
36
36
|
argCount: 0,
|
|
37
37
|
returnType: {
|
|
38
38
|
typeClass: 'scalar',
|
|
39
|
-
|
|
39
|
+
logicalType: INTEGER_TYPE,
|
|
40
40
|
nullable: false,
|
|
41
41
|
isReadOnly: true
|
|
42
42
|
},
|
|
@@ -49,7 +49,7 @@ export function registerBuiltinWindowFunctions(): void {
|
|
|
49
49
|
argCount: 1,
|
|
50
50
|
returnType: {
|
|
51
51
|
typeClass: 'scalar',
|
|
52
|
-
|
|
52
|
+
logicalType: INTEGER_TYPE,
|
|
53
53
|
nullable: false,
|
|
54
54
|
isReadOnly: true
|
|
55
55
|
},
|
|
@@ -63,7 +63,7 @@ export function registerBuiltinWindowFunctions(): void {
|
|
|
63
63
|
argCount: 1,
|
|
64
64
|
returnType: {
|
|
65
65
|
typeClass: 'scalar',
|
|
66
|
-
|
|
66
|
+
logicalType: INTEGER_TYPE,
|
|
67
67
|
nullable: false,
|
|
68
68
|
isReadOnly: true
|
|
69
69
|
},
|
|
@@ -83,7 +83,7 @@ export function registerBuiltinWindowFunctions(): void {
|
|
|
83
83
|
argCount: 1,
|
|
84
84
|
returnType: {
|
|
85
85
|
typeClass: 'scalar',
|
|
86
|
-
|
|
86
|
+
logicalType: REAL_TYPE,
|
|
87
87
|
nullable: true,
|
|
88
88
|
isReadOnly: true
|
|
89
89
|
},
|
|
@@ -104,7 +104,7 @@ export function registerBuiltinWindowFunctions(): void {
|
|
|
104
104
|
argCount: 1,
|
|
105
105
|
returnType: {
|
|
106
106
|
typeClass: 'scalar',
|
|
107
|
-
|
|
107
|
+
logicalType: REAL_TYPE,
|
|
108
108
|
nullable: true,
|
|
109
109
|
isReadOnly: true
|
|
110
110
|
},
|
|
@@ -127,7 +127,7 @@ export function registerBuiltinWindowFunctions(): void {
|
|
|
127
127
|
argCount: 1,
|
|
128
128
|
returnType: {
|
|
129
129
|
typeClass: 'scalar',
|
|
130
|
-
|
|
130
|
+
logicalType: REAL_TYPE,
|
|
131
131
|
nullable: true,
|
|
132
132
|
isReadOnly: true
|
|
133
133
|
},
|
|
@@ -148,7 +148,7 @@ export function registerBuiltinWindowFunctions(): void {
|
|
|
148
148
|
argCount: 1,
|
|
149
149
|
returnType: {
|
|
150
150
|
typeClass: 'scalar',
|
|
151
|
-
|
|
151
|
+
logicalType: REAL_TYPE,
|
|
152
152
|
nullable: true,
|
|
153
153
|
isReadOnly: true
|
|
154
154
|
},
|
|
@@ -3,7 +3,7 @@ import { createScalarFunction } from '../registration.js';
|
|
|
3
3
|
import { QuereusError } from '../../common/errors.js';
|
|
4
4
|
import { StatusCode } from '../../common/types.js';
|
|
5
5
|
import { INTEGER_TYPE, REAL_TYPE, TEXT_TYPE, BOOLEAN_TYPE } from '../../types/builtin-types.js';
|
|
6
|
-
import { DATE_TYPE, TIME_TYPE, DATETIME_TYPE } from '../../types/temporal-types.js';
|
|
6
|
+
import { DATE_TYPE, TIME_TYPE, DATETIME_TYPE, TIMESPAN_TYPE } from '../../types/temporal-types.js';
|
|
7
7
|
import { JSON_TYPE } from '../../types/json-type.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -199,3 +199,28 @@ export const JSON_FUNC = createScalarFunction(
|
|
|
199
199
|
}
|
|
200
200
|
);
|
|
201
201
|
|
|
202
|
+
/**
|
|
203
|
+
* timespan() - Convert value to TIMESPAN
|
|
204
|
+
* Usage: timespan(value)
|
|
205
|
+
*
|
|
206
|
+
* Accepts:
|
|
207
|
+
* - ISO 8601 duration strings: 'PT1H30M', 'P1D', 'P1Y2M3D'
|
|
208
|
+
* - Human-readable strings: '1 hour', '30 minutes', '2 days 3 hours'
|
|
209
|
+
* - Numeric values (interpreted as seconds): 3600, 86400
|
|
210
|
+
*/
|
|
211
|
+
export const TIMESPAN_FUNC = createScalarFunction(
|
|
212
|
+
{ name: 'timespan', numArgs: 1, deterministic: true },
|
|
213
|
+
(value: SqlValue): SqlValue => {
|
|
214
|
+
if (value === null) return null;
|
|
215
|
+
|
|
216
|
+
try {
|
|
217
|
+
return TIMESPAN_TYPE.parse!(value);
|
|
218
|
+
} catch (e) {
|
|
219
|
+
throw new QuereusError(
|
|
220
|
+
`Cannot convert to TIMESPAN: ${e instanceof Error ? e.message : String(e)}`,
|
|
221
|
+
StatusCode.MISMATCH
|
|
222
|
+
);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
);
|
|
226
|
+
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Row } from "../../common/types.js";
|
|
2
2
|
import type { SqlValue } from "../../common/types.js";
|
|
3
|
-
import { SqlDataType } from "../../common/types.js";
|
|
4
3
|
import { createIntegratedTableValuedFunction } from "../registration.js";
|
|
4
|
+
import { INTEGER_TYPE, REAL_TYPE, TEXT_TYPE } from "../../types/builtin-types.js";
|
|
5
5
|
import { QuereusError } from "../../common/errors.js";
|
|
6
6
|
import { StatusCode } from "../../common/types.js";
|
|
7
7
|
import type { Database } from "../../core/database.js";
|
|
@@ -81,18 +81,18 @@ export const queryPlanFunc = createIntegratedTableValuedFunction(
|
|
|
81
81
|
isReadOnly: true,
|
|
82
82
|
isSet: false,
|
|
83
83
|
columns: [
|
|
84
|
-
{ name: 'id', type: { typeClass: 'scalar',
|
|
85
|
-
{ name: 'parent_id', type: { typeClass: 'scalar',
|
|
86
|
-
{ name: 'subquery_level', type: { typeClass: 'scalar',
|
|
87
|
-
{ name: 'node_type', type: { typeClass: 'scalar',
|
|
88
|
-
{ name: 'op', type: { typeClass: 'scalar',
|
|
89
|
-
{ name: 'detail', type: { typeClass: 'scalar',
|
|
90
|
-
{ name: 'object_name', type: { typeClass: 'scalar',
|
|
91
|
-
{ name: 'alias', type: { typeClass: 'scalar',
|
|
92
|
-
{ name: 'properties', type: { typeClass: 'scalar',
|
|
93
|
-
{ name: 'physical', type: { typeClass: 'scalar',
|
|
94
|
-
{ name: 'est_cost', type: { typeClass: 'scalar',
|
|
95
|
-
{ name: 'est_rows', type: { typeClass: 'scalar',
|
|
84
|
+
{ name: 'id', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
85
|
+
{ name: 'parent_id', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: true, isReadOnly: true }, generated: true },
|
|
86
|
+
{ name: 'subquery_level', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
87
|
+
{ name: 'node_type', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
88
|
+
{ name: 'op', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
89
|
+
{ name: 'detail', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
90
|
+
{ name: 'object_name', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true },
|
|
91
|
+
{ name: 'alias', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true },
|
|
92
|
+
{ name: 'properties', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true },
|
|
93
|
+
{ name: 'physical', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true },
|
|
94
|
+
{ name: 'est_cost', type: { typeClass: 'scalar', logicalType: REAL_TYPE, nullable: true, isReadOnly: true }, generated: true },
|
|
95
|
+
{ name: 'est_rows', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: true, isReadOnly: true }, generated: true }
|
|
96
96
|
],
|
|
97
97
|
keys: [],
|
|
98
98
|
rowConstraints: []
|
|
@@ -200,12 +200,12 @@ export const schedulerProgramFunc = createIntegratedTableValuedFunction(
|
|
|
200
200
|
isReadOnly: true,
|
|
201
201
|
isSet: false,
|
|
202
202
|
columns: [
|
|
203
|
-
{ name: 'addr', type: { typeClass: 'scalar',
|
|
204
|
-
{ name: 'dependencies', type: { typeClass: 'scalar',
|
|
205
|
-
{ name: 'description', type: { typeClass: 'scalar',
|
|
206
|
-
{ name: 'estimated_cost', type: { typeClass: 'scalar',
|
|
207
|
-
{ name: 'is_subprogram', type: { typeClass: 'scalar',
|
|
208
|
-
{ name: 'parent_addr', type: { typeClass: 'scalar',
|
|
203
|
+
{ name: 'addr', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
204
|
+
{ name: 'dependencies', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true }, // JSON array of dependency IDs
|
|
205
|
+
{ name: 'description', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
206
|
+
{ name: 'estimated_cost', type: { typeClass: 'scalar', logicalType: REAL_TYPE, nullable: true, isReadOnly: true }, generated: true },
|
|
207
|
+
{ name: 'is_subprogram', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true }, // 0/1 boolean
|
|
208
|
+
{ name: 'parent_addr', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: true, isReadOnly: true }, generated: true }
|
|
209
209
|
],
|
|
210
210
|
keys: [],
|
|
211
211
|
rowConstraints: []
|
|
@@ -280,13 +280,13 @@ export const stackTraceFunc = createIntegratedTableValuedFunction(
|
|
|
280
280
|
isReadOnly: true,
|
|
281
281
|
isSet: false,
|
|
282
282
|
columns: [
|
|
283
|
-
{ name: 'frame_id', type: { typeClass: 'scalar',
|
|
284
|
-
{ name: 'depth', type: { typeClass: 'scalar',
|
|
285
|
-
{ name: 'location', type: { typeClass: 'scalar',
|
|
286
|
-
{ name: 'plan_node_type', type: { typeClass: 'scalar',
|
|
287
|
-
{ name: 'operation', type: { typeClass: 'scalar',
|
|
288
|
-
{ name: 'table_or_function', type: { typeClass: 'scalar',
|
|
289
|
-
{ name: 'is_virtual', type: { typeClass: 'scalar',
|
|
283
|
+
{ name: 'frame_id', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
284
|
+
{ name: 'depth', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
285
|
+
{ name: 'location', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
286
|
+
{ name: 'plan_node_type', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
287
|
+
{ name: 'operation', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
288
|
+
{ name: 'table_or_function', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true },
|
|
289
|
+
{ name: 'is_virtual', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true } // 0/1 boolean
|
|
290
290
|
],
|
|
291
291
|
keys: [],
|
|
292
292
|
rowConstraints: []
|
|
@@ -387,15 +387,15 @@ export const executionTraceFunc = createIntegratedTableValuedFunction(
|
|
|
387
387
|
isReadOnly: true,
|
|
388
388
|
isSet: false,
|
|
389
389
|
columns: [
|
|
390
|
-
{ name: 'instruction_index', type: { typeClass: 'scalar',
|
|
391
|
-
{ name: 'operation', type: { typeClass: 'scalar',
|
|
392
|
-
{ name: 'dependencies', type: { typeClass: 'scalar',
|
|
393
|
-
{ name: 'input_values', type: { typeClass: 'scalar',
|
|
394
|
-
{ name: 'output_value', type: { typeClass: 'scalar',
|
|
395
|
-
{ name: 'duration_ms', type: { typeClass: 'scalar',
|
|
396
|
-
{ name: 'sub_programs', type: { typeClass: 'scalar',
|
|
397
|
-
{ name: 'error_message', type: { typeClass: 'scalar',
|
|
398
|
-
{ name: 'timestamp_ms', type: { typeClass: 'scalar',
|
|
390
|
+
{ name: 'instruction_index', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
391
|
+
{ name: 'operation', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true },
|
|
392
|
+
{ name: 'dependencies', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true }, // JSON array of instruction indices this depends on
|
|
393
|
+
{ name: 'input_values', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true }, // JSON
|
|
394
|
+
{ name: 'output_value', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true }, // JSON
|
|
395
|
+
{ name: 'duration_ms', type: { typeClass: 'scalar', logicalType: REAL_TYPE, nullable: true, isReadOnly: true }, generated: true },
|
|
396
|
+
{ name: 'sub_programs', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true }, // JSON
|
|
397
|
+
{ name: 'error_message', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true },
|
|
398
|
+
{ name: 'timestamp_ms', type: { typeClass: 'scalar', logicalType: REAL_TYPE, nullable: false, isReadOnly: true }, generated: true }
|
|
399
399
|
],
|
|
400
400
|
keys: [],
|
|
401
401
|
rowConstraints: []
|
|
@@ -563,12 +563,12 @@ export const rowTraceFunc = createIntegratedTableValuedFunction(
|
|
|
563
563
|
isReadOnly: true,
|
|
564
564
|
isSet: false,
|
|
565
565
|
columns: [
|
|
566
|
-
{ name: 'instruction_index', type: { typeClass: 'scalar',
|
|
567
|
-
{ name: 'operation', type: { typeClass: 'scalar',
|
|
568
|
-
{ name: 'row_index', type: { typeClass: 'scalar',
|
|
569
|
-
{ name: 'row_data', type: { typeClass: 'scalar',
|
|
570
|
-
{ name: 'timestamp_ms', type: { typeClass: 'scalar',
|
|
571
|
-
{ name: 'row_count', type: { typeClass: 'scalar',
|
|
566
|
+
{ name: 'instruction_index', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
567
|
+
{ name: 'operation', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true },
|
|
568
|
+
{ name: 'row_index', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
569
|
+
{ name: 'row_data', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true }, // JSON array of row values
|
|
570
|
+
{ name: 'timestamp_ms', type: { typeClass: 'scalar', logicalType: REAL_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
571
|
+
{ name: 'row_count', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: true, isReadOnly: true }, generated: true } // Total rows for this instruction (filled in last row)
|
|
572
572
|
],
|
|
573
573
|
keys: [],
|
|
574
574
|
rowConstraints: []
|
|
@@ -671,12 +671,12 @@ export const schemaSizeFunc = createIntegratedTableValuedFunction(
|
|
|
671
671
|
isReadOnly: true,
|
|
672
672
|
isSet: false,
|
|
673
673
|
columns: [
|
|
674
|
-
{ name: 'object_type', type: { typeClass: 'scalar',
|
|
675
|
-
{ name: 'object_name', type: { typeClass: 'scalar',
|
|
676
|
-
{ name: 'estimated_rows', type: { typeClass: 'scalar',
|
|
677
|
-
{ name: 'estimated_size_kb', type: { typeClass: 'scalar',
|
|
678
|
-
{ name: 'column_count', type: { typeClass: 'scalar',
|
|
679
|
-
{ name: 'index_count', type: { typeClass: 'scalar',
|
|
674
|
+
{ name: 'object_type', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
675
|
+
{ name: 'object_name', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
676
|
+
{ name: 'estimated_rows', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: true, isReadOnly: true }, generated: true },
|
|
677
|
+
{ name: 'estimated_size_kb', type: { typeClass: 'scalar', logicalType: REAL_TYPE, nullable: true, isReadOnly: true }, generated: true },
|
|
678
|
+
{ name: 'column_count', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
679
|
+
{ name: 'index_count', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true }
|
|
680
680
|
],
|
|
681
681
|
keys: [],
|
|
682
682
|
rowConstraints: []
|
|
@@ -698,12 +698,12 @@ export const explainAssertionFunc = createIntegratedTableValuedFunction(
|
|
|
698
698
|
isReadOnly: true,
|
|
699
699
|
isSet: false,
|
|
700
700
|
columns: [
|
|
701
|
-
{ name: 'assertion', type: { typeClass: 'scalar',
|
|
702
|
-
{ name: 'relation_key', type: { typeClass: 'scalar',
|
|
703
|
-
{ name: 'base', type: { typeClass: 'scalar',
|
|
704
|
-
{ name: 'classification', type: { typeClass: 'scalar',
|
|
705
|
-
{ name: 'prepared_pk_params', type: { typeClass: 'scalar',
|
|
706
|
-
{ name: 'violation_sql', type: { typeClass: 'scalar',
|
|
701
|
+
{ name: 'assertion', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
702
|
+
{ name: 'relation_key', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
703
|
+
{ name: 'base', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
704
|
+
{ name: 'classification', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
|
|
705
|
+
{ name: 'prepared_pk_params', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true }, // JSON array of param names or NULL
|
|
706
|
+
{ name: 'violation_sql', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true }
|
|
707
707
|
],
|
|
708
708
|
keys: [],
|
|
709
709
|
rowConstraints: []
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Row } from "../../common/types.js";
|
|
2
2
|
import type { SqlValue } from "../../common/types.js";
|
|
3
|
-
import { SqlDataType } from "../../common/types.js";
|
|
4
3
|
import { createTableValuedFunction } from "../registration.js";
|
|
4
|
+
import { INTEGER_TYPE } from "../../types/builtin-types.js";
|
|
5
5
|
|
|
6
6
|
// Generate a sequence of numbers (table-valued function)
|
|
7
7
|
export const generateSeriesFunc = createTableValuedFunction(
|
|
@@ -18,7 +18,7 @@ export const generateSeriesFunc = createTableValuedFunction(
|
|
|
18
18
|
name: 'value',
|
|
19
19
|
type: {
|
|
20
20
|
typeClass: 'scalar',
|
|
21
|
-
|
|
21
|
+
logicalType: INTEGER_TYPE,
|
|
22
22
|
nullable: false,
|
|
23
23
|
isReadOnly: true
|
|
24
24
|
},
|
|
@@ -21,7 +21,12 @@ import { generateSeriesFunc } from './generation.js';
|
|
|
21
21
|
import { queryPlanFunc, schedulerProgramFunc, stackTraceFunc, executionTraceFunc, rowTraceFunc, explainAssertionFunc } from './explain.js';
|
|
22
22
|
import { schemaFunc, tableInfoFunc, functionInfoFunc } from './schema.js';
|
|
23
23
|
import { jsonEachFunc, jsonTreeFunc } from './json-tvf.js';
|
|
24
|
-
import { INTEGER_FUNC, REAL_FUNC, TEXT_FUNC, BOOLEAN_FUNC, DATE_FUNC, TIME_FUNC, DATETIME_FUNC, JSON_FUNC } from './conversion.js';
|
|
24
|
+
import { INTEGER_FUNC, REAL_FUNC, TEXT_FUNC, BOOLEAN_FUNC, DATE_FUNC, TIME_FUNC, DATETIME_FUNC, TIMESPAN_FUNC, JSON_FUNC } from './conversion.js';
|
|
25
|
+
import {
|
|
26
|
+
timespanYearsFunc, timespanMonthsFunc, timespanWeeksFunc, timespanDaysFunc,
|
|
27
|
+
timespanHoursFunc, timespanMinutesFunc, timespanSecondsFunc,
|
|
28
|
+
timespanTotalSecondsFunc, timespanTotalMinutesFunc, timespanTotalHoursFunc, timespanTotalDaysFunc
|
|
29
|
+
} from './timespan.js';
|
|
25
30
|
|
|
26
31
|
// Additional useful functions integrated from examples
|
|
27
32
|
|
|
@@ -35,6 +40,7 @@ export const BUILTIN_FUNCTIONS: FunctionSchema[] = [
|
|
|
35
40
|
DATE_FUNC,
|
|
36
41
|
TIME_FUNC,
|
|
37
42
|
DATETIME_FUNC,
|
|
43
|
+
TIMESPAN_FUNC,
|
|
38
44
|
// Scalar Functions
|
|
39
45
|
absFunc,
|
|
40
46
|
roundFunc,
|
|
@@ -93,6 +99,18 @@ export const BUILTIN_FUNCTIONS: FunctionSchema[] = [
|
|
|
93
99
|
strftimeFunc,
|
|
94
100
|
isISODateFunc,
|
|
95
101
|
isISODateTimeFunc,
|
|
102
|
+
// Timespan Functions
|
|
103
|
+
timespanYearsFunc,
|
|
104
|
+
timespanMonthsFunc,
|
|
105
|
+
timespanWeeksFunc,
|
|
106
|
+
timespanDaysFunc,
|
|
107
|
+
timespanHoursFunc,
|
|
108
|
+
timespanMinutesFunc,
|
|
109
|
+
timespanSecondsFunc,
|
|
110
|
+
timespanTotalSecondsFunc,
|
|
111
|
+
timespanTotalMinutesFunc,
|
|
112
|
+
timespanTotalHoursFunc,
|
|
113
|
+
timespanTotalDaysFunc,
|
|
96
114
|
// JSON Functions
|
|
97
115
|
jsonValidFunc,
|
|
98
116
|
jsonSchemaFunc,
|
|
@@ -136,6 +154,7 @@ export const BUILTIN_FUNCTIONS: FunctionSchema[] = [
|
|
|
136
154
|
DATE_FUNC,
|
|
137
155
|
TIME_FUNC,
|
|
138
156
|
DATETIME_FUNC,
|
|
157
|
+
TIMESPAN_FUNC,
|
|
139
158
|
JSON_FUNC,
|
|
140
159
|
];
|
|
141
160
|
|