epiquery2
Version:
run templated queries from the http's using learnings from 1
29 lines (22 loc) • 917 B
text/coffeescript
events = require 'events'
mysql = require 'mysql'
Q = require 'q'
_ = require 'underscore'
class MySQLDriver extends events.EventEmitter
constructor: (, ) ->
execute: () =>
= _.clone
connect_deferred = Q.defer()
.multipleStatements = true
conn = mysql.createConnection
conn.connect connect_deferred.makeNodeResolver()
conn.on 'error', (error) => this.emit 'error', error
connect_deferred.promise.then( () =>
query = conn.query
query.on 'result', (row) => this.emit 'row', row
query.on 'error', (error) => this.emit 'error', error
query.on 'fields', (fields) => this.emit 'beginrowset', fields
query.on 'end', () => this.emit 'endquery'
).fail( (error) => this.emit 'error', error
).finally( () -> conn.end() )
module.exports.DriverClass = MySQLDriver