@l-v-yonsama/multi-platform-database-drivers 0.10.27 → 0.11.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/README.md +2 -2
- package/built/src/drivers/AwsDriver.d.ts +2 -0
- package/built/src/drivers/AwsDriver.js +3 -0
- package/built/src/drivers/AwsDriver.js.map +1 -1
- package/built/src/drivers/BaseDriver.d.ts +3 -0
- package/built/src/drivers/BaseDriver.js.map +1 -1
- package/built/src/drivers/BaseSQLSupportDriver.d.ts +2 -0
- package/built/src/drivers/BaseSQLSupportDriver.js.map +1 -1
- package/built/src/drivers/DBDriverResolver.js +4 -0
- package/built/src/drivers/DBDriverResolver.js.map +1 -1
- package/built/src/drivers/MemcacheDriver.d.ts +23 -0
- package/built/src/drivers/MemcacheDriver.js +326 -0
- package/built/src/drivers/MemcacheDriver.js.map +1 -0
- package/built/src/drivers/MySQLDriver.d.ts +2 -0
- package/built/src/drivers/MySQLDriver.js +6 -1
- package/built/src/drivers/MySQLDriver.js.map +1 -1
- package/built/src/drivers/PostgresDriver.d.ts +2 -0
- package/built/src/drivers/PostgresDriver.js +3 -0
- package/built/src/drivers/PostgresDriver.js.map +1 -1
- package/built/src/drivers/RDSBaseDriver.d.ts +1 -0
- package/built/src/drivers/RDSBaseDriver.js +6 -0
- package/built/src/drivers/RDSBaseDriver.js.map +1 -1
- package/built/src/drivers/SQLServerDriver.d.ts +2 -0
- package/built/src/drivers/SQLServerDriver.js +3 -0
- package/built/src/drivers/SQLServerDriver.js.map +1 -1
- package/built/src/drivers/SQLiteDriver.d.ts +2 -0
- package/built/src/drivers/SQLiteDriver.js +3 -0
- package/built/src/drivers/SQLiteDriver.js.map +1 -1
- package/built/src/drivers/index.d.ts +1 -0
- package/built/src/drivers/index.js +1 -0
- package/built/src/drivers/index.js.map +1 -1
- package/built/src/drivers/memcache/helper.d.ts +16 -0
- package/built/src/drivers/memcache/helper.js +143 -0
- package/built/src/drivers/memcache/helper.js.map +1 -0
- package/built/src/helpers/SQLHelper.d.ts +11 -4
- package/built/src/helpers/SQLHelper.js +34 -17
- package/built/src/helpers/SQLHelper.js.map +1 -1
- package/built/src/resource/DbResource.d.ts +17 -2
- package/built/src/resource/DbResource.js +13 -1
- package/built/src/resource/DbResource.js.map +1 -1
- package/built/src/types/drivers/MemcachedParams.d.ts +14 -0
- package/built/src/types/drivers/MemcachedParams.js +3 -0
- package/built/src/types/drivers/MemcachedParams.js.map +1 -0
- package/built/src/types/drivers/ScanParams.d.ts +1 -0
- package/built/src/types/drivers/index.d.ts +1 -0
- package/built/src/types/drivers/index.js +1 -0
- package/built/src/types/drivers/index.js.map +1 -1
- package/built/src/types/helpers/index.d.ts +1 -0
- package/built/src/types/helpers/index.js.map +1 -1
- package/built/src/types/resource/DBType.d.ts +2 -1
- package/built/src/types/resource/DBType.js +1 -0
- package/built/src/types/resource/DBType.js.map +1 -1
- package/built/src/types/resource/ResourceType.d.ts +1 -0
- package/built/src/types/resource/ResourceType.js +1 -0
- package/built/src/types/resource/ResourceType.js.map +1 -1
- package/package.json +6 -1
package/README.md
CHANGED
|
@@ -9,6 +9,7 @@ import { AwsSQSServiceClient } from './aws/AwsSQSServiceClient';
|
|
|
9
9
|
import { AwsDynamoServiceClient } from './aws/AwsDynamoServiceClient';
|
|
10
10
|
import { ResultSetData } from '@l-v-yonsama/rdh';
|
|
11
11
|
import { BaseSQLSupportDriver } from './BaseSQLSupportDriver';
|
|
12
|
+
import { QuoteChar } from '../helpers';
|
|
12
13
|
export type ClientConfigType = {
|
|
13
14
|
region?: string;
|
|
14
15
|
endpoint?: string;
|
|
@@ -34,6 +35,7 @@ export declare class AwsDriver extends BaseSQLSupportDriver<AwsDatabase> {
|
|
|
34
35
|
getPositionalCharacter(): string | undefined;
|
|
35
36
|
isLimitAsTop(): boolean;
|
|
36
37
|
isSchemaSpecificationSvailable(): boolean;
|
|
38
|
+
getIdQuoteCharacter(): QuoteChar | undefined;
|
|
37
39
|
requestSql(params: QueryParams): Promise<ResultSetData>;
|
|
38
40
|
explainSql(params: QueryParams): Promise<ResultSetData>;
|
|
39
41
|
explainAnalyzeSql(params: QueryParams): Promise<ResultSetData>;
|
|
@@ -257,6 +257,9 @@ class AwsDriver extends BaseSQLSupportDriver_1.BaseSQLSupportDriver {
|
|
|
257
257
|
isSchemaSpecificationSvailable() {
|
|
258
258
|
return false;
|
|
259
259
|
}
|
|
260
|
+
getIdQuoteCharacter() {
|
|
261
|
+
return undefined;
|
|
262
|
+
}
|
|
260
263
|
requestSql(params) {
|
|
261
264
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
262
265
|
if (this.dynamoClient) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AwsDriver.js","sourceRoot":"","sources":["../../../src/drivers/AwsDriver.ts"],"names":[],"mappings":";;;;AASA,wEAAiE;AAEjE,oCAOkB;AAClB,iFAA8E;AAC9E,iEAA8D;AAE9D,mEAAgE;AAChE,mEAAgE;AAChE,yEAAsE;AAEtE,iEAA8D;
|
|
1
|
+
{"version":3,"file":"AwsDriver.js","sourceRoot":"","sources":["../../../src/drivers/AwsDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,9 @@ import { DBError } from './DBError';
|
|
|
5
5
|
export interface Scannable {
|
|
6
6
|
scan(params: ScanParams): Promise<ResultSetData>;
|
|
7
7
|
}
|
|
8
|
+
export interface Commandable {
|
|
9
|
+
executeCommand(command: string): Promise<ResultSetData>;
|
|
10
|
+
}
|
|
8
11
|
export declare function isScannable(arg: any): arg is Scannable;
|
|
9
12
|
export declare class SharedDbRes {
|
|
10
13
|
static instance: SharedDbRes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDriver.js","sourceRoot":"","sources":["../../../src/drivers/BaseDriver.ts"],"names":[],"mappings":";;;;AAGA,uCAAoC;
|
|
1
|
+
{"version":3,"file":"BaseDriver.js","sourceRoot":"","sources":["../../../src/drivers/BaseDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { ResultSetData } from '@l-v-yonsama/rdh';
|
|
|
2
2
|
import { ConnectionSetting, QueryParams, SQLLang } from '../types';
|
|
3
3
|
import { DbDatabase, SchemaAndTableName } from '../resource';
|
|
4
4
|
import { BaseDriver } from './BaseDriver';
|
|
5
|
+
import { QuoteChar } from '../helpers';
|
|
5
6
|
export declare abstract class BaseSQLSupportDriver<T extends DbDatabase = DbDatabase> extends BaseDriver<T> {
|
|
6
7
|
constructor(conRes: ConnectionSetting);
|
|
7
8
|
abstract isPositionedParameterAvailable(): boolean;
|
|
@@ -14,5 +15,6 @@ export declare abstract class BaseSQLSupportDriver<T extends DbDatabase = DbData
|
|
|
14
15
|
abstract explainAnalyzeSql(params: QueryParams): Promise<ResultSetData>;
|
|
15
16
|
abstract count(params: SchemaAndTableName): Promise<number | undefined>;
|
|
16
17
|
abstract countSql(params: QueryParams): Promise<number | undefined>;
|
|
18
|
+
abstract getIdQuoteCharacter(): QuoteChar | undefined;
|
|
17
19
|
abstract kill(sesssionOrPid?: number): Promise<string>;
|
|
18
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseSQLSupportDriver.js","sourceRoot":"","sources":["../../../src/drivers/BaseSQLSupportDriver.ts"],"names":[],"mappings":";;;AAGA,6CAA0C;
|
|
1
|
+
{"version":3,"file":"BaseSQLSupportDriver.js","sourceRoot":"","sources":["../../../src/drivers/BaseSQLSupportDriver.ts"],"names":[],"mappings":";;;AAGA,6CAA0C;AAG1C,MAAsB,oBAEpB,SAAQ,uBAAa;IACrB,YAAY,MAAyB;QACnC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;CA8BF;AAnCD,oDAmCC"}
|
|
@@ -14,6 +14,7 @@ const RedisDriver_1 = require("./RedisDriver");
|
|
|
14
14
|
const SQLServerDriver_1 = require("./SQLServerDriver");
|
|
15
15
|
const SQLiteDriver_1 = require("./SQLiteDriver");
|
|
16
16
|
const MqttDriver_1 = require("./MqttDriver");
|
|
17
|
+
const MemcacheDriver_1 = require("./MemcacheDriver");
|
|
17
18
|
const uid = new short_unique_id_1.default();
|
|
18
19
|
class DBDriverResolver {
|
|
19
20
|
static getInstance() {
|
|
@@ -63,6 +64,9 @@ class DBDriverResolver {
|
|
|
63
64
|
case types_1.DBType.Redis:
|
|
64
65
|
driver = new RedisDriver_1.RedisDriver(conRes);
|
|
65
66
|
break;
|
|
67
|
+
case types_1.DBType.Memcache:
|
|
68
|
+
driver = new MemcacheDriver_1.MemcacheDriver(conRes);
|
|
69
|
+
break;
|
|
66
70
|
case types_1.DBType.Auth0:
|
|
67
71
|
driver = new Auth0Driver_1.Auth0Driver(conRes);
|
|
68
72
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DBDriverResolver.js","sourceRoot":"","sources":["../../../src/drivers/DBDriverResolver.ts"],"names":[],"mappings":";;;;AAAA,8EAA4C;AAC5C,oCAKkB;AAClB,oCAAoD;AACpD,+CAA4C;AAC5C,2CAAwC;AAExC,qDAAkD;AAClD,+CAA4C;AAC5C,qDAAkD;AAElD,+CAA4C;AAC5C,uDAAoD;AACpD,iDAA8C;AAE9C,6CAA0C;
|
|
1
|
+
{"version":3,"file":"DBDriverResolver.js","sourceRoot":"","sources":["../../../src/drivers/DBDriverResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { ResultSetData } from '@l-v-yonsama/rdh';
|
|
3
|
+
import { DbKey, MemcacheDatabase, MemcacheKeyParams } from '../resource';
|
|
4
|
+
import { ConnectionSetting, ListOption, MemcachedValue, ScanParams } from '../types';
|
|
5
|
+
import { BaseDriver, Commandable, Scannable } from './BaseDriver';
|
|
6
|
+
export declare class MemcacheDriver extends BaseDriver<MemcacheDatabase> implements Scannable, Commandable {
|
|
7
|
+
private client;
|
|
8
|
+
constructor(conRes: ConnectionSetting);
|
|
9
|
+
connectSub(): Promise<string>;
|
|
10
|
+
test(with_connect?: boolean): Promise<string>;
|
|
11
|
+
getVersion(): Promise<string>;
|
|
12
|
+
listKeyWithValues(options?: ListOption): Promise<DbKey<MemcacheKeyParams>[]>;
|
|
13
|
+
getByRdh(key: string): Promise<ResultSetData>;
|
|
14
|
+
scan(params: ScanParams): Promise<ResultSetData>;
|
|
15
|
+
executeCommand(command: string): Promise<ResultSetData>;
|
|
16
|
+
private parseCommand;
|
|
17
|
+
get(key: string): Promise<MemcachedValue>;
|
|
18
|
+
set(key: string, value: string | Buffer, options?: {
|
|
19
|
+
lifetime?: number;
|
|
20
|
+
}): Promise<boolean>;
|
|
21
|
+
getInfomationSchemasSub(): Promise<Array<MemcacheDatabase>>;
|
|
22
|
+
closeSub(): Promise<string>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemcacheDriver = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const rdh_1 = require("@l-v-yonsama/rdh");
|
|
6
|
+
const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
|
7
|
+
const memcached_1 = tslib_1.__importDefault(require("memcached"));
|
|
8
|
+
const resource_1 = require("../resource");
|
|
9
|
+
const BaseDriver_1 = require("./BaseDriver");
|
|
10
|
+
const helper_1 = require("./memcache/helper");
|
|
11
|
+
const utils_1 = require("../utils");
|
|
12
|
+
class MemcacheDriver extends BaseDriver_1.BaseDriver {
|
|
13
|
+
constructor(conRes) {
|
|
14
|
+
super(conRes);
|
|
15
|
+
}
|
|
16
|
+
connectSub() {
|
|
17
|
+
var _a;
|
|
18
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
try {
|
|
20
|
+
const timeout = (_a = this.conRes.connectTimeoutMs) !== null && _a !== void 0 ? _a : 1000;
|
|
21
|
+
const server = `${this.conRes.host}`;
|
|
22
|
+
this.client = new memcached_1.default(server, {
|
|
23
|
+
retries: 1,
|
|
24
|
+
retry: 100,
|
|
25
|
+
timeout,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
return `failed to connect:${e.message}`;
|
|
30
|
+
}
|
|
31
|
+
return '';
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
test(with_connect = false) {
|
|
35
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
36
|
+
try {
|
|
37
|
+
if (with_connect) {
|
|
38
|
+
const con_result = yield this.connect();
|
|
39
|
+
if (con_result) {
|
|
40
|
+
return con_result;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
yield this.getVersion();
|
|
44
|
+
if (with_connect) {
|
|
45
|
+
yield this.disconnect();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch (e) {
|
|
49
|
+
return e.message;
|
|
50
|
+
}
|
|
51
|
+
return '';
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
getVersion() {
|
|
55
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
const versions = yield (0, helper_1.versionAsync)(this.client);
|
|
57
|
+
return Object.values(versions).join(', ');
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
listKeyWithValues(options) {
|
|
61
|
+
var _a, _b;
|
|
62
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
const limit = (_a = options === null || options === void 0 ? void 0 : options.limit) !== null && _a !== void 0 ? _a : 100;
|
|
64
|
+
const keyword = (_b = options === null || options === void 0 ? void 0 : options.keyword) !== null && _b !== void 0 ? _b : '';
|
|
65
|
+
const list = [];
|
|
66
|
+
const items = yield (0, helper_1.itemsAsync)(this.client);
|
|
67
|
+
out: for (const item of items) {
|
|
68
|
+
const server = item.server;
|
|
69
|
+
if (!server)
|
|
70
|
+
continue;
|
|
71
|
+
for (const key of Object.keys(item)) {
|
|
72
|
+
if (key === 'server')
|
|
73
|
+
continue;
|
|
74
|
+
const slabId = Number(key);
|
|
75
|
+
const iLimit = item[key].number;
|
|
76
|
+
const remainingLimit = Math.max(0, limit - list.length);
|
|
77
|
+
const keysToFetch = Math.min(iLimit, remainingLimit);
|
|
78
|
+
const keys = yield (0, helper_1.getKeysFromSlab)(this.client, server, slabId, keysToFetch);
|
|
79
|
+
if (keys.length === 0)
|
|
80
|
+
continue;
|
|
81
|
+
const data = yield (0, helper_1.getMultiAsync)(this.client, keys);
|
|
82
|
+
for (const dataKey of Object.keys(data)) {
|
|
83
|
+
if (keyword && !dataKey.includes(keyword)) {
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
const val = data[dataKey];
|
|
87
|
+
const dbKey = new resource_1.DbKey(dataKey, {
|
|
88
|
+
slabId: slabId,
|
|
89
|
+
val: val,
|
|
90
|
+
});
|
|
91
|
+
list.push(dbKey);
|
|
92
|
+
if (list.length >= limit) {
|
|
93
|
+
break out;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return list;
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
getByRdh(key) {
|
|
102
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
103
|
+
return yield this.scan({
|
|
104
|
+
limit: 1,
|
|
105
|
+
target: 'exact',
|
|
106
|
+
keyword: key,
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
scan(params) {
|
|
111
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
112
|
+
const { matchType, limit, withValue, keyword, jsonExpansion } = params;
|
|
113
|
+
const keys = [
|
|
114
|
+
(0, rdh_1.createRdhKey)({
|
|
115
|
+
name: 'key',
|
|
116
|
+
type: rdh_1.GeneralColumnType.TEXT,
|
|
117
|
+
width: 150,
|
|
118
|
+
}),
|
|
119
|
+
(0, rdh_1.createRdhKey)({
|
|
120
|
+
name: 'raw_text',
|
|
121
|
+
type: rdh_1.GeneralColumnType.TEXT,
|
|
122
|
+
width: 60,
|
|
123
|
+
align: 'left',
|
|
124
|
+
}),
|
|
125
|
+
(0, rdh_1.createRdhKey)({
|
|
126
|
+
name: 'raw_buffer',
|
|
127
|
+
type: rdh_1.GeneralColumnType.BLOB,
|
|
128
|
+
width: 60,
|
|
129
|
+
align: 'left',
|
|
130
|
+
}),
|
|
131
|
+
(0, rdh_1.createRdhKey)({
|
|
132
|
+
name: 'type',
|
|
133
|
+
type: rdh_1.GeneralColumnType.ENUM,
|
|
134
|
+
width: 70,
|
|
135
|
+
}),
|
|
136
|
+
(0, rdh_1.createRdhKey)({
|
|
137
|
+
name: 'formatted',
|
|
138
|
+
type: rdh_1.GeneralColumnType.TEXT,
|
|
139
|
+
width: 360,
|
|
140
|
+
align: 'left',
|
|
141
|
+
}),
|
|
142
|
+
];
|
|
143
|
+
let list = [];
|
|
144
|
+
const startTime = new Date().getTime();
|
|
145
|
+
if (matchType === 'exact') {
|
|
146
|
+
const val = yield this.get(keyword);
|
|
147
|
+
if (val !== undefined && val !== null) {
|
|
148
|
+
const dbKey = new resource_1.DbKey(keyword, {
|
|
149
|
+
slabId: -1,
|
|
150
|
+
val: val,
|
|
151
|
+
});
|
|
152
|
+
list.push(dbKey);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
list = yield this.listKeyWithValues({
|
|
157
|
+
limit,
|
|
158
|
+
keyword,
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
const elapsedTimeMilli = new Date().getTime() - startTime;
|
|
162
|
+
const rdb = new rdh_1.ResultSetDataBuilder(keys);
|
|
163
|
+
list.forEach((o) => {
|
|
164
|
+
const v = o.params.val;
|
|
165
|
+
const rowData = {
|
|
166
|
+
key: o.name,
|
|
167
|
+
};
|
|
168
|
+
let type = rdh_1.GeneralColumnType.UNKNOWN;
|
|
169
|
+
if (v === null || v === undefined) {
|
|
170
|
+
type = rdh_1.GeneralColumnType.NULL;
|
|
171
|
+
}
|
|
172
|
+
else if (Buffer.isBuffer(v)) {
|
|
173
|
+
rowData['raw_text'] = `B'${v.toString('hex', 0, Math.max(v.byteLength, 64))}`;
|
|
174
|
+
rowData['raw_buffer'] = v;
|
|
175
|
+
type = rdh_1.GeneralColumnType.BLOB;
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
rowData['raw_text'] = v;
|
|
179
|
+
if ((0, utils_1.isJson)(v)) {
|
|
180
|
+
rowData['formatted'] = JSON.stringify(JSON.parse(v), null, 2);
|
|
181
|
+
type = rdh_1.GeneralColumnType.JSON;
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
let formatted = v;
|
|
185
|
+
if (/^(TRUE|FALSE)$/i.test(v)) {
|
|
186
|
+
type = rdh_1.GeneralColumnType.BOOLEAN;
|
|
187
|
+
formatted = v;
|
|
188
|
+
}
|
|
189
|
+
else if ((0, helper_1.isNumericString)(v)) {
|
|
190
|
+
type = rdh_1.GeneralColumnType.NUMERIC;
|
|
191
|
+
formatted = (0, rdh_1.toNum)(v).toString();
|
|
192
|
+
}
|
|
193
|
+
else if ((0, helper_1.isIsoDateString)(v)) {
|
|
194
|
+
type = rdh_1.GeneralColumnType.TIMESTAMP;
|
|
195
|
+
formatted = (0, dayjs_1.default)((0, rdh_1.toDate)(v)).format('YYYY-MM-DD HH:mm:ss');
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
type = rdh_1.GeneralColumnType.TEXT;
|
|
199
|
+
}
|
|
200
|
+
rowData['formatted'] = formatted;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
rowData['type'] = type;
|
|
204
|
+
rdb.addRow(rowData);
|
|
205
|
+
});
|
|
206
|
+
rdb.updateMeta({
|
|
207
|
+
tableName: `MemcacheServer`,
|
|
208
|
+
connectionName: this.conRes.name,
|
|
209
|
+
compareKeys: [{ kind: 'primary', names: ['key'] }],
|
|
210
|
+
type: 'select',
|
|
211
|
+
});
|
|
212
|
+
rdb.setSummary({
|
|
213
|
+
elapsedTimeMilli,
|
|
214
|
+
selectedRows: rdb.rs.rows.length,
|
|
215
|
+
});
|
|
216
|
+
return rdb.build();
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
executeCommand(command) {
|
|
220
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
221
|
+
const parsed = this.parseCommand(command);
|
|
222
|
+
const scanParams = {
|
|
223
|
+
target: '',
|
|
224
|
+
};
|
|
225
|
+
switch (parsed.type) {
|
|
226
|
+
case 'get':
|
|
227
|
+
scanParams.matchType = 'exact';
|
|
228
|
+
scanParams.limit = 1;
|
|
229
|
+
scanParams.keyword = parsed.key;
|
|
230
|
+
break;
|
|
231
|
+
case 'cachedump':
|
|
232
|
+
scanParams.matchType = 'partial';
|
|
233
|
+
scanParams.limit = parsed.limit;
|
|
234
|
+
scanParams.keyword = parsed.keyword;
|
|
235
|
+
}
|
|
236
|
+
const result = yield this.scan(scanParams);
|
|
237
|
+
result.meta.command = command;
|
|
238
|
+
return result;
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
parseCommand(command) {
|
|
242
|
+
var _a;
|
|
243
|
+
const tokens = command.trim().split(/\s+/);
|
|
244
|
+
const cmd = (_a = tokens.shift()) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
245
|
+
if (!cmd) {
|
|
246
|
+
throw new Error('Empty command');
|
|
247
|
+
}
|
|
248
|
+
switch (cmd) {
|
|
249
|
+
case 'get': {
|
|
250
|
+
if (tokens.length !== 1) {
|
|
251
|
+
throw new Error('Usage: get <key>');
|
|
252
|
+
}
|
|
253
|
+
return { type: 'get', key: tokens[0] };
|
|
254
|
+
}
|
|
255
|
+
case 'cachedump': {
|
|
256
|
+
let limit;
|
|
257
|
+
let keyword;
|
|
258
|
+
for (const t of tokens) {
|
|
259
|
+
if ((0, helper_1.isNumericString)(t)) {
|
|
260
|
+
limit = (0, rdh_1.toNum)(t);
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
keyword = t;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
return { type: 'cachedump', limit, keyword };
|
|
267
|
+
}
|
|
268
|
+
default:
|
|
269
|
+
throw new Error(`Unknown command: ${cmd}`);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
get(key) {
|
|
273
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
274
|
+
return yield (0, helper_1.getAsync)(this.client, key);
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
set(key, value, options) {
|
|
278
|
+
var _a;
|
|
279
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
280
|
+
const lifetime = (_a = options === null || options === void 0 ? void 0 : options.lifetime) !== null && _a !== void 0 ? _a : 0;
|
|
281
|
+
return yield (0, helper_1.setAsync)(this.client, key, value, lifetime);
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
getInfomationSchemasSub() {
|
|
285
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
286
|
+
const dbResources = [];
|
|
287
|
+
const items = yield (0, helper_1.itemsAsync)(this.client);
|
|
288
|
+
let hot = 0;
|
|
289
|
+
let warm = 0;
|
|
290
|
+
let cold = 0;
|
|
291
|
+
items.forEach((serverItem) => {
|
|
292
|
+
Object.entries(serverItem).forEach(([slabId, slabStats]) => {
|
|
293
|
+
var _a, _b, _c;
|
|
294
|
+
if (slabId === 'server')
|
|
295
|
+
return;
|
|
296
|
+
hot += Number((_a = slabStats.number_hot) !== null && _a !== void 0 ? _a : 0);
|
|
297
|
+
warm += Number((_b = slabStats.number_warm) !== null && _b !== void 0 ? _b : 0);
|
|
298
|
+
cold += Number((_c = slabStats.number_cold) !== null && _c !== void 0 ? _c : 0);
|
|
299
|
+
});
|
|
300
|
+
});
|
|
301
|
+
const dbRes = new resource_1.MemcacheDatabase('Server');
|
|
302
|
+
dbRes.servers = this.conRes.host;
|
|
303
|
+
dbRes.hot = hot;
|
|
304
|
+
dbRes.warm = warm;
|
|
305
|
+
dbRes.cold = cold;
|
|
306
|
+
dbRes.comment = `LRU(HOT:${hot},WARM:${warm},COLD:${cold})`;
|
|
307
|
+
dbResources.push(dbRes);
|
|
308
|
+
const keys = yield this.listKeyWithValues();
|
|
309
|
+
keys.forEach((key) => {
|
|
310
|
+
dbRes.addChild(key);
|
|
311
|
+
});
|
|
312
|
+
return dbResources;
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
closeSub() {
|
|
316
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
317
|
+
if (this.client) {
|
|
318
|
+
this.client.end(true);
|
|
319
|
+
this.client = undefined;
|
|
320
|
+
}
|
|
321
|
+
return '';
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
exports.MemcacheDriver = MemcacheDriver;
|
|
326
|
+
//# sourceMappingURL=MemcacheDriver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemcacheDriver.js","sourceRoot":"","sources":["../../../src/drivers/MemcacheDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import * as mysql from 'mysql2/promise';
|
|
|
3
3
|
import { DbSchema, DbTable, RdsDatabase } from '../resource';
|
|
4
4
|
import { ConnectionSetting, QueryParams, TransactionIsolationLevel } from '../types';
|
|
5
5
|
import { RDSBaseDriver } from './RDSBaseDriver';
|
|
6
|
+
import { QuoteChar } from '../helpers';
|
|
6
7
|
export declare class MySQLDriver extends RDSBaseDriver {
|
|
7
8
|
private con;
|
|
8
9
|
constructor(conRes: ConnectionSetting);
|
|
@@ -41,6 +42,7 @@ export declare class MySQLDriver extends RDSBaseDriver {
|
|
|
41
42
|
isPositionedParameterAvailable(): boolean;
|
|
42
43
|
getPositionalCharacter(): string | undefined;
|
|
43
44
|
isLimitAsTop(): boolean;
|
|
45
|
+
getIdQuoteCharacter(): QuoteChar | undefined;
|
|
44
46
|
supportsShowCreate(): boolean;
|
|
45
47
|
getTableDDL({ tableName, schemaName, }: {
|
|
46
48
|
tableName: string;
|
|
@@ -532,6 +532,9 @@ ORDER BY ID DESC`;
|
|
|
532
532
|
isLimitAsTop() {
|
|
533
533
|
return false;
|
|
534
534
|
}
|
|
535
|
+
getIdQuoteCharacter() {
|
|
536
|
+
return '`';
|
|
537
|
+
}
|
|
535
538
|
supportsShowCreate() {
|
|
536
539
|
return true;
|
|
537
540
|
}
|
|
@@ -541,7 +544,9 @@ ORDER BY ID DESC`;
|
|
|
541
544
|
if (tableName.length === 0) {
|
|
542
545
|
throw new Error('tableName must not be empty');
|
|
543
546
|
}
|
|
544
|
-
const name = schemaName
|
|
547
|
+
const name = schemaName
|
|
548
|
+
? `${this.quoteIdentifier(schemaName)}.${this.quoteIdentifier(tableName)}`
|
|
549
|
+
: this.quoteIdentifier(tableName);
|
|
545
550
|
const rows = yield this.executeOnConnection(`SHOW CREATE TABLE ${name}`);
|
|
546
551
|
if (rows.length && rows[0]['Create Table']) {
|
|
547
552
|
return (_a = rows[0]['Create Table']) !== null && _a !== void 0 ? _a : '';
|