feat: add views to firebird

This commit is contained in:
Pavel
2025-05-27 19:05:02 +02:00
parent 1568dfc183
commit 2f7b3455e5
4 changed files with 27 additions and 0 deletions

View File

@@ -25,6 +25,7 @@ class Analyser extends DatabaseAnalyser {
const functionParametersResults = await this.analyserQuery(sql.functionParameters, ['functions']);
const proceduresResults = await this.analyserQuery(sql.procedures, ['procedures']);
const procedureParametersResults = await this.analyserQuery(sql.procedureParameters, ['procedures']);
const viewsResults = await this.analyserQuery(sql.views, ['views']);
const columns = columnsResult.rows?.map(column => ({
...column,
@@ -87,7 +88,15 @@ class Analyser extends DatabaseAnalyser {
foreignKeys: DatabaseAnalyser.extractForeignKeys(table, foreignKeys),
})) ?? [];
const views =
viewsResults.rows?.map(view => ({
...view,
objectId: `views:${view.pureName}`,
columns: columns.filter(column => column.tableName === view.pureName),
})) ?? [];
return {
views,
tables,
triggers,
functions,

View File

@@ -8,10 +8,12 @@ const functions = require('./functions');
const functionParameters = require('./functionParameters');
const procedures = require('./procedures');
const procedureParameters = require('./procedureParameters');
const views = require('./views');
module.exports = {
version,
columns,
views,
tables,
triggers,
primaryKeys,

View File

@@ -6,6 +6,8 @@ FROM
RDB$RELATIONS
WHERE
RDB$SYSTEM_FLAG = 0 -- only user-defined tables
AND
RDB$RELATION_TYPE = 0 -- only tables (not views, etc.)
AND
('tables:' || TRIM(RDB$RELATION_NAME)) =OBJECT_ID_CONDITION
ORDER BY

View File

@@ -0,0 +1,14 @@
module.exports = `SELECT
TRIM(RDB$RELATION_NAME) AS "pureName",
RDB$DESCRIPTION AS "objectComment",
RDB$FORMAT AS "objectTypeField"
FROM
RDB$RELATIONS
WHERE
RDB$SYSTEM_FLAG = 0 -- only user-defined tables
AND
RDB$RELATION_TYPE = 1 -- only views (not tables, etc.)
AND
('tables:' || TRIM(RDB$RELATION_NAME)) =OBJECT_ID_CONDITION
ORDER BY
"pureName";`;