Initial commit
This commit is contained in:
92
node_modules/knex/lib/dialects/oracle/index.js
generated
vendored
Executable file
92
node_modules/knex/lib/dialects/oracle/index.js
generated
vendored
Executable file
@@ -0,0 +1,92 @@
|
||||
// Oracle Client
|
||||
// -------
|
||||
const { ReturningHelper } = require('./utils');
|
||||
const { isConnectionError } = require('./utils');
|
||||
const Client = require('../../client');
|
||||
const SchemaCompiler = require('./schema/oracle-compiler');
|
||||
const ColumnBuilder = require('./schema/oracle-columnbuilder');
|
||||
const ColumnCompiler = require('./schema/oracle-columncompiler');
|
||||
const TableCompiler = require('./schema/oracle-tablecompiler');
|
||||
|
||||
// Always initialize with the "QueryBuilder" and "QueryCompiler"
|
||||
// objects, which extend the base 'lib/query/builder' and
|
||||
// 'lib/query/compiler', respectively.
|
||||
class Client_Oracle extends Client {
|
||||
schemaCompiler() {
|
||||
return new SchemaCompiler(this, ...arguments);
|
||||
}
|
||||
|
||||
columnBuilder() {
|
||||
return new ColumnBuilder(this, ...arguments);
|
||||
}
|
||||
|
||||
columnCompiler() {
|
||||
return new ColumnCompiler(this, ...arguments);
|
||||
}
|
||||
|
||||
tableCompiler() {
|
||||
return new TableCompiler(this, ...arguments);
|
||||
}
|
||||
|
||||
// Return the database for the Oracle client.
|
||||
database() {
|
||||
return this.connectionSettings.database;
|
||||
}
|
||||
|
||||
// Position the bindings for the query.
|
||||
positionBindings(sql) {
|
||||
let questionCount = 0;
|
||||
return sql.replace(/\?/g, function () {
|
||||
questionCount += 1;
|
||||
return `:${questionCount}`;
|
||||
});
|
||||
}
|
||||
|
||||
_stream(connection, obj, stream, options) {
|
||||
if (!obj.sql) throw new Error('The query is empty');
|
||||
|
||||
return new Promise(function (resolver, rejecter) {
|
||||
stream.on('error', (err) => {
|
||||
if (isConnectionError(err)) {
|
||||
connection.__knex__disposed = err;
|
||||
}
|
||||
rejecter(err);
|
||||
});
|
||||
stream.on('end', resolver);
|
||||
const queryStream = connection.queryStream(
|
||||
obj.sql,
|
||||
obj.bindings,
|
||||
options
|
||||
);
|
||||
queryStream.pipe(stream);
|
||||
queryStream.on('error', function (error) {
|
||||
rejecter(error);
|
||||
stream.emit('error', error);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// Formatter part
|
||||
|
||||
alias(first, second) {
|
||||
return first + ' ' + second;
|
||||
}
|
||||
|
||||
parameter(value, builder, formatter) {
|
||||
// Returning helper uses always ROWID as string
|
||||
if (value instanceof ReturningHelper && this.driver) {
|
||||
value = new this.driver.OutParam(this.driver.OCCISTRING);
|
||||
} else if (typeof value === 'boolean') {
|
||||
value = value ? 1 : 0;
|
||||
}
|
||||
return super.parameter(value, builder, formatter);
|
||||
}
|
||||
}
|
||||
|
||||
Object.assign(Client_Oracle.prototype, {
|
||||
dialect: 'oracle',
|
||||
|
||||
driverName: 'oracle',
|
||||
});
|
||||
|
||||
module.exports = Client_Oracle;
|
||||
Reference in New Issue
Block a user