mirror of
https://github.com/Fabio286/antares.git
synced 2025-02-11 09:10:51 +01:00
feat: support to aliased tables
This commit is contained in:
parent
a8cd17748f
commit
1658432fd3
@ -353,7 +353,8 @@ export class MySQLClient extends AntaresCore {
|
|||||||
name: field.name,
|
name: field.name,
|
||||||
orgName: field.orgName,
|
orgName: field.orgName,
|
||||||
schema: field.db,
|
schema: field.db,
|
||||||
table: field.orgTable,
|
table: field.table,
|
||||||
|
orgTable: field.orgTable,
|
||||||
type: 'varchar'
|
type: 'varchar'
|
||||||
};
|
};
|
||||||
}) : [];
|
}) : [];
|
||||||
|
@ -106,7 +106,7 @@ export default {
|
|||||||
return resultsWithRows[index].fields.map(field => {
|
return resultsWithRows[index].fields.map(field => {
|
||||||
if (field.table) cachedTable = field.table;// Needed for some queries on information_schema
|
if (field.table) cachedTable = field.table;// Needed for some queries on information_schema
|
||||||
return {
|
return {
|
||||||
table: field.table || cachedTable,
|
table: field.orgTable || cachedTable,
|
||||||
schema: field.schema || 'INFORMATION_SCHEMA'
|
schema: field.schema || 'INFORMATION_SCHEMA'
|
||||||
};
|
};
|
||||||
}).filter((val, i, arr) => arr.findIndex(el => el.schema === val.schema && el.table === val.table) === i);
|
}).filter((val, i, arr) => arr.findIndex(el => el.schema === val.schema && el.table === val.table) === i);
|
||||||
@ -158,8 +158,12 @@ export default {
|
|||||||
|
|
||||||
if (selectedFields.length) {
|
if (selectedFields.length) {
|
||||||
fields = fields.map(field => {
|
fields = fields.map(field => {
|
||||||
const alias = result.fields.find(resField => resField.orgName === field.name).name || field.name;
|
const aliasObj = result.fields.find(resField => resField.orgName === field.name);
|
||||||
return { ...field, alias };
|
return {
|
||||||
|
...field,
|
||||||
|
alias: aliasObj.name || field.name,
|
||||||
|
tableAlias: aliasObj.table || field.table
|
||||||
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -288,10 +288,18 @@ export default {
|
|||||||
return this.fields.filter(field =>
|
return this.fields.filter(field =>
|
||||||
field.name === cKey ||
|
field.name === cKey ||
|
||||||
field.alias === cKey ||
|
field.alias === cKey ||
|
||||||
|
|
||||||
`${field.table}.${field.name}` === cKey ||
|
`${field.table}.${field.name}` === cKey ||
|
||||||
`${field.table}.${field.alias}` === cKey ||
|
`${field.table}.${field.alias}` === cKey ||
|
||||||
|
|
||||||
`${field.table.toLowerCase()}.${field.name}` === 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) {
|
isNull (value) {
|
||||||
return value === null ? ' is-null' : '';
|
return value === null ? ' is-null' : '';
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<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 column col-12">
|
||||||
<div class="workspace-query-runner-footer">
|
<div class="workspace-query-runner-footer">
|
||||||
<div class="workspace-query-buttons">
|
<div class="workspace-query-buttons">
|
||||||
@ -234,38 +234,3 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</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>
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user