Added "TEST" operation to verify that the configured database is available. Test op is still WIP, doesn't return a useful response
This commit is contained in:
@@ -33,6 +33,9 @@ async function generateQuery(table, operation, params) {
|
||||
validateCompareParams(params);
|
||||
query = generateCompareQuery(DB_TYPE, table, params);
|
||||
break; */
|
||||
case 'TEST':
|
||||
query = generateTestQuery(DB_TYPE);
|
||||
break;
|
||||
default:
|
||||
throw new Error('Unsupported operation');
|
||||
}
|
||||
@@ -266,6 +269,26 @@ async function generateDeleteQuery(dbType, table, params) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a TEST SQL query string based on database type, table, and parameters.
|
||||
*
|
||||
* @param {string} dbType - Type of database (e.g., 'MSSQL', 'ORACLE').
|
||||
* @returns {Promise<string>} The constructed DELETE SQL query string.
|
||||
*/
|
||||
async function generateTestQuery(dbType) {
|
||||
switch (dbType.toUpperCase()) {
|
||||
case 'MSSQL':
|
||||
return `SELECT @@SPID;`;
|
||||
case 'POSTGRES':
|
||||
return `SELECT pg_backend_pid();`; // Use $1 for PostgreSQL
|
||||
case 'MARIADB':
|
||||
return `SELECT CONNECTION_ID();`;
|
||||
case 'ORACLE':
|
||||
return `SELECT SYS_CONTEXT('USERENV', 'SESSIONID') FROM dual;`;
|
||||
default:
|
||||
throw new Error('Unsupported database type!');
|
||||
}
|
||||
}
|
||||
/*
|
||||
*
|
||||
* I intend to implement "compare" functionality but haven't yet decided how to do so. This is some spitballed code that I came up with for this exercise, and I hope to complete work on it in the future.
|
||||
|
||||
@@ -58,10 +58,13 @@ async function executeQuery(table, operation, params) {
|
||||
case 'READ':
|
||||
return result.recordset || [];
|
||||
case 'UPDATE':
|
||||
return { success: true, affectedRows: result.affectedRows };
|
||||
case 'DELETE':
|
||||
return { success: true, affectedRows: result.affectedRows };
|
||||
case 'CREATE':
|
||||
return { success: true };
|
||||
case 'TEST':
|
||||
return result.recordset || [];
|
||||
}
|
||||
return result;
|
||||
}
|
||||
@@ -143,4 +146,4 @@ async function executePostgresQuery(connection, query, params) {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = { executeQuery };
|
||||
module.exports = { executeQuery };
|
||||
Reference in New Issue
Block a user