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

Commit 9dee2807 by Jan Aagaard Meier

Merge pull request #2064 from jValdron/flag-dottie-raw-query

Flag dottie raw query
2 parents 08e0ca7c 27f93c8b
...@@ -214,7 +214,11 @@ module.exports = (function() { ...@@ -214,7 +214,11 @@ module.exports = (function() {
return o; return o;
}); });
result = result.map(Dot.transform); if (this.options.nest) {
result = result.map(function(entry){
return Dot.transform(entry);
});
}
// Queries with include // Queries with include
} else if (this.options.hasJoin === true) { } else if (this.options.hasJoin === true) {
......
File mode changed
...@@ -268,7 +268,7 @@ describe(Support.getTestDialectTeaser("Sequelize"), function () { ...@@ -268,7 +268,7 @@ describe(Support.getTestDialectTeaser("Sequelize"), function () {
}) })
}) })
it('executes select query and parses dot notation results', function(done) { it('executes select query with dot notation results', function(done) {
var self = this var self = this
self.sequelize.query('DELETE FROM ' + qq(self.User.tableName)).complete(function() { self.sequelize.query('DELETE FROM ' + qq(self.User.tableName)).complete(function() {
self.sequelize.query(self.insertQuery).success(function() { self.sequelize.query(self.insertQuery).success(function() {
...@@ -276,6 +276,21 @@ describe(Support.getTestDialectTeaser("Sequelize"), function () { ...@@ -276,6 +276,21 @@ describe(Support.getTestDialectTeaser("Sequelize"), function () {
.query("select username as " + qq("user.username") + " from " + qq(self.User.tableName) + "") .query("select username as " + qq("user.username") + " from " + qq(self.User.tableName) + "")
.complete(function(err, users) { .complete(function(err, users) {
expect(err).to.be.null expect(err).to.be.null
expect(users).to.deep.equal([{'user.username':'john'}])
done()
})
})
})
})
it('executes select query with dot notation results and nest it', function(done) {
var self = this
self.sequelize.query('DELETE FROM ' + qq(self.User.tableName)).complete(function() {
self.sequelize.query(self.insertQuery).success(function() {
self.sequelize
.query("select username as " + qq("user.username") + " from " + qq(self.User.tableName) + "", null, { raw: true, nest: true })
.complete(function(err, users) {
expect(err).to.be.null
expect(users.map(function(u){ return u.user })).to.deep.equal([{'username':'john'}]) expect(users.map(function(u){ return u.user })).to.deep.equal([{'username':'john'}])
done() done()
}) })
...@@ -313,11 +328,21 @@ describe(Support.getTestDialectTeaser("Sequelize"), function () { ...@@ -313,11 +328,21 @@ describe(Support.getTestDialectTeaser("Sequelize"), function () {
}) })
}) })
it('destructs dot separated attributes when doing a raw query', function(done) { it('dot separated attributes when doing a raw query without nest', function(done) {
var tickChar = (dialect === 'postgres') ? '"' : '`'
, sql = "select 1 as " + Sequelize.Utils.addTicks('foo.bar.baz', tickChar)
this.sequelize.query(sql, null, { raw: true, nest: false }).success(function(result) {
expect(result).to.deep.equal([ { 'foo.bar.baz': 1 } ])
done()
})
})
it('destructs dot separated attributes when doing a raw query using nest', function(done) {
var tickChar = (dialect === 'postgres') ? '"' : '`' var tickChar = (dialect === 'postgres') ? '"' : '`'
, sql = "select 1 as " + Sequelize.Utils.addTicks('foo.bar.baz', tickChar) , sql = "select 1 as " + Sequelize.Utils.addTicks('foo.bar.baz', tickChar)
this.sequelize.query(sql, null, { raw: true }).success(function(result) { this.sequelize.query(sql, null, { raw: true, nest: true }).success(function(result) {
expect(result).to.deep.equal([ { foo: { bar: { baz: 1 } } } ]) expect(result).to.deep.equal([ { foo: { bar: { baz: 1 } } } ])
done() done()
}) })
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!