mirror of
https://github.com/dbgate/dbgate
synced 2024-11-07 20:26:23 +00:00
fixed sqlitesingle object analyse + test
This commit is contained in:
parent
6baeb58500
commit
e0aeae5220
@ -40,4 +40,36 @@ describe('DB Import', () => {
|
||||
expect(res.rows[0].cnt.toString()).toEqual('6');
|
||||
})
|
||||
);
|
||||
|
||||
test.each(engines.map(engine => [engine.label, engine]))(
|
||||
'Import two tables - %s',
|
||||
testWrapper(async (conn, driver, engine) => {
|
||||
// const reader = await fakeObjectReader({ delay: 10 });
|
||||
// const reader = await fakeObjectReader();
|
||||
const reader1 = createImportStream();
|
||||
const writer1 = await tableWriter({
|
||||
systemConnection: conn,
|
||||
driver,
|
||||
pureName: 't1',
|
||||
createIfNotExists: true,
|
||||
});
|
||||
await copyStream(reader1, writer1);
|
||||
|
||||
const reader2 = createImportStream();
|
||||
const writer2 = await tableWriter({
|
||||
systemConnection: conn,
|
||||
driver,
|
||||
pureName: 't2',
|
||||
createIfNotExists: true,
|
||||
});
|
||||
await copyStream(reader2, writer2);
|
||||
|
||||
const res1 = await driver.query(conn, `select count(*) as cnt from t1`);
|
||||
expect(res1.rows[0].cnt.toString()).toEqual('6');
|
||||
|
||||
const res2 = await driver.query(conn, `select count(*) as cnt from t2`);
|
||||
expect(res2.rows[0].cnt.toString()).toEqual('6');
|
||||
})
|
||||
);
|
||||
|
||||
});
|
||||
|
@ -116,11 +116,11 @@ const engines = [
|
||||
|
||||
const filterLocal = [
|
||||
// filter local testing
|
||||
'MySQL',
|
||||
'PostgreSQL',
|
||||
'SQL Server',
|
||||
'-MySQL',
|
||||
'-PostgreSQL',
|
||||
'-SQL Server',
|
||||
'SQLite',
|
||||
'CockroachDB',
|
||||
'-CockroachDB',
|
||||
];
|
||||
|
||||
module.exports = process.env.CITEST
|
||||
|
@ -20,6 +20,11 @@ class Analyser extends DatabaseAnalyser {
|
||||
super(pool, driver, version);
|
||||
}
|
||||
|
||||
async _computeSingleObjectId() {
|
||||
const { pureName } = this.singleObjectFilter;
|
||||
this.singleObjectId = pureName;
|
||||
}
|
||||
|
||||
async _getFastSnapshot() {
|
||||
const objects = await this.driver.query(this.pool, "select * from sqlite_master where type='table' or type='view'");
|
||||
const indexcols = await this.driver.query(this.pool, indexcolsQuery);
|
||||
@ -48,7 +53,13 @@ class Analyser extends DatabaseAnalyser {
|
||||
}
|
||||
|
||||
async _runAnalysis() {
|
||||
const objects = await this.driver.query(this.pool, "select * from sqlite_master where type='table' or type='view'");
|
||||
const objects = await this.driver.query(
|
||||
this.pool,
|
||||
super.createQuery(
|
||||
"select * from sqlite_master where (type='table' or type='view') and name =OBJECT_ID_CONDITION",
|
||||
['tables', 'views']
|
||||
)
|
||||
);
|
||||
const tables = objects.rows.filter((x) => x.type == 'table');
|
||||
const views = objects.rows.filter((x) => x.type == 'view');
|
||||
// console.log('TABLES', tables);
|
||||
|
Loading…
Reference in New Issue
Block a user