mirror of
https://github.com/Fabio286/antares.git
synced 2025-06-05 21:59:22 +02:00
feat(Firebird SQL): support to indexes and foreign keys
This commit is contained in:
@ -105,6 +105,7 @@ export default (connections: {[key: string]: antares.Client}) => {
|
||||
break;
|
||||
case 'pg':
|
||||
case 'sqlite':
|
||||
case 'firebird':
|
||||
escapedParam = `'${params.content.replaceAll('\'', '\'\'')}'`;
|
||||
break;
|
||||
}
|
||||
@ -124,6 +125,7 @@ export default (connections: {[key: string]: antares.Client}) => {
|
||||
escapedParam = `0x${fileBlob.toString('hex')}`;
|
||||
break;
|
||||
case 'pg':
|
||||
case 'firebird':
|
||||
fileBlob = fs.readFileSync(params.content);
|
||||
escapedParam = `decode('${fileBlob.toString('hex')}', 'hex')`;
|
||||
break;
|
||||
@ -141,6 +143,7 @@ export default (connections: {[key: string]: antares.Client}) => {
|
||||
escapedParam = '\'\'';
|
||||
break;
|
||||
case 'pg':
|
||||
case 'firebird':
|
||||
escapedParam = 'decode(\'\', \'hex\')';
|
||||
break;
|
||||
case 'sqlite':
|
||||
@ -158,6 +161,7 @@ export default (connections: {[key: string]: antares.Client}) => {
|
||||
case 'mysql':
|
||||
case 'maria':
|
||||
case 'pg':
|
||||
case 'firebird':
|
||||
escapedParam = params.content;
|
||||
break;
|
||||
case 'sqlite':
|
||||
@ -382,7 +386,20 @@ export default (connections: {[key: string]: antares.Client}) => {
|
||||
if (description)
|
||||
query.select(`LEFT(${description}, 20) AS foreign_description`);
|
||||
|
||||
const results = await query.run();
|
||||
const results = await query.run<{[key: string]: string}>();
|
||||
|
||||
const parsedResults: {[key: string]: string}[] = [];
|
||||
|
||||
for (const row of results.rows) {
|
||||
const remappedRow: {[key: string]: string} = {};
|
||||
|
||||
for (const key in row)
|
||||
remappedRow[key.toLowerCase()] = row[key];// Thanks Firebird -.-
|
||||
|
||||
parsedResults.push(remappedRow);
|
||||
}
|
||||
|
||||
results.rows = parsedResults;
|
||||
|
||||
return { status: 'success', response: results };
|
||||
}
|
||||
|
Reference in New Issue
Block a user