- createServer() - creates server instance
- Server.listen - listen port / unix socket (same arguments as net.Server.listen)
- connect - new incoming connection.
- serverHandshake({serverVersion, protocolVersion, connectionId, statusFlags, characterSet, capabilityFlags}) - send server handshake initialisation packet, wait handshake response and start listening for commands
- writeOk({affectedRows: num, insertId: num}) - send OK packet to client
- writeEof(warnings, statusFlags) - send EOF packet
- writeTextResult(rows, fields) - write query result to client. Rows and fields are in the same format as in
connection.query
callback. - writeColumns(fields) - write fields + EOF packets.
- writeTextRow(row) - write array (not hash!) of values as result row
- TODO: binary protocol
Every command packet received by the server will be emitted as a packet event with the parameters:
- packet: Packet - The packet itself
- knownCommand: boolean - is this command known to the server
- commandCode: number - the parsed command code (first byte)
In addition special events are emitted for commands received from the client. If no listener is present a fallback behavior will be invoked.
- quit() - Default: close the connection
- init_db(schemaName: string) - Default: return OK
- query(sql: string) - Please attach a listener to this. Default: return HA_ERR_INTERNAL_ERROR
- field_list(table: string, fields: string) - Default: return ER_WARN_DEPRECATED_SYNTAX
- ping() - Default: return OK