Skip to content

Commit

Permalink
feat: support to aliased tables
Browse files Browse the repository at this point in the history
  • Loading branch information
Fabio286 committed Oct 20, 2020
1 parent a8cd177 commit 1658432
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 41 deletions.
3 changes: 2 additions & 1 deletion src/main/libs/clients/MySQLClient.js
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,8 @@ export class MySQLClient extends AntaresCore {
name: field.name,
orgName: field.orgName,
schema: field.db,
table: field.orgTable,
table: field.table,
orgTable: field.orgTable,
type: 'varchar'
};
}) : [];
Expand Down
10 changes: 7 additions & 3 deletions src/renderer/components/WorkspaceQueryTab.vue
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ export default {
return resultsWithRows[index].fields.map(field => {
if (field.table) cachedTable = field.table;// Needed for some queries on information_schema
return {
table: field.table || cachedTable,
table: field.orgTable || cachedTable,
schema: field.schema || 'INFORMATION_SCHEMA'
};
}).filter((val, i, arr) => arr.findIndex(el => el.schema === val.schema && el.table === val.table) === i);
Expand Down Expand Up @@ -158,8 +158,12 @@ export default {
if (selectedFields.length) {
fields = fields.map(field => {
const alias = result.fields.find(resField => resField.orgName === field.name).name || field.name;
return { ...field, alias };
const aliasObj = result.fields.find(resField => resField.orgName === field.name);
return {
...field,
alias: aliasObj.name || field.name,
tableAlias: aliasObj.table || field.table
};
});
}
Expand Down
10 changes: 9 additions & 1 deletion src/renderer/components/WorkspaceQueryTableRow.vue
Original file line number Diff line number Diff line change
Expand Up @@ -288,10 +288,18 @@ export default {
return this.fields.filter(field =>
field.name === cKey ||
field.alias === cKey ||
`${field.table}.${field.name}` === cKey ||
`${field.table}.${field.alias}` === cKey ||
`${field.table.toLowerCase()}.${field.name}` === cKey ||
`${field.table.toLowerCase()}.${field.alias}` === cKey)[0];
`${field.table.toLowerCase()}.${field.alias}` === cKey ||
`${field.tableAlias}.${field.name}` === cKey ||
`${field.tableAlias}.${field.alias}` === cKey ||
`${field.tableAlias.toLowerCase()}.${field.name}` === cKey ||
`${field.tableAlias.toLowerCase()}.${field.alias}` === cKey)[0];
},
isNull (value) {
return value === null ? ' is-null' : '';
Expand Down
37 changes: 1 addition & 36 deletions src/renderer/components/WorkspaceTableTab.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<template>
<div class="workspace-query-tab column col-12 columns col-gapless">
<div v-show="isSelected" class="workspace-query-tab column col-12 columns col-gapless">
<div class="workspace-query-runner column col-12">
<div class="workspace-query-runner-footer">
<div class="workspace-query-buttons">
Expand Down Expand Up @@ -234,38 +234,3 @@ export default {
}
};
</script>

<style lang="scss">
.workspace-tabs {
align-content: baseline;
.workspace-query-runner {
.workspace-query-runner-footer {
display: flex;
justify-content: space-between;
padding: 0.3rem 0.6rem 0.4rem;
align-items: center;
.workspace-query-buttons {
display: flex;
.btn {
display: flex;
align-self: center;
color: $body-font-color;
margin-right: 0.4rem;
}
}
.workspace-query-info {
display: flex;
> div + div {
padding-left: 0.6rem;
}
}
}
}
}
</style>

0 comments on commit 1658432

Please sign in to comment.