Initial commit
This commit is contained in:
55
node_modules/knex/lib/dialects/mssql/schema/mssql-viewcompiler.js
generated
vendored
Executable file
55
node_modules/knex/lib/dialects/mssql/schema/mssql-viewcompiler.js
generated
vendored
Executable file
@@ -0,0 +1,55 @@
|
||||
/* eslint max-len: 0 */
|
||||
|
||||
const ViewCompiler = require('../../../schema/viewcompiler.js');
|
||||
const {
|
||||
columnize: columnize_,
|
||||
} = require('../../../formatter/wrappingFormatter');
|
||||
|
||||
class ViewCompiler_MSSQL extends ViewCompiler {
|
||||
constructor(client, viewCompiler) {
|
||||
super(client, viewCompiler);
|
||||
}
|
||||
|
||||
createQuery(columns, selectQuery, materialized, replace) {
|
||||
const createStatement = 'CREATE ' + (replace ? 'OR ALTER ' : '') + 'VIEW ';
|
||||
let sql = createStatement + this.viewName();
|
||||
|
||||
const columnList = columns
|
||||
? ' (' +
|
||||
columnize_(
|
||||
columns,
|
||||
this.viewBuilder,
|
||||
this.client,
|
||||
this.bindingsHolder
|
||||
) +
|
||||
')'
|
||||
: '';
|
||||
|
||||
sql += columnList;
|
||||
sql += ' AS ';
|
||||
sql += selectQuery.toString();
|
||||
this.pushQuery({
|
||||
sql,
|
||||
});
|
||||
}
|
||||
|
||||
renameColumn(from, to) {
|
||||
this.pushQuery(
|
||||
`exec sp_rename ${this.client.parameter(
|
||||
this.viewName() + '.' + from,
|
||||
this.viewBuilder,
|
||||
this.bindingsHolder
|
||||
)}, ${this.client.parameter(
|
||||
to,
|
||||
this.viewBuilder,
|
||||
this.bindingsHolder
|
||||
)}, 'COLUMN'`
|
||||
);
|
||||
}
|
||||
|
||||
createOrReplace() {
|
||||
this.createQuery(this.columns, this.selectQuery, false, true);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = ViewCompiler_MSSQL;
|
||||
Reference in New Issue
Block a user