diff --git a/src/renderer/components/WorkspaceQueryTab.vue b/src/renderer/components/WorkspaceQueryTab.vue index 5dd3029f..df179503 100644 --- a/src/renderer/components/WorkspaceQueryTab.vue +++ b/src/renderer/components/WorkspaceQueryTab.vue @@ -80,8 +80,8 @@ export default { return this.getWorkspace(this.connection.uid); }, schema () { - if ('fields' in this.results && this.results.fields.length) - return this.results.fields[0].db; + if ('fields' in this.results && this.results[this.selectedResultsset].fields.length) + return this.results[this.selectedResultsset].fields[0].db; return this.workspace.breadcrumbs.schema; } }, diff --git a/src/renderer/components/WorkspaceTableTab.vue b/src/renderer/components/WorkspaceTableTab.vue index f9f20aca..f9274922 100644 --- a/src/renderer/components/WorkspaceTableTab.vue +++ b/src/renderer/components/WorkspaceTableTab.vue @@ -169,6 +169,9 @@ export default { this.setTabKeyUsage({ cUid: this.connection.uid, tUid: this.tabUid, keyUsage: keysArr }); this.isQuering = false; }, + getTable () { + return this.table; + }, reloadTable () { this.getTableData(); }, diff --git a/src/renderer/mixins/tableTabs.js b/src/renderer/mixins/tableTabs.js index 4e7b6f31..01a9f6c1 100644 --- a/src/renderer/mixins/tableTabs.js +++ b/src/renderer/mixins/tableTabs.js @@ -7,8 +7,8 @@ export default { const params = { uid: this.connection.uid, - schema: this.workspace.breadcrumbs.schema, - table: this.table, + schema: this.schema, + table: this.getTable(this.selectedResultsset), ...payload }; @@ -34,16 +34,32 @@ export default { const params = { uid: this.connection.uid, - schema: this.workspace.breadcrumbs.schema, - table: this.workspace.breadcrumbs.table, + schema: this.schema, + table: this.getTable(this.selectedResultsset), ...payload }; try { const { status, response } = await Tables.deleteTableRows(params); + if (status === 'success') { const { primary, rows } = params; - this.results = { ...this.results, rows: this.results.rows.filter(row => !rows.includes(row[primary])) }; + + if (Array.isArray(this.results)) { + this.results = this.results.map((result, index) => { + if (index === this.selectedResultsset) { + return { + ...result, + rows: result.rows.filter(row => !rows.includes(row[primary])) + }; + } + else + return result; + }); + } + else + this.results = { ...this.results, rows: this.results.rows.filter(row => !rows.includes(row[primary])) }; + this.$refs.queryTable.refreshScroller();// Necessary to re-render virtual scroller } else