2013-09-17 06:54:26 -04:00
|
|
|
// MySQL Grammar
|
|
|
|
// -------
|
2013-09-18 11:55:22 -04:00
|
|
|
var _ = require('underscore');
|
2013-09-17 06:54:26 -04:00
|
|
|
var Helpers = require('../../../lib/helpers').Helpers;
|
|
|
|
var baseGrammar = require('../../base/grammar').baseGrammar;
|
|
|
|
|
|
|
|
// Extends the standard sql grammar.
|
|
|
|
exports.grammar = _.defaults({
|
|
|
|
|
|
|
|
// The keyword identifier wrapper format.
|
|
|
|
wrapValue: function(value) {
|
|
|
|
return (value !== '*' ? Helpers.format('`%s`', value) : "*");
|
|
|
|
},
|
|
|
|
|
2013-09-17 07:15:18 -04:00
|
|
|
// Ensures the response is returned in the same format as other clients.
|
2013-09-17 06:54:26 -04:00
|
|
|
handleResponse: function(builder, response) {
|
|
|
|
response = response[0];
|
|
|
|
if (builder.type === 'select') response = Helpers.skim(response);
|
|
|
|
if (builder.type === 'insert') response = [response.insertId];
|
|
|
|
if (builder.type === 'delete' || builder.type === 'update') response = response.affectedRows;
|
|
|
|
return response;
|
|
|
|
}
|
|
|
|
|
|
|
|
}, baseGrammar);
|