@clickhouse/client 0.1.0 → 0.2.0-beta1

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.
Files changed (120) hide show
  1. package/README.md +10 -6
  2. package/dist/client.d.ts +26 -128
  3. package/dist/client.js +39 -225
  4. package/dist/client.js.map +1 -1
  5. package/dist/connection/index.d.ts +3 -1
  6. package/dist/connection/index.js +3 -1
  7. package/dist/connection/index.js.map +1 -1
  8. package/dist/connection/node_base_connection.d.ts +50 -0
  9. package/dist/connection/node_base_connection.js +350 -0
  10. package/dist/connection/node_base_connection.js.map +1 -0
  11. package/dist/connection/node_http_connection.d.ts +11 -0
  12. package/dist/connection/node_http_connection.js +32 -0
  13. package/dist/connection/node_http_connection.js.map +1 -0
  14. package/dist/connection/node_https_connection.d.ts +12 -0
  15. package/dist/connection/node_https_connection.js +53 -0
  16. package/dist/connection/node_https_connection.js.map +1 -0
  17. package/dist/index.d.ts +4 -15
  18. package/dist/index.js +11 -9
  19. package/dist/index.js.map +1 -1
  20. package/dist/result_set.d.ts +13 -0
  21. package/dist/{result.js → result_set.js} +5 -32
  22. package/dist/result_set.js.map +1 -0
  23. package/dist/utils/encoder.d.ts +7 -0
  24. package/dist/utils/encoder.js +55 -0
  25. package/dist/utils/encoder.js.map +1 -0
  26. package/dist/utils/index.d.ts +3 -1
  27. package/dist/utils/index.js +3 -1
  28. package/dist/utils/index.js.map +1 -1
  29. package/dist/utils/process.js.map +1 -1
  30. package/dist/utils/stream.d.ts +1 -1
  31. package/dist/utils/stream.js.map +1 -1
  32. package/dist/utils/user_agent.js +1 -2
  33. package/dist/utils/user_agent.js.map +1 -1
  34. package/dist/version.d.ts +2 -2
  35. package/dist/version.js +2 -1
  36. package/dist/version.js.map +1 -1
  37. package/package.json +7 -48
  38. package/dist/clickhouse_types.d.ts +0 -24
  39. package/dist/clickhouse_types.js +0 -3
  40. package/dist/clickhouse_types.js.map +0 -1
  41. package/dist/connection/adapter/base_http_adapter.d.ts +0 -35
  42. package/dist/connection/adapter/base_http_adapter.js +0 -302
  43. package/dist/connection/adapter/base_http_adapter.js.map +0 -1
  44. package/dist/connection/adapter/http_adapter.d.ts +0 -10
  45. package/dist/connection/adapter/http_adapter.js +0 -27
  46. package/dist/connection/adapter/http_adapter.js.map +0 -1
  47. package/dist/connection/adapter/http_search_params.d.ts +0 -11
  48. package/dist/connection/adapter/http_search_params.js +0 -42
  49. package/dist/connection/adapter/http_search_params.js.map +0 -1
  50. package/dist/connection/adapter/https_adapter.d.ts +0 -11
  51. package/dist/connection/adapter/https_adapter.js +0 -48
  52. package/dist/connection/adapter/https_adapter.js.map +0 -1
  53. package/dist/connection/adapter/index.d.ts +0 -2
  54. package/dist/connection/adapter/index.js +0 -8
  55. package/dist/connection/adapter/index.js.map +0 -1
  56. package/dist/connection/adapter/transform_url.d.ts +0 -5
  57. package/dist/connection/adapter/transform_url.js +0 -15
  58. package/dist/connection/adapter/transform_url.js.map +0 -1
  59. package/dist/connection/connection.d.ts +0 -58
  60. package/dist/connection/connection.js +0 -17
  61. package/dist/connection/connection.js.map +0 -1
  62. package/dist/data_formatter/format_query_params.d.ts +0 -1
  63. package/dist/data_formatter/format_query_params.js +0 -61
  64. package/dist/data_formatter/format_query_params.js.map +0 -1
  65. package/dist/data_formatter/format_query_settings.d.ts +0 -2
  66. package/dist/data_formatter/format_query_settings.js +0 -21
  67. package/dist/data_formatter/format_query_settings.js.map +0 -1
  68. package/dist/data_formatter/formatter.d.ts +0 -23
  69. package/dist/data_formatter/formatter.js +0 -96
  70. package/dist/data_formatter/formatter.js.map +0 -1
  71. package/dist/data_formatter/index.d.ts +0 -3
  72. package/dist/data_formatter/index.js +0 -23
  73. package/dist/data_formatter/index.js.map +0 -1
  74. package/dist/error/index.d.ts +0 -1
  75. package/dist/error/index.js +0 -18
  76. package/dist/error/index.js.map +0 -1
  77. package/dist/error/parse_error.d.ts +0 -12
  78. package/dist/error/parse_error.js +0 -39
  79. package/dist/error/parse_error.js.map +0 -1
  80. package/dist/logger.d.ts +0 -30
  81. package/dist/logger.js +0 -100
  82. package/dist/logger.js.map +0 -1
  83. package/dist/result.d.ts +0 -52
  84. package/dist/result.js.map +0 -1
  85. package/dist/schema/common.d.ts +0 -8
  86. package/dist/schema/common.js +0 -3
  87. package/dist/schema/common.js.map +0 -1
  88. package/dist/schema/engines.d.ts +0 -40
  89. package/dist/schema/engines.js +0 -61
  90. package/dist/schema/engines.js.map +0 -1
  91. package/dist/schema/index.d.ts +0 -7
  92. package/dist/schema/index.js +0 -24
  93. package/dist/schema/index.js.map +0 -1
  94. package/dist/schema/query_formatter.d.ts +0 -9
  95. package/dist/schema/query_formatter.js +0 -48
  96. package/dist/schema/query_formatter.js.map +0 -1
  97. package/dist/schema/result.d.ts +0 -13
  98. package/dist/schema/result.js +0 -3
  99. package/dist/schema/result.js.map +0 -1
  100. package/dist/schema/schema.d.ts +0 -6
  101. package/dist/schema/schema.js +0 -20
  102. package/dist/schema/schema.js.map +0 -1
  103. package/dist/schema/stream.d.ts +0 -11
  104. package/dist/schema/stream.js +0 -25
  105. package/dist/schema/stream.js.map +0 -1
  106. package/dist/schema/table.d.ts +0 -44
  107. package/dist/schema/table.js +0 -73
  108. package/dist/schema/table.js.map +0 -1
  109. package/dist/schema/types.d.ts +0 -201
  110. package/dist/schema/types.js +0 -268
  111. package/dist/schema/types.js.map +0 -1
  112. package/dist/schema/where.d.ts +0 -8
  113. package/dist/schema/where.js +0 -43
  114. package/dist/schema/where.js.map +0 -1
  115. package/dist/settings.d.ts +0 -1453
  116. package/dist/settings.js +0 -28
  117. package/dist/settings.js.map +0 -1
  118. package/dist/utils/string.d.ts +0 -1
  119. package/dist/utils/string.js +0 -9
  120. package/dist/utils/string.js.map +0 -1
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.NodeValuesEncoder = void 0;
7
+ const client_common_1 = require("@clickhouse/client-common");
8
+ const stream_1 = __importDefault(require("stream"));
9
+ const stream_2 = require("./stream");
10
+ class NodeValuesEncoder {
11
+ encodeValues(values, format) {
12
+ if ((0, stream_2.isStream)(values)) {
13
+ // TSV/CSV/CustomSeparated formats don't require additional serialization
14
+ if (!values.readableObjectMode) {
15
+ return values;
16
+ }
17
+ // JSON* formats streams
18
+ return stream_1.default.pipeline(values, (0, stream_2.mapStream)((value) => (0, client_common_1.encodeJSON)(value, format)), pipelineCb);
19
+ }
20
+ // JSON* arrays
21
+ if (Array.isArray(values)) {
22
+ return values.map((value) => (0, client_common_1.encodeJSON)(value, format)).join('');
23
+ }
24
+ // JSON & JSONObjectEachRow format input
25
+ if (typeof values === 'object') {
26
+ return (0, client_common_1.encodeJSON)(values, format);
27
+ }
28
+ throw new Error(`Cannot encode values of type ${typeof values} with ${format} format`);
29
+ }
30
+ validateInsertValues(values, format) {
31
+ if (!Array.isArray(values) &&
32
+ !(0, stream_2.isStream)(values) &&
33
+ typeof values !== 'object') {
34
+ throw new Error('Insert expected "values" to be an array, a stream of values or a JSON object, ' +
35
+ `got: ${typeof values}`);
36
+ }
37
+ if ((0, stream_2.isStream)(values)) {
38
+ if ((0, client_common_1.isSupportedRawFormat)(format)) {
39
+ if (values.readableObjectMode) {
40
+ throw new Error(`Insert for ${format} expected Readable Stream with disabled object mode.`);
41
+ }
42
+ }
43
+ else if (!values.readableObjectMode) {
44
+ throw new Error(`Insert for ${format} expected Readable Stream with enabled object mode.`);
45
+ }
46
+ }
47
+ }
48
+ }
49
+ exports.NodeValuesEncoder = NodeValuesEncoder;
50
+ function pipelineCb(err) {
51
+ if (err) {
52
+ console.error(err);
53
+ }
54
+ }
55
+ //# sourceMappingURL=encoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../../../packages/client-node/src/utils/encoder.ts"],"names":[],"mappings":";;;;;;AAKA,6DAA4E;AAC5E,oDAA2B;AAC3B,qCAA8C;AAE9C,MAAa,iBAAiB;IAC5B,YAAY,CACV,MAAwC,EACxC,MAAkB;QAElB,IAAI,IAAA,iBAAQ,EAAC,MAAM,CAAC,EAAE;YACpB,yEAAyE;YACzE,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;gBAC9B,OAAO,MAAM,CAAA;aACd;YACD,wBAAwB;YACxB,OAAO,gBAAM,CAAC,QAAQ,CACpB,MAAM,EACN,IAAA,kBAAS,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,0BAAU,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC,EAC/C,UAAU,CACX,CAAA;SACF;QACD,eAAe;QACf,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACzB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,0BAAU,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SACjE;QACD,wCAAwC;QACxC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,OAAO,IAAA,0BAAU,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;SAClC;QACD,MAAM,IAAI,KAAK,CACb,gCAAgC,OAAO,MAAM,SAAS,MAAM,SAAS,CACtE,CAAA;IACH,CAAC;IAED,oBAAoB,CAClB,MAAwC,EACxC,MAAkB;QAElB,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACtB,CAAC,IAAA,iBAAQ,EAAC,MAAM,CAAC;YACjB,OAAO,MAAM,KAAK,QAAQ,EAC1B;YACA,MAAM,IAAI,KAAK,CACb,gFAAgF;gBAC9E,QAAQ,OAAO,MAAM,EAAE,CAC1B,CAAA;SACF;QAED,IAAI,IAAA,iBAAQ,EAAC,MAAM,CAAC,EAAE;YACpB,IAAI,IAAA,oCAAoB,EAAC,MAAM,CAAC,EAAE;gBAChC,IAAI,MAAM,CAAC,kBAAkB,EAAE;oBAC7B,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,sDAAsD,CAC3E,CAAA;iBACF;aACF;iBAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;gBACrC,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,qDAAqD,CAC1E,CAAA;aACF;SACF;IACH,CAAC;CACF;AA3DD,8CA2DC;AAED,SAAS,UAAU,CAAC,GAAiC;IACnD,IAAI,GAAG,EAAE;QACP,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;KACnB;AACH,CAAC"}
@@ -1,2 +1,4 @@
1
1
  export * from './stream';
