1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- var common = require('../../common');
- var connection = common.createConnection();
- var assert = require('assert');
- common.useTestDb(connection);
- var table = 'load_data_test';
- connection.query([
- 'CREATE TEMPORARY TABLE `' + table + '` (',
- '`id` int(11) unsigned NOT NULL AUTO_INCREMENT,',
- '`title` varchar(255),',
- 'PRIMARY KEY (`id`)',
- ') ENGINE=InnoDB DEFAULT CHARSET=utf8'
- ].join('\n'));
- var path = common.fixtures + '/data.csv';
- var sql =
- 'LOAD DATA LOCAL INFILE ? INTO TABLE ' + table + ' ' +
- 'FIELDS TERMINATED BY ? (id, title)';
- var ok;
- connection.query(sql, [path, ','], function(err, _ok) {
- if (err) throw err;
- ok = _ok;
- });
- var rows;
- connection.query('SELECT * FROM ' + table, function(err, _rows) {
- if (err) throw err;
- rows = _rows;
- });
- // Try to load a file that does not exist to see if we handle this properly
- var loadErr;
- var loadResult;
- var badPath = common.fixtures + '/does_not_exist.csv';
- connection.query(sql, [badPath, ','], function(err, result) {
- loadErr = err;
- loadResult = result;
- });
- connection.end();
- process.on('exit', function() {
- assert.equal(ok.affectedRows, 3);
- assert.equal(rows.length, 3);
- assert.equal(rows[0].id, 1);
- assert.equal(rows[0].title, 'Hello World');
- assert.equal(loadErr.code, 'ENOENT');
- assert.equal(loadResult.affectedRows, 0);
- });
|