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

Added parsing of dot noted results using dottie lib

1 parent 6c06ac2a
var Utils = require('../../utils')
, CustomEventEmitter = require("../../emitters/custom-event-emitter")
, Dot = require('dottie')
module.exports = (function() {
var AbstractQuery = function(database, sequelize, callee, options) {}
......@@ -230,7 +231,7 @@ module.exports = (function() {
var result = null, self = this;
if (this.options.raw) {
result = results
result = results.map(Dot.transform)
} else if (this.options.hasJoin === true) {
result = prepareJoinData.call(this, results)
result = groupDataByCalleeFactory.call(this, result).map(function(result) {
......
......@@ -28,7 +28,8 @@
"validator": "0.4.x",
"moment": "~1.7.0",
"commander": "~0.6.0",
"generic-pool": "1.0.9"
"generic-pool": "1.0.9",
"dottie": "0.0.6-1"
},
"devDependencies": {
"jasmine-node": "1.0.17",
......
......@@ -6,8 +6,10 @@ if(typeof require === 'function') {
}
var qq = function(str) {
if (dialect == 'postgres') {
if (dialect == 'postgres' || dialect == 'sqlite') {
return '"' + str + '"'
} else if (dialect == 'mysql') {
return '`' + str + '`'
} else {
return str
}
......@@ -91,6 +93,22 @@ describe(Helpers.getTestDialectTeaser("Sequelize"), function() {
}.bind(this))
})
it('executes select query and parses dot notation results', function(done) {
this.sequelize.query(this.insertQuery).success(function() {
this.sequelize
.query("select username as " + qq("user.username") + " from " + qq(this.User.tableName) + "")
.success(function(users) {
expect(users.map(function(u){ return u.user })).toEqual([{'username':'john'}])
done()
})
.error(function(err) {
console.log(err)
expect(err).not.toBeDefined()
done()
})
}.bind(this))
})
if (dialect == 'mysql')
it('executes stored procedures', function(done) {
this.sequelize.query(this.insertQuery).success(function() {
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!