From 0116710a202d7f6781ef918fd44e3f9f1f2c04c6 Mon Sep 17 00:00:00 2001 From: Joel Trost Date: Tue, 30 Sep 2014 12:17:53 -0700 Subject: [PATCH] Removed Seriate and put in NODE MSSQL --- lib/dialects/mssql/connection-manager.js | 37 ++++++++++++++-------- lib/dialects/mssql/query-generator.js | 3 +- lib/dialects/mssql/query.js | 40 ++++++++++++++---------- package.json | 1 + 4 files changed, 51 insertions(+), 30 deletions(-) diff --git a/lib/dialects/mssql/connection-manager.js b/lib/dialects/mssql/connection-manager.js index f70ea16fefe4..43a8f53cc580 100644 --- a/lib/dialects/mssql/connection-manager.js +++ b/lib/dialects/mssql/connection-manager.js @@ -11,7 +11,7 @@ ConnectionManager = function(dialect, sequelize) { this.sequelize.config.port = this.sequelize.config.port || 1433; try { - this.lib = require(sequelize.config.dialectModulePath || 'seriate'); + this.lib = require(sequelize.config.dialectModulePath || 'mssql'); } catch (err) { throw new Error('Please install seriate package manually'); } @@ -37,19 +37,30 @@ ConnectionManager.prototype.connect = function(config) { connectionConfig[key] = config.dialectOptions[key]; }); } - - var connection = { - config: { - user: connectionConfig.user, - password: connectionConfig.password, - server: connectionConfig.host, - database: connectionConfig.database - }, - - lib: self.lib + config = { + user: connectionConfig.user, + password: connectionConfig.password, + server: connectionConfig.host, + database: connectionConfig.database }; - - resolve(connection); + self.lib.connect(config, function(err) { + // var request = new self.lib.Request(); + // request.query('select 1 as number', function(err, recordset) { + // console.log('err2', err); + // console.log(recordset); + // }); + }); + // var connection = { + // config: { + // user: connectionConfig.user, + // password: connectionConfig.password, + // server: connectionConfig.host, + // database: connectionConfig.database + // }, + // }; + //connection = self.lib; + // connection.lib = self.lib.getPlainContext(connection.config); + resolve(self.lib); }); }; ConnectionManager.prototype.disconnect = function(connection) { diff --git a/lib/dialects/mssql/query-generator.js b/lib/dialects/mssql/query-generator.js index ba7f264ab9e2..42d5c8695768 100644 --- a/lib/dialects/mssql/query-generator.js +++ b/lib/dialects/mssql/query-generator.js @@ -468,7 +468,8 @@ module.exports = (function() { */ startTransactionQuery: function(transaction, options) { if (options.parent) { - return 'SAVE TRANSACTION ' + this.quoteIdentifier(transaction.name) + ';'; + return ''; + //return 'SAVE TRANSACTION ' + SqlGenerator.quoteIdentifier(transaction.name) + ';'; } return 'BEGIN TRANSACTION'; diff --git a/lib/dialects/mssql/query.js b/lib/dialects/mssql/query.js index c2a212ac845e..e1ce8063be27 100644 --- a/lib/dialects/mssql/query.js +++ b/lib/dialects/mssql/query.js @@ -38,23 +38,31 @@ module.exports = (function() { var promise = new Utils.Promise(function(resolve, reject) { console.log(self.sql); - self - .connection - .lib - .execute(self.connection.config, { query: self.sql }) - .then( - function (data) { - promise.emit('sql', self.sql, self.connection.uuid); - resolve(self.formatResults(data.result)); - }, - function (err) { - console.log('err:', err); - err.sql = sql; - reject(self.formatError(err)); - } - ); + // self + // .connection + // .lib + // .step('',{ query: self.sql }) + // .error(function (err) { + // console.log('err:', err); + // err.sql = sql; + // reject(self.formatError(err)); + // }) + // .end(function (result) { + // console.log('res', result.query); + // resolve(self.formatResults(result.query)); + // }); + // }); + var request = new self.connection.Request(); + + request.query(self.sql, function(err, recordset) { + promise.emit('sql', self.sql, self.connection.uuid); + if(err){ + console.log(err.message); + reject(self.formatError(err)); + } + resolve(self.formatResults(recordset)); + }); }); - return promise; }; diff --git a/package.json b/package.json index 6e8f0ea688a4..3e7c8407fd0c 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,7 @@ "sqlite3": "~3.0.0", "mysql": "~2.5.0", "pg": "~3.6.0", + "mssql": "^1.2.0", "watchr": "~2.4.11", "chai": "~1.9.2", "mocha": "~2.0.0",