@quillsql/node 0.6.6 → 0.6.8
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/db/Snowflake.js +42 -14
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/models/Quill.d.ts +6 -0
- package/package.json +1 -1
- package/src/db/Snowflake.ts +49 -14
- package/src/index.ts +2 -0
- package/src/models/Quill.ts +7 -0
package/dist/db/Snowflake.js
CHANGED
|
@@ -16,21 +16,49 @@ exports.getSchemaColumnInfoSnowflake = exports.getForeignKeysSnowflake = exports
|
|
|
16
16
|
const snowflake_sdk_1 = __importDefault(require("snowflake-sdk"));
|
|
17
17
|
const textProcessing_1 = require("../utils/textProcessing");
|
|
18
18
|
const POSTGRES_SNOWFLAKE_MAP = {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
19
|
+
// Numeric Types
|
|
20
|
+
NUMBER: 1700, // NUMERIC
|
|
21
|
+
DECIMAL: 1700, // NUMERIC
|
|
22
|
+
NUMERIC: 1700, // NUMERIC
|
|
23
|
+
INT: 23, // INTEGER
|
|
24
|
+
INTEGER: 23, // INTEGER
|
|
25
|
+
BIGINT: 20, // BIGINT
|
|
26
|
+
SMALLINT: 21, // SMALLINT
|
|
27
|
+
TINYINT: 21, // SMALLINT (PostgreSQL doesn't have TINYINT)
|
|
28
|
+
BYTEINT: 21, // SMALLINT (PostgreSQL doesn't have BYTEINT)
|
|
29
|
+
FLOAT: 701, // DOUBLE PRECISION
|
|
30
|
+
FLOAT4: 700, // REAL
|
|
31
|
+
FLOAT8: 701, // DOUBLE PRECISION
|
|
32
|
+
DOUBLE: 701, // DOUBLE PRECISION
|
|
33
|
+
REAL: 700, // REAL
|
|
34
|
+
// Boolean Type
|
|
35
|
+
BOOLEAN: 16, // BOOLEAN
|
|
36
|
+
// String Types
|
|
37
|
+
VARCHAR: 1043, // VARCHAR
|
|
38
|
+
CHAR: 1042, // CHAR
|
|
39
|
+
CHARACTER: 1042, // CHAR
|
|
40
|
+
STRING: 25, // TEXT
|
|
41
|
+
TEXT: 25, // TEXT
|
|
42
|
+
// Binary Types
|
|
33
43
|
BINARY: 17, // BYTEA
|
|
44
|
+
VARBINARY: 17, // BYTEA
|
|
45
|
+
// Date and Time Types
|
|
46
|
+
DATE: 1082, // DATE
|
|
47
|
+
DATETIME: 1184, // TIMESTAMP
|
|
48
|
+
TIME: 1083, // TIME
|
|
49
|
+
TIMESTAMP: 1184, // TIMESTAMP
|
|
50
|
+
TIMESTAMP_LTZ: 1184, // TIMESTAMP WITH TIME ZONE
|
|
51
|
+
TIMESTAMP_NTZ: 1114, // TIMESTAMP WITHOUT TIME ZONE
|
|
52
|
+
TIMESTAMP_TZ: 1184, // TIMESTAMP WITH TIME ZONE
|
|
53
|
+
// Semi-structured Data Types
|
|
54
|
+
VARIANT: 3802, // JSONB
|
|
55
|
+
OBJECT: 3802, // JSONB
|
|
56
|
+
ARRAY: 2277, // JSON[] (closest equivalent)
|
|
57
|
+
// Geospatial Type
|
|
58
|
+
GEOGRAPHY: 25, // TEXT (PostgreSQL doesn't have a direct equivalent)
|
|
59
|
+
GEOMETRY: 25, // TEXT (PostgreSQL doesn't have a direct equivalent)
|
|
60
|
+
// Vector Type
|
|
61
|
+
VECTOR: 3802, // JSONB (closest equivalent without extensions)
|
|
34
62
|
};
|
|
35
63
|
function runQuerySnowflake(sql, connection) {
|
|
36
64
|
return __awaiter(this, void 0, void 0, function* () {
|
package/dist/index.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ export declare class Quill implements AsyncDisposable {
|
|
|
32
32
|
cache?: Partial<CacheCredentials>;
|
|
33
33
|
metadataServerURL?: string;
|
|
34
34
|
});
|
|
35
|
-
query({ orgId, metadata, }: QuillQueryParams): Promise<QuillQueryResult>;
|
|
35
|
+
query({ orgId, metadata, filters, }: QuillQueryParams): Promise<QuillQueryResult>;
|
|
36
36
|
private runQueries;
|
|
37
37
|
private postQuill;
|
|
38
38
|
[Symbol.asyncDispose](): Promise<void>;
|
package/dist/index.js
CHANGED
|
@@ -40,7 +40,7 @@ class Quill {
|
|
|
40
40
|
}
|
|
41
41
|
this.targetConnection = new CachedConnection_1.CachedConnection(databaseType, credentials, cache || {});
|
|
42
42
|
}
|
|
43
|
-
query({ orgId, metadata, }) {
|
|
43
|
+
query({ orgId, metadata, filters, }) {
|
|
44
44
|
var _a, _b;
|
|
45
45
|
return __awaiter(this, void 0, void 0, function* () {
|
|
46
46
|
this.targetConnection.orgId = orgId;
|
|
@@ -58,7 +58,7 @@ class Quill {
|
|
|
58
58
|
status: "success",
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
|
-
const response = yield this.postQuill(metadata.task, Object.assign(Object.assign(Object.assign({}, metadata), preQueryResults), { orgId, viewQuery: metadata.preQueries ? metadata.preQueries[0] : undefined }));
|
|
61
|
+
const response = yield this.postQuill(metadata.task, Object.assign(Object.assign(Object.assign(Object.assign({}, metadata), { sdkFilters: filters }), preQueryResults), { orgId, viewQuery: metadata.preQueries ? metadata.preQueries[0] : undefined }));
|
|
62
62
|
if (response.error) {
|
|
63
63
|
return {
|
|
64
64
|
status: "error",
|
package/dist/models/Quill.d.ts
CHANGED
|
@@ -31,6 +31,12 @@ export interface QuillQueryParams {
|
|
|
31
31
|
orgId: string;
|
|
32
32
|
metadata: QuillRequestMetadata;
|
|
33
33
|
environment?: string;
|
|
34
|
+
filters?: QuillFilter[];
|
|
35
|
+
}
|
|
36
|
+
export interface QuillFilter {
|
|
37
|
+
table: string;
|
|
38
|
+
field: string;
|
|
39
|
+
selectedValue: string;
|
|
34
40
|
}
|
|
35
41
|
export interface QuillConfig {
|
|
36
42
|
privateKey: string;
|
package/package.json
CHANGED
package/src/db/Snowflake.ts
CHANGED
|
@@ -3,21 +3,56 @@ import { QuillQueryResults } from "./DatabaseHelper";
|
|
|
3
3
|
import { capitalize, depluralize } from "../utils/textProcessing";
|
|
4
4
|
|
|
5
5
|
const POSTGRES_SNOWFLAKE_MAP: { [type: string]: number } = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
6
|
+
// Numeric Types
|
|
7
|
+
NUMBER: 1700, // NUMERIC
|
|
8
|
+
DECIMAL: 1700, // NUMERIC
|
|
9
|
+
NUMERIC: 1700, // NUMERIC
|
|
10
|
+
INT: 23, // INTEGER
|
|
11
|
+
INTEGER: 23, // INTEGER
|
|
12
|
+
BIGINT: 20, // BIGINT
|
|
13
|
+
SMALLINT: 21, // SMALLINT
|
|
14
|
+
TINYINT: 21, // SMALLINT (PostgreSQL doesn't have TINYINT)
|
|
15
|
+
BYTEINT: 21, // SMALLINT (PostgreSQL doesn't have BYTEINT)
|
|
16
|
+
FLOAT: 701, // DOUBLE PRECISION
|
|
17
|
+
FLOAT4: 700, // REAL
|
|
18
|
+
FLOAT8: 701, // DOUBLE PRECISION
|
|
19
|
+
DOUBLE: 701, // DOUBLE PRECISION
|
|
20
|
+
REAL: 700, // REAL
|
|
21
|
+
|
|
22
|
+
// Boolean Type
|
|
23
|
+
BOOLEAN: 16, // BOOLEAN
|
|
24
|
+
|
|
25
|
+
// String Types
|
|
26
|
+
VARCHAR: 1043, // VARCHAR
|
|
27
|
+
CHAR: 1042, // CHAR
|
|
28
|
+
CHARACTER: 1042, // CHAR
|
|
29
|
+
STRING: 25, // TEXT
|
|
30
|
+
TEXT: 25, // TEXT
|
|
31
|
+
|
|
32
|
+
// Binary Types
|
|
20
33
|
BINARY: 17, // BYTEA
|
|
34
|
+
VARBINARY: 17, // BYTEA
|
|
35
|
+
|
|
36
|
+
// Date and Time Types
|
|
37
|
+
DATE: 1082, // DATE
|
|
38
|
+
DATETIME: 1184, // TIMESTAMP
|
|
39
|
+
TIME: 1083, // TIME
|
|
40
|
+
TIMESTAMP: 1184, // TIMESTAMP
|
|
41
|
+
TIMESTAMP_LTZ: 1184, // TIMESTAMP WITH TIME ZONE
|
|
42
|
+
TIMESTAMP_NTZ: 1114, // TIMESTAMP WITHOUT TIME ZONE
|
|
43
|
+
TIMESTAMP_TZ: 1184, // TIMESTAMP WITH TIME ZONE
|
|
44
|
+
|
|
45
|
+
// Semi-structured Data Types
|
|
46
|
+
VARIANT: 3802, // JSONB
|
|
47
|
+
OBJECT: 3802, // JSONB
|
|
48
|
+
ARRAY: 2277, // JSON[] (closest equivalent)
|
|
49
|
+
|
|
50
|
+
// Geospatial Type
|
|
51
|
+
GEOGRAPHY: 25, // TEXT (PostgreSQL doesn't have a direct equivalent)
|
|
52
|
+
GEOMETRY: 25, // TEXT (PostgreSQL doesn't have a direct equivalent)
|
|
53
|
+
|
|
54
|
+
// Vector Type
|
|
55
|
+
VECTOR: 3802, // JSONB (closest equivalent without extensions)
|
|
21
56
|
};
|
|
22
57
|
|
|
23
58
|
export type SnowflakeConnectionConfig = {
|
package/src/index.ts
CHANGED
|
@@ -90,6 +90,7 @@ export class Quill implements AsyncDisposable {
|
|
|
90
90
|
public async query({
|
|
91
91
|
orgId,
|
|
92
92
|
metadata,
|
|
93
|
+
filters,
|
|
93
94
|
}: QuillQueryParams): Promise<QuillQueryResult> {
|
|
94
95
|
this.targetConnection.orgId = orgId;
|
|
95
96
|
let responseMetadata: any = {};
|
|
@@ -115,6 +116,7 @@ export class Quill implements AsyncDisposable {
|
|
|
115
116
|
}
|
|
116
117
|
const response = await this.postQuill(metadata.task, {
|
|
117
118
|
...metadata,
|
|
119
|
+
sdkFilters: filters,
|
|
118
120
|
...preQueryResults,
|
|
119
121
|
orgId,
|
|
120
122
|
viewQuery: metadata.preQueries ? metadata.preQueries[0] : undefined,
|
package/src/models/Quill.ts
CHANGED
|
@@ -33,6 +33,13 @@ export interface QuillQueryParams {
|
|
|
33
33
|
orgId: string;
|
|
34
34
|
metadata: QuillRequestMetadata;
|
|
35
35
|
environment?: string;
|
|
36
|
+
filters?: QuillFilter[];
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export interface QuillFilter {
|
|
40
|
+
table: string;
|
|
41
|
+
field: string;
|
|
42
|
+
selectedValue: string;
|
|
36
43
|
}
|
|
37
44
|
|
|
38
45
|
export interface QuillConfig {
|