@clickhouse/client-common 0.2.7 → 0.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +22 -2
- package/dist/client.js +22 -1
- package/dist/client.js.map +1 -1
- package/dist/connection.d.ts +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ClickHouseLogLevel, ClickHouseSettings, Connection, ConnectionParams, ConnInsertResult, Logger, WithClickHouseSummary
|
|
1
|
+
import type { ClickHouseLogLevel, ClickHouseSettings, Connection, ConnectionParams, ConnExecResult, ConnInsertResult, Logger, WithClickHouseSummary } from '@clickhouse/client-common';
|
|
2
2
|
import { type DataFormat } from '@clickhouse/client-common';
|
|
3
3
|
import type { InputJSON, InputJSONObjectEachRow } from './clickhouse_types';
|
|
4
4
|
import type { ConnPingResult } from './connection';
|
|
@@ -60,6 +60,7 @@ export interface ClickHouseClientConfigOptions<Stream> {
|
|
|
60
60
|
level?: ClickHouseLogLevel;
|
|
61
61
|
};
|
|
62
62
|
session_id?: string;
|
|
63
|
+
additional_headers?: Record<string, string>;
|
|
63
64
|
}
|
|
64
65
|
export type BaseClickHouseClientConfigOptions<Stream> = Omit<ClickHouseClientConfigOptions<Stream>, 'impl'>;
|
|
65
66
|
export interface BaseQueryParams {
|
|
@@ -92,13 +93,31 @@ export type InsertResult = ConnInsertResult;
|
|
|
92
93
|
export type ExecResult<Stream> = ConnExecResult<Stream>;
|
|
93
94
|
export type PingResult = ConnPingResult;
|
|
94
95
|
export type InsertValues<Stream, T = unknown> = ReadonlyArray<T> | Stream | InputJSON<T> | InputJSONObjectEachRow<T>;
|
|
96
|
+
type NonEmptyArray<T> = [T, ...T[]];
|
|
97
|
+
/** {@link except} field contains a non-empty list of columns to exclude when generating `(* EXCEPT (...))` clause */
|
|
98
|
+
export interface InsertColumnsExcept {
|
|
99
|
+
except: NonEmptyArray<string>;
|
|
100
|
+
}
|
|
95
101
|
export interface InsertParams<Stream = unknown, T = unknown> extends BaseQueryParams {
|
|
96
102
|
/** Name of a table to insert into. */
|
|
97
103
|
table: string;
|
|
98
104
|
/** A dataset to insert. */
|
|
99
105
|
values: InsertValues<Stream, T>;
|
|
100
|
-
/** Format of the dataset to insert. */
|
|
106
|
+
/** Format of the dataset to insert. Default: `JSONCompactEachRow` */
|
|
101
107
|
format?: DataFormat;
|
|
108
|
+
/**
|
|
109
|
+
* Allows to specify which columns the data will be inserted into.
|
|
110
|
+
* Accepts either an array of strings (column names) or an object of {@link InsertColumnsExcept} type.
|
|
111
|
+
* Examples of generated queries:
|
|
112
|
+
*
|
|
113
|
+
* - An array such as `['a', 'b']` will generate: `INSERT INTO table (a, b) FORMAT DataFormat`
|
|
114
|
+
* - An object such as `{ except: ['a', 'b'] }` will generate: `INSERT INTO table (* EXCEPT (a, b)) FORMAT DataFormat`
|
|
115
|
+
*
|
|
116
|
+
* By default, the data is inserted into all columns of the {@link InsertParams.table},
|
|
117
|
+
* and the generated statement will be: `INSERT INTO table FORMAT DataFormat`.
|
|
118
|
+
*
|
|
119
|
+
* See also: https://clickhouse.com/docs/en/sql-reference/statements/insert-into */
|
|
120
|
+
columns?: NonEmptyArray<string> | InsertColumnsExcept;
|
|
102
121
|
}
|
|
103
122
|
export declare class ClickHouseClient<Stream = unknown> {
|
|
104
123
|
private readonly connectionParams;
|
|
@@ -150,3 +169,4 @@ export declare class ClickHouseClient<Stream = unknown> {
|
|
|
150
169
|
*/
|
|
151
170
|
close(): Promise<void>;
|
|
152
171
|
}
|
|
172
|
+
export {};
|
package/dist/client.js
CHANGED
|
@@ -109,7 +109,7 @@ class ClickHouseClient {
|
|
|
109
109
|
async insert(params) {
|
|
110
110
|
const format = params.format || 'JSONCompactEachRow';
|
|
111
111
|
this.valuesEncoder.validateInsertValues(params.values, format);
|
|
112
|
-
const query =
|
|
112
|
+
const query = getInsertQuery(params, format);
|
|
113
113
|
return await this.connection.insert({
|
|
114
114
|
query,
|
|
115
115
|
values: this.valuesEncoder.encodeValues(params.values, format),
|
|
@@ -181,6 +181,27 @@ function getConnectionParams(config) {
|
|
|
181
181
|
logWriter: new client_common_1.LogWriter(config?.log?.LoggerClass
|
|
182
182
|
? new config.log.LoggerClass()
|
|
183
183
|
: new client_common_1.DefaultLogger(), config.log?.level),
|
|
184
|
+
additional_headers: config.additional_headers,
|
|
184
185
|
};
|
|
185
186
|
}
|
|
187
|
+
function isInsertColumnsExcept(obj) {
|
|
188
|
+
return (obj !== undefined &&
|
|
189
|
+
obj !== null &&
|
|
190
|
+
typeof obj === 'object' &&
|
|
191
|
+
// Avoiding ESLint no-prototype-builtins error
|
|
192
|
+
Object.prototype.hasOwnProperty.call(obj, 'except'));
|
|
193
|
+
}
|
|
194
|
+
function getInsertQuery(params, format) {
|
|
195
|
+
let columnsPart = '';
|
|
196
|
+
if (params.columns !== undefined) {
|
|
197
|
+
if (Array.isArray(params.columns) && params.columns.length > 0) {
|
|
198
|
+
columnsPart = ` (${params.columns.join(', ')})`;
|
|
199
|
+
}
|
|
200
|
+
else if (isInsertColumnsExcept(params.columns) &&
|
|
201
|
+
params.columns.except.length > 0) {
|
|
202
|
+
columnsPart = ` (* EXCEPT (${params.columns.except.join(', ')}))`;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
return `INSERT INTO ${params.table.trim()}${columnsPart} FORMAT ${format}`;
|
|
206
|
+
}
|
|
186
207
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../packages/client-common/src/client.ts"],"names":[],"mappings":";;;AAUA,6DAIkC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../packages/client-common/src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/connection.d.ts
CHANGED
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "0.2.
|
|
1
|
+
declare const _default: "0.2.9";
|
|
2
2
|
export default _default;
|
package/dist/version.js
CHANGED
package/package.json
CHANGED