2
- export * from './string';
2
+ export * from './encoder';
3
+ export * from './process';
4
+ export * from './user_agent';
@@ -15,5 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./stream"), exports);
18
- __exportStar(require("./string"), exports);
18
+ __exportStar(require("./encoder"), exports);
19
+ __exportStar(require("./process"), exports);
20
+ __exportStar(require("./user_agent"), exports);
19
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,2CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/client-node/src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,4CAAyB;AACzB,4CAAyB;AACzB,+CAA4B"}
@@ -1 +1 @@
1
- {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/utils/process.ts"],"names":[],"mappings":";;;AAAA,gCAAgC;AAChC,SAAgB,iBAAiB;IAC/B,OAAO,OAAO,CAAC,OAAO,CAAA;AACxB,CAAC;AAFD,8CAEC"}
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../../../packages/client-node/src/utils/process.ts"],"names":[],"mappings":";;;AAAA,gCAAgC;AAChC,SAAgB,iBAAiB;IAC/B,OAAO,OAAO,CAAC,OAAO,CAAA;AACxB,CAAC;AAFD,8CAEC"}
@@ -2,4 +2,4 @@
2
2
  import Stream from 'stream';
3
3
  export declare function isStream(obj: any): obj is Stream.Readable;
4
4
  export declare function getAsText(stream: Stream.Readable): Promise<string>;
5
- export declare function mapStream(mapper: (input: any) => any): Stream.Transform;
5
+ export declare function mapStream(mapper: (input: unknown) => string): Stream.Transform;
@@ -1 +1 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/utils/stream.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAE3B,SAAgB,QAAQ,CAAC,GAAQ;IAC/B,OAAO,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,CAAA;AACvD,CAAC;AAFD,4BAEC;AAEM,KAAK,UAAU,SAAS,CAAC,MAAuB;IACrD,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAA;IAErC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE;QAChC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;KACtD;IAED,QAAQ;IACR,MAAM,IAAI,WAAW,CAAC,MAAM,EAAE,CAAA;IAC9B,OAAO,MAAM,CAAA;AACf,CAAC;AAXD,8BAWC;AAED,SAAgB,SAAS,CAAC,MAA2B;IACnD,OAAO,IAAI,gBAAM,CAAC,SAAS,CAAC;QAC1B,UAAU,EAAE,IAAI;QAChB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ;YACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QAC/B,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAPD,8BAOC"}
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../../packages/client-node/src/utils/stream.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAE3B,SAAgB,QAAQ,CAAC,GAAQ;IAC/B,OAAO,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,CAAA;AACvD,CAAC;AAFD,4BAEC;AAEM,KAAK,UAAU,SAAS,CAAC,MAAuB;IACrD,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAA;IAErC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE;QAChC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;KACtD;IAED,QAAQ;IACR,MAAM,IAAI,WAAW,CAAC,MAAM,EAAE,CAAA;IAC9B,OAAO,MAAM,CAAA;AACf,CAAC;AAXD,8BAWC;AAED,SAAgB,SAAS,CACvB,MAAkC;IAElC,OAAO,IAAI,gBAAM,CAAC,SAAS,CAAC;QAC1B,UAAU,EAAE,IAAI;QAChB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ;YACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QAC/B,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AATD,8BASC"}
@@ -29,7 +29,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.getUserAgent = void 0;
30
30
  const os = __importStar(require("os"));
31
31
  const version_1 = __importDefault(require("../version"));
32
- const process_1 = require("./process");
33
32
  /**
34
33
  * Generate a user agent string like
35
34
  * clickhouse-js/0.0.11 (lv:nodejs/19.0.4; os:linux)
@@ -37,7 +36,7 @@ const process_1 = require("./process");
37
36
  * MyApplicationName clickhouse-js/0.0.11 (lv:nodejs/19.0.4; os:linux)
38
37
  */
39
38
  function getUserAgent(application_id) {
40
- const defaultUserAgent = `clickhouse-js/${version_1.default} (lv:nodejs/${(0, process_1.getProcessVersion)()}; os:${os.platform()})`;
39
+ const defaultUserAgent = `clickhouse-js/${version_1.default} (lv:nodejs/${process.version}; os:${os.platform()})`;
41
40
  return application_id
42
41
  ? `${application_id} ${defaultUserAgent}`
43
42
  : defaultUserAgent;
@@ -1 +1 @@
1
- {"version":3,"file":"user_agent.js","sourceRoot":"","sources":["../../src/utils/user_agent.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,yDAAuC;AACvC,uCAA6C;AAE7C;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,cAAuB;IAClD,MAAM,gBAAgB,GAAG,iBAAiB,iBAAc,eAAe,IAAA,2BAAiB,GAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAA;IAClH,OAAO,cAAc;QACnB,CAAC,CAAC,GAAG,cAAc,IAAI,gBAAgB,EAAE;QACzC,CAAC,CAAC,gBAAgB,CAAA;AACtB,CAAC;AALD,oCAKC"}
1
+ {"version":3,"file":"user_agent.js","sourceRoot":"","sources":["../../../../packages/client-node/src/utils/user_agent.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,yDAAuC;AAEvC;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,cAAuB;IAClD,MAAM,gBAAgB,GAAG,iBAAiB,iBAAc,eACtD,OAAO,CAAC,OACV,QAAQ,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAA;IACxB,OAAO,cAAc;QACnB,CAAC,CAAC,GAAG,cAAc,IAAI,gBAAgB,EAAE;QACzC,CAAC,CAAC,gBAAgB,CAAA;AACtB,CAAC;AAPD,oCAOC"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const _default: "0.1.0";
2
- export default _default;
1
+ declare const version = "0.2.0-beta1";
2
+ export default version;
package/dist/version.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = '0.1.0';
3
+ const version = '0.2.0-beta1';
4
+ exports.default = version;
4
5
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;AAAA,kBAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../packages/client-node/src/version.ts"],"names":[],"mappings":";;AAAA,MAAM,OAAO,GAAG,aAAa,CAAA;AAC7B,kBAAe,OAAO,CAAA"}
package/package.json CHANGED
@@ -1,35 +1,21 @@
1
1
  {
2
2
  "name": "@clickhouse/client",
3
- "version": "0.1.0",
4
- "description": "Official JS client for ClickHouse DB",
3
+ "description": "Official JS client for ClickHouse DB - Node.js implementation",
4
+ "homepage": "https://clickhouse.com",
5
+ "version": "0.2.0-beta1",
5
6
  "license": "Apache-2.0",
6
7
  "keywords": [
7
8
  "clickhouse",
8
9
  "sql",
9
10
  "client"
10
11
  ],
11
- "engines": {
12
- "node": ">=16"
13
- },
14
- "private": false,
15
12
  "repository": {
16
13
  "type": "git",
17
14
  "url": "https://github.com/ClickHouse/clickhouse-js.git"
18
15
  },
19
- "homepage": "https://clickhouse.com",
20
- "scripts": {
21
- "build": "rm -rf dist; tsc",
22
- "build:all": "rm -rf dist; tsc --project tsconfig.dev.json",
23
- "typecheck": "tsc --project tsconfig.dev.json --noEmit",
24
- "lint": "eslint . --ext .ts",
25
- "lint:fix": "eslint --fix . --ext .ts",
26
- "test": "jest --testPathPattern=__tests__ --globalSetup='<rootDir>/__tests__/setup.integration.ts'",
27
- "test:tls": "jest --testMatch='**/__tests__/tls/*.test.ts'",
28
- "test:unit": "jest --testMatch='**/__tests__/{unit,utils}/*.test.ts'",
29
- "test:integration": "jest --runInBand --testPathPattern=__tests__/integration --globalSetup='<rootDir>/__tests__/setup.integration.ts'",
30
- "test:integration:local_cluster": "CLICKHOUSE_TEST_ENVIRONMENT=local_cluster jest --runInBand --testPathPattern=__tests__/integration --globalSetup='<rootDir>/__tests__/setup.integration.ts'",
31
- "test:integration:cloud": "CLICKHOUSE_TEST_ENVIRONMENT=cloud jest --runInBand --testPathPattern=__tests__/integration --globalSetup='<rootDir>/__tests__/setup.integration.ts'",
32
- "prepare": "husky install"
16
+ "private": false,
17
+ "engines": {
18
+ "node": ">=16"
33
19
  },
34
20
  "main": "dist/index.js",
35
21
  "types": "dist/index.d.ts",
@@ -37,33 +23,6 @@
37
23
  "dist"
38
24
  ],
39
25
  "dependencies": {
40
- "uuid": "^9.0.0"
41
- },
42
- "devDependencies": {
43
- "@jest/reporters": "^29.4.0",
44
- "@types/jest": "^29.4.0",
45
- "@types/node": "^18.11.18",
46
- "@types/split2": "^3.2.1",
47
- "@types/uuid": "^9.0.0",
48
- "@typescript-eslint/eslint-plugin": "^5.49.0",
49
- "@typescript-eslint/parser": "^5.49.0",
50
- "eslint": "^8.32.0",
51
- "eslint-config-prettier": "^8.6.0",
52
- "eslint-plugin-prettier": "^4.2.1",
53
- "husky": "^8.0.2",
54
- "jest": "^29.4.0",
55
- "lint-staged": "^13.1.0",
56
- "prettier": "2.8.3",
57
- "split2": "^4.1.0",
58
- "ts-jest": "^29.0.5",
59
- "ts-node": "^10.9.1",
60
- "tsconfig-paths": "^4.1.2",
61
- "typescript": "^4.9.4"
62
- },
63
- "lint-staged": {
64
- "*.ts": [
65
- "prettier --write",
66
- "eslint --fix"
67
- ]
26
+ "@clickhouse/client-common": "0.2.0-beta1"
68
27
  }
69
28
  }
@@ -1,24 +0,0 @@
1
- export interface ResponseJSON<T = unknown> {
2
- data: Array<T>;
3
- query_id?: string;
4
- totals?: Record<string, number>;
5
- extremes?: Record<string, any>;
6
- meta?: Array<{
7
- name: string;
8
- type: string;
9
- }>;
10
- statistics?: {
11
- elapsed: number;
12
- rows_read: number;
13
- bytes_read: number;
14
- };
15
- rows?: number;
16
- }
17
- export interface InputJSON<T = unknown> {
18
- meta: {
19
- name: string;
20
- type: string;
21
- }[];
22
- data: T[];
23
- }
24
- export type InputJSONObjectEachRow<T = unknown> = Record<string, T>;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=clickhouse_types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clickhouse_types.js","sourceRoot":"","sources":["../src/clickhouse_types.ts"],"names":[],"mappings":""}
@@ -1,35 +0,0 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import Stream from 'stream';
4
- import type Http from 'http';
5
- import type { Logger } from '../../logger';
6
- import type { Connection, ConnectionParams, ExecParams, ExecResult, InsertParams, InsertResult, QueryParams, QueryResult } from '../connection';
7
- export interface RequestParams {
8
- method: 'GET' | 'POST';
9
- url: URL;
10
- body?: string | Stream.Readable;
11
- abort_signal?: AbortSignal;
12
- decompress_response?: boolean;
13
- compress_request?: boolean;
14
- }
15
- export declare abstract class BaseHttpAdapter implements Connection {
16
- protected readonly config: ConnectionParams;
17
- private readonly logger;
18
- protected readonly agent: Http.Agent;
19
- protected readonly headers: Http.OutgoingHttpHeaders;
20
- protected constructor(config: ConnectionParams, logger: Logger, agent: Http.Agent);
21
- protected buildDefaultHeaders(username: string, password: string): Http.OutgoingHttpHeaders;
22
- protected abstract createClientRequest(params: RequestParams, abort_signal?: AbortSignal): Http.ClientRequest;
23
- protected request(params: RequestParams): Promise<Stream.Readable>;
24
- ping(): Promise<boolean>;
25
- query(params: QueryParams): Promise<QueryResult>;
26
- exec(params: ExecParams): Promise<ExecResult>;
27
- insert(params: InsertParams): Promise<InsertResult>;
28
- close(): Promise<void>;
29
- private getQueryId;
30
- private logResponse;
31
- protected getHeaders(params: RequestParams): {
32
- 'Content-Encoding'?: string | undefined;
33
- 'Accept-Encoding'?: string | undefined;
34
- };
35
- }
@@ -1,302 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.BaseHttpAdapter = void 0;
30
- const stream_1 = __importDefault(require("stream"));
31
- const zlib_1 = __importDefault(require("zlib"));
32
- const error_1 = require("../../error");
33
- const http_search_params_1 = require("./http_search_params");
34
- const transform_url_1 = require("./transform_url");
35
- const utils_1 = require("../../utils");
36
- const user_agent_1 = require("../../utils/user_agent");
37
- const uuid = __importStar(require("uuid"));
38
- function isSuccessfulResponse(statusCode) {
39
- return Boolean(statusCode && 200 <= statusCode && statusCode < 300);
40
- }
41
- function withHttpSettings(clickhouse_settings, compression) {
42
- return {
43
- ...(compression
44
- ? {
45
- enable_http_compression: 1,
46
- }
47
- : {}),
48
- ...clickhouse_settings,
49
- };
50
- }
51
- function decompressResponse(response) {
52
- const encoding = response.headers['content-encoding'];
53
- if (encoding === 'gzip') {
54
- return {
55
- response: stream_1.default.pipeline(response, zlib_1.default.createGunzip(), function pipelineCb(err) {
56
- if (err) {
57
- console.error(err);
58
- }
59
- }),
60
- };
61
- }
62
- else if (encoding !== undefined) {
63
- return {
64
- error: new Error(`Unexpected encoding: ${encoding}`),
65
- };
66
- }
67
- return { response };
68
- }
69
- function isDecompressionError(result) {
70
- return result.error !== undefined;
71
- }
72
- class BaseHttpAdapter {
73
- constructor(config, logger, agent) {
74
- Object.defineProperty(this, "config", {
75
- enumerable: true,
76
- configurable: true,
77
- writable: true,
78
- value: config
79
- });
80
- Object.defineProperty(this, "logger", {
81
- enumerable: true,
82
- configurable: true,
83
- writable: true,
84
- value: logger
85
- });
86
- Object.defineProperty(this, "agent", {
87
- enumerable: true,
88
- configurable: true,
89
- writable: true,
90
- value: agent
91
- });
92
- Object.defineProperty(this, "headers", {
93
- enumerable: true,
94
- configurable: true,
95
- writable: true,
96
- value: void 0
97
- });
98
- this.headers = this.buildDefaultHeaders(config.username, config.password);
99
- }
100
- buildDefaultHeaders(username, password) {
101
- return {
102
- Authorization: `Basic ${Buffer.from(`${username}:${password}`).toString('base64')}`,
103
- 'User-Agent': (0, user_agent_1.getUserAgent)(this.config.application_id),
104
- };
105
- }
106
- async request(params) {
107
- return new Promise((resolve, reject) => {
108
- const start = Date.now();
109
- const request = this.createClientRequest(params, params.abort_signal);
110
- function onError(err) {
111
- removeRequestListeners();
112
- reject(err);
113
- }
114
- const onResponse = async (_response) => {
115
- this.logResponse(request, params, _response, start);
116
- const decompressionResult = decompressResponse(_response);
117
- if (isDecompressionError(decompressionResult)) {
118
- return reject(decompressionResult.error);
119
- }
120
- if (isSuccessfulResponse(_response.statusCode)) {
121
- return resolve(decompressionResult.response);
122
- }
123
- else {
124
- reject((0, error_1.parseError)(await (0, utils_1.getAsText)(decompressionResult.response)));
125
- }
126
- };
127
- function onAbort() {
128
- // Prefer 'abort' event since it always triggered unlike 'error' and 'close'
129
- // see the full sequence of events https://nodejs.org/api/http.html#httprequesturl-options-callback
130
- removeRequestListeners();
131
- request.once('error', function () {
132
- /**
133
- * catch "Error: ECONNRESET" error which shouldn't be reported to users.
134
- * see the full sequence of events https://nodejs.org/api/http.html#httprequesturl-options-callback
135
- * */
136
- });
137
- reject(new Error('The request was aborted.'));
138
- }
139
- function onClose() {
140
- // Adapter uses 'close' event to clean up listeners after the successful response.
141
- // It's necessary in order to handle 'abort' and 'timeout' events while response is streamed.
142
- // It's always the last event, according to https://nodejs.org/docs/latest-v14.x/api/http.html#http_http_request_url_options_callback
143
- removeRequestListeners();
144
- }
145
- const config = this.config;
146
- function onSocket(socket) {
147
- // Force KeepAlive usage (workaround due to Node.js bug)
148
- // https://github.com/nodejs/node/issues/47137#issuecomment-1477075229
149
- socket.setKeepAlive(true, 1000);
150
- socket.setTimeout(config.request_timeout, onTimeout);
151
- }
152
- function onTimeout() {
153
- removeRequestListeners();
154
- request.destroy();
155
- reject(new Error('Timeout error'));
156
- }
157
- function removeRequestListeners() {
158
- if (request.socket !== null) {
159
- request.socket.setTimeout(0); // reset previously set timeout
160
- request.socket.removeListener('timeout', onTimeout);
161
- }
162
- request.removeListener('socket', onSocket);
163
- request.removeListener('response', onResponse);
164
- request.removeListener('error', onError);
165
- request.removeListener('close', onClose);
166
- if (params.abort_signal !== undefined) {
167
- request.removeListener('abort', onAbort);
168
- }
169
- }
170
- request.on('socket', onSocket);
171
- request.on('response', onResponse);
172
- request.on('error', onError);
173
- request.on('close', onClose);
174
- if (params.abort_signal !== undefined) {
175
- params.abort_signal.addEventListener('abort', onAbort, { once: true });
176
- }
177
- if (!params.body)
178
- return request.end();
179
- const bodyStream = (0, utils_1.isStream)(params.body)
180
- ? params.body
181
- : stream_1.default.Readable.from([params.body]);
182
- const callback = (err) => {
183
- if (err) {
184
- removeRequestListeners();
185
- reject(err);
186
- }
187
- };
188
- if (params.compress_request) {
189
- stream_1.default.pipeline(bodyStream, zlib_1.default.createGzip(), request, callback);
190
- }
191
- else {
192
- stream_1.default.pipeline(bodyStream, request, callback);
193
- }
194
- });
195
- }
196
- async ping() {
197
- // TODO add status code check
198
- const stream = await this.request({
199
- method: 'GET',
200
- url: (0, transform_url_1.transformUrl)({ url: this.config.url, pathname: '/ping' }),
201
- });
202
- stream.destroy();
203
- return true;
204
- }
205
- async query(params) {
206
- const query_id = this.getQueryId(params);
207
- const clickhouse_settings = withHttpSettings(params.clickhouse_settings, this.config.compression.decompress_response);
208
- const searchParams = (0, http_search_params_1.toSearchParams)({
209
- database: this.config.database,
210
- clickhouse_settings,
211
- query_params: params.query_params,
212
- session_id: params.session_id,
213
- query_id,
214
- });
215
- const stream = await this.request({
216
- method: 'POST',
217
- url: (0, transform_url_1.transformUrl)({ url: this.config.url, pathname: '/', searchParams }),
218
- body: params.query,
219
- abort_signal: params.abort_signal,
220
- decompress_response: clickhouse_settings.enable_http_compression === 1,
221
- });
222
- return {
223
- stream,
224
- query_id,
225
- };
226
- }
227
- async exec(params) {
228
- const query_id = this.getQueryId(params);
229
- const searchParams = (0, http_search_params_1.toSearchParams)({
230
- database: this.config.database,
231
- clickhouse_settings: params.clickhouse_settings,
232
- query_params: params.query_params,
233
- session_id: params.session_id,
234
- query_id,
235
- });
236
- const stream = await this.request({
237
- method: 'POST',
238
- url: (0, transform_url_1.transformUrl)({ url: this.config.url, pathname: '/', searchParams }),
239
- body: params.query,
240
- abort_signal: params.abort_signal,
241
- });
242
- return {
243
- stream,
244
- query_id,
245
- };
246
- }
247
- async insert(params) {
248
- const query_id = this.getQueryId(params);
249
- const searchParams = (0, http_search_params_1.toSearchParams)({
250
- database: this.config.database,
251
- clickhouse_settings: params.clickhouse_settings,
252
- query_params: params.query_params,
253
- query: params.query,
254
- session_id: params.session_id,
255
- query_id,
256
- });
257
- const stream = await this.request({
258
- method: 'POST',
259
- url: (0, transform_url_1.transformUrl)({ url: this.config.url, pathname: '/', searchParams }),
260
- body: params.values,
261
- abort_signal: params.abort_signal,
262
- compress_request: this.config.compression.compress_request,
263
- });
264
- stream.destroy();
265
- return { query_id };
266
- }
267
- async close() {
268
- if (this.agent !== undefined && this.agent.destroy !== undefined) {
269
- this.agent.destroy();
270
- }
271
- }
272
- getQueryId(params) {
273
- return params.query_id || uuid.v4();
274
- }
275
- logResponse(request, params, response, startTimestamp) {
276
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
277
- const { authorization, host, ...headers } = request.getHeaders();
278
- const duration = Date.now() - startTimestamp;
279
- this.logger.debug({
280
- module: 'HTTP Adapter',
281
- message: 'Got a response from ClickHouse',
282
- args: {
283
- request_method: params.method,
284
- request_path: params.url.pathname,
285
- request_params: params.url.search,
286
- request_headers: headers,
287
- response_status: response.statusCode,
288
- response_headers: response.headers,
289
- response_time_ms: duration,
290
- },
291
- });
292
- }
293
- getHeaders(params) {
294
- return {
295
- ...this.headers,
296
- ...(params.decompress_response ? { 'Accept-Encoding': 'gzip' } : {}),
297
- ...(params.compress_request ? { 'Content-Encoding': 'gzip' } : {}),
298
- };
299
- }
300
- }
301
- exports.BaseHttpAdapter = BaseHttpAdapter;
302
- //# sourceMappingURL=base_http_adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base_http_adapter.js","sourceRoot":"","sources":["../../../src/connection/adapter/base_http_adapter.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /// <reference types="node" />
2
- import Http from 'http';
3
- import type { LogWriter } from '../../logger';
4
- import type { Connection, ConnectionParams } from '../connection';
5
- import type { RequestParams } from './base_http_adapter';
6
- import { BaseHttpAdapter } from './base_http_adapter';
7
- export declare class HttpAdapter extends BaseHttpAdapter implements Connection {
8
- constructor(config: ConnectionParams, logger: LogWriter);
9
- protected createClientRequest(params: RequestParams, abort_signal?: AbortSignal): Http.ClientRequest;
10
- }
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.HttpAdapter = void 0;
7
- const http_1 = __importDefault(require("http"));
8
- const base_http_adapter_1 = require("./base_http_adapter");
9
- class HttpAdapter extends base_http_adapter_1.BaseHttpAdapter {
10
- constructor(config, logger) {
11
- const agent = new http_1.default.Agent({
12
- keepAlive: true,
13
- maxSockets: config.max_open_connections,
14
- });
15
- super(config, logger, agent);
16
- }
17
- createClientRequest(params, abort_signal) {
18
- return http_1.default.request(params.url, {
19
- method: params.method,
20
- agent: this.agent,
21
- headers: this.getHeaders(params),
22
- signal: abort_signal,
23
- });
24
- }
25
- }
26
- exports.HttpAdapter = HttpAdapter;
27
- //# sourceMappingURL=http_adapter.js.map