Socket
Socket
Sign inDemoInstall

@clickhouse/client

Package Overview
Dependencies
Maintainers
4
Versions
44
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@clickhouse/client - npm Package Compare versions

Comparing version 0.2.6 to 0.2.7

4

dist/connection/node_base_connection.d.ts

@@ -31,2 +31,3 @@ /// <reference types="node" />

compress_request?: boolean;
parse_summary?: boolean;
}

@@ -48,6 +49,7 @@ export declare abstract class NodeBaseConnection implements Connection<Stream.Readable> {

exec(params: ConnBaseQueryParams): Promise<ConnExecResult<Stream.Readable>>;
drainHttpResponse(stream: Stream.Readable): Promise<void>;
insert(params: ConnInsertParams<Stream.Readable>): Promise<ConnInsertResult>;
close(): Promise<void>;
private logResponse;
private drainHttpResponse;
private parseSummary;
}

@@ -97,3 +97,8 @@ "use strict";

if ((0, client_common_1.isSuccessfulResponse)(_response.statusCode)) {
return resolve(decompressionResult.response);
return resolve({
stream: decompressionResult.response,
summary: params.parse_summary
? this.parseSummary(_response)
: undefined,
});
}

@@ -233,3 +238,3 @@ else {

try {
const stream = await this.request({
const { stream } = await this.request({
method: 'GET',

@@ -261,3 +266,3 @@ url: (0, client_common_1.transformUrl)({ url: this.params.url, pathname: '/ping' }),

});
const stream = await this.request({
const { stream } = await this.request({
method: 'POST',

@@ -283,3 +288,3 @@ url: (0, client_common_1.transformUrl)({ url: this.params.url, searchParams }),

});
const stream = await this.request({
const { stream, summary } = await this.request({
method: 'POST',

@@ -289,2 +294,3 @@ url: (0, client_common_1.transformUrl)({ url: this.params.url, searchParams }),

abort_signal: params.abort_signal,
parse_summary: true,
});

@@ -294,32 +300,5 @@ return {

query_id,
summary,
};
}
async drainHttpResponse(stream) {
return new Promise((resolve, reject) => {
function dropData() {
// We don't care about the data
}
function onEnd() {
removeListeners();
resolve();
}
function onError(err) {
removeListeners();
reject(err);
}
function onClose() {
removeListeners();
}
function removeListeners() {
stream.removeListener('data', dropData);
stream.removeListener('end', onEnd);
stream.removeListener('error', onError);
stream.removeListener('onClose', onClose);
}
stream.on('data', dropData);
stream.on('end', onEnd);
stream.on('error', onError);
stream.on('close', onClose);
});
}
async insert(params) {

@@ -335,3 +314,3 @@ const query_id = getQueryId(params.query_id);

});
const stream = await this.request({
const { stream, summary } = await this.request({
method: 'POST',

@@ -342,5 +321,6 @@ url: (0, client_common_1.transformUrl)({ url: this.params.url, searchParams }),

compress_request: this.params.compression.compress_request,
parse_summary: true,
});
await this.drainHttpResponse(stream);
return { query_id };
return { query_id, summary };
}

@@ -370,2 +350,45 @@ async close() {

}
async drainHttpResponse(stream) {
return new Promise((resolve, reject) => {
function dropData() {
// We don't care about the data
}
function onEnd() {
removeListeners();
resolve();
}
function onError(err) {
removeListeners();
reject(err);
}
function onClose() {
removeListeners();
}
function removeListeners() {
stream.removeListener('data', dropData);
stream.removeListener('end', onEnd);
stream.removeListener('error', onError);
stream.removeListener('onClose', onClose);
}
stream.on('data', dropData);
stream.on('end', onEnd);
stream.on('error', onError);
stream.on('close', onClose);
});
}
parseSummary(response) {
const summaryHeader = response.headers['x-clickhouse-summary'];
if (typeof summaryHeader === 'string') {
try {
return JSON.parse(summaryHeader);
}
catch (err) {
this.logger.error({
module: 'Connection',
message: `Failed to parse X-ClickHouse-Summary header, got: ${summaryHeader}`,
err: err,
});
}
}
}
}

@@ -372,0 +395,0 @@ exports.NodeBaseConnection = NodeBaseConnection;

@@ -1,2 +0,2 @@

declare const _default: "0.2.6";
declare const _default: "0.2.7";
export default _default;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = '0.2.6';
exports.default = '0.2.7';
//# sourceMappingURL=version.js.map

@@ -5,3 +5,3 @@ {

"homepage": "https://clickhouse.com",
"version": "0.2.6",
"version": "0.2.7",
"license": "Apache-2.0",

@@ -27,4 +27,4 @@ "keywords": [

"dependencies": {
"@clickhouse/client-common": "0.2.6"
"@clickhouse/client-common": "0.2.7"
}
}

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc