Files
nocobase/packages/plugins/@nocobase/plugin-data-visualization/src/server/query-parser/index.ts
T
YANG QIA b36586f324 fix(data-vi): fix issues when using external oracle data source for data visualization (#5436)
* fix(data-vi): fix issues when using external oracle data source for data visualization

* fix: bug

* fix: bug

* fix: oracle group by

* fix: oracle formatter
2024-10-23 10:18:58 +08:00

33 lines
1.0 KiB
TypeScript

/**
* This file is part of the NocoBase (R) project.
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
* Authors: NocoBase Team.
*
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
* For more information, please refer to: https://www.nocobase.com/agreement.
*/
import { Database } from '@nocobase/database';
import { SQLiteQueryParser } from './sqlite-query-parser';
import { PostgresQueryParser } from './postgres-query-parser';
import { MySQLQueryParser } from './mysql-query-parser';
import { QueryParser } from './query-parser';
import { OracleQueryParser } from './oracle-query-parser';
export const createQueryParser = (db: Database) => {
const dialect = db.sequelize.getDialect();
switch (dialect) {
case 'sqlite':
return new SQLiteQueryParser(db);
case 'postgres':
return new PostgresQueryParser(db);
case 'mysql':
case 'mariadb':
return new MySQLQueryParser(db);
case 'oracle':
return new OracleQueryParser(db);
default:
return new QueryParser(db);
}
};