dbgate-types 6.2.0 → 6.3.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/dialect.d.ts CHANGED
@@ -13,8 +13,11 @@ export interface SqlDialect {
13
13
  fallbackDataType?: string;
14
14
  explicitDropConstraint?: boolean;
15
15
  anonymousPrimaryKey?: boolean;
16
+ anonymousForeignKey?: boolean;
16
17
  defaultSchemaName?: string;
17
18
  enableConstraintsPerTable?: boolean;
19
+ enableAllForeignKeys?: boolean;
20
+ enableForeignKeyChecks?: boolean;
18
21
  requireStandaloneSelectForScopeIdentity?: boolean;
19
22
  allowMultipleValuesInsert?: boolean;
20
23
 
@@ -63,6 +66,7 @@ export interface SqlDialect {
63
66
  requireFromDual?: boolean;
64
67
  userDatabaseNamePrefix?: string; // c## in Oracle
65
68
  upperCaseAllDbObjectNames?: boolean;
69
+ defaultValueBeforeNullability?: boolean;
66
70
 
67
71
  predefinedDataTypes: string[];
68
72
 
package/dumper.d.ts CHANGED
@@ -24,4 +24,5 @@ export interface SqlDumper extends AlterProcessor {
24
24
  truncateTable(table: NamedObjectInfo);
25
25
  beginTransaction();
26
26
  commitTransaction();
27
+ rollbackTransaction();
27
28
  }
package/engines.d.ts CHANGED
@@ -40,6 +40,8 @@ export interface WriteTableOptions {
40
40
  truncate?: boolean;
41
41
  createIfNotExists?: boolean;
42
42
  commitAfterInsert?: boolean;
43
+ targetTableStructure?: TableInfo;
44
+ progressName?: string;
43
45
  }
44
46
 
45
47
  export interface EngineAuthType {
@@ -143,6 +145,31 @@ export interface DatabaseHandle<TClient = any> {
143
145
  treeKeySeparator?: string;
144
146
  }
145
147
 
148
+ export type StreamResult = stream.Readable | (stream.Readable | stream.Writable)[];
149
+
150
+ export interface CommandLineDefinition {
151
+ command: string;
152
+ args: string[];
153
+ env?: { [key: string]: string };
154
+ stdinFilePath?: string;
155
+ }
156
+
157
+ interface BackupRestoreSettingsBase {
158
+ database: string;
159
+ options?: { [key: string]: string };
160
+ argsFormat: 'shell' | 'spawn';
161
+ }
162
+
163
+ export interface BackupDatabaseSettings extends BackupRestoreSettingsBase {
164
+ outputFile: string;
165
+ selectedTables?: { pureName: string; schemaName?: string }[];
166
+ skippedTables?: { pureName: string; schemaName?: string }[];
167
+ }
168
+
169
+ export interface RestoreDatabaseSettings extends BackupRestoreSettingsBase {
170
+ inputFile: string;
171
+ }
172
+
146
173
  export interface EngineDriver<TClient = any> extends FilterBehaviourProvider {
147
174
  engine: string;
148
175
  title: string;
@@ -153,7 +180,8 @@ export interface EngineDriver<TClient = any> extends FilterBehaviourProvider {
153
180
  supportedKeyTypes: SupportedDbKeyType[];
154
181
  dataEditorTypesBehaviour: DataEditorTypesBehaviour;
155
182
  supportsDatabaseUrl?: boolean;
156
- supportsDatabaseDump?: boolean;
183
+ supportsDatabaseBackup?: boolean;
184
+ supportsDatabaseRestore?: boolean;
157
185
  supportsServerSummary?: boolean;
158
186
  supportsDatabaseProfiler?: boolean;
159
187
  requiresDefaultSortCriteria?: boolean;
@@ -161,8 +189,10 @@ export interface EngineDriver<TClient = any> extends FilterBehaviourProvider {
161
189
  profilerTimestampFunction?: string;
162
190
  profilerChartAggregateFunction?: string;
163
191
  profilerChartMeasures?: { label: string; field: string }[];
164
- isElectronOnly?: boolean;
192
+ // isElectronOnly?: boolean;
165
193
  supportsTransactions?: boolean;
194
+ implicitTransactions?: boolean; // transaction is started with first SQL command, no BEGIN TRANSACTION is needed
195
+ premiumOnly?: boolean;
166
196
 
167
197
  collectionSingularLabel?: string;
168
198
  collectionPluralLabel?: string;
@@ -181,6 +211,7 @@ export interface EngineDriver<TClient = any> extends FilterBehaviourProvider {
181
211
  beforeConnectionSave?: (values: any) => any;
182
212
  databaseUrlPlaceholder?: string;
183
213
  defaultAuthTypeName?: string;
214
+ authTypeFirst?: boolean;
184
215
  defaultLocalDataCenter?: string;
185
216
  defaultSocketPath?: string;
186
217
  authTypeLabel?: string;
@@ -189,15 +220,11 @@ export interface EngineDriver<TClient = any> extends FilterBehaviourProvider {
189
220
  close(dbhan: DatabaseHandle<TClient>): Promise<any>;
190
221
  query(dbhan: DatabaseHandle<TClient>, sql: string, options?: QueryOptions): Promise<QueryResult>;
191
222
  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>;
223
+ readQuery(dbhan: DatabaseHandle<TClient>, sql: string, structure?: TableInfo): Promise<StreamResult>;
224
+ readJsonQuery(dbhan: DatabaseHandle<TClient>, query: any, structure?: TableInfo): Promise<StreamResult>;
194
225
  // eg. PostgreSQL COPY FROM stdin
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>;
226
+ writeQueryFromStream(dbhan: DatabaseHandle<TClient>, sql: string): Promise<StreamResult>;
227
+ writeTable(dbhan: DatabaseHandle<TClient>, name: NamedObjectInfo, options: WriteTableOptions): Promise<StreamResult>;
201
228
  analyseSingleObject(
202
229
  dbhan: DatabaseHandle<TClient>,
203
230
  name: NamedObjectInfo,
@@ -257,7 +284,27 @@ export interface EngineDriver<TClient = any> extends FilterBehaviourProvider {
257
284
  ): any[];
258
285
  // adapts table info from different source (import, other database) to be suitable for this database
259
286
  adaptTableInfo(table: TableInfo): TableInfo;
287
+ // simple data type adapter
288
+ adaptDataType(dataType: string): string;
260
289
  listSchemas(dbhan: DatabaseHandle<TClient>): SchemaInfo[];
290
+ backupDatabaseCommand(
291
+ connection: any,
292
+ settings: BackupDatabaseSettings,
293
+ externalTools: { [tool: string]: string }
294
+ ): CommandLineDefinition;
295
+ restoreDatabaseCommand(
296
+ connection: any,
297
+ settings: RestoreDatabaseSettings,
298
+ externalTools: { [tool: string]: string }
299
+ ): CommandLineDefinition;
300
+ transformNativeCommandMessage(
301
+ message: {
302
+ message: string;
303
+ severity: 'info' | 'error';
304
+ },
305
+ command: 'backup' | 'restore'
306
+ ): { message: string; severity: 'info' | 'error' | 'debug' } | null;
307
+ getNativeOperationFormArgs(operation: 'backup' | 'restore'): any[];
261
308
 
262
309
  analyserClass?: any;
263
310
  dumperClass?: any;
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "6.2.0",
2
+ "version": "6.3.0",
3
3
  "name": "dbgate-types",
4
4
  "homepage": "https://dbgate.org/",
5
5
  "repository": {
package/test-engines.d.ts CHANGED
@@ -39,6 +39,7 @@ export type TestEngineInfo = {
39
39
  skipNonPkRename?: boolean;
40
40
  skipPkDrop?: boolean;
41
41
  skipOrderBy?: boolean;
42
+ skipImportModel?: boolean;
42
43
 
43
44
  forceSortResults?: boolean;
44
45
  forceSortStructureColumns?: boolean;