@based/db 0.0.17 → 0.0.19
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/dist/lib/darwin_aarch64/include/selva/fields.h +0 -7
- package/dist/lib/darwin_aarch64/libnode-v20.11.1.node +0 -0
- package/dist/lib/darwin_aarch64/libnode-v20.18.1.node +0 -0
- package/dist/lib/darwin_aarch64/libnode-v22.13.0.node +0 -0
- package/dist/lib/darwin_aarch64/libselva.dylib +0 -0
- package/dist/lib/linux_aarch64/include/selva/fields.h +0 -7
- package/dist/lib/linux_aarch64/libjemalloc_selva.so.2 +0 -0
- package/dist/lib/linux_aarch64/libnode-v20.11.1.node +0 -0
- package/dist/lib/linux_aarch64/libnode-v20.18.1.node +0 -0
- package/dist/lib/linux_aarch64/libnode-v22.13.0.node +0 -0
- package/dist/lib/linux_aarch64/libselva.so +0 -0
- package/dist/lib/linux_x86_64/include/selva/fields.h +0 -7
- package/dist/lib/linux_x86_64/libjemalloc_selva.so.2 +0 -0
- package/dist/lib/linux_x86_64/libnode-v20.11.1.node +0 -0
- package/dist/lib/linux_x86_64/libnode-v20.18.1.node +0 -0
- package/dist/lib/linux_x86_64/libnode-v22.13.0.node +0 -0
- package/dist/lib/linux_x86_64/libselva.so +0 -0
- package/dist/src/client/index.d.ts +1 -1
- package/dist/src/client/index.js +8 -3
- package/dist/src/client/modify/ModifyRes.d.ts +1 -1
- package/dist/src/client/modify/ModifyRes.js +1 -1
- package/dist/src/client/modify/alias.d.ts +1 -1
- package/dist/src/client/modify/alias.js +1 -1
- package/dist/src/client/modify/binary.d.ts +1 -1
- package/dist/src/client/modify/cardinality.d.ts +1 -1
- package/dist/src/client/modify/cardinality.js +1 -1
- package/dist/src/client/modify/create.js +2 -2
- package/dist/src/client/modify/delete.js +1 -1
- package/dist/src/client/modify/expire.js +1 -1
- package/dist/src/client/modify/fixed.d.ts +1 -1
- package/dist/src/client/modify/fixed.js +1 -1
- package/dist/src/client/modify/json.d.ts +1 -1
- package/dist/src/client/modify/modify.d.ts +1 -1
- package/dist/src/client/modify/modify.js +1 -1
- package/dist/src/client/modify/references/edge.d.ts +1 -1
- package/dist/src/client/modify/references/edge.js +1 -1
- package/dist/src/client/modify/references/reference.d.ts +1 -1
- package/dist/src/client/modify/references/references.d.ts +1 -1
- package/dist/src/client/modify/references/references.js +1 -1
- package/dist/src/client/modify/setCursor.d.ts +1 -1
- package/dist/src/client/modify/string.d.ts +1 -1
- package/dist/src/client/modify/text.d.ts +1 -1
- package/dist/src/client/modify/text.js +6 -0
- package/dist/src/client/modify/update.js +1 -1
- package/dist/src/client/modify/upsert.js +1 -1
- package/dist/src/client/modify/vector.d.ts +1 -1
- package/dist/src/client/operations.d.ts +2 -1
- package/dist/src/client/operations.js +1 -0
- package/dist/src/client/query/BasedDbQuery.js +1 -1
- package/dist/src/client/query/debug.js +1 -1
- package/dist/src/client/query/display.d.ts +1 -1
- package/dist/src/client/query/display.js +1 -1
- package/dist/src/client/query/filter/createFixedFilterBuffer.d.ts +1 -1
- package/dist/src/client/query/filter/createFixedFilterBuffer.js +1 -2
- package/dist/src/client/query/filter/createReferenceFilter.d.ts +1 -1
- package/dist/src/client/query/filter/createVariableFilterBuffer.d.ts +1 -1
- package/dist/src/client/query/filter/createVariableFilterBuffer.js +1 -1
- package/dist/src/client/query/filter/filter.d.ts +1 -1
- package/dist/src/client/query/filter/filter.js +1 -1
- package/dist/src/client/query/filter/parseFilterValue.d.ts +1 -1
- package/dist/src/client/query/filter/parseFilterValue.js +1 -1
- package/dist/src/client/query/filter/primitiveFilter.d.ts +1 -1
- package/dist/src/client/query/filter/primitiveFilter.js +4 -1
- package/dist/src/client/query/include/props.d.ts +1 -1
- package/dist/src/client/query/include/props.js +1 -1
- package/dist/src/client/query/include/utils.d.ts +1 -1
- package/dist/src/client/query/include/utils.js +1 -1
- package/dist/src/client/query/include/walk.js +1 -1
- package/dist/src/client/query/read/read.js +1 -1
- package/dist/src/client/query/search/index.js +1 -1
- package/dist/src/client/query/subscription/markers.d.ts +1 -1
- package/dist/src/client/query/types.d.ts +1 -1
- package/dist/src/client/query/validation.d.ts +1 -1
- package/dist/src/client/query/validation.js +9 -8
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.js +0 -1
- package/dist/src/server/index.d.ts +3 -5
- package/dist/src/server/index.js +11 -5
- package/dist/src/server/migrate/worker.js +1 -1
- package/dist/src/server/start.d.ts +0 -1
- package/dist/src/server/start.js +1 -1
- package/dist/src/server/tree.d.ts +1 -1
- package/package.json +2 -2
- package/dist/lib/darwin_aarch64/libxxhash.0.8.2.dylib +0 -0
- package/dist/lib/darwin_aarch64/libxxhash.0.dylib +0 -0
- package/dist/lib/linux_aarch64/libxxhash.so +0 -0
- package/dist/lib/linux_aarch64/libxxhash.so.0.8.2 +0 -0
- package/dist/lib/linux_x86_64/libxxhash.so +0 -0
- package/dist/lib/linux_x86_64/libxxhash.so.0.8.2 +0 -0
- package/dist/src/server/schema/schema.d.ts +0 -3
- package/dist/src/server/schema/schema.js +0 -4
- package/dist/src/server/schema/selvaBuffer.d.ts +0 -4
- package/dist/src/server/schema/selvaBuffer.js +0 -112
- package/dist/src/server/schema/typeDef.d.ts +0 -6
- package/dist/src/server/schema/typeDef.js +0 -337
- package/dist/src/server/schema/types.d.ts +0 -140
- package/dist/src/server/schema/types.js +0 -121
- package/dist/src/server/schema/utils.d.ts +0 -7
- package/dist/src/server/schema/utils.js +0 -34
|
@@ -58,11 +58,6 @@ struct SelvaNodeWeakReferences {
|
|
|
58
58
|
struct SelvaNodeWeakReference *refs __pcounted_by(nr_refs);
|
|
59
59
|
};
|
|
60
60
|
|
|
61
|
-
struct SelvaMicroBuffer {
|
|
62
|
-
uint16_t len;
|
|
63
|
-
uint8_t data[] __counted_by(len);
|
|
64
|
-
} __packed;
|
|
65
|
-
|
|
66
61
|
struct SelvaFieldsAny {
|
|
67
62
|
enum SelvaFieldType type; /*!< Type of the value. */
|
|
68
63
|
union {
|
|
@@ -85,9 +80,7 @@ struct SelvaFieldsAny {
|
|
|
85
80
|
struct SelvaNodeReferences *references; /*!< SELVA_FIELD_TYPE_REFERENCES */
|
|
86
81
|
struct SelvaNodeWeakReference weak_reference; /*!< SELVA_FIELD_TYPE_WEAK_REFERENCE */
|
|
87
82
|
struct SelvaNodeWeakReferences weak_references; /*!< SELVA_FIELD_TYPE_WEAK_REFERENCES */
|
|
88
|
-
struct SelvaMicroBuffer *smb; /*!< SELVA_FIELD_TYPE_MICRO_BUFFER */
|
|
89
83
|
#endif
|
|
90
|
-
// HyperLogLogPlusPlus cardinality; /*!< SELVA_FIELD_TYPE_HLL */
|
|
91
84
|
};
|
|
92
85
|
};
|
|
93
86
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -58,11 +58,6 @@ struct SelvaNodeWeakReferences {
|
|
|
58
58
|
struct SelvaNodeWeakReference *refs __pcounted_by(nr_refs);
|
|
59
59
|
};
|
|
60
60
|
|
|
61
|
-
struct SelvaMicroBuffer {
|
|
62
|
-
uint16_t len;
|
|
63
|
-
uint8_t data[] __counted_by(len);
|
|
64
|
-
} __packed;
|
|
65
|
-
|
|
66
61
|
struct SelvaFieldsAny {
|
|
67
62
|
enum SelvaFieldType type; /*!< Type of the value. */
|
|
68
63
|
union {
|
|
@@ -85,9 +80,7 @@ struct SelvaFieldsAny {
|
|
|
85
80
|
struct SelvaNodeReferences *references; /*!< SELVA_FIELD_TYPE_REFERENCES */
|
|
86
81
|
struct SelvaNodeWeakReference weak_reference; /*!< SELVA_FIELD_TYPE_WEAK_REFERENCE */
|
|
87
82
|
struct SelvaNodeWeakReferences weak_references; /*!< SELVA_FIELD_TYPE_WEAK_REFERENCES */
|
|
88
|
-
struct SelvaMicroBuffer *smb; /*!< SELVA_FIELD_TYPE_MICRO_BUFFER */
|
|
89
83
|
#endif
|
|
90
|
-
// HyperLogLogPlusPlus cardinality; /*!< SELVA_FIELD_TYPE_HLL */
|
|
91
84
|
};
|
|
92
85
|
};
|
|
93
86
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -58,11 +58,6 @@ struct SelvaNodeWeakReferences {
|
|
|
58
58
|
struct SelvaNodeWeakReference *refs __pcounted_by(nr_refs);
|
|
59
59
|
};
|
|
60
60
|
|
|
61
|
-
struct SelvaMicroBuffer {
|
|
62
|
-
uint16_t len;
|
|
63
|
-
uint8_t data[] __counted_by(len);
|
|
64
|
-
} __packed;
|
|
65
|
-
|
|
66
61
|
struct SelvaFieldsAny {
|
|
67
62
|
enum SelvaFieldType type; /*!< Type of the value. */
|
|
68
63
|
union {
|
|
@@ -85,9 +80,7 @@ struct SelvaFieldsAny {
|
|
|
85
80
|
struct SelvaNodeReferences *references; /*!< SELVA_FIELD_TYPE_REFERENCES */
|
|
86
81
|
struct SelvaNodeWeakReference weak_reference; /*!< SELVA_FIELD_TYPE_WEAK_REFERENCE */
|
|
87
82
|
struct SelvaNodeWeakReferences weak_references; /*!< SELVA_FIELD_TYPE_WEAK_REFERENCES */
|
|
88
|
-
struct SelvaMicroBuffer *smb; /*!< SELVA_FIELD_TYPE_MICRO_BUFFER */
|
|
89
83
|
#endif
|
|
90
|
-
// HyperLogLogPlusPlus cardinality; /*!< SELVA_FIELD_TYPE_HLL */
|
|
91
84
|
};
|
|
92
85
|
};
|
|
93
86
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Schema, StrictSchema } from '@based/schema';
|
|
2
2
|
import { CreateObj } from './modify/create.js';
|
|
3
|
-
import { SchemaTypeDef } from '
|
|
3
|
+
import { SchemaTypeDef } from '@based/schema/def';
|
|
4
4
|
import { ModifyCtx } from './operations.js';
|
|
5
5
|
import { SubscriptionMarkerMap, SubscriptionsMap, SubscriptionsToRun } from './query/subscription/index.js';
|
|
6
6
|
import { BasedDbQuery, QueryByAliasObj } from './query/BasedDbQuery.js';
|
package/dist/src/client/index.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { parse } from '@based/schema';
|
|
2
2
|
import { create } from './modify/create.js';
|
|
3
|
+
import { updateTypeDefs, schemaToSelvaBuffer, } from '@based/schema/def';
|
|
3
4
|
import { flushBuffer, ModifyCtx } from './operations.js';
|
|
4
5
|
import { BasedDbQuery } from './query/BasedDbQuery.js';
|
|
5
6
|
import { ModifyState } from './modify/ModifyRes.js';
|
|
6
7
|
import { upsert } from './modify/upsert.js';
|
|
7
8
|
import { update } from './modify/update.js';
|
|
8
9
|
import { deleteFn } from './modify/delete.js';
|
|
9
|
-
import { updateTypeDefs } from '../server/schema/typeDef.js';
|
|
10
|
-
import { schemaToSelvaBuffer } from '../server/schema/selvaBuffer.js';
|
|
11
10
|
import { deepEqual } from '@saulx/utils';
|
|
12
11
|
import { hash } from '@saulx/hash';
|
|
13
12
|
import { expire } from './modify/expire.js';
|
|
@@ -53,7 +52,13 @@ export class DbClient {
|
|
|
53
52
|
return this.schema;
|
|
54
53
|
}
|
|
55
54
|
this.schema = schema;
|
|
56
|
-
|
|
55
|
+
for (const field in this.schema.types) {
|
|
56
|
+
if (!('id' in this.schema.types[field])) {
|
|
57
|
+
this.schema.lastId++;
|
|
58
|
+
this.schema.types[field].id = this.schema.lastId;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
updateTypeDefs(this.schema, this.schemaTypesParsed, this.schemaTypesParsedById);
|
|
57
62
|
// TODO should not need this, but it modifies the schema
|
|
58
63
|
schemaToSelvaBuffer(this.schemaTypesParsed);
|
|
59
64
|
return this.schema;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PropDef, PropDefEdge, SchemaPropTree } from '
|
|
1
|
+
import { PropDef, PropDefEdge, SchemaPropTree } from '@based/schema/def';
|
|
2
2
|
import { inspect } from 'node:util';
|
|
3
3
|
import { SubscriptionMarkersCheck } from '../query/subscription/index.js';
|
|
4
4
|
import { DbClient } from '../index.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isPropDef, REVERSE_TYPE_INDEX_MAP, } from '
|
|
1
|
+
import { isPropDef, REVERSE_TYPE_INDEX_MAP, } from '@based/schema/def';
|
|
2
2
|
import { inspect } from 'node:util';
|
|
3
3
|
import { langCodesMap } from '@based/schema';
|
|
4
4
|
const MAGIC_KEY = Math.random().toString(36).substring(2);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ModifyCtx } from '../../index.js';
|
|
2
|
-
import { SchemaTypeDef, PropDef } from '
|
|
2
|
+
import { SchemaTypeDef, PropDef } from '@based/schema/def';
|
|
3
3
|
import { ModifyOp, ModifyErr } from './types.js';
|
|
4
4
|
export declare function writeAlias(value: string | null | Buffer, ctx: ModifyCtx, def: SchemaTypeDef, t: PropDef, parentId: number, modifyOp: ModifyOp): ModifyErr;
|
|
@@ -31,7 +31,7 @@ export function writeAlias(value, ctx, def, t, parentId, modifyOp) {
|
|
|
31
31
|
ctx.len += ctx.buf.write(value, ctx.len, 'utf8');
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
-
else if (
|
|
34
|
+
else if (value === null) {
|
|
35
35
|
if (modifyOp === UPDATE) {
|
|
36
36
|
if (ctx.len + 11 > ctx.max) {
|
|
37
37
|
return RANGE_ERR;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ModifyCtx } from '../../index.js';
|
|
2
|
-
import { PropDef, SchemaTypeDef } from '
|
|
2
|
+
import { PropDef, SchemaTypeDef } from '@based/schema/def';
|
|
3
3
|
import { ModifyOp, ModifyErr } from './types.js';
|
|
4
4
|
export declare function getBuffer(value: any): Buffer;
|
|
5
5
|
export declare function writeBinaryRaw(value: Buffer, ctx: ModifyCtx): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ModifyCtx } from '../../index.js';
|
|
2
|
-
import { SchemaTypeDef, PropDef } from '
|
|
2
|
+
import { SchemaTypeDef, PropDef } from '@based/schema/def';
|
|
3
3
|
import { ModifyOp, ModifyErr } from './types.js';
|
|
4
4
|
export declare function writeHll(value: string | null | Buffer | Array<string | Buffer>, ctx: ModifyCtx, def: SchemaTypeDef, t: PropDef, parentId: number, modifyOp: ModifyOp): ModifyErr;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MICRO_BUFFER } from '
|
|
1
|
+
import { MICRO_BUFFER } from '@based/schema/def';
|
|
2
2
|
import { startDrain, flushBuffer } from '../operations.js';
|
|
3
3
|
import { setCursor } from './setCursor.js';
|
|
4
4
|
import { modify } from './modify.js';
|
|
@@ -59,7 +59,7 @@ const appendCreate = (ctx, def, obj, res, unsafe) => {
|
|
|
59
59
|
ctx.buf[sizepos] = size >>>= 8;
|
|
60
60
|
}
|
|
61
61
|
if (ctx.hasSortField !== -1) {
|
|
62
|
-
def.seperateSort.buffer.
|
|
62
|
+
def.seperateSort.buffer.set(def.seperateSort.bufferTmp);
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { flushBuffer, startDrain } from '../operations.js';
|
|
2
2
|
import { setCursor } from './setCursor.js';
|
|
3
3
|
import { UPDATE } from './types.js';
|
|
4
|
-
import { MICRO_BUFFER } from '
|
|
4
|
+
import { MICRO_BUFFER } from '@based/schema/def';
|
|
5
5
|
export const deleteFn = (db, type, id) => {
|
|
6
6
|
const ctx = db.modifyCtx;
|
|
7
7
|
const schema = db.schemaTypesParsed[type];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ModifyCtx } from '../../index.js';
|
|
2
|
-
import { PropDef, PropDefEdge } from '
|
|
2
|
+
import { PropDef, PropDefEdge } from '@based/schema/def';
|
|
3
3
|
import { ModifyErr } from './types.js';
|
|
4
4
|
export declare const writeFixedValue: (ctx: ModifyCtx, val: any, def: PropDef | PropDefEdge, pos: number) => ModifyErr;
|
|
5
5
|
export declare const appendFixedValue: (ctx: ModifyCtx, val: any, def: PropDef | PropDefEdge) => ModifyErr;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BINARY, BOOLEAN, ENUM, INT16, INT32, INT8, NUMBER, STRING, TIMESTAMP, UINT16, UINT32, UINT8, } from '
|
|
1
|
+
import { BINARY, BOOLEAN, ENUM, INT16, INT32, INT8, NUMBER, STRING, TIMESTAMP, UINT16, UINT32, UINT8, } from '@based/schema/def';
|
|
2
2
|
import { convertToTimestamp } from '../timestamp.js';
|
|
3
3
|
import { getBuffer } from './binary.js';
|
|
4
4
|
import { ModifyError } from './ModifyRes.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ModifyCtx } from '../../index.js';
|
|
2
|
-
import { PropDef, SchemaTypeDef } from '
|
|
2
|
+
import { PropDef, SchemaTypeDef } from '@based/schema/def';
|
|
3
3
|
import { ModifyOp, ModifyErr } from './types.js';
|
|
4
4
|
export declare function writeJson(value: any, ctx: ModifyCtx, schema: SchemaTypeDef, t: PropDef, parentId: number, modifyOp: ModifyOp): ModifyErr;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ModifyCtx } from '../../index.js';
|
|
2
|
-
import { SchemaTypeDef } from '
|
|
2
|
+
import { SchemaTypeDef } from '@based/schema/def';
|
|
3
3
|
import { ModifyState } from './ModifyRes.js';
|
|
4
4
|
import { ModifyErr, ModifyOp } from './types.js';
|
|
5
5
|
export declare function modify(ctx: ModifyCtx, res: ModifyState, obj: Record<string, any>, schema: SchemaTypeDef, mod: ModifyOp, tree: SchemaTypeDef['tree'], overwrite: boolean, unsafe?: boolean): ModifyErr;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isPropDef, REFERENCE, REFERENCES, STRING, TEXT, ALIAS, BINARY, CARDINALITY, VECTOR, MICRO_BUFFER, JSON, } from '
|
|
1
|
+
import { isPropDef, REFERENCE, REFERENCES, STRING, TEXT, ALIAS, BINARY, CARDINALITY, VECTOR, MICRO_BUFFER, JSON, } from '@based/schema/def';
|
|
2
2
|
import { ModifyError } from './ModifyRes.js';
|
|
3
3
|
import { writeReference } from './references/reference.js';
|
|
4
4
|
import { writeReferences } from './references/references.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ModifyCtx } from '../../../index.js';
|
|
2
|
-
import { PropDef } from '
|
|
2
|
+
import { PropDef } from '@based/schema/def';
|
|
3
3
|
import { ModifyErr } from '../types.js';
|
|
4
4
|
import { RefModifyOpts } from './references.js';
|
|
5
5
|
export declare function getEdgeSize(t: PropDef, ref: RefModifyOpts): number;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BINARY, REFERENCE, REFERENCES, STRING, } from '
|
|
1
|
+
import { BINARY, REFERENCE, REFERENCES, STRING, } from '@based/schema/def';
|
|
2
2
|
import { write } from '../../string.js';
|
|
3
3
|
import { getBuffer, writeBinaryRaw } from '../binary.js';
|
|
4
4
|
import { ModifyError, ModifyState } from '../ModifyRes.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ModifyCtx } from '../../../index.js';
|
|
2
|
-
import { PropDef, SchemaTypeDef } from '
|
|
2
|
+
import { PropDef, SchemaTypeDef } from '@based/schema/def';
|
|
3
3
|
import { ModifyState } from '../ModifyRes.js';
|
|
4
4
|
import { ModifyErr, ModifyOp } from '../types.js';
|
|
5
5
|
export declare function writeReference(value: number | ModifyState | {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ModifyCtx } from '../../../index.js';
|
|
2
|
-
import { PropDef, SchemaTypeDef } from '
|
|
2
|
+
import { PropDef, SchemaTypeDef } from '@based/schema/def';
|
|
3
3
|
import { ModifyState } from '../ModifyRes.js';
|
|
4
4
|
import { ModifyErr, ModifyOp } from '../types.js';
|
|
5
5
|
export type RefModifyOpts = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { REFERENCES
|
|
1
|
+
import { REFERENCES } from '@based/schema/def';
|
|
2
2
|
import { ModifyError, ModifyState } from '../ModifyRes.js';
|
|
3
3
|
import { setCursor } from '../setCursor.js';
|
|
4
4
|
import { DELETE, RANGE_ERR } from '../types.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ModifyCtx } from '../../index.js';
|
|
2
|
-
import { SchemaTypeDef } from '
|
|
2
|
+
import { SchemaTypeDef } from '@based/schema/def';
|
|
3
3
|
import { ModifyOp } from './types.js';
|
|
4
4
|
export declare const setCursor: (ctx: ModifyCtx, schema: SchemaTypeDef, field: number, typeIndex: number, id: number, modifyOp: ModifyOp, ignoreField?: boolean) => void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LangCode } from '@based/schema';
|
|
2
2
|
import { ModifyCtx } from '../../index.js';
|
|
3
|
-
import { SchemaTypeDef, PropDef } from '
|
|
3
|
+
import { SchemaTypeDef, PropDef } from '@based/schema/def';
|
|
4
4
|
import { ModifyOp, ModifyErr } from './types.js';
|
|
5
5
|
export declare function writeString(lang: LangCode, value: string | null | Buffer, ctx: ModifyCtx, def: SchemaTypeDef, t: PropDef, parentId: number, modifyOp: ModifyOp): ModifyErr;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ModifyCtx } from '../../index.js';
|
|
2
2
|
import { ModifyOp, ModifyErr } from './types.js';
|
|
3
|
-
import { SchemaTypeDef, PropDef } from '
|
|
3
|
+
import { SchemaTypeDef, PropDef } from '@based/schema/def';
|
|
4
4
|
import { writeString } from './string.js';
|
|
5
5
|
import { ModifyState } from './ModifyRes.js';
|
|
6
6
|
export declare function writeText(value: {
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import { langCodesMap } from '@based/schema';
|
|
2
|
+
import { CREATE } from './types.js';
|
|
2
3
|
import { writeString } from './string.js';
|
|
3
4
|
export function writeText(value, ctx, def, t, res, modifyOp) {
|
|
4
5
|
// todo proper fallback as well
|
|
5
6
|
if (value && typeof value !== 'object') {
|
|
6
7
|
const err = writeString(res.locale ?? langCodesMap.get('en'), value, ctx, def, t, res.tmpId, modifyOp);
|
|
8
|
+
if (modifyOp === CREATE) {
|
|
9
|
+
def.seperateTextSort.bufferTmp[t.prop * def.localeSize] = 2;
|
|
10
|
+
ctx.hasSortText++;
|
|
11
|
+
}
|
|
12
|
+
return err;
|
|
7
13
|
}
|
|
8
14
|
else {
|
|
9
15
|
for (const lang in value) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ModifyCtx } from '../../index.js';
|
|
2
|
-
import { PropDef, SchemaTypeDef } from '
|
|
2
|
+
import { PropDef, SchemaTypeDef } from '@based/schema/def';
|
|
3
3
|
import { ModifyOp, ModifyErr } from './types.js';
|
|
4
4
|
export declare function writeVector(value: any, ctx: ModifyCtx, schema: SchemaTypeDef, t: PropDef, parentId: number, modifyOp: ModifyOp): ModifyErr;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PropDef, SchemaTypeDef } from '
|
|
1
|
+
import { PropDef, SchemaTypeDef } from '@based/schema/def';
|
|
2
2
|
import { DbClient } from './index.js';
|
|
3
3
|
import { ModifyState } from './modify/ModifyRes.js';
|
|
4
4
|
export declare class ModifyCtx {
|
|
@@ -7,6 +7,7 @@ export declare class ModifyCtx {
|
|
|
7
7
|
id: number;
|
|
8
8
|
lastMain: number;
|
|
9
9
|
hasSortField: number;
|
|
10
|
+
hasSortText: number;
|
|
10
11
|
queue: Map<(payload: any) => void, ModifyState>;
|
|
11
12
|
ctx: {
|
|
12
13
|
offsets?: Record<number, number>;
|
|
@@ -4,7 +4,7 @@ import { createOrGetEdgeRefQueryDef, createOrGetRefQueryDef, } from './include/u
|
|
|
4
4
|
import { FilterBranch } from './filter/FilterBranch.js';
|
|
5
5
|
import { search, vectorSearch } from './search/index.js';
|
|
6
6
|
import native from '../../native.js';
|
|
7
|
-
import { REFERENCE, REFERENCES } from '
|
|
7
|
+
import { REFERENCE, REFERENCES } from '@based/schema/def';
|
|
8
8
|
import { subscribe } from './subscription/index.js';
|
|
9
9
|
import { registerQuery } from './registerQuery.js';
|
|
10
10
|
import { langCodesMap } from '@based/schema';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import picocolors from 'picocolors';
|
|
2
|
-
import { isPropDef, REVERSE_TYPE_INDEX_MAP } from '
|
|
2
|
+
import { isPropDef, REVERSE_TYPE_INDEX_MAP } from '@based/schema/def';
|
|
3
3
|
import { QueryDefType } from './types.js';
|
|
4
4
|
import { concatUint8Arr } from '../bitWise.js';
|
|
5
5
|
export const debugQueryDef = (q, returnIt) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { QueryDef } from './types.js';
|
|
2
|
-
import { TypeIndex } from '
|
|
2
|
+
import { TypeIndex } from '@based/schema/def';
|
|
3
3
|
import { BasedQueryResponse } from './BasedIterable.js';
|
|
4
4
|
export declare const size: (size: number) => string;
|
|
5
5
|
export declare const time: (time: number) => string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import picocolors from 'picocolors';
|
|
2
|
-
import { BINARY, CARDINALITY, NUMBER, REFERENCE, REFERENCES, STRING, TEXT, TIMESTAMP, } from '
|
|
2
|
+
import { BINARY, CARDINALITY, NUMBER, REFERENCE, REFERENCES, STRING, TEXT, TIMESTAMP, } from '@based/schema/def';
|
|
3
3
|
const decimals = (v) => ~~(v * 100) / 100;
|
|
4
4
|
const sizeCalc = (size) => {
|
|
5
5
|
if (size > 1e6) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PropDef, PropDefEdge } from '
|
|
1
|
+
import { PropDef, PropDefEdge } from '@based/schema/def';
|
|
2
2
|
import { FilterCtx } from './types.js';
|
|
3
3
|
export declare const writeFixed: (prop: PropDef | PropDefEdge, buf: Buffer, value: any, size: number, offset: number) => void;
|
|
4
4
|
export declare const createFixedFilterBuffer: (prop: PropDef | PropDefEdge, size: number, ctx: FilterCtx, value: any, sort: boolean) => Buffer;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { BINARY, STRING, REFERENCES, } from '
|
|
2
|
-
import { propIsSigned } from '../../../server/schema/utils.js';
|
|
1
|
+
import { BINARY, STRING, REFERENCES, propIsSigned, } from '@based/schema/def';
|
|
3
2
|
import { EQUAL, MODE_AND_FIXED, MODE_DEFAULT, MODE_OR_FIXED, } from './types.js';
|
|
4
3
|
import { parseFilterValue } from './parseFilterValue.js';
|
|
5
4
|
// -------------------------------------------
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { PropDef, PropDefEdge } from '
|
|
1
|
+
import { PropDef, PropDefEdge } from '@based/schema/def';
|
|
2
2
|
import { FilterCtx } from './types.js';
|
|
3
3
|
export declare const createReferenceFilter: (prop: PropDef | PropDefEdge, ctx: FilterCtx, value: any) => Buffer;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PropDef, PropDefEdge } from '
|
|
1
|
+
import { PropDef, PropDefEdge } from '@based/schema/def';
|
|
2
2
|
import { FilterCtx } from './types.js';
|
|
3
3
|
import { LangCode } from '@based/schema';
|
|
4
4
|
export declare const createVariableFilterBuffer: (value: any, prop: PropDef | PropDefEdge, ctx: FilterCtx, lang: LangCode) => Buffer;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ALIAS, TEXT, VECTOR
|
|
1
|
+
import { ALIAS, TEXT, VECTOR } from '@based/schema/def';
|
|
2
2
|
import { EQUAL, EQUAL_CRC32, HAS, HAS_TO_LOWER_CASE, LIKE, MODE_DEFAULT_VAR, MODE_OR_VAR, getVectorFn, } from './types.js';
|
|
3
3
|
import { createFixedFilterBuffer } from './createFixedFilterBuffer.js';
|
|
4
4
|
import { crc32 } from '../../crc32.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { QueryDef, QueryDefFilter } from '../types.js';
|
|
2
|
-
import { SchemaTypeDef } from '
|
|
2
|
+
import { SchemaTypeDef } from '@based/schema/def';
|
|
3
3
|
import { Operator } from './types.js';
|
|
4
4
|
import { Filter, FilterAst } from './types.js';
|
|
5
5
|
import { DbClient } from '../../index.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isPropDef, ID_FIELD_DEF, TEXT, REFERENCE, } from '
|
|
1
|
+
import { isPropDef, ID_FIELD_DEF, TEXT, REFERENCE, } from '@based/schema/def';
|
|
2
2
|
import { primitiveFilter } from './primitiveFilter.js';
|
|
3
3
|
import { IsFilter } from './types.js';
|
|
4
4
|
import { langCodesMap } from '@based/schema';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { PropDef, PropDefEdge } from '
|
|
1
|
+
import { PropDef, PropDefEdge } from '@based/schema/def';
|
|
2
2
|
export declare const parseFilterValue: (prop: PropDef | PropDefEdge, value: any) => any;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TIMESTAMP, CREATED, UPDATED, ENUM, BOOLEAN, STRING, BINARY, TEXT, } from '
|
|
1
|
+
import { TIMESTAMP, CREATED, UPDATED, ENUM, BOOLEAN, STRING, BINARY, TEXT, } from '@based/schema/def';
|
|
2
2
|
import { crc32 } from '../../crc32.js';
|
|
3
3
|
import { convertToTimestamp } from '../../timestamp.js';
|
|
4
4
|
// -------------------------------------------
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PropDef, PropDefEdge } from '
|
|
1
|
+
import { PropDef, PropDefEdge } from '@based/schema/def';
|
|
2
2
|
import { QueryDef, QueryDefFilter } from '../types.js';
|
|
3
3
|
import { Filter } from './types.js';
|
|
4
4
|
import { LangCode } from '@based/schema';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { REFERENCE, REFERENCES, REVERSE_SIZE_MAP, } from '
|
|
1
|
+
import { CARDINALITY, REFERENCE, REFERENCES, REVERSE_SIZE_MAP, } from '@based/schema/def';
|
|
2
2
|
import { EQUAL, isNumerical } from './types.js';
|
|
3
3
|
import { createVariableFilterBuffer } from './createVariableFilterBuffer.js';
|
|
4
4
|
import { createFixedFilterBuffer } from './createFixedFilterBuffer.js';
|
|
@@ -27,6 +27,9 @@ export const primitiveFilter = (def, prop, filter, conditions, lang) => {
|
|
|
27
27
|
}
|
|
28
28
|
buf = createFixedFilterBuffer(prop, 4, ctx, value, !isNumerical(ctx.operation));
|
|
29
29
|
}
|
|
30
|
+
else if (prop.typeIndex === CARDINALITY) {
|
|
31
|
+
buf = createFixedFilterBuffer(prop, 2, ctx, value, false);
|
|
32
|
+
}
|
|
30
33
|
else if (propSize) {
|
|
31
34
|
buf = createFixedFilterBuffer(prop, propSize, ctx, value, false);
|
|
32
35
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PropDef, PropDefEdge } from '
|
|
1
|
+
import { PropDef, PropDefEdge } from '@based/schema/def';
|
|
2
2
|
import { QueryDef } from '../types.js';
|
|
3
3
|
export declare const getAll: (props: QueryDef["props"]) => string[];
|
|
4
4
|
export declare const getAllRefs: (props: QueryDef["props"], affix?: string) => string[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PropDef, PropDefEdge, SchemaPropTree } from '
|
|
1
|
+
import { PropDef, PropDefEdge, SchemaPropTree } from '@based/schema/def';
|
|
2
2
|
import { DbClient } from '../../index.js';
|
|
3
3
|
import { QueryDef } from '../types.js';
|
|
4
4
|
export declare const getAllFieldFromObject: (tree: SchemaPropTree | PropDef, arr?: string[]) => string[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isPropDef, REFERENCE, REFERENCES, TEXT, } from '
|
|
1
|
+
import { isPropDef, REFERENCE, REFERENCES, TEXT, } from '@based/schema/def';
|
|
2
2
|
import { createQueryDef } from '../queryDef.js';
|
|
3
3
|
import { isRefDef, QueryDefType } from '../types.js';
|
|
4
4
|
import { getAllFieldFromObject, createOrGetRefQueryDef } from './utils.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ALIAS, ALIASES, BINARY, BOOLEAN, ENUM, INT16, INT32, INT8, NUMBER, STRING, TEXT, TIMESTAMP, UINT16, UINT32, UINT8, VECTOR, JSON, CARDINALITY, } from '
|
|
1
|
+
import { ALIAS, ALIASES, BINARY, BOOLEAN, ENUM, INT16, INT32, INT8, NUMBER, STRING, TEXT, TIMESTAMP, UINT16, UINT32, UINT8, VECTOR, JSON, CARDINALITY, } from '@based/schema/def';
|
|
2
2
|
import { read, readUtf8 } from '../../string.js';
|
|
3
3
|
import { readDoubleLE, readFloatLE, readInt16, readInt32, readUint16, readUint32, } from '../../bitWise.js';
|
|
4
4
|
import { inverseLangMap } from '@based/schema';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { langCodesMap } from '@based/schema';
|
|
2
|
-
import { STRING, TEXT, VECTOR } from '
|
|
2
|
+
import { STRING, TEXT, VECTOR } from '@based/schema/def';
|
|
3
3
|
import { getVectorFn } from '../filter/types.js';
|
|
4
4
|
import { searchDoesNotExist, searchIncorrecQueryValue, searchIncorrectType, } from '../validation.js';
|
|
5
5
|
const makeSize = (nr, u8 = false) => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PropDef, PropDefEdge } from '
|
|
1
|
+
import { PropDef, PropDefEdge } from '@based/schema/def';
|
|
2
2
|
import { Subscription, SubscriptionMarkerMap, SubscriptionMarkersCheck } from './types.js';
|
|
3
3
|
import { BasedDbQuery } from '../BasedDbQuery.js';
|
|
4
4
|
import { DbClient } from '../../index.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LangCode } from '@based/schema';
|
|
2
|
-
import { PropDef, PropDefEdge, SchemaTypeDef } from '
|
|
2
|
+
import { PropDef, PropDefEdge, SchemaTypeDef } from '@based/schema/def';
|
|
3
3
|
import { FilterOpts } from './filter/types.js';
|
|
4
4
|
import { QueryError } from './validation.js';
|
|
5
5
|
export type MainIncludes = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PropDef, PropDefEdge, SchemaTypeDef } from '
|
|
1
|
+
import { PropDef, PropDefEdge, SchemaTypeDef } from '@based/schema/def';
|
|
2
2
|
import { DbClient } from '../index.js';
|
|
3
3
|
import { Filter } from './query.js';
|
|
4
4
|
import { QueryByAliasObj, QueryDef } from './types.js';
|