|
| 1 | +var common = require('../../common'); |
| 2 | +var connection = common.createConnection(); |
| 3 | +var assert = require('assert'); |
| 4 | + |
| 5 | +var config = { |
| 6 | + table1: 'test82t1', |
| 7 | + table2: 'test82t2', |
| 8 | + view1: 'view82v1', |
| 9 | + view2: 'view82v2' |
| 10 | +}; |
| 11 | +var results = null; |
| 12 | + |
| 13 | +var prepareTestSet = function (cb) { |
| 14 | + connection.query('drop table if exists ' + config.table1); |
| 15 | + connection.query('drop table if exists ' + config.table2); |
| 16 | + connection.query('drop view if exists ' + config.view1); |
| 17 | + connection.query('drop view if exists ' + config.view2); |
| 18 | + connection.query('create table ' + config.table1 + ' (name1 varchar(20), linkId1 integer(11))'); |
| 19 | + connection.query('create table ' + config.table2 + ' (name2 varchar(20), linkId2 integer(11))'); |
| 20 | + connection.query('insert into ' + config.table1 + ' (name1, linkId1) values ("A", 1),("B", 2),("C", 3),("D", 4)'); |
| 21 | + connection.query('insert into ' + config.table2 + ' (name2, linkId2) values ("AA", 1),("BB", 2),("CC", 3),("DD", 4)'); |
| 22 | + connection.query('create view ' + config.view1 + ' as select name1, linkId1, name2 from ' + config.table1 + ' INNER JOIN ' + config.table2 + ' ON linkId1 = linkId2'); |
| 23 | + connection.query('create view ' + config.view2 + ' as select name1, name2 from ' + config.view1, cb); |
| 24 | +}; |
| 25 | + |
| 26 | +prepareTestSet(function (err) { |
| 27 | + assert.ifError(err); |
| 28 | + connection.query('select * from ' + config.view2 + ' order by name2 desc', function (err, rows) { |
| 29 | + assert.ifError(err); |
| 30 | + results = rows; |
| 31 | + connection.close(); |
| 32 | + }); |
| 33 | +}); |
| 34 | + |
| 35 | +process.on('exit', function () { |
| 36 | + assert.equal(results[0].name1, 'D'); |
| 37 | + assert.equal(results[1].name1, 'C'); |
| 38 | + assert.equal(results[2].name1, 'B'); |
| 39 | + assert.equal(results[3].name1, 'A'); |
| 40 | + assert.equal(results[0].name2, 'DD'); |
| 41 | + assert.equal(results[1].name2, 'CC'); |
| 42 | + assert.equal(results[2].name2, 'BB'); |
| 43 | + assert.equal(results[3].name2, 'AA'); |
| 44 | +}); |
0 commit comments