@clickhouse/client 1.22.0 → 1.23.0-head.70ad405.1

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 (191) hide show
  1. package/CHANGELOG.md +1342 -0
  2. package/README.md +20 -7
  3. package/dist/client.d.ts +2 -2
  4. package/dist/client.js +11 -4
  5. package/dist/client.js.map +1 -1
  6. package/dist/common/clickhouse_types.d.ts +98 -0
  7. package/dist/common/clickhouse_types.js +30 -0
  8. package/dist/common/clickhouse_types.js.map +1 -0
  9. package/dist/common/client.d.ts +233 -0
  10. package/dist/common/client.js +414 -0
  11. package/dist/common/client.js.map +1 -0
  12. package/dist/common/config.d.ts +234 -0
  13. package/dist/common/config.js +364 -0
  14. package/dist/common/config.js.map +1 -0
  15. package/dist/common/connection.d.ts +124 -0
  16. package/dist/common/connection.js +3 -0
  17. package/dist/common/connection.js.map +1 -0
  18. package/dist/common/data_formatter/format_query_params.d.ts +11 -0
  19. package/dist/common/data_formatter/format_query_params.js +128 -0
  20. package/dist/common/data_formatter/format_query_params.js.map +1 -0
  21. package/dist/common/data_formatter/format_query_settings.d.ts +2 -0
  22. package/dist/common/data_formatter/format_query_settings.js +20 -0
  23. package/dist/common/data_formatter/format_query_settings.js.map +1 -0
  24. package/dist/common/data_formatter/formatter.d.ts +41 -0
  25. package/dist/common/data_formatter/formatter.js +78 -0
  26. package/dist/common/data_formatter/formatter.js.map +1 -0
  27. package/dist/common/data_formatter/index.d.ts +3 -0
  28. package/dist/common/data_formatter/index.js +24 -0
  29. package/dist/common/data_formatter/index.js.map +1 -0
  30. package/dist/common/error/error.d.ts +20 -0
  31. package/dist/common/error/error.js +73 -0
  32. package/dist/common/error/error.js.map +1 -0
  33. package/dist/common/error/index.d.ts +1 -0
  34. package/dist/common/error/index.js +18 -0
  35. package/dist/common/error/index.js.map +1 -0
  36. package/dist/common/index.d.ts +67 -0
  37. package/dist/common/index.js +97 -0
  38. package/dist/common/index.js.map +1 -0
  39. package/dist/common/logger.d.ts +80 -0
  40. package/dist/common/logger.js +154 -0
  41. package/dist/common/logger.js.map +1 -0
  42. package/dist/common/parse/column_types.d.ts +155 -0
  43. package/dist/common/parse/column_types.js +594 -0
  44. package/dist/common/parse/column_types.js.map +1 -0
  45. package/dist/common/parse/index.d.ts +2 -0
  46. package/dist/common/parse/index.js +19 -0
  47. package/dist/common/parse/index.js.map +1 -0
  48. package/dist/common/parse/json_handling.d.ts +19 -0
  49. package/dist/common/parse/json_handling.js +8 -0
  50. package/dist/common/parse/json_handling.js.map +1 -0
  51. package/dist/common/result.d.ts +90 -0
  52. package/dist/common/result.js +3 -0
  53. package/dist/common/result.js.map +1 -0
  54. package/dist/common/settings.d.ts +2007 -0
  55. package/dist/common/settings.js +19 -0
  56. package/dist/common/settings.js.map +1 -0
  57. package/dist/common/tracing.d.ts +146 -0
  58. package/dist/common/tracing.js +76 -0
  59. package/dist/common/tracing.js.map +1 -0
  60. package/dist/common/ts_utils.d.ts +4 -0
  61. package/dist/common/ts_utils.js +3 -0
  62. package/dist/common/ts_utils.js.map +1 -0
  63. package/dist/common/utils/connection.d.ts +21 -0
  64. package/dist/common/utils/connection.js +43 -0
  65. package/dist/common/utils/connection.js.map +1 -0
  66. package/dist/common/utils/index.d.ts +5 -0
  67. package/dist/common/utils/index.js +22 -0
  68. package/dist/common/utils/index.js.map +1 -0
  69. package/dist/common/utils/multipart.d.ts +34 -0
  70. package/dist/common/utils/multipart.js +81 -0
  71. package/dist/common/utils/multipart.js.map +1 -0
  72. package/dist/common/utils/sleep.d.ts +4 -0
  73. package/dist/common/utils/sleep.js +12 -0
  74. package/dist/common/utils/sleep.js.map +1 -0
  75. package/dist/common/utils/stream.d.ts +15 -0
  76. package/dist/common/utils/stream.js +50 -0
  77. package/dist/common/utils/stream.js.map +1 -0
  78. package/dist/common/utils/url.d.ts +20 -0
  79. package/dist/common/utils/url.js +67 -0
  80. package/dist/common/utils/url.js.map +1 -0
  81. package/dist/common/version.d.ts +2 -0
  82. package/dist/common/version.js +4 -0
  83. package/dist/common/version.js.map +1 -0
  84. package/dist/config.d.ts +22 -2
  85. package/dist/config.js +2 -2
  86. package/dist/config.js.map +1 -1
  87. package/dist/connection/compression.d.ts +2 -2
  88. package/dist/connection/compression.js +4 -4
  89. package/dist/connection/compression.js.map +1 -1
  90. package/dist/connection/create_connection.d.ts +1 -1
  91. package/dist/connection/node_base_connection.d.ts +3 -3
  92. package/dist/connection/node_base_connection.js +22 -22
  93. package/dist/connection/node_base_connection.js.map +1 -1
  94. package/dist/connection/node_custom_agent_connection.js +2 -2
  95. package/dist/connection/node_custom_agent_connection.js.map +1 -1
  96. package/dist/connection/node_http_connection.js +2 -2
  97. package/dist/connection/node_http_connection.js.map +1 -1
  98. package/dist/connection/node_https_connection.d.ts +1 -1
  99. package/dist/connection/node_https_connection.js +3 -3
  100. package/dist/connection/node_https_connection.js.map +1 -1
  101. package/dist/connection/socket_pool.d.ts +1 -1
  102. package/dist/connection/socket_pool.js +30 -30
  103. package/dist/connection/socket_pool.js.map +1 -1
  104. package/dist/connection/stream.d.ts +1 -1
  105. package/dist/connection/stream.js +9 -9
  106. package/dist/connection/stream.js.map +1 -1
  107. package/dist/index.d.ts +9 -7
  108. package/dist/index.js +26 -24
  109. package/dist/index.js.map +1 -1
  110. package/dist/result_set.d.ts +1 -1
  111. package/dist/result_set.js +10 -10
  112. package/dist/result_set.js.map +1 -1
  113. package/dist/utils/encoder.d.ts +1 -1
  114. package/dist/utils/encoder.js +5 -5
  115. package/dist/utils/encoder.js.map +1 -1
  116. package/dist/version.d.ts +1 -1
  117. package/dist/version.js +1 -1
  118. package/dist/version.js.map +1 -1
  119. package/package.json +10 -7
  120. package/skills/AGENTS.md +8 -0
  121. package/skills/clickhouse-js-node-rowbinary/AGENTS.md +44 -0
  122. package/skills/clickhouse-js-node-rowbinary/CHANGELOG.md +49 -0
  123. package/skills/clickhouse-js-node-rowbinary/EXAMPLES.md +48 -0
  124. package/skills/clickhouse-js-node-rowbinary/README.md +319 -0
  125. package/skills/clickhouse-js-node-rowbinary/SKILL.md +111 -0
  126. package/skills/clickhouse-js-node-rowbinary/case-studies/iot-rowbinary-vs-json.md +83 -0
  127. package/skills/clickhouse-js-node-rowbinary/case-studies/ledger-rowbinary-vs-json.md +103 -0
  128. package/skills/clickhouse-js-node-rowbinary/case-studies/logs-json-wins.md +86 -0
  129. package/skills/clickhouse-js-node-rowbinary/case-studies/wasm-vs-js.md +172 -0
  130. package/skills/clickhouse-js-node-rowbinary/reader.md +126 -0
  131. package/skills/clickhouse-js-node-rowbinary/src/examples/carts.ts +75 -0
  132. package/skills/clickhouse-js-node-rowbinary/src/examples/events.ts +51 -0
  133. package/skills/clickhouse-js-node-rowbinary/src/examples/iot.ts +158 -0
  134. package/skills/clickhouse-js-node-rowbinary/src/examples/ledger.ts +98 -0
  135. package/skills/clickhouse-js-node-rowbinary/src/examples/logs.ts +73 -0
  136. package/skills/clickhouse-js-node-rowbinary/src/examples/observability.ts +141 -0
  137. package/skills/clickhouse-js-node-rowbinary/src/examples/orders.ts +66 -0
  138. package/skills/clickhouse-js-node-rowbinary/src/examples/profiles.ts +60 -0
  139. package/skills/clickhouse-js-node-rowbinary/src/examples/telemetry.ts +102 -0
  140. package/skills/clickhouse-js-node-rowbinary/src/readers/aggregateFunction.ts +34 -0
  141. package/skills/clickhouse-js-node-rowbinary/src/readers/bool.ts +10 -0
  142. package/skills/clickhouse-js-node-rowbinary/src/readers/columnar.ts +125 -0
  143. package/skills/clickhouse-js-node-rowbinary/src/readers/compile.ts +328 -0
  144. package/skills/clickhouse-js-node-rowbinary/src/readers/composite.ts +181 -0
  145. package/skills/clickhouse-js-node-rowbinary/src/readers/core.ts +77 -0
  146. package/skills/clickhouse-js-node-rowbinary/src/readers/datetime.ts +113 -0
  147. package/skills/clickhouse-js-node-rowbinary/src/readers/decimals.ts +57 -0
  148. package/skills/clickhouse-js-node-rowbinary/src/readers/dynamic.ts +332 -0
  149. package/skills/clickhouse-js-node-rowbinary/src/readers/enums.ts +40 -0
  150. package/skills/clickhouse-js-node-rowbinary/src/readers/floats.ts +32 -0
  151. package/skills/clickhouse-js-node-rowbinary/src/readers/geo.ts +109 -0
  152. package/skills/clickhouse-js-node-rowbinary/src/readers/header.ts +29 -0
  153. package/skills/clickhouse-js-node-rowbinary/src/readers/integers.ts +95 -0
  154. package/skills/clickhouse-js-node-rowbinary/src/readers/interval.ts +54 -0
  155. package/skills/clickhouse-js-node-rowbinary/src/readers/ip.ts +93 -0
  156. package/skills/clickhouse-js-node-rowbinary/src/readers/json.ts +33 -0
  157. package/skills/clickhouse-js-node-rowbinary/src/readers/lowCardinality.ts +18 -0
  158. package/skills/clickhouse-js-node-rowbinary/src/readers/nested.ts +23 -0
  159. package/skills/clickhouse-js-node-rowbinary/src/readers/nothing.ts +29 -0
  160. package/skills/clickhouse-js-node-rowbinary/src/readers/reader.ts +68 -0
  161. package/skills/clickhouse-js-node-rowbinary/src/readers/rowBinaryWithNamesAndTypes.ts +155 -0
  162. package/skills/clickhouse-js-node-rowbinary/src/readers/rows.ts +58 -0
  163. package/skills/clickhouse-js-node-rowbinary/src/readers/simpleAggregateFunction.ts +20 -0
  164. package/skills/clickhouse-js-node-rowbinary/src/readers/stream.ts +276 -0
  165. package/skills/clickhouse-js-node-rowbinary/src/readers/strings.ts +55 -0
  166. package/skills/clickhouse-js-node-rowbinary/src/readers/time.ts +61 -0
  167. package/skills/clickhouse-js-node-rowbinary/src/readers/uuid.ts +153 -0
  168. package/skills/clickhouse-js-node-rowbinary/src/readers/varint.ts +70 -0
  169. package/skills/clickhouse-js-node-rowbinary/src/writers/aggregateFunction.ts +18 -0
  170. package/skills/clickhouse-js-node-rowbinary/src/writers/bool.ts +10 -0
  171. package/skills/clickhouse-js-node-rowbinary/src/writers/composite.ts +140 -0
  172. package/skills/clickhouse-js-node-rowbinary/src/writers/core.ts +92 -0
  173. package/skills/clickhouse-js-node-rowbinary/src/writers/datetime.ts +123 -0
  174. package/skills/clickhouse-js-node-rowbinary/src/writers/decimals.ts +51 -0
  175. package/skills/clickhouse-js-node-rowbinary/src/writers/enums.ts +18 -0
  176. package/skills/clickhouse-js-node-rowbinary/src/writers/floats.ts +40 -0
  177. package/skills/clickhouse-js-node-rowbinary/src/writers/geo.ts +125 -0
  178. package/skills/clickhouse-js-node-rowbinary/src/writers/integers.ts +90 -0
  179. package/skills/clickhouse-js-node-rowbinary/src/writers/interval.ts +11 -0
  180. package/skills/clickhouse-js-node-rowbinary/src/writers/ip.ts +121 -0
  181. package/skills/clickhouse-js-node-rowbinary/src/writers/lowCardinality.ts +12 -0
  182. package/skills/clickhouse-js-node-rowbinary/src/writers/nested.ts +17 -0
  183. package/skills/clickhouse-js-node-rowbinary/src/writers/nothing.ts +21 -0
  184. package/skills/clickhouse-js-node-rowbinary/src/writers/rows.ts +144 -0
  185. package/skills/clickhouse-js-node-rowbinary/src/writers/simpleAggregateFunction.ts +12 -0
  186. package/skills/clickhouse-js-node-rowbinary/src/writers/strings.ts +77 -0
  187. package/skills/clickhouse-js-node-rowbinary/src/writers/time.ts +54 -0
  188. package/skills/clickhouse-js-node-rowbinary/src/writers/uuid.ts +60 -0
  189. package/skills/clickhouse-js-node-rowbinary/src/writers/varint.ts +64 -0
  190. package/skills/clickhouse-js-node-rowbinary/src/writers/writer.ts +101 -0
  191. package/skills/clickhouse-js-node-rowbinary/writer.md +96 -0
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClickHouseLogLevel = exports.LogWriter = exports.DefaultLogger = void 0;
4
+ class DefaultLogger {
5
+ trace({ module, message, args }) {
6
+ const params = [
7
+ formatMessage({ module, message, level: "TRACE" }),
8
+ ];
9
+ if (args) {
10
+ params.push("\nArguments:", args);
11
+ }
12
+ console.debug(...params);
13
+ }
14
+ debug({ module, message, args }) {
15
+ const params = [
16
+ formatMessage({ module, message, level: "DEBUG" }),
17
+ ];
18
+ if (args) {
19
+ params.push("\nArguments:", args);
20
+ }
21
+ console.debug(...params);
22
+ }
23
+ info({ module, message, args }) {
24
+ const params = [
25
+ formatMessage({ module, message, level: "INFO" }),
26
+ ];
27
+ if (args) {
28
+ params.push("\nArguments:", args);
29
+ }
30
+ console.info(...params);
31
+ }
32
+ warn({ module, message, args, err }) {
33
+ const params = [
34
+ formatMessage({ module, message, level: "WARN" }),
35
+ ];
36
+ if (args) {
37
+ params.push("\nArguments:", args);
38
+ }
39
+ if (err) {
40
+ params.push("\nCaused by:", err);
41
+ }
42
+ console.warn(...params);
43
+ }
44
+ error({ module, message, args, err }) {
45
+ const params = [
46
+ formatMessage({ module, message, level: "ERROR" }),
47
+ ];
48
+ if (args) {
49
+ params.push("\nArguments:", args);
50
+ }
51
+ params.push("\nCaused by:", err);
52
+ console.error(...params);
53
+ }
54
+ }
55
+ exports.DefaultLogger = DefaultLogger;
56
+ class LogWriter {
57
+ logger;
58
+ module;
59
+ logLevel;
60
+ constructor(logger, module, logLevel) {
61
+ this.logger = logger;
62
+ this.module = module;
63
+ this.logLevel = logLevel;
64
+ this.info({
65
+ message: `Log level is set to ${exports.ClickHouseLogLevel[this.logLevel]}`,
66
+ });
67
+ }
68
+ trace(params) {
69
+ if (this.logLevel <= exports.ClickHouseLogLevel.TRACE) {
70
+ this.logger.trace({
71
+ ...params,
72
+ module: params.module ?? this.module,
73
+ });
74
+ }
75
+ }
76
+ debug(params) {
77
+ if (this.logLevel <= exports.ClickHouseLogLevel.DEBUG) {
78
+ this.logger.debug({
79
+ ...params,
80
+ module: params.module ?? this.module,
81
+ });
82
+ }
83
+ }
84
+ info(params) {
85
+ if (this.logLevel <= exports.ClickHouseLogLevel.INFO) {
86
+ this.logger.info({
87
+ ...params,
88
+ module: params.module ?? this.module,
89
+ });
90
+ }
91
+ }
92
+ warn(params) {
93
+ if (this.logLevel <= exports.ClickHouseLogLevel.WARN) {
94
+ this.logger.warn({
95
+ ...params,
96
+ module: params.module ?? this.module,
97
+ });
98
+ }
99
+ }
100
+ error(params) {
101
+ if (this.logLevel <= exports.ClickHouseLogLevel.ERROR) {
102
+ this.logger.error({
103
+ ...params,
104
+ module: params.module ?? this.module,
105
+ });
106
+ }
107
+ }
108
+ }
109
+ exports.LogWriter = LogWriter;
110
+ /**
111
+ * Mimics the runtime shape of a numeric TypeScript `enum`: an object with both
112
+ * forward (`Name -> number`) and reverse (`number -> Name`) mappings. This
113
+ * preserves backwards compatibility with the previous `enum ClickHouseLogLevel`
114
+ * — both `ClickHouseLogLevel.TRACE` (returns `0`) and `ClickHouseLogLevel[0]`
115
+ * (returns `'TRACE'`) continue to work — while staying compatible with the
116
+ * `--erasableSyntaxOnly` TypeScript option (no TS `enum` declaration).
117
+ */
118
+ exports.ClickHouseLogLevel = {
119
+ /**
120
+ * A fine-grained debugging event. Might produce a lot of logs, so use with caution.
121
+ */
122
+ TRACE: 0,
123
+ /**
124
+ * A debugging event. Useful for debugging, but generally not needed in production. Includes technical values that might require redacting.
125
+ */
126
+ DEBUG: 1,
127
+ /**
128
+ * An informational event. Indicates that an event happened.
129
+ */
130
+ INFO: 2,
131
+ /**
132
+ * A warning event. Not an error, but is likely more important than an informational event. Addressing should help prevent potential issues.
133
+ */
134
+ WARN: 3,
135
+ /**
136
+ * An error event. Something went wrong.
137
+ */
138
+ ERROR: 4,
139
+ /**
140
+ * Logging is turned off.
141
+ */
142
+ OFF: 127,
143
+ 0: "TRACE",
144
+ 1: "DEBUG",
145
+ 2: "INFO",
146
+ 3: "WARN",
147
+ 4: "ERROR",
148
+ 127: "OFF",
149
+ };
150
+ function formatMessage({ level, module, message, }) {
151
+ const ts = new Date().toISOString();
152
+ return `[${ts}][${level}][@clickhouse/client][${module}] ${message}`;
153
+ }
154
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/common/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,155 @@
1
+ /** @deprecated Superseded by the `@clickhouse/datatype-parser` package (`parseDataType` + its `Node` AST); slated for removal in a future major version. */
2
+ export declare class ColumnTypeParseError extends Error {
3
+ readonly args: Record<string, unknown>;
4
+ constructor(message: string, args?: Record<string, unknown>);
5
+ }
6
+ /** @deprecated Superseded by the `@clickhouse/datatype-parser` package (`parseDataType` + its `Node` AST); slated for removal in a future major version. */
7
+ export declare const SimpleColumnTypes: readonly ["Bool", "UInt8", "Int8", "UInt16", "Int16", "UInt32", "Int32", "UInt64", "Int64", "UInt128", "Int128", "UInt256", "Int256", "Float32", "Float64", "String", "UUID", "Date", "Date32", "IPv4", "IPv6"];
8
+ /** @deprecated Superseded by the `@clickhouse/datatype-parser` package (`parseDataType` + its `Node` AST); slated for removal in a future major version. */
9
+ export type SimpleColumnType = (typeof SimpleColumnTypes)[number];
10
+ /** @deprecated Superseded by the `@clickhouse/datatype-parser` package (`parseDataType` + its `Node` AST); slated for removal in a future major version. */
11
+ export interface ParsedColumnSimple {
12
+ type: "Simple";
13
+ /** Without LowCardinality and Nullable. For example:
14
+ * * UInt8 -> UInt8
15
+ * * LowCardinality(Nullable(String)) -> String */
16
+ columnType: SimpleColumnType;
17
+ /** The original type before parsing. */
18
+ sourceType: string;
19
+ }
20
+ /** @deprecated Superseded by the `@clickhouse/datatype-parser` package (`parseDataType` + its `Node` AST); slated for removal in a future major version. */
21
+ export interface ParsedColumnFixedString {
22
+ type: "FixedString";
23
+ sizeBytes: number;
24
+ sourceType: string;
25
+ }
26
+ /** @deprecated Superseded by the `@clickhouse/datatype-parser` package (`parseDataType` + its `Node` AST); slated for removal in a future major version. */
27
+ export interface ParsedColumnDateTime {
28
+ type: "DateTime";
29
+ timezone: string | null;
30
+ sourceType: string;
31
+ }
32
+ /** @deprecated Superseded by the `@clickhouse/datatype-parser` package (`parseDataType` + its `Node` AST); slated for removal in a future major version. */
33
+ export interface ParsedColumnDateTime64 {
34
+ type: "DateTime64";
35
+ timezone: string | null;
36
+ /** Valid range: [0 : 9] */
37
+ precision: number;
38
+ sourceType: string;
39
+ }
40
+ /** @deprecated Superseded by the `@clickhouse/datatype-parser` package (`parseDataType` + its `Node` AST); slated for removal in a future major version. */
41
+ export interface ParsedColumnEnum {
42
+ type: "Enum";
43
+ /** Index to name */
44
+ values: Record<number, string>;
45
+ /** UInt8 or UInt16 */
46
+ intSize: 8 | 16;
47
+ sourceType: string;
48
+ }
49
+ /** Int size for Decimal depends on the Precision
50
+ * * 32 bits for precision < 10
51
+ * * 64 bits for precision < 19
52
+ * * 128 bits for precision < 39
53
+ * * 256 bits for precision >= 39
54
+ *
55
+ * @deprecated Superseded by the `@clickhouse/datatype-parser` package (`parseDataType` + its `Node` AST); slated for removal in a future major version.
56
+ */
57
+ export interface DecimalParams {
58
+ precision: number;
59
+ scale: number;
60
+ intSize: 32 | 64 | 128 | 256;
61
+ }
62
+ /** @deprecated Superseded by the `@clickhouse/datatype-parser` package (`parseDataType` + its `Node` AST); slated for removal in a future major version. */
63
+ export interface ParsedColumnDecimal {
64
+ type: "Decimal";
65
+ params: DecimalParams;
66
+ sourceType: string;
67
+ }
68
+ /**
69
+ * Tuple, Array or Map itself cannot be Nullable
70
+ *
71
+ * @deprecated Superseded by the `@clickhouse/datatype-parser` package (`parseDataType` + its `Node` AST); slated for removal in a future major version.
72
+ */
73
+ export interface ParsedColumnNullable {
74
+ type: "Nullable";
75
+ value: ParsedColumnSimple | ParsedColumnEnum | ParsedColumnDecimal | ParsedColumnFixedString | ParsedColumnDateTime | ParsedColumnDateTime64;
76
+ sourceType: string;
77
+ }
78
+ /** Array cannot be Nullable or LowCardinality, but its value type can be.
79
+ * Arrays can be multidimensional, e.g. Array(Array(Array(T))).
80
+ * Arrays are allowed to have a Map as the value type.
81
+ *
82
+ * @deprecated Superseded by the `@clickhouse/datatype-parser` package (`parseDataType` + its `Node` AST); slated for removal in a future major version.
83
+ */
84
+ export interface ParsedColumnArray {
85
+ type: "Array";
86
+ value: ParsedColumnNullable | ParsedColumnSimple | ParsedColumnFixedString | ParsedColumnDecimal | ParsedColumnEnum | ParsedColumnMap | ParsedColumnDateTime | ParsedColumnDateTime64 | ParsedColumnTuple;
87
+ /** Array(T) = 1 dimension, Array(Array(T)) = 2, etc. */
88
+ dimensions: number;
89
+ sourceType: string;
90
+ }
91
+ /**
92
+ * @see https://clickhouse.com/docs/en/sql-reference/data-types/map
93
+ * @deprecated Superseded by the `@clickhouse/datatype-parser` package (`parseDataType` + its `Node` AST); slated for removal in a future major version.
94
+ */
95
+ export interface ParsedColumnMap {
96
+ type: "Map";
97
+ /** Possible key types:
98
+ * - String, Integer, UUID, Date, Date32, etc ({@link ParsedColumnSimple})
99
+ * - FixedString
100
+ * - DateTime
101
+ * - Enum
102
+ */
103
+ key: ParsedColumnSimple | ParsedColumnFixedString | ParsedColumnEnum | ParsedColumnDateTime;
104
+ /** Value types are arbitrary, including Map, Array, and Tuple. */
105
+ value: ParsedColumnType;
106
+ sourceType: string;
107
+ }
108
+ /** @deprecated Superseded by the `@clickhouse/datatype-parser` package (`parseDataType` + its `Node` AST); slated for removal in a future major version. */
109
+ export interface ParsedColumnTuple {
110
+ type: "Tuple";
111
+ /** Element types are arbitrary, including Map, Array, and Tuple. */
112
+ elements: ParsedColumnType[];
113
+ sourceType: string;
114
+ }
115
+ /** @deprecated Superseded by the `@clickhouse/datatype-parser` package (`parseDataType` + its `Node` AST); slated for removal in a future major version. */
116
+ export type ParsedColumnType = ParsedColumnSimple | ParsedColumnEnum | ParsedColumnFixedString | ParsedColumnNullable | ParsedColumnDecimal | ParsedColumnDateTime | ParsedColumnDateTime64 | ParsedColumnArray | ParsedColumnTuple | ParsedColumnMap;
117
+ /**
118
+ * @deprecated Superseded by the standalone `@clickhouse/datatype-parser` package
119
+ * — use `parseDataType` and its `Node` AST instead. That parser is
120
+ * server-faithful and already handles the source types listed below as
121
+ * unsupported here (Geo, (Simple)AggregateFunction, Nested, JSON, Dynamic,
122
+ * Variant). Slated for removal in a future major version.
123
+ *
124
+ * @experimental - incomplete, unstable API;
125
+ * originally intended to be used for RowBinary/Native header parsing internally.
126
+ * Currently unsupported source types:
127
+ * * Geo
128
+ * * (Simple)AggregateFunction
129
+ * * Nested
130
+ * * Old/new JSON
131
+ * * Dynamic
132
+ * * Variant
133
+ */
134
+ export declare function parseColumnType(sourceType: string): ParsedColumnType;
135
+ export declare function parseDecimalType({ columnType, sourceType, }: ParseColumnTypeParams): ParsedColumnDecimal;
136
+ export declare function parseEnumType({ columnType, sourceType, }: ParseColumnTypeParams): ParsedColumnEnum;
137
+ export declare function parseMapType({ columnType, sourceType, }: ParseColumnTypeParams): ParsedColumnMap;
138
+ export declare function parseTupleType({ columnType, sourceType, }: ParseColumnTypeParams): ParsedColumnTuple;
139
+ export declare function parseArrayType({ columnType, sourceType, }: ParseColumnTypeParams): ParsedColumnArray;
140
+ export declare function parseDateTimeType({ columnType, sourceType, }: ParseColumnTypeParams): ParsedColumnDateTime;
141
+ export declare function parseDateTime64Type({ columnType, sourceType, }: ParseColumnTypeParams): ParsedColumnDateTime64;
142
+ export declare function parseFixedStringType({ columnType, sourceType, }: ParseColumnTypeParams): ParsedColumnFixedString;
143
+ export declare function asNullableType(value: ParsedColumnType, sourceType: string): ParsedColumnNullable;
144
+ /** Used for Map key/value types and Tuple elements.
145
+ * * `String, UInt8` results in [`String`, `UInt8`].
146
+ * * `String, UInt8, Array(String)` results in [`String`, `UInt8`, `Array(String)`].
147
+ * * Throws if parsed values are below the required minimum. */
148
+ export declare function getElementsTypes({ columnType, sourceType }: ParseColumnTypeParams, minElements: number): string[];
149
+ interface ParseColumnTypeParams {
150
+ /** A particular type to parse, such as DateTime. */
151
+ columnType: string;
152
+ /** Full type definition, such as Map(String, DateTime). */
153
+ sourceType: string;
154
+ }
155
+ export {};