@lossless.org/client 0.1.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/.smartconfig.json +37 -0
- package/dist_ts/00_commitinfo_data.d.ts +8 -0
- package/dist_ts/00_commitinfo_data.js +9 -0
- package/dist_ts/classes.losslessorgclient.d.ts +32 -0
- package/dist_ts/classes.losslessorgclient.js +103 -0
- package/dist_ts/core/classes.error.d.ts +16 -0
- package/dist_ts/core/classes.error.js +29 -0
- package/dist_ts/core/classes.operation.d.ts +17 -0
- package/dist_ts/core/classes.operation.js +70 -0
- package/dist_ts/core/interfaces.d.ts +18 -0
- package/dist_ts/core/interfaces.js +2 -0
- package/dist_ts/index.d.ts +4 -0
- package/dist_ts/index.js +3 -0
- package/dist_ts/nosqldb/classes.atomicdelete.d.ts +26 -0
- package/dist_ts/nosqldb/classes.atomicdelete.js +44 -0
- package/dist_ts/nosqldb/classes.atomicfindoneandupdate.d.ts +27 -0
- package/dist_ts/nosqldb/classes.atomicfindoneandupdate.js +86 -0
- package/dist_ts/nosqldb/classes.atomicupdate.d.ts +26 -0
- package/dist_ts/nosqldb/classes.atomicupdate.js +55 -0
- package/dist_ts/nosqldb/classes.bootstraprecord.d.ts +14 -0
- package/dist_ts/nosqldb/classes.bootstraprecord.js +80 -0
- package/dist_ts/nosqldb/classes.bsonassertion.d.ts +2 -0
- package/dist_ts/nosqldb/classes.bsonassertion.js +29 -0
- package/dist_ts/nosqldb/classes.bsonobjectid.d.ts +2 -0
- package/dist_ts/nosqldb/classes.bsonobjectid.js +50 -0
- package/dist_ts/nosqldb/classes.bsonsnapshot.d.ts +3 -0
- package/dist_ts/nosqldb/classes.bsonsnapshot.js +126 -0
- package/dist_ts/nosqldb/classes.cached-document.d.ts +27 -0
- package/dist_ts/nosqldb/classes.cached-document.js +112 -0
- package/dist_ts/nosqldb/classes.collection.d.ts +302 -0
- package/dist_ts/nosqldb/classes.collection.js +1568 -0
- package/dist_ts/nosqldb/classes.collectionfactory.d.ts +30 -0
- package/dist_ts/nosqldb/classes.collectionfactory.js +65 -0
- package/dist_ts/nosqldb/classes.collectionlifecycle.d.ts +4 -0
- package/dist_ts/nosqldb/classes.collectionlifecycle.js +15 -0
- package/dist_ts/nosqldb/classes.collectionpreparation.d.ts +34 -0
- package/dist_ts/nosqldb/classes.collectionpreparation.js +134 -0
- package/dist_ts/nosqldb/classes.collectiontopology.d.ts +47 -0
- package/dist_ts/nosqldb/classes.collectiontopology.js +388 -0
- package/dist_ts/nosqldb/classes.connection.d.ts +18 -0
- package/dist_ts/nosqldb/classes.connection.js +23 -0
- package/dist_ts/nosqldb/classes.convenience.d.ts +1 -0
- package/dist_ts/nosqldb/classes.convenience.js +5 -0
- package/dist_ts/nosqldb/classes.cursor.d.ts +15 -0
- package/dist_ts/nosqldb/classes.cursor.js +82 -0
- package/dist_ts/nosqldb/classes.cursoroperation.d.ts +7 -0
- package/dist_ts/nosqldb/classes.cursoroperation.js +36 -0
- package/dist_ts/nosqldb/classes.db.d.ts +98 -0
- package/dist_ts/nosqldb/classes.db.js +434 -0
- package/dist_ts/nosqldb/classes.distributedcoordinator.d.ts +52 -0
- package/dist_ts/nosqldb/classes.distributedcoordinator.js +314 -0
- package/dist_ts/nosqldb/classes.doc.d.ts +722 -0
- package/dist_ts/nosqldb/classes.doc.js +2976 -0
- package/dist_ts/nosqldb/classes.easystore.d.ts +42 -0
- package/dist_ts/nosqldb/classes.easystore.js +199 -0
- package/dist_ts/nosqldb/classes.exactpersistence.d.ts +141 -0
- package/dist_ts/nosqldb/classes.exactpersistence.js +1110 -0
- package/dist_ts/nosqldb/classes.lucene.adapter.d.ts +173 -0
- package/dist_ts/nosqldb/classes.lucene.adapter.js +623 -0
- package/dist_ts/nosqldb/classes.mongoadministration.d.ts +73 -0
- package/dist_ts/nosqldb/classes.mongoadministration.js +497 -0
- package/dist_ts/nosqldb/classes.namespaceinspection.d.ts +42 -0
- package/dist_ts/nosqldb/classes.namespaceinspection.js +138 -0
- package/dist_ts/nosqldb/classes.operationbudget.d.ts +22 -0
- package/dist_ts/nosqldb/classes.operationbudget.js +65 -0
- package/dist_ts/nosqldb/classes.ordinarypersistence.d.ts +18 -0
- package/dist_ts/nosqldb/classes.ordinarypersistence.js +71 -0
- package/dist_ts/nosqldb/classes.persistence.d.ts +14 -0
- package/dist_ts/nosqldb/classes.persistence.js +34 -0
- package/dist_ts/nosqldb/classes.session.d.ts +28 -0
- package/dist_ts/nosqldb/classes.session.js +246 -0
- package/dist_ts/nosqldb/classes.storedinspection.d.ts +44 -0
- package/dist_ts/nosqldb/classes.storedinspection.js +100 -0
- package/dist_ts/nosqldb/classes.testdatabase.d.ts +56 -0
- package/dist_ts/nosqldb/classes.testdatabase.js +250 -0
- package/dist_ts/nosqldb/classes.watcher.d.ts +37 -0
- package/dist_ts/nosqldb/classes.watcher.js +98 -0
- package/dist_ts/nosqldb/index.d.ts +27 -0
- package/dist_ts/nosqldb/index.js +18 -0
- package/dist_ts/nosqldb/logging.d.ts +2 -0
- package/dist_ts/nosqldb/logging.js +3 -0
- package/dist_ts/nosqldb/plugins.d.ts +17 -0
- package/dist_ts/nosqldb/plugins.js +20 -0
- package/dist_ts/nosqldb/shim.d.ts +1 -0
- package/dist_ts/nosqldb/shim.js +8 -0
- package/dist_ts/nosqldb/testsupport.d.ts +3 -0
- package/dist_ts/nosqldb/testsupport.js +3 -0
- package/dist_ts/objectstorage/classes.bucket.d.ts +227 -0
- package/dist_ts/objectstorage/classes.bucket.js +939 -0
- package/dist_ts/objectstorage/classes.connection.d.ts +21 -0
- package/dist_ts/objectstorage/classes.connection.js +27 -0
- package/dist_ts/objectstorage/classes.directory.d.ts +124 -0
- package/dist_ts/objectstorage/classes.directory.js +335 -0
- package/dist_ts/objectstorage/classes.exactpathpurgeerror.d.ts +5 -0
- package/dist_ts/objectstorage/classes.exactpathpurgeerror.js +18 -0
- package/dist_ts/objectstorage/classes.exactuploaderror.d.ts +5 -0
- package/dist_ts/objectstorage/classes.exactuploaderror.js +19 -0
- package/dist_ts/objectstorage/classes.file.d.ts +91 -0
- package/dist_ts/objectstorage/classes.file.js +255 -0
- package/dist_ts/objectstorage/classes.listcursor.d.ts +41 -0
- package/dist_ts/objectstorage/classes.listcursor.js +67 -0
- package/dist_ts/objectstorage/classes.metadata.d.ts +57 -0
- package/dist_ts/objectstorage/classes.metadata.js +113 -0
- package/dist_ts/objectstorage/classes.smartbucket.d.ts +57 -0
- package/dist_ts/objectstorage/classes.smartbucket.js +357 -0
- package/dist_ts/objectstorage/classes.trash.d.ts +11 -0
- package/dist_ts/objectstorage/classes.trash.js +22 -0
- package/dist_ts/objectstorage/classes.watcher.d.ts +79 -0
- package/dist_ts/objectstorage/classes.watcher.js +249 -0
- package/dist_ts/objectstorage/helpers.d.ts +25 -0
- package/dist_ts/objectstorage/helpers.js +215 -0
- package/dist_ts/objectstorage/index.d.ts +13 -0
- package/dist_ts/objectstorage/index.js +13 -0
- package/dist_ts/objectstorage/interfaces.d.ts +276 -0
- package/dist_ts/objectstorage/interfaces.js +2 -0
- package/dist_ts/objectstorage/internal.exactpathpurge.operations.d.ts +11 -0
- package/dist_ts/objectstorage/internal.exactpathpurge.operations.js +1069 -0
- package/dist_ts/objectstorage/internal.exactupload.capability.d.ts +40 -0
- package/dist_ts/objectstorage/internal.exactupload.capability.js +382 -0
- package/dist_ts/objectstorage/internal.exactupload.operations.d.ts +11 -0
- package/dist_ts/objectstorage/internal.exactupload.operations.js +1104 -0
- package/dist_ts/objectstorage/internal.multipart.planner.d.ts +8 -0
- package/dist_ts/objectstorage/internal.multipart.planner.js +63 -0
- package/dist_ts/objectstorage/internal.multipart.stream.d.ts +17 -0
- package/dist_ts/objectstorage/internal.multipart.stream.js +440 -0
- package/dist_ts/objectstorage/internal.multipart.types.d.ts +82 -0
- package/dist_ts/objectstorage/internal.multipart.types.js +2 -0
- package/dist_ts/objectstorage/plugins.d.ts +17 -0
- package/dist_ts/objectstorage/plugins.js +23 -0
- package/dist_ts/plugins.d.ts +4 -0
- package/dist_ts/plugins.js +5 -0
- package/dist_ts/sqldb/classes.clickhouseconnection.d.ts +39 -0
- package/dist_ts/sqldb/classes.clickhouseconnection.js +225 -0
- package/dist_ts/sqldb/classes.sqlconnection.d.ts +50 -0
- package/dist_ts/sqldb/classes.sqlconnection.js +376 -0
- package/dist_ts/sqldb/classes.sqltable.d.ts +29 -0
- package/dist_ts/sqldb/classes.sqltable.js +70 -0
- package/dist_ts/sqldb/clickhouse/classes.metricwriter.d.ts +27 -0
- package/dist_ts/sqldb/clickhouse/classes.metricwriter.js +89 -0
- package/dist_ts/sqldb/clickhouse/index.d.ts +9 -0
- package/dist_ts/sqldb/clickhouse/index.js +13 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.clickhousetable.d.ts +88 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.clickhousetable.js +304 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.httpclient.d.ts +28 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.httpclient.js +46 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.querybuilder.d.ts +43 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.querybuilder.js +155 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.resultset.d.ts +13 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.resultset.js +36 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.smartclickhouse.d.ts +49 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.smartclickhouse.js +106 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.timedatatable.d.ts +51 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.timedatatable.js +96 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.plugins.d.ts +5 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.plugins.js +6 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.types.d.ts +53 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.types.js +41 -0
- package/dist_ts/sqldb/index.d.ts +6 -0
- package/dist_ts/sqldb/index.js +6 -0
- package/dist_ts/sqldb/interfaces.d.ts +53 -0
- package/dist_ts/sqldb/interfaces.js +19 -0
- package/dist_ts/sqldb/internal.sqlpool.d.ts +51 -0
- package/dist_ts/sqldb/internal.sqlpool.js +214 -0
- package/dist_ts/sqldb/plugins.clickhouse.d.ts +4 -0
- package/dist_ts/sqldb/plugins.clickhouse.js +5 -0
- package/dist_ts/sqldb/plugins.mariadb.d.ts +4 -0
- package/dist_ts/sqldb/plugins.mariadb.js +5 -0
- package/docs/source/smartbucket/license.md +19 -0
- package/docs/source/smartclickhouse/license.md +19 -0
- package/license.md +21 -0
- package/package.json +101 -0
- package/readme.md +157 -0
- package/ts/00_commitinfo_data.ts +8 -0
- package/ts/classes.losslessorgclient.ts +104 -0
- package/ts/core/classes.error.ts +31 -0
- package/ts/core/classes.operation.ts +60 -0
- package/ts/core/interfaces.ts +24 -0
- package/ts/index.ts +4 -0
- package/ts/nosqldb/classes.atomicdelete.ts +81 -0
- package/ts/nosqldb/classes.atomicfindoneandupdate.ts +152 -0
- package/ts/nosqldb/classes.atomicupdate.ts +99 -0
- package/ts/nosqldb/classes.bootstraprecord.ts +107 -0
- package/ts/nosqldb/classes.bsonassertion.ts +25 -0
- package/ts/nosqldb/classes.bsonobjectid.ts +45 -0
- package/ts/nosqldb/classes.bsonsnapshot.ts +105 -0
- package/ts/nosqldb/classes.cached-document.ts +67 -0
- package/ts/nosqldb/classes.collection.ts +2399 -0
- package/ts/nosqldb/classes.collectionfactory.ts +87 -0
- package/ts/nosqldb/classes.collectionlifecycle.ts +24 -0
- package/ts/nosqldb/classes.collectionpreparation.ts +164 -0
- package/ts/nosqldb/classes.collectiontopology.ts +645 -0
- package/ts/nosqldb/classes.connection.ts +31 -0
- package/ts/nosqldb/classes.convenience.ts +5 -0
- package/ts/nosqldb/classes.cursor.ts +88 -0
- package/ts/nosqldb/classes.cursoroperation.ts +38 -0
- package/ts/nosqldb/classes.db.ts +637 -0
- package/ts/nosqldb/classes.distributedcoordinator.ts +305 -0
- package/ts/nosqldb/classes.doc.ts +4928 -0
- package/ts/nosqldb/classes.easystore.ts +154 -0
- package/ts/nosqldb/classes.exactpersistence.ts +1974 -0
- package/ts/nosqldb/classes.lucene.adapter.ts +780 -0
- package/ts/nosqldb/classes.mongoadministration.ts +867 -0
- package/ts/nosqldb/classes.namespaceinspection.ts +199 -0
- package/ts/nosqldb/classes.operationbudget.ts +75 -0
- package/ts/nosqldb/classes.ordinarypersistence.ts +84 -0
- package/ts/nosqldb/classes.persistence.ts +62 -0
- package/ts/nosqldb/classes.session.ts +389 -0
- package/ts/nosqldb/classes.storedinspection.ts +151 -0
- package/ts/nosqldb/classes.testdatabase.ts +272 -0
- package/ts/nosqldb/classes.watcher.ts +96 -0
- package/ts/nosqldb/index.ts +51 -0
- package/ts/nosqldb/logging.ts +3 -0
- package/ts/nosqldb/plugins.ts +37 -0
- package/ts/nosqldb/shim.ts +6 -0
- package/ts/nosqldb/testsupport.ts +13 -0
- package/ts/objectstorage/classes.bucket.ts +1114 -0
- package/ts/objectstorage/classes.connection.ts +36 -0
- package/ts/objectstorage/classes.directory.ts +425 -0
- package/ts/objectstorage/classes.exactpathpurgeerror.ts +24 -0
- package/ts/objectstorage/classes.exactuploaderror.ts +25 -0
- package/ts/objectstorage/classes.file.ts +303 -0
- package/ts/objectstorage/classes.listcursor.ts +89 -0
- package/ts/objectstorage/classes.metadata.ts +134 -0
- package/ts/objectstorage/classes.smartbucket.ts +445 -0
- package/ts/objectstorage/classes.trash.ts +30 -0
- package/ts/objectstorage/classes.watcher.ts +289 -0
- package/ts/objectstorage/helpers.ts +254 -0
- package/ts/objectstorage/index.ts +13 -0
- package/ts/objectstorage/interfaces.ts +389 -0
- package/ts/objectstorage/internal.exactpathpurge.operations.ts +1936 -0
- package/ts/objectstorage/internal.exactupload.capability.ts +580 -0
- package/ts/objectstorage/internal.exactupload.operations.ts +1715 -0
- package/ts/objectstorage/internal.multipart.planner.ts +90 -0
- package/ts/objectstorage/internal.multipart.stream.ts +606 -0
- package/ts/objectstorage/internal.multipart.types.ts +106 -0
- package/ts/objectstorage/plugins.ts +35 -0
- package/ts/plugins.ts +4 -0
- package/ts/sqldb/classes.clickhouseconnection.ts +189 -0
- package/ts/sqldb/classes.sqlconnection.ts +350 -0
- package/ts/sqldb/classes.sqltable.ts +70 -0
- package/ts/sqldb/clickhouse/classes.metricwriter.ts +72 -0
- package/ts/sqldb/clickhouse/index.ts +16 -0
- package/ts/sqldb/clickhouse/smartclickhouse.classes.clickhousetable.ts +372 -0
- package/ts/sqldb/clickhouse/smartclickhouse.classes.httpclient.ts +52 -0
- package/ts/sqldb/clickhouse/smartclickhouse.classes.querybuilder.ts +120 -0
- package/ts/sqldb/clickhouse/smartclickhouse.classes.resultset.ts +44 -0
- package/ts/sqldb/clickhouse/smartclickhouse.classes.smartclickhouse.ts +123 -0
- package/ts/sqldb/clickhouse/smartclickhouse.classes.timedatatable.ts +114 -0
- package/ts/sqldb/clickhouse/smartclickhouse.plugins.ts +5 -0
- package/ts/sqldb/clickhouse/smartclickhouse.types.ts +134 -0
- package/ts/sqldb/index.ts +6 -0
- package/ts/sqldb/interfaces.ts +61 -0
- package/ts/sqldb/internal.sqlpool.ts +179 -0
- package/ts/sqldb/plugins.clickhouse.ts +4 -0
- package/ts/sqldb/plugins.mariadb.ts +4 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// plugins.ts
|
|
2
|
+
// node native
|
|
3
|
+
import * as crypto from 'node:crypto';
|
|
4
|
+
import * as path from 'node:path';
|
|
5
|
+
import * as stream from 'node:stream';
|
|
6
|
+
export { crypto, path, stream };
|
|
7
|
+
// @push.rocks scope
|
|
8
|
+
import * as smartmime from '@push.rocks/smartmime';
|
|
9
|
+
import * as smartpath from '@push.rocks/smartpath';
|
|
10
|
+
import * as smartpromise from '@push.rocks/smartpromise';
|
|
11
|
+
import * as smartrx from '@push.rocks/smartrx';
|
|
12
|
+
import * as smartstream from '@push.rocks/smartstream';
|
|
13
|
+
import * as smartstring from '@push.rocks/smartstring';
|
|
14
|
+
import * as smartunique from '@push.rocks/smartunique';
|
|
15
|
+
export { smartmime, smartpath, smartpromise, smartrx, smartstream, smartstring, smartunique };
|
|
16
|
+
// @tsclass
|
|
17
|
+
import * as tsclass from '@tsclass/tsclass';
|
|
18
|
+
export { tsclass, };
|
|
19
|
+
// third party scope
|
|
20
|
+
import * as s3 from '@aws-sdk/client-s3';
|
|
21
|
+
import { Minimatch } from 'minimatch';
|
|
22
|
+
export { s3, Minimatch, };
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL29iamVjdHN0b3JhZ2UvcGx1Z2lucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxhQUFhO0FBRWIsY0FBYztBQUNkLE9BQU8sS0FBSyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sS0FBSyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sS0FBSyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBRWhDLG9CQUFvQjtBQUNwQixPQUFPLEtBQUssU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sS0FBSyxTQUFTLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxLQUFLLFlBQVksTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEtBQUssT0FBTyxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxXQUFXLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxLQUFLLFdBQVcsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEtBQUssV0FBVyxNQUFNLHlCQUF5QixDQUFDO0FBRXZELE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQztBQUU5RixXQUFXO0FBQ1gsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxPQUFPLEVBQ0wsT0FBTyxHQUNSLENBQUE7QUFFRCxvQkFBb0I7QUFDcEIsT0FBTyxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRDLE9BQU8sRUFDTCxFQUFFLEVBQ0YsU0FBUyxHQUNWLENBQUEifQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const loadNoSql: () => Promise<typeof import("./nosqldb/classes.connection.js")>;
|
|
2
|
+
export declare const loadObjects: () => Promise<typeof import("./objectstorage/classes.connection.js")>;
|
|
3
|
+
export declare const loadSql: () => Promise<typeof import("./sqldb/classes.sqlconnection.js")>;
|
|
4
|
+
export declare const loadClickHouse: () => Promise<typeof import("./sqldb/classes.clickhouseconnection.js")>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const loadNoSql = () => import('./nosqldb/classes.connection.js');
|
|
2
|
+
export const loadObjects = () => import('./objectstorage/classes.connection.js');
|
|
3
|
+
export const loadSql = () => import('./sqldb/classes.sqlconnection.js');
|
|
4
|
+
export const loadClickHouse = () => import('./sqldb/classes.clickhouseconnection.js');
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3BsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQztBQUNqRixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7QUFDeEUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDIn0=
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { ICapabilities, IOperationOptions, IReadiness } from '../core/interfaces.js';
|
|
2
|
+
import type { IClickHouseConnectionOptions, IClickHouseStatement, IInsertOptions, IQueryOptions } from './interfaces.js';
|
|
3
|
+
import { SmartClickHouseDb } from './clickhouse/smartclickhouse.classes.smartclickhouse.js';
|
|
4
|
+
/** ClickHouse HTTP connection. The server executes filtering, projection and aggregation. */
|
|
5
|
+
export declare class ClickHouseConnection {
|
|
6
|
+
readonly options: IClickHouseConnectionOptions;
|
|
7
|
+
readonly backend: "clickhouse";
|
|
8
|
+
readonly metrics: SmartClickHouseDb;
|
|
9
|
+
readonly capabilities: ICapabilities;
|
|
10
|
+
private client?;
|
|
11
|
+
private readonly operations;
|
|
12
|
+
private readonly tasks;
|
|
13
|
+
private closed;
|
|
14
|
+
private closing?;
|
|
15
|
+
private connecting?;
|
|
16
|
+
private readonly writerCleanup;
|
|
17
|
+
constructor(options: IClickHouseConnectionOptions);
|
|
18
|
+
connect(options?: IOperationOptions): Promise<void>;
|
|
19
|
+
private begin;
|
|
20
|
+
private end;
|
|
21
|
+
private track;
|
|
22
|
+
ready(options?: IOperationOptions): Promise<IReadiness>;
|
|
23
|
+
execute(statement: IClickHouseStatement, options?: IOperationOptions): Promise<{
|
|
24
|
+
queryId: string;
|
|
25
|
+
completion: 'acknowledged';
|
|
26
|
+
}>;
|
|
27
|
+
stream<Row = Record<string, unknown>>(statement: IClickHouseStatement, options?: IOperationOptions): AsyncGenerator<Row>;
|
|
28
|
+
query<Row = Record<string, unknown>>(statement: IClickHouseStatement, options?: IQueryOptions): Promise<Row[]>;
|
|
29
|
+
insert(table: string, rows: AsyncIterable<Record<string, unknown>> | Iterable<Record<string, unknown>>, options?: IInsertOptions): Promise<{
|
|
30
|
+
queryId: string;
|
|
31
|
+
completion: 'acknowledged';
|
|
32
|
+
}>;
|
|
33
|
+
insertQualified(database: string, table: string, rows: AsyncIterable<Record<string, unknown>> | Iterable<Record<string, unknown>>, options?: IInsertOptions): Promise<{
|
|
34
|
+
queryId: string;
|
|
35
|
+
completion: 'acknowledged';
|
|
36
|
+
}>;
|
|
37
|
+
close(): Promise<void>;
|
|
38
|
+
private validate;
|
|
39
|
+
}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import * as plugins from './plugins.clickhouse.js';
|
|
2
|
+
import { Operation } from '../core/classes.operation.js';
|
|
3
|
+
import { LosslessClientError, backendError } from '../core/classes.error.js';
|
|
4
|
+
import { quoteClickHouseIdentifier as quoteIdentifier, resultLimits, valueBytes } from './interfaces.js';
|
|
5
|
+
import { SmartClickHouseDb } from './clickhouse/smartclickhouse.classes.smartclickhouse.js';
|
|
6
|
+
/** ClickHouse HTTP connection. The server executes filtering, projection and aggregation. */
|
|
7
|
+
export class ClickHouseConnection {
|
|
8
|
+
options;
|
|
9
|
+
backend = 'clickhouse';
|
|
10
|
+
metrics;
|
|
11
|
+
capabilities = Object.freeze({ backend: 'clickhouse',
|
|
12
|
+
transactions: 'unsupported', changeStreams: 'unsupported', objectMetrics: 'unsupported', diskResidentScans: 'available' });
|
|
13
|
+
client;
|
|
14
|
+
operations = new Map();
|
|
15
|
+
tasks = new Set();
|
|
16
|
+
closed = false;
|
|
17
|
+
closing;
|
|
18
|
+
connecting;
|
|
19
|
+
writerCleanup = new plugins.asyncHooks.AsyncLocalStorage();
|
|
20
|
+
constructor(options) {
|
|
21
|
+
this.options = options;
|
|
22
|
+
const url = new URL(options.url);
|
|
23
|
+
if (!['http:', 'https:'].includes(url.protocol) || !options.database || url.username || url.password ||
|
|
24
|
+
url.search || url.hash || url.pathname !== '/') {
|
|
25
|
+
throw new LosslessClientError('invalid_argument', 'ClickHouse requires an HTTP(S) URL, separate credentials and a database.');
|
|
26
|
+
}
|
|
27
|
+
const limit = options.connectionLimit ?? 10;
|
|
28
|
+
if (!Number.isSafeInteger(limit) || limit < 1 || limit > 1024) {
|
|
29
|
+
throw new LosslessClientError('invalid_argument', 'connectionLimit must be between 1 and 1024.');
|
|
30
|
+
}
|
|
31
|
+
const budget = new Operation({ timeoutMs: options.timeoutMs });
|
|
32
|
+
budget.dispose();
|
|
33
|
+
this.metrics = new SmartClickHouseDb(options, this);
|
|
34
|
+
}
|
|
35
|
+
connect(options = {}) {
|
|
36
|
+
if (this.closed || this.closing)
|
|
37
|
+
return Promise.reject(new LosslessClientError('closed', 'ClickHouse connection is closed.'));
|
|
38
|
+
if (this.connecting)
|
|
39
|
+
return this.connecting;
|
|
40
|
+
if (this.client)
|
|
41
|
+
return Promise.resolve();
|
|
42
|
+
this.client = plugins.clickhouse.createClient({ url: this.options.url,
|
|
43
|
+
database: this.options.database, username: this.options.username, password: this.options.password,
|
|
44
|
+
log: { level: plugins.clickhouse.ClickHouseLogLevel.OFF },
|
|
45
|
+
max_open_connections: this.options.connectionLimit ?? 10, request_timeout: this.options.timeoutMs ?? 30_000 });
|
|
46
|
+
this.connecting = (async () => {
|
|
47
|
+
try {
|
|
48
|
+
await this.query({ sql: 'SELECT 1 AS ready' }, { ...options, maxRows: 1 });
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
const client = this.client;
|
|
52
|
+
this.client = undefined;
|
|
53
|
+
await client?.close();
|
|
54
|
+
throw error;
|
|
55
|
+
}
|
|
56
|
+
finally {
|
|
57
|
+
this.connecting = undefined;
|
|
58
|
+
}
|
|
59
|
+
})();
|
|
60
|
+
return this.connecting;
|
|
61
|
+
}
|
|
62
|
+
begin(options) {
|
|
63
|
+
if (!this.client || this.closed || (this.closing && !this.writerCleanup.getStore())) {
|
|
64
|
+
throw new LosslessClientError(this.closed || this.closing ? 'closed' : 'not_connected', 'ClickHouse connection is not open.');
|
|
65
|
+
}
|
|
66
|
+
const operation = new Operation(options, this.options.timeoutMs);
|
|
67
|
+
this.operations.set(operation, () => { });
|
|
68
|
+
try {
|
|
69
|
+
operation.check();
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
this.end(operation);
|
|
73
|
+
throw error;
|
|
74
|
+
}
|
|
75
|
+
return { client: this.client, operation };
|
|
76
|
+
}
|
|
77
|
+
end(operation) {
|
|
78
|
+
operation.dispose();
|
|
79
|
+
this.operations.delete(operation);
|
|
80
|
+
}
|
|
81
|
+
track(task) {
|
|
82
|
+
this.tasks.add(task);
|
|
83
|
+
void task.finally(() => this.tasks.delete(task)).catch(() => { });
|
|
84
|
+
return task;
|
|
85
|
+
}
|
|
86
|
+
async ready(options = {}) {
|
|
87
|
+
try {
|
|
88
|
+
await this.query({ sql: 'SELECT 1 AS ready' }, { ...options, maxRows: 1 });
|
|
89
|
+
return { ready: true };
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
return { ready: false, reason: error instanceof LosslessClientError ? error.code : 'unavailable' };
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
execute(statement, options = {}) {
|
|
96
|
+
this.validate(statement);
|
|
97
|
+
return this.track((async () => {
|
|
98
|
+
const { client, operation } = this.begin(options);
|
|
99
|
+
try {
|
|
100
|
+
const result = await client.command({ query: statement.sql, query_params: statement.values,
|
|
101
|
+
abort_signal: operation.signal, clickhouse_settings: { wait_end_of_query: 1, mutations_sync: '2' } });
|
|
102
|
+
return { queryId: result.query_id, completion: 'acknowledged' };
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
// HTTP transport loss does not establish whether the server committed a mutation.
|
|
106
|
+
if (operation.signal.aborted || !(error instanceof Error && 'code' in error && /^\d+$/.test(String(error.code)))) {
|
|
107
|
+
throw new LosslessClientError('ambiguous_write', 'ClickHouse mutation outcome is unknown.', { cause: error });
|
|
108
|
+
}
|
|
109
|
+
throw backendError(error);
|
|
110
|
+
}
|
|
111
|
+
finally {
|
|
112
|
+
this.end(operation);
|
|
113
|
+
}
|
|
114
|
+
})());
|
|
115
|
+
}
|
|
116
|
+
async *stream(statement, options = {}) {
|
|
117
|
+
this.validate(statement);
|
|
118
|
+
const { client, operation } = this.begin(options);
|
|
119
|
+
let result;
|
|
120
|
+
try {
|
|
121
|
+
result = await this.track(client.query({ query: statement.sql, query_params: statement.values,
|
|
122
|
+
format: 'JSONEachRow', abort_signal: operation.signal,
|
|
123
|
+
clickhouse_settings: { output_format_json_quote_64bit_integers: 1, output_format_json_quote_decimals: 1 } }));
|
|
124
|
+
const current = result;
|
|
125
|
+
this.operations.set(operation, () => current.close());
|
|
126
|
+
const stream = result.stream();
|
|
127
|
+
stream.on('error', () => { });
|
|
128
|
+
stream.once('close', () => this.end(operation));
|
|
129
|
+
for await (const batch of stream) {
|
|
130
|
+
operation.check();
|
|
131
|
+
for (const row of batch) {
|
|
132
|
+
operation.check();
|
|
133
|
+
yield row.json();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
operation.check();
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
throw operation.signal.aborted ? operation.signal.reason : backendError(error);
|
|
140
|
+
}
|
|
141
|
+
finally {
|
|
142
|
+
result?.close();
|
|
143
|
+
this.end(operation);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
async query(statement, options = {}) {
|
|
147
|
+
const limits = resultLimits(options), rows = [];
|
|
148
|
+
let bytes = 0;
|
|
149
|
+
for await (const row of this.stream(statement, options)) {
|
|
150
|
+
bytes += valueBytes(row);
|
|
151
|
+
if (rows.length >= limits.rows || bytes > limits.bytes) {
|
|
152
|
+
throw new LosslessClientError('result_limit', 'ClickHouse result exceeded its materialization limit. Use stream().');
|
|
153
|
+
}
|
|
154
|
+
rows.push(row);
|
|
155
|
+
}
|
|
156
|
+
return rows;
|
|
157
|
+
}
|
|
158
|
+
insert(table, rows, options = {}) {
|
|
159
|
+
return this.insertQualified(this.options.database, table, rows, options);
|
|
160
|
+
}
|
|
161
|
+
insertQualified(database, table, rows, options = {}) {
|
|
162
|
+
const target = `${quoteIdentifier(database)}.${quoteIdentifier(table)}`;
|
|
163
|
+
const maxBytes = options.maxBatchBytes ?? 4 * 1024 * 1024;
|
|
164
|
+
if (!Number.isSafeInteger(maxBytes) || maxBytes < 1)
|
|
165
|
+
throw new LosslessClientError('invalid_argument', 'maxBatchBytes must be a positive integer.');
|
|
166
|
+
return this.track((async () => {
|
|
167
|
+
const { client, operation } = this.begin(options);
|
|
168
|
+
const source = plugins.stream.Readable.from((async function* () {
|
|
169
|
+
for await (const row of operation.iterate(rows)) {
|
|
170
|
+
operation.check();
|
|
171
|
+
if (valueBytes(row) > maxBytes)
|
|
172
|
+
throw new LosslessClientError('invalid_argument', 'ClickHouse row exceeds maxBatchBytes.');
|
|
173
|
+
yield row;
|
|
174
|
+
}
|
|
175
|
+
})(), { objectMode: true, highWaterMark: 1 });
|
|
176
|
+
source.on('error', () => { });
|
|
177
|
+
this.operations.set(operation, () => source.destroy());
|
|
178
|
+
try {
|
|
179
|
+
const result = await client.insert({ table: target, values: source, format: 'JSONEachRow',
|
|
180
|
+
abort_signal: operation.signal, clickhouse_settings: { async_insert: 0, wait_end_of_query: 1 } });
|
|
181
|
+
return { queryId: result.query_id, completion: 'acknowledged' };
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
throw new LosslessClientError('ambiguous_write', 'ClickHouse insert may have stored part or all of the input.', { cause: error });
|
|
185
|
+
}
|
|
186
|
+
finally {
|
|
187
|
+
source.destroy();
|
|
188
|
+
this.end(operation);
|
|
189
|
+
}
|
|
190
|
+
})());
|
|
191
|
+
}
|
|
192
|
+
close() {
|
|
193
|
+
return this.closing ??= (async () => {
|
|
194
|
+
let writerError;
|
|
195
|
+
try {
|
|
196
|
+
await this.writerCleanup.run(true, () => this.metrics.closeWriters());
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
writerError = error;
|
|
200
|
+
}
|
|
201
|
+
this.closed = true;
|
|
202
|
+
for (const [operation, dispose] of this.operations) {
|
|
203
|
+
operation.cancel();
|
|
204
|
+
dispose();
|
|
205
|
+
}
|
|
206
|
+
await Promise.allSettled([...this.tasks]);
|
|
207
|
+
if (this.connecting)
|
|
208
|
+
await Promise.allSettled([this.connecting]);
|
|
209
|
+
const client = this.client;
|
|
210
|
+
this.client = undefined;
|
|
211
|
+
await client?.close();
|
|
212
|
+
for (const operation of this.operations.keys())
|
|
213
|
+
this.end(operation);
|
|
214
|
+
if (writerError)
|
|
215
|
+
throw writerError;
|
|
216
|
+
})();
|
|
217
|
+
}
|
|
218
|
+
validate(statement) {
|
|
219
|
+
if (!statement || typeof statement.sql !== 'string' || !statement.sql.trim() ||
|
|
220
|
+
(statement.values !== undefined && (!statement.values || typeof statement.values !== 'object' || Array.isArray(statement.values)))) {
|
|
221
|
+
throw new LosslessClientError('invalid_argument', 'ClickHouse requires SQL text and a named parameter object.');
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5jbGlja2hvdXNlY29ubmVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL3NxbGRiL2NsYXNzZXMuY2xpY2tob3VzZWNvbm5lY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTdFLE9BQU8sRUFBRSx5QkFBeUIsSUFBSSxlQUFlLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBRTVGLDZGQUE2RjtBQUM3RixNQUFNLE9BQU8sb0JBQW9CO0lBYUg7SUFaWixPQUFPLEdBQUcsWUFBcUIsQ0FBQztJQUNoQyxPQUFPLENBQW9CO0lBQzNCLFlBQVksR0FBa0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZO1FBQ2pGLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDckgsTUFBTSxDQUF1QztJQUNwQyxVQUFVLEdBQUcsSUFBSSxHQUFHLEVBQXlCLENBQUM7SUFDOUMsS0FBSyxHQUFHLElBQUksR0FBRyxFQUFvQixDQUFDO0lBQzdDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDZixPQUFPLENBQWlCO0lBQ3hCLFVBQVUsQ0FBaUI7SUFDbEIsYUFBYSxHQUFHLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBVyxDQUFDO0lBRXJGLFlBQTRCLE9BQXFDO1FBQXJDLFlBQU8sR0FBUCxPQUFPLENBQThC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
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { SqlTable } from './classes.sqltable.js';
|
|
2
|
+
import { type SqlPooledConnection } from './internal.sqlpool.js';
|
|
3
|
+
import { Operation } from '../core/classes.operation.js';
|
|
4
|
+
import type { ICapabilities, IOperationOptions, IReadiness } from '../core/interfaces.js';
|
|
5
|
+
import type { IInsertOptions, IQueryOptions, ISqlConnectionOptions, ISqlMutationResult, ISqlStatement, TSqlValue } from './interfaces.js';
|
|
6
|
+
interface ILease {
|
|
7
|
+
connection: SqlPooledConnection;
|
|
8
|
+
operation: Operation;
|
|
9
|
+
close: () => Promise<void>;
|
|
10
|
+
done: Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
/** One MariaDB-protocol pool. SQLDB uses the same wire adapter with its own capabilities. */
|
|
13
|
+
export declare class SqlConnection {
|
|
14
|
+
readonly options: ISqlConnectionOptions;
|
|
15
|
+
readonly backend: 'sqldb' | 'mariadb';
|
|
16
|
+
readonly capabilities: ICapabilities;
|
|
17
|
+
private pool?;
|
|
18
|
+
private closing?;
|
|
19
|
+
private connecting?;
|
|
20
|
+
private closed;
|
|
21
|
+
private readonly acquisitions;
|
|
22
|
+
private readonly leases;
|
|
23
|
+
private readonly pendingOperations;
|
|
24
|
+
constructor(options: ISqlConnectionOptions);
|
|
25
|
+
connect(options?: IOperationOptions): Promise<void>;
|
|
26
|
+
ready(options?: IOperationOptions): Promise<IReadiness>;
|
|
27
|
+
table<Row extends {
|
|
28
|
+
[Key in keyof Row]: TSqlValue;
|
|
29
|
+
}>(name: string): SqlTable<Row>;
|
|
30
|
+
private acquire;
|
|
31
|
+
execute(statement: ISqlStatement, options?: IOperationOptions): Promise<ISqlMutationResult>;
|
|
32
|
+
query<Row = Record<string, unknown>>(statement: ISqlStatement, options?: IQueryOptions): Promise<Row[]>;
|
|
33
|
+
stream<Row = Record<string, unknown>>(statement: ISqlStatement, options?: IOperationOptions): AsyncGenerator<Row>;
|
|
34
|
+
insert(table: string, rows: AsyncIterable<Record<string, TSqlValue>> | Iterable<Record<string, TSqlValue>>, options?: IInsertOptions): Promise<ISqlMutationResult>;
|
|
35
|
+
transaction<Result>(callback: (transaction: SqlTransaction) => Promise<Result>, options?: IOperationOptions): Promise<Result>;
|
|
36
|
+
close(): Promise<void>;
|
|
37
|
+
}
|
|
38
|
+
/** Bound to a single transaction callback and physical connection. */
|
|
39
|
+
export declare class SqlTransaction {
|
|
40
|
+
private readonly lease;
|
|
41
|
+
private active?;
|
|
42
|
+
private failure?;
|
|
43
|
+
private finished;
|
|
44
|
+
constructor(lease: ILease);
|
|
45
|
+
private run;
|
|
46
|
+
execute(statement: ISqlStatement): Promise<ISqlMutationResult>;
|
|
47
|
+
query<Row = Record<string, unknown>>(statement: ISqlStatement, options?: Pick<IQueryOptions, 'maxRows' | 'maxBytes'>): Promise<Row[]>;
|
|
48
|
+
finish(): Promise<void>;
|
|
49
|
+
}
|
|
50
|
+
export {};
|