dbgate-types 6.1.5 → 6.2.0
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/dbinfo.d.ts +32 -1
- package/dialect.d.ts +10 -0
- package/dumper.d.ts +1 -1
- package/engines.d.ts +48 -36
- package/index.d.ts +1 -0
- package/package.json +1 -1
- package/test-engines.d.ts +86 -0
package/dbinfo.d.ts
CHANGED
|
@@ -163,7 +163,7 @@ export interface SchedulerEventInfo extends SqlObjectInfo {
|
|
|
163
163
|
onCompletion: 'PRESERVE' | 'NOT PRESERVE';
|
|
164
164
|
status: 'ENABLED' | 'DISABLED';
|
|
165
165
|
lastExecuted?: string;
|
|
166
|
-
intervalValue:
|
|
166
|
+
intervalValue: string;
|
|
167
167
|
intervalField: string;
|
|
168
168
|
starts: string;
|
|
169
169
|
executeAt: string;
|
|
@@ -189,3 +189,34 @@ export interface DatabaseInfoObjects {
|
|
|
189
189
|
export interface DatabaseInfo extends DatabaseInfoObjects {
|
|
190
190
|
engine?: string;
|
|
191
191
|
}
|
|
192
|
+
|
|
193
|
+
export interface ColumnReferenceTiny {
|
|
194
|
+
n: string; // name
|
|
195
|
+
r?: string; // ref name
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
export interface PrimaryKeyInfoTiny {
|
|
199
|
+
c: ColumnReferenceTiny[]; // columns
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
export interface ForeignKeyInfoTiny {
|
|
203
|
+
c: ColumnReferenceTiny[]; // columns
|
|
204
|
+
r: string; // reference table name
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
export interface ColumnInfoTiny {
|
|
208
|
+
n: string; // name
|
|
209
|
+
t: string; // type
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
export interface TableInfoTiny {
|
|
213
|
+
n: string; //name
|
|
214
|
+
o: string; // comment
|
|
215
|
+
c: ColumnInfoTiny[]; // columns
|
|
216
|
+
p?: PrimaryKeyInfoTiny; // primary key
|
|
217
|
+
f?: ForeignKeyInfoTiny[]; // foreign keys
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
export interface DatabaseInfoTiny {
|
|
221
|
+
t: TableInfoTiny[]; // tables
|
|
222
|
+
}
|
package/dialect.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { ColumnInfo } from './dbinfo';
|
|
2
|
+
|
|
1
3
|
export interface SqlDialect {
|
|
2
4
|
rangeSelect?: boolean;
|
|
3
5
|
limitSelect?: boolean;
|
|
@@ -6,6 +8,7 @@ export interface SqlDialect {
|
|
|
6
8
|
topRecords?: boolean;
|
|
7
9
|
stringEscapeChar: string;
|
|
8
10
|
offsetFetchRangeSyntax?: boolean;
|
|
11
|
+
offsetNotSupported?: boolean;
|
|
9
12
|
quoteIdentifier(s: string): string;
|
|
10
13
|
fallbackDataType?: string;
|
|
11
14
|
explicitDropConstraint?: boolean;
|
|
@@ -44,7 +47,14 @@ export interface SqlDialect {
|
|
|
44
47
|
omitForeignKeys?: boolean;
|
|
45
48
|
omitUniqueConstraints?: boolean;
|
|
46
49
|
omitIndexes?: boolean;
|
|
50
|
+
omitTableAliases?: boolean;
|
|
51
|
+
omitTableBeforeColumn?: boolean;
|
|
52
|
+
disableAutoIncrement?: boolean;
|
|
53
|
+
disableNonPrimaryKeyRename?: boolean;
|
|
54
|
+
disableRenameTable?: boolean;
|
|
55
|
+
defaultNewTableColumns?: ColumnInfo[];
|
|
47
56
|
sortingKeys?: boolean;
|
|
57
|
+
generateDefaultValueForUuid?: string;
|
|
48
58
|
|
|
49
59
|
// syntax for create column: ALTER TABLE table ADD COLUMN column
|
|
50
60
|
createColumnWithColumnKeyword?: boolean;
|
package/dumper.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export interface SqlDumper extends AlterProcessor {
|
|
|
11
11
|
putRaw(s: string);
|
|
12
12
|
put(format: string, ...args);
|
|
13
13
|
putCmd(format: string, ...args);
|
|
14
|
-
putValue(value: string | number | Date);
|
|
14
|
+
putValue(value: string | number | Date, dataType?: string);
|
|
15
15
|
putCollection<T>(delimiter: string, collection: T[], lambda: (item: T) => void);
|
|
16
16
|
transform(type: TransformType, dumpExpr: () => void);
|
|
17
17
|
createDatabase(name: string);
|
package/engines.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ export interface RunScriptOptions {
|
|
|
32
32
|
export interface QueryOptions {
|
|
33
33
|
discardResult?: boolean;
|
|
34
34
|
importSqlDump?: boolean;
|
|
35
|
+
range?: { offset: number; limit: number };
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
export interface WriteTableOptions {
|
|
@@ -133,8 +134,8 @@ export interface FilterBehaviourProvider {
|
|
|
133
134
|
getFilterBehaviour(dataType: string, standardFilterBehaviours: { [id: string]: FilterBehaviour }): FilterBehaviour;
|
|
134
135
|
}
|
|
135
136
|
|
|
136
|
-
export interface DatabaseHandle {
|
|
137
|
-
client:
|
|
137
|
+
export interface DatabaseHandle<TClient = any> {
|
|
138
|
+
client: TClient;
|
|
138
139
|
database?: string;
|
|
139
140
|
feedback?: (message: any) => void;
|
|
140
141
|
getDatabase?: () => any;
|
|
@@ -142,7 +143,7 @@ export interface DatabaseHandle {
|
|
|
142
143
|
treeKeySeparator?: string;
|
|
143
144
|
}
|
|
144
145
|
|
|
145
|
-
export interface EngineDriver extends FilterBehaviourProvider {
|
|
146
|
+
export interface EngineDriver<TClient = any> extends FilterBehaviourProvider {
|
|
146
147
|
engine: string;
|
|
147
148
|
title: string;
|
|
148
149
|
defaultPort?: number;
|
|
@@ -180,57 +181,68 @@ export interface EngineDriver extends FilterBehaviourProvider {
|
|
|
180
181
|
beforeConnectionSave?: (values: any) => any;
|
|
181
182
|
databaseUrlPlaceholder?: string;
|
|
182
183
|
defaultAuthTypeName?: string;
|
|
184
|
+
defaultLocalDataCenter?: string;
|
|
183
185
|
defaultSocketPath?: string;
|
|
184
186
|
authTypeLabel?: string;
|
|
185
187
|
importExportArgs?: any[];
|
|
186
|
-
connect({ server, port, user, password, database }): Promise<DatabaseHandle
|
|
187
|
-
close(dbhan: DatabaseHandle): Promise<any>;
|
|
188
|
-
query(dbhan: DatabaseHandle
|
|
189
|
-
stream(dbhan: DatabaseHandle
|
|
190
|
-
readQuery(dbhan: DatabaseHandle
|
|
191
|
-
readJsonQuery(dbhan: DatabaseHandle
|
|
188
|
+
connect({ server, port, user, password, database }): Promise<DatabaseHandle<TClient>>;
|
|
189
|
+
close(dbhan: DatabaseHandle<TClient>): Promise<any>;
|
|
190
|
+
query(dbhan: DatabaseHandle<TClient>, sql: string, options?: QueryOptions): Promise<QueryResult>;
|
|
191
|
+
stream(dbhan: DatabaseHandle<TClient>, sql: string, options: StreamOptions);
|
|
192
|
+
readQuery(dbhan: DatabaseHandle<TClient>, sql: string, structure?: TableInfo): Promise<stream.Readable>;
|
|
193
|
+
readJsonQuery(dbhan: DatabaseHandle<TClient>, query: any, structure?: TableInfo): Promise<stream.Readable>;
|
|
192
194
|
// eg. PostgreSQL COPY FROM stdin
|
|
193
|
-
writeQueryFromStream(dbhan: DatabaseHandle
|
|
194
|
-
writeTable(
|
|
195
|
+
writeQueryFromStream(dbhan: DatabaseHandle<TClient>, sql: string): Promise<stream.Writable>;
|
|
196
|
+
writeTable(
|
|
197
|
+
dbhan: DatabaseHandle<TClient>,
|
|
198
|
+
name: NamedObjectInfo,
|
|
199
|
+
options: WriteTableOptions
|
|
200
|
+
): Promise<stream.Writable>;
|
|
195
201
|
analyseSingleObject(
|
|
196
|
-
dbhan: DatabaseHandle
|
|
202
|
+
dbhan: DatabaseHandle<TClient>,
|
|
197
203
|
name: NamedObjectInfo,
|
|
198
204
|
objectTypeField: keyof DatabaseInfo
|
|
199
205
|
): Promise<TableInfo | ViewInfo | ProcedureInfo | FunctionInfo | TriggerInfo>;
|
|
200
|
-
analyseSingleTable(dbhan: DatabaseHandle
|
|
201
|
-
getVersion(dbhan: DatabaseHandle): Promise<{ version: string; versionText?: string }>;
|
|
202
|
-
listDatabases(dbhan: DatabaseHandle): Promise<
|
|
206
|
+
analyseSingleTable(dbhan: DatabaseHandle<TClient>, name: NamedObjectInfo): Promise<TableInfo>;
|
|
207
|
+
getVersion(dbhan: DatabaseHandle<TClient>): Promise<{ version: string; versionText?: string }>;
|
|
208
|
+
listDatabases(dbhan: DatabaseHandle<TClient>): Promise<
|
|
203
209
|
{
|
|
204
210
|
name: string;
|
|
205
211
|
}[]
|
|
206
212
|
>;
|
|
207
|
-
loadKeys(dbhan: DatabaseHandle
|
|
208
|
-
exportKeys(dbhan: DatabaseHandle
|
|
209
|
-
loadKeyInfo(dbhan: DatabaseHandle
|
|
210
|
-
loadKeyTableRange(dbhan: DatabaseHandle
|
|
211
|
-
loadFieldValues(
|
|
212
|
-
|
|
213
|
-
|
|
213
|
+
loadKeys(dbhan: DatabaseHandle<TClient>, root: string, filter?: string): Promise;
|
|
214
|
+
exportKeys(dbhan: DatabaseHandle<TClient>, options: {}): Promise;
|
|
215
|
+
loadKeyInfo(dbhan: DatabaseHandle<TClient>, key): Promise;
|
|
216
|
+
loadKeyTableRange(dbhan: DatabaseHandle<TClient>, key, cursor, count): Promise;
|
|
217
|
+
loadFieldValues(
|
|
218
|
+
dbhan: DatabaseHandle<TClient>,
|
|
219
|
+
name: NamedObjectInfo,
|
|
220
|
+
field: string,
|
|
221
|
+
search: string,
|
|
222
|
+
dataType: string
|
|
223
|
+
): Promise;
|
|
224
|
+
analyseFull(dbhan: DatabaseHandle<TClient>, serverVersion): Promise<DatabaseInfo>;
|
|
225
|
+
analyseIncremental(dbhan: DatabaseHandle<TClient>, structure: DatabaseInfo, serverVersion): Promise<DatabaseInfo>;
|
|
214
226
|
dialect: SqlDialect;
|
|
215
227
|
dialectByVersion(version): SqlDialect;
|
|
216
228
|
createDumper(options = null): SqlDumper;
|
|
217
|
-
createBackupDumper(dbhan: DatabaseHandle
|
|
229
|
+
createBackupDumper(dbhan: DatabaseHandle<TClient>, options): Promise<SqlBackupDumper>;
|
|
218
230
|
getAuthTypes(): EngineAuthType[];
|
|
219
|
-
readCollection(dbhan: DatabaseHandle
|
|
220
|
-
updateCollection(dbhan: DatabaseHandle
|
|
231
|
+
readCollection(dbhan: DatabaseHandle<TClient>, options: ReadCollectionOptions): Promise<any>;
|
|
232
|
+
updateCollection(dbhan: DatabaseHandle<TClient>, changeSet: any): Promise<any>;
|
|
221
233
|
getCollectionUpdateScript(changeSet: any, collectionInfo: CollectionInfo): string;
|
|
222
|
-
createDatabase(dbhan: DatabaseHandle
|
|
223
|
-
dropDatabase(dbhan: DatabaseHandle
|
|
234
|
+
createDatabase(dbhan: DatabaseHandle<TClient>, name: string): Promise;
|
|
235
|
+
dropDatabase(dbhan: DatabaseHandle<TClient>, name: string): Promise;
|
|
224
236
|
getQuerySplitterOptions(usage: 'stream' | 'script' | 'editor' | 'import'): any;
|
|
225
|
-
script(dbhan: DatabaseHandle
|
|
226
|
-
operation(dbhan: DatabaseHandle
|
|
237
|
+
script(dbhan: DatabaseHandle<TClient>, sql: string, options?: RunScriptOptions): Promise;
|
|
238
|
+
operation(dbhan: DatabaseHandle<TClient>, operation: {}, options?: RunScriptOptions): Promise;
|
|
227
239
|
getNewObjectTemplates(): NewObjectTemplate[];
|
|
228
240
|
// direct call of dbhan.client method, only some methods could be supported, on only some drivers
|
|
229
|
-
callMethod(dbhan: DatabaseHandle
|
|
230
|
-
serverSummary(dbhan: DatabaseHandle): Promise<ServerSummary>;
|
|
231
|
-
summaryCommand(dbhan: DatabaseHandle
|
|
232
|
-
startProfiler(dbhan: DatabaseHandle
|
|
233
|
-
stopProfiler(dbhan: DatabaseHandle
|
|
241
|
+
callMethod(dbhan: DatabaseHandle<TClient>, method, args);
|
|
242
|
+
serverSummary(dbhan: DatabaseHandle<TClient>): Promise<ServerSummary>;
|
|
243
|
+
summaryCommand(dbhan: DatabaseHandle<TClient>, command, row): Promise<void>;
|
|
244
|
+
startProfiler(dbhan: DatabaseHandle<TClient>, options): Promise<any>;
|
|
245
|
+
stopProfiler(dbhan: DatabaseHandle<TClient>, profiler): Promise<void>;
|
|
234
246
|
getRedirectAuthUrl(connection, options): Promise<{ url: string; sid: string }>;
|
|
235
247
|
getAuthTokenFromCode(connection, options): Promise<string>;
|
|
236
248
|
getAccessTokenFromAuth(connection, req): Promise<string | null>;
|
|
@@ -241,11 +253,11 @@ export interface EngineDriver extends FilterBehaviourProvider {
|
|
|
241
253
|
createSaveChangeSetScript(
|
|
242
254
|
changeSet: any,
|
|
243
255
|
dbinfo: DatabaseInfo,
|
|
244
|
-
defaultCreator: (changeSet: any, dbinfo: DatabaseInfo) => any
|
|
256
|
+
defaultCreator: (changeSet: any, dbinfo: DatabaseInfo, dialect: SqlDialect) => any
|
|
245
257
|
): any[];
|
|
246
258
|
// adapts table info from different source (import, other database) to be suitable for this database
|
|
247
259
|
adaptTableInfo(table: TableInfo): TableInfo;
|
|
248
|
-
listSchemas(dbhan: DatabaseHandle): SchemaInfo[];
|
|
260
|
+
listSchemas(dbhan: DatabaseHandle<TClient>): SchemaInfo[];
|
|
249
261
|
|
|
250
262
|
analyserClass?: any;
|
|
251
263
|
dumperClass?: any;
|
package/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { ParameterInfo, SchedulerEventInfo, TriggerInfo } from './dbinfo';
|
|
2
|
+
|
|
3
|
+
export type TestObjectInfo = {
|
|
4
|
+
type: string;
|
|
5
|
+
create1: string;
|
|
6
|
+
create2: string;
|
|
7
|
+
drop1: string;
|
|
8
|
+
drop2: string;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export type TestEngineInfo = {
|
|
12
|
+
label: string;
|
|
13
|
+
connection: {
|
|
14
|
+
engine: string;
|
|
15
|
+
server?: string;
|
|
16
|
+
databaseUrl?: string;
|
|
17
|
+
serviceName?: string;
|
|
18
|
+
password?: string;
|
|
19
|
+
user?: string;
|
|
20
|
+
port?: number;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
removeNotNull?: boolean;
|
|
24
|
+
|
|
25
|
+
skipOnCI?: boolean;
|
|
26
|
+
skipIncrementalAnalysis?: boolean;
|
|
27
|
+
skipDataModifications?: boolean;
|
|
28
|
+
skipReferences?: boolean;
|
|
29
|
+
skipIndexes?: boolean;
|
|
30
|
+
skipNullability?: boolean;
|
|
31
|
+
skipUnique?: boolean;
|
|
32
|
+
skipAutoIncrement?: boolean;
|
|
33
|
+
skipPkColumnTesting?: boolean;
|
|
34
|
+
skipDataDuplicator?: boolean;
|
|
35
|
+
skipDeploy?: boolean;
|
|
36
|
+
skipStringLength?: boolean;
|
|
37
|
+
skipChangeColumn?: boolean;
|
|
38
|
+
skipDefaultValue?: boolean;
|
|
39
|
+
skipNonPkRename?: boolean;
|
|
40
|
+
skipPkDrop?: boolean;
|
|
41
|
+
skipOrderBy?: boolean;
|
|
42
|
+
|
|
43
|
+
forceSortResults?: boolean;
|
|
44
|
+
forceSortStructureColumns?: boolean;
|
|
45
|
+
alterTableAddColumnSyntax?: boolean;
|
|
46
|
+
dbSnapshotBySeconds?: boolean;
|
|
47
|
+
setNullDefaultInsteadOfDrop?: boolean;
|
|
48
|
+
|
|
49
|
+
useTextTypeForStrings?: boolean;
|
|
50
|
+
|
|
51
|
+
supportRenameSqlObject?: boolean;
|
|
52
|
+
supportSchemas?: boolean;
|
|
53
|
+
|
|
54
|
+
defaultSchemaName?: string;
|
|
55
|
+
|
|
56
|
+
generateDbFile?: boolean;
|
|
57
|
+
dbSnapshotBySeconds?: boolean;
|
|
58
|
+
dumpFile?: string;
|
|
59
|
+
dumpChecks?: Array<{ sql: string; res: string }>;
|
|
60
|
+
|
|
61
|
+
parametersOtherSql?: string[];
|
|
62
|
+
parameters?: Array<{
|
|
63
|
+
testName: string;
|
|
64
|
+
create: string;
|
|
65
|
+
drop: string;
|
|
66
|
+
objectTypeField: string;
|
|
67
|
+
list: Array<Partial<ParameterInfo>>;
|
|
68
|
+
}>;
|
|
69
|
+
triggers?: Array<{
|
|
70
|
+
testName: string;
|
|
71
|
+
create: string;
|
|
72
|
+
drop: string;
|
|
73
|
+
triggerOtherCreateSql?: string;
|
|
74
|
+
triggerOtherDropSql?: string;
|
|
75
|
+
objectTypeField: string;
|
|
76
|
+
expected: Partial<TriggerInfo>;
|
|
77
|
+
}>;
|
|
78
|
+
schedulerEvents?: Array<{
|
|
79
|
+
create: string;
|
|
80
|
+
drop: string;
|
|
81
|
+
objectTypeField: string;
|
|
82
|
+
expected: Partial<SchedulerEventInfo>;
|
|
83
|
+
}>;
|
|
84
|
+
|
|
85
|
+
objects?: Array<TestObjectInfo>;
|
|
86
|
+
};
|