dbgate-types 6.6.0 → 6.6.2

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 CHANGED
@@ -22,7 +22,7 @@ export interface ColumnsConstraintInfo extends ConstraintInfo {
22
22
  columns: ColumnReference[];
23
23
  }
24
24
 
25
- export interface PrimaryKeyInfo extends ColumnsConstraintInfo {}
25
+ export interface PrimaryKeyInfo extends ColumnsConstraintInfo { }
26
26
 
27
27
  export interface ForeignKeyInfo extends ColumnsConstraintInfo {
28
28
  refSchemaName?: string;
@@ -39,7 +39,7 @@ export interface IndexInfo extends ColumnsConstraintInfo {
39
39
  filterDefinition?: string;
40
40
  }
41
41
 
42
- export interface UniqueInfo extends ColumnsConstraintInfo {}
42
+ export interface UniqueInfo extends ColumnsConstraintInfo { }
43
43
 
44
44
  export interface CheckInfo extends ConstraintInfo {
45
45
  definition: string;
@@ -77,6 +77,7 @@ export interface DatabaseObjectInfo extends NamedObjectInfo {
77
77
  hashCode?: string;
78
78
  objectTypeField?: string;
79
79
  objectComment?: string;
80
+ tablePermissionRole?: 'read' | 'update_only' | 'create_update_delete' | 'deny';
80
81
  }
81
82
 
82
83
  export interface SqlObjectInfo extends DatabaseObjectInfo {
@@ -134,7 +135,7 @@ export interface CallableObjectInfo extends SqlObjectInfo {
134
135
  parameters?: ParameterInfo[];
135
136
  }
136
137
 
137
- export interface ProcedureInfo extends CallableObjectInfo {}
138
+ export interface ProcedureInfo extends CallableObjectInfo { }
138
139
 
139
140
  export interface FunctionInfo extends CallableObjectInfo {
140
141
  returnType?: string;
@@ -145,17 +146,17 @@ export interface TriggerInfo extends SqlObjectInfo {
145
146
  functionName?: string;
146
147
  tableName?: string;
147
148
  triggerTiming?:
148
- | 'BEFORE'
149
- | 'AFTER'
150
- | 'INSTEAD OF'
151
- | 'BEFORE EACH ROW'
152
- | 'INSTEAD OF'
153
- | 'AFTER EACH ROW'
154
- | 'AFTER STATEMENT'
155
- | 'BEFORE STATEMENT'
156
- | 'AFTER EVENT'
157
- | 'BEFORE EVENT'
158
- | null;
149
+ | 'BEFORE'
150
+ | 'AFTER'
151
+ | 'INSTEAD OF'
152
+ | 'BEFORE EACH ROW'
153
+ | 'INSTEAD OF'
154
+ | 'AFTER EACH ROW'
155
+ | 'AFTER STATEMENT'
156
+ | 'BEFORE STATEMENT'
157
+ | 'AFTER EVENT'
158
+ | 'BEFORE EVENT'
159
+ | null;
159
160
  triggerLevel?: 'ROW' | 'STATEMENT';
160
161
  eventType?: 'INSERT' | 'UPDATE' | 'DELETE' | 'TRUNCATE';
161
162
  }
package/dialect.d.ts CHANGED
@@ -74,6 +74,14 @@ export interface SqlDialect {
74
74
 
75
75
  predefinedDataTypes: string[];
76
76
 
77
+ columnProperties?: {
78
+ columnName?: boolean;
79
+ isSparse?: true;
80
+ isPersisted?: true;
81
+ };
82
+
83
+ safeCommentChanges?: boolean;
84
+
77
85
  // create sql-tree expression
78
86
  createColumnViewExpression(
79
87
  columnName: string,
package/engines.d.ts CHANGED
@@ -99,19 +99,46 @@ export interface SupportedDbKeyType {
99
99
  showItemList?: boolean;
100
100
  }
101
101
 
102
+ export type DatabaseProcess = {
103
+ processId: number;
104
+ connectionId: number;
105
+ client: string;
106
+ operation?: string;
107
+ namespace?: string;
108
+ command?: any;
109
+ runningTime: number;
110
+ state?: any;
111
+ waitingFor?: boolean;
112
+ locks?: any;
113
+ progress?: any;
114
+ };
115
+
116
+ export type DatabaseVariable = {
117
+ variable: string;
118
+ value: any;
119
+ };
120
+
102
121
  export interface SqlBackupDumper {
103
122
  run();
104
123
  }
105
124
 
106
- export interface SummaryColumn {
107
- fieldName: string;
108
- header: string;
109
- dataType: 'string' | 'number' | 'bytes';
125
+ export interface ServerSummaryDatabases {
126
+ rows: any[];
127
+ columns: SummaryDatabaseColumn[];
110
128
  }
111
- export interface ServerSummaryDatabase {}
129
+
130
+ export type SummaryDatabaseColumn = {
131
+ header: string;
132
+ fieldName: string;
133
+ type: 'data' | 'fileSize';
134
+ filterable?: boolean;
135
+ sortable?: boolean;
136
+ };
137
+
112
138
  export interface ServerSummary {
113
- columns: SummaryColumn[];
114
- databases: ServerSummaryDatabase[];
139
+ processes: DatabaseProcess[];
140
+ variables: DatabaseVariable[];
141
+ databases: ServerSummaryDatabases;
115
142
  }
116
143
 
117
144
  export type CollectionAggregateFunction = 'count' | 'sum' | 'avg' | 'min' | 'max';
@@ -161,11 +188,12 @@ export interface FilterBehaviourProvider {
161
188
  getFilterBehaviour(dataType: string, standardFilterBehaviours: { [id: string]: FilterBehaviour }): FilterBehaviour;
162
189
  }
163
190
 
164
- export interface DatabaseHandle<TClient = any> {
191
+ export interface DatabaseHandle<TClient = any, TDataBase = any> {
165
192
  client: TClient;
166
193
  database?: string;
194
+ conid?: string;
167
195
  feedback?: (message: any) => void;
168
- getDatabase?: () => any;
196
+ getDatabase?: () => TDataBase;
169
197
  connectionType?: string;
170
198
  treeKeySeparator?: string;
171
199
  }
@@ -195,7 +223,7 @@ export interface RestoreDatabaseSettings extends BackupRestoreSettingsBase {
195
223
  inputFile: string;
196
224
  }
197
225
 
198
- export interface EngineDriver<TClient = any> extends FilterBehaviourProvider {
226
+ export interface EngineDriver<TClient = any, TDataBase = any> extends FilterBehaviourProvider {
199
227
  engine: string;
200
228
  title: string;
201
229
  defaultPort?: number;
@@ -241,61 +269,88 @@ export interface EngineDriver<TClient = any> extends FilterBehaviourProvider {
241
269
  defaultSocketPath?: string;
242
270
  authTypeLabel?: string;
243
271
  importExportArgs?: any[];
244
- connect({ server, port, user, password, database, connectionDefinition }): Promise<DatabaseHandle<TClient>>;
245
- close(dbhan: DatabaseHandle<TClient>): Promise<any>;
246
- query(dbhan: DatabaseHandle<TClient>, sql: string, options?: QueryOptions): Promise<QueryResult>;
247
- stream(dbhan: DatabaseHandle<TClient>, sql: string, options: StreamOptions);
248
- readQuery(dbhan: DatabaseHandle<TClient>, sql: string, structure?: TableInfo): Promise<StreamResult>;
249
- readJsonQuery(dbhan: DatabaseHandle<TClient>, query: any, structure?: TableInfo): Promise<StreamResult>;
272
+ connect({
273
+ server,
274
+ port,
275
+ user,
276
+ password,
277
+ database,
278
+ connectionDefinition,
279
+ }): Promise<DatabaseHandle<TClient, TDataBase>>;
280
+ close(dbhan: DatabaseHandle<TClient, TDataBase>): Promise<any>;
281
+ query(dbhan: DatabaseHandle<TClient, TDataBase>, sql: string, options?: QueryOptions): Promise<QueryResult>;
282
+ stream(dbhan: DatabaseHandle<TClient, TDataBase>, sql: string, options: StreamOptions);
283
+ readQuery(dbhan: DatabaseHandle<TClient, TDataBase>, sql: string, structure?: TableInfo): Promise<StreamResult>;
284
+ readJsonQuery(dbhan: DatabaseHandle<TClient, TDataBase>, query: any, structure?: TableInfo): Promise<StreamResult>;
250
285
  // eg. PostgreSQL COPY FROM stdin
251
- writeQueryFromStream(dbhan: DatabaseHandle<TClient>, sql: string): Promise<StreamResult>;
252
- writeTable(dbhan: DatabaseHandle<TClient>, name: NamedObjectInfo, options: WriteTableOptions): Promise<StreamResult>;
286
+ writeQueryFromStream(dbhan: DatabaseHandle<TClient, TDataBase>, sql: string): Promise<StreamResult>;
287
+ writeTable(
288
+ dbhan: DatabaseHandle<TClient, TDataBase>,
289
+ name: NamedObjectInfo,
290
+ options: WriteTableOptions
291
+ ): Promise<StreamResult>;
253
292
  analyseSingleObject(
254
- dbhan: DatabaseHandle<TClient>,
293
+ dbhan: DatabaseHandle<TClient, TDataBase>,
255
294
  name: NamedObjectInfo,
256
295
  objectTypeField: keyof DatabaseInfo
257
296
  ): Promise<TableInfo | ViewInfo | ProcedureInfo | FunctionInfo | TriggerInfo>;
258
- analyseSingleTable(dbhan: DatabaseHandle<TClient>, name: NamedObjectInfo): Promise<TableInfo>;
259
- getVersion(dbhan: DatabaseHandle<TClient>): Promise<{ version: string; versionText?: string }>;
260
- listDatabases(dbhan: DatabaseHandle<TClient>): Promise<
297
+ analyseSingleTable(dbhan: DatabaseHandle<TClient, TDataBase>, name: NamedObjectInfo): Promise<TableInfo>;
298
+ getVersion(dbhan: DatabaseHandle<TClient, TDataBase>): Promise<{ version: string; versionText?: string }>;
299
+ listDatabases(dbhan: DatabaseHandle<TClient, TDataBase>): Promise<
261
300
  {
262
301
  name: string;
302
+ sizeOnDisk?: number;
303
+ empty?: boolean;
263
304
  }[]
264
305
  >;
265
- loadKeys(dbhan: DatabaseHandle<TClient>, root: string, filter?: string): Promise;
266
- scanKeys(dbhan: DatabaseHandle<TClient>, root: string, pattern: string, cursor: string, count: number): Promise;
267
- exportKeys(dbhan: DatabaseHandle<TClient>, options: {}): Promise;
268
- loadKeyInfo(dbhan: DatabaseHandle<TClient>, key): Promise;
269
- loadKeyTableRange(dbhan: DatabaseHandle<TClient>, key, cursor, count): Promise;
306
+ loadKeys(dbhan: DatabaseHandle<TClient, TDataBase>, root: string, filter?: string): Promise;
307
+ scanKeys(
308
+ dbhan: DatabaseHandle<TClient, TDataBase>,
309
+ root: string,
310
+ pattern: string,
311
+ cursor: string,
312
+ count: number
313
+ ): Promise;
314
+ exportKeys(dbhan: DatabaseHandle<TClient, TDataBase>, options: {}): Promise;
315
+ loadKeyInfo(dbhan: DatabaseHandle<TClient, TDataBase>, key): Promise;
316
+ loadKeyTableRange(dbhan: DatabaseHandle<TClient, TDataBase>, key, cursor, count): Promise;
270
317
  loadFieldValues(
271
- dbhan: DatabaseHandle<TClient>,
318
+ dbhan: DatabaseHandle<TClient, TDataBase>,
272
319
  name: NamedObjectInfo,
273
320
  field: string,
274
321
  search: string,
275
322
  dataType: string
276
323
  ): Promise;
277
- analyseFull(dbhan: DatabaseHandle<TClient>, serverVersion): Promise<DatabaseInfo>;
278
- analyseIncremental(dbhan: DatabaseHandle<TClient>, structure: DatabaseInfo, serverVersion): Promise<DatabaseInfo>;
324
+ analyseFull(dbhan: DatabaseHandle<TClient, TDataBase>, serverVersion): Promise<DatabaseInfo>;
325
+ analyseIncremental(
326
+ dbhan: DatabaseHandle<TClient, TDataBase>,
327
+ structure: DatabaseInfo,
328
+ serverVersion
329
+ ): Promise<DatabaseInfo>;
279
330
  dialect: SqlDialect;
280
331
  dialectByVersion(version): SqlDialect;
281
332
  createDumper(options = null): SqlDumper;
282
- createBackupDumper(dbhan: DatabaseHandle<TClient>, options): Promise<SqlBackupDumper>;
333
+ createBackupDumper(dbhan: DatabaseHandle<TClient, TDataBase>, options): Promise<SqlBackupDumper>;
283
334
  getAuthTypes(): EngineAuthType[];
284
- readCollection(dbhan: DatabaseHandle<TClient>, options: ReadCollectionOptions): Promise<any>;
285
- updateCollection(dbhan: DatabaseHandle<TClient>, changeSet: any): Promise<any>;
335
+ readCollection(dbhan: DatabaseHandle<TClient, TDataBase>, options: ReadCollectionOptions): Promise<any>;
336
+ updateCollection(dbhan: DatabaseHandle<TClient, TDataBase>, changeSet: any): Promise<any>;
286
337
  getCollectionUpdateScript(changeSet: any, collectionInfo: CollectionInfo): string;
287
- createDatabase(dbhan: DatabaseHandle<TClient>, name: string): Promise;
288
- dropDatabase(dbhan: DatabaseHandle<TClient>, name: string): Promise;
338
+ createDatabase(dbhan: DatabaseHandle<TClient, TDataBase>, name: string): Promise;
339
+ dropDatabase(dbhan: DatabaseHandle<TClient, TDataBase>, name: string): Promise;
289
340
  getQuerySplitterOptions(usage: 'stream' | 'script' | 'editor' | 'import'): any;
290
- script(dbhan: DatabaseHandle<TClient>, sql: string, options?: RunScriptOptions): Promise;
291
- operation(dbhan: DatabaseHandle<TClient>, operation: CollectionOperationInfo, options?: RunScriptOptions): Promise;
341
+ script(dbhan: DatabaseHandle<TClient, TDataBase>, sql: string, options?: RunScriptOptions): Promise;
342
+ operation(
343
+ dbhan: DatabaseHandle<TClient, TDataBase>,
344
+ operation: CollectionOperationInfo,
345
+ options?: RunScriptOptions
346
+ ): Promise;
292
347
  getNewObjectTemplates(): NewObjectTemplate[];
293
348
  // direct call of dbhan.client method, only some methods could be supported, on only some drivers
294
- callMethod(dbhan: DatabaseHandle<TClient>, method, args);
295
- serverSummary(dbhan: DatabaseHandle<TClient>): Promise<ServerSummary>;
296
- summaryCommand(dbhan: DatabaseHandle<TClient>, command, row): Promise<void>;
297
- startProfiler(dbhan: DatabaseHandle<TClient>, options): Promise<any>;
298
- stopProfiler(dbhan: DatabaseHandle<TClient>, profiler): Promise<void>;
349
+ callMethod(dbhan: DatabaseHandle<TClient, TDataBase>, method, args);
350
+ serverSummary(dbhan: DatabaseHandle<TClient, TDataBase>): Promise<ServerSummary>;
351
+ summaryCommand(dbhan: DatabaseHandle<TClient, TDataBase>, command, row): Promise<void>;
352
+ startProfiler(dbhan: DatabaseHandle<TClient, TDataBase>, options): Promise<any>;
353
+ stopProfiler(dbhan: DatabaseHandle<TClient, TDataBase>, profiler): Promise<void>;
299
354
  getRedirectAuthUrl(connection, options): Promise<{ url: string; sid: string }>;
300
355
  getAuthTokenFromCode(connection, options): Promise<string>;
301
356
  getAccessTokenFromAuth(connection, req): Promise<string | null>;
@@ -312,7 +367,10 @@ export interface EngineDriver<TClient = any> extends FilterBehaviourProvider {
312
367
  adaptTableInfo(table: TableInfo): TableInfo;
313
368
  // simple data type adapter
314
369
  adaptDataType(dataType: string): string;
315
- listSchemas(dbhan: DatabaseHandle<TClient>): Promise<SchemaInfo[] | null>;
370
+ listSchemas(dbhan: DatabaseHandle<TClient, TDataBase>): Promise<SchemaInfo[] | null>;
371
+ listProcesses(dbhan: DatabaseHandle<TClient, TDataBase>): Promise<DatabaseProcess[] | null>;
372
+ listVariables(dbhan: DatabaseHandle<TClient, TDataBase>): Promise<DatabaseVariable[] | null>;
373
+ killProcess(dbhan: DatabaseHandle<TClient, TDataBase>, pid: number): Promise<any>;
316
374
  backupDatabaseCommand(
317
375
  connection: any,
318
376
  settings: BackupDatabaseSettings,
@@ -336,6 +394,11 @@ export interface EngineDriver<TClient = any> extends FilterBehaviourProvider {
336
394
  analyserClass?: any;
337
395
  dumperClass?: any;
338
396
  singleConnectionOnly?: boolean;
397
+ getLogDbInfo(dbhan: DatabaseHandle<TClient, TDataBase>): {
398
+ database?: string;
399
+ engine: string;
400
+ conid?: string;
401
+ };
339
402
  }
340
403
 
341
404
  export interface DatabaseModification {
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "6.6.0",
2
+ "version": "6.6.2",
3
3
  "name": "dbgate-types",
4
4
  "homepage": "https://dbgate.org/",
5
5
  "repository": {
package/test-engines.d.ts CHANGED
@@ -56,6 +56,9 @@ export type TestEngineInfo = {
56
56
 
57
57
  useTextTypeForStrings?: boolean;
58
58
 
59
+ supportTableComments?: boolean;
60
+ supportColumnComments?: boolean;
61
+
59
62
  supportRenameSqlObject?: boolean;
60
63
  supportSchemas?: boolean;
61
64