node-query/lib/drivers/Firebird.js

46 lines
911 B
JavaScript
Raw Normal View History

2015-12-07 17:03:36 -05:00
'use strict';
2015-12-07 12:03:42 -05:00
let helpers = require('../helpers');
/**
* Driver for Firebird databases
*
* @module drivers/firebird
*/
module.exports = (() => {
delete require.cache[require.resolve('../Driver')];
2015-12-07 12:03:42 -05:00
let driver = require('../Driver');
driver.hasTruncate = false;
/**
2015-12-07 15:58:31 -05:00
* Set the limit clause
* @param {String} origSql - SQL statement to modify
* @param {Number} limit - Maximum number of rows to fetch
* @param {Number|null} offset - Number of rows to skip
* @return {String} - Modified SQL statement
*/
driver.limit = (origSql, limit, offset) => {
2015-12-07 15:58:31 -05:00
let sql = `FIRST ${limit}`;
if (helpers.isNumber(offset))
{
2015-12-07 15:58:31 -05:00
sql += ` SKIP ${offset}`;
}
2015-12-07 15:58:31 -05:00
return origSql.replace(/SELECT/i, `SELECT ${sql}`);
};
/**
* SQL to insert a group of rows
*
2015-12-07 15:58:31 -05:00
* @return {void}
* @throws {Error}
*/
driver.insertBatch = () => {
2015-12-07 17:03:36 -05:00
throw new Error('Not Implemented');
};
return driver;
})();