不要怂,就是干,撸起袖子干!

Commit a228e2c0 by Joel Trost Committed by Matt Broadstone

Query Interface passes

1 parent bd9cfd01
...@@ -121,14 +121,14 @@ module.exports = (function() { ...@@ -121,14 +121,14 @@ module.exports = (function() {
result = this.handleShowTableQuery(data); result = this.handleShowTableQuery(data);
} else if (this.isShowOrDescribeQuery()) { } else if (this.isShowOrDescribeQuery()) {
result = data; result = data;
if (this.sql.toLowerCase().indexOf("select c.name, t.name as 'type', c.is_nullable as isnull") === 0) { if (this.sql.toLowerCase().indexOf("select c.column_name as 'name', c.data_type as 'type', c.is_nullable as 'isnull'") === 0) {
result = {}; result = {};
data.forEach(function(_result) { data.forEach(function(_result) {
if(_result.Default) if(_result.Default)
_result.Default = _result.Default.replace('(\'','').replace('\')','').replace(/'/g,''); _result.Default = _result.Default.replace('(\'','').replace('\')','').replace(/'/g,'');
result[_result.Name] = { result[_result.Name] = {
type: _result.Type.toUpperCase(), type: _result.Type.toUpperCase(),
allowNull: _result.IsNull, allowNull: (_result.IsNull === 'YES' ? true : false),
defaultValue: _result.Default defaultValue: _result.Default
}; };
}); });
...@@ -177,7 +177,7 @@ module.exports = (function() { ...@@ -177,7 +177,7 @@ module.exports = (function() {
Query.prototype.isShowOrDescribeQuery = function() { Query.prototype.isShowOrDescribeQuery = function() {
var result = false; var result = false;
result = result || (this.sql.toLowerCase().indexOf("select c.name, t.name as 'type', c.is_nullable as isnull") === 0); result = result || (this.sql.toLowerCase().indexOf("select c.column_name as 'name', c.data_type as 'type', c.is_nullable as 'isnull'") === 0);
result = result || (this.sql.toLowerCase().indexOf('select tablename = t.name, name = ind.name,') === 0); result = result || (this.sql.toLowerCase().indexOf('select tablename = t.name, name = ind.name,') === 0);
return result; return result;
......
...@@ -1431,7 +1431,7 @@ describe(Support.getTestDialectTeaser("HasMany"), function() { ...@@ -1431,7 +1431,7 @@ describe(Support.getTestDialectTeaser("HasMany"), function() {
this.Task.create({ id: 15, title: 'task2' }), this.Task.create({ id: 15, title: 'task2' }),
]).spread(function(user, task1, task2) { ]).spread(function(user, task1, task2) {
return user.setTasks([task1, task2]).on('sql', spy).on('sql', _.after(2, function (sql) { return user.setTasks([task1, task2]).on('sql', spy).on('sql', _.after(2, function (sql) {
var tickChar = (Support.getTestDialect() === 'postgres') ? '"' : '`'; var tickChar = (Support.getTestDialect() === 'postgres' || dialect === 'mssql') ? '"' : '`';
expect(sql).to.have.string("INSERT INTO %TasksUsers% (%TaskId%,%UserId%) VALUES (12,1),(15,1)".replace(/%/g, tickChar)); expect(sql).to.have.string("INSERT INTO %TasksUsers% (%TaskId%,%UserId%) VALUES (12,1),(15,1)".replace(/%/g, tickChar));
})); }));
}).then(function () { }).then(function () {
......
...@@ -12,11 +12,11 @@ module.exports = { ...@@ -12,11 +12,11 @@ module.exports = {
return parseInt(Math.random() * 999, 10) return parseInt(Math.random() * 999, 10)
}, },
mssql: { mssql: {
database: process.env.SEQ_MSSQL_DB || process.env.SEQ_DB || ('sequelize_test_' + ~~(Math.random() * 100)), database: process.env.SEQ_MSSQL_DB || process.env.SEQ_DB || ('sequelize_test_1'),// + ~~(Math.random() * 100)),
username: process.env.SEQ_MSSQL_USER || process.env.SEQ_USER || "sequelize", username: process.env.SEQ_MSSQL_USER || process.env.SEQ_USER || "sequelize",
password: process.env.SEQ_MSSQL_PW || process.env.SEQ_PW || "53qu3l1z3", password: process.env.SEQ_MSSQL_PW || process.env.SEQ_PW || "test",
host: process.env.SEQ_MSSQL_HOST || process.env.SEQ_HOST || "server2.barfooz.net", host: process.env.SEQ_MSSQL_HOST || process.env.SEQ_HOST || "ec2-54-76-93-58.eu-west-1.compute.amazonaws.com",
port: process.env.SEQ_MSSQL_PORT || process.env.SEQ_PORT || 1433, port: process.env.SEQ_MSSQL_PORT || process.env.SEQ_PORT || 1433,
pool: { pool: {
maxConnections: process.env.SEQ_MSSQL_POOL_MAX || process.env.SEQ_POOL_MAX || 5, maxConnections: process.env.SEQ_MSSQL_POOL_MAX || process.env.SEQ_POOL_MAX || 5,
......
...@@ -136,7 +136,7 @@ describe(Support.getTestDialectTeaser("QueryInterface"), function () { ...@@ -136,7 +136,7 @@ describe(Support.getTestDialectTeaser("QueryInterface"), function () {
assertVal = 'CHARACTER VARYING'; assertVal = 'CHARACTER VARYING';
break; break;
case 'mssql': case 'mssql':
assertVal = 'VARCHAR'; assertVal = 'NVARCHAR';
break; break;
} }
expect(username.type).to.equal(assertVal) expect(username.type).to.equal(assertVal)
...@@ -425,13 +425,13 @@ describe(Support.getTestDialectTeaser("QueryInterface"), function () { ...@@ -425,13 +425,13 @@ describe(Support.getTestDialectTeaser("QueryInterface"), function () {
var keys = Object.keys(fks[0]), var keys = Object.keys(fks[0]),
keys2 = Object.keys(fks[1]), keys2 = Object.keys(fks[1]),
keys3 = Object.keys(fks[2]) keys3 = Object.keys(fks[2])
if (dialect === "postgres" || dialect === "postgres-native" || dialect == 'mssql') { if (dialect === "postgres" || dialect === "postgres-native" ) {
expect(keys).to.have.length(6) expect(keys).to.have.length(6)
expect(keys2).to.have.length(7) expect(keys2).to.have.length(7)
expect(keys3).to.have.length(7) expect(keys3).to.have.length(7)
} else if (dialect === "sqlite") { } else if (dialect === "sqlite") {
expect(keys).to.have.length(8) expect(keys).to.have.length(8)
} else if (dialect === "mysql") { } else if (dialect === "mysql" || dialect == 'mssql') {
expect(keys).to.have.length(1) expect(keys).to.have.length(1)
} else { } else {
console.log("This test doesn't support " + dialect) console.log("This test doesn't support " + dialect)
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!