node-query/node_modules/mysql2/test/integration/connection/test-execute-nocolumndef.js

150 lines
2.9 KiB
JavaScript

var common = require('../../common');
var connection = common.createConnection();
var assert = require('assert');
// https://github.com/sidorares/node-mysql2/issues/130
// https://github.com/sidorares/node-mysql2/issues/37
// binary protocol examples where `prepare` returns no column definitions but execute() does return fields/rows
var rows;
var fields;
connection.execute('explain SELECT 1', function(err, _rows, _fields) {
if (err) throw err;
rows = _rows
fields = _fields;
connection.end();
});
var expectedRows;
var expectedFields;
process.on('exit', function() {
assert.deepEqual(rows, expectedRows);
var fi = fields.map(function(c) { return c.inspect() });
assert.deepEqual(fi, expectedFields);
});
expectedFields = [{ catalog: 'def',
schema: '',
table: '',
orgTable: '',
name: 'id',
orgName: '',
characterSet: 63,
columnLength: 3,
columnType: 8,
flags: 161,
decimals: 0 },
{ catalog: 'def',
schema: '',
table: '',
orgTable: '',
name: 'select_type',
orgName: '',
characterSet: 33,
columnLength: 57,
columnType: 253,
flags: 1,
decimals: 31 },
{ catalog: 'def',
schema: '',
table: '',
orgTable: '',
name: 'table',
orgName: '',
characterSet: 33,
columnLength: 192,
columnType: 253,
flags: 0,
decimals: 31 },
{ catalog: 'def',
schema: '',
table: '',
orgTable: '',
name: 'type',
orgName: '',
characterSet: 33,
columnLength: 30,
columnType: 253,
flags: 0,
decimals: 31 },
{ catalog: 'def',
schema: '',
table: '',
orgTable: '',
name: 'possible_keys',
orgName: '',
characterSet: 33,
columnLength: 12288,
columnType: 253,
flags: 0,
decimals: 31 },
{ catalog: 'def',
schema: '',
table: '',
orgTable: '',
name: 'key',
orgName: '',
characterSet: 33,
columnLength: 192,
columnType: 253,
flags: 0,
decimals: 31 },
{ catalog: 'def',
schema: '',
table: '',
orgTable: '',
name: 'key_len',
orgName: '',
characterSet: 33,
columnLength: 12288,
columnType: 253,
flags: 0,
decimals: 31 },
{ catalog: 'def',
schema: '',
table: '',
orgTable: '',
name: 'ref',
orgName: '',
characterSet: 33,
columnLength: 3072,
columnType: 253,
flags: 0,
decimals: 31 },
{ catalog: 'def',
schema: '',
table: '',
orgTable: '',
name: 'rows',
orgName: '',
characterSet: 63,
columnLength: 10,
columnType: 8,
flags: 160,
decimals: 0 },
{ catalog: 'def',
schema: '',
table: '',
orgTable: '',
name: 'Extra',
orgName: '',
characterSet: 33,
columnLength: 765,
columnType: 253,
flags: 1,
decimals: 31 }];
expectedRows = [ {id: 1,
select_type: 'SIMPLE',
table: null,
type: null,
possible_keys: null,
key: null,
key_len: null,
ref: null,
rows: null,
Extra: 'No tables used' }];