From 95c07c77e6f4dff48fefcc39936b72f9cc253bcc Mon Sep 17 00:00:00 2001 From: yevhenii-moroziuk Date: Wed, 24 Jun 2026 14:48:39 +0300 Subject: [PATCH 1/4] HCK-16663: Ignore schema for temp tables and views --- forward_engineering/ddlProvider/ddlProvider.js | 2 +- forward_engineering/helpers/tableHelper.js | 5 ++++- forward_engineering/helpers/viewHelper.js | 5 +++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/forward_engineering/ddlProvider/ddlProvider.js b/forward_engineering/ddlProvider/ddlProvider.js index 3ac74430..1d2fafc2 100644 --- a/forward_engineering/ddlProvider/ddlProvider.js +++ b/forward_engineering/ddlProvider/ddlProvider.js @@ -31,7 +31,7 @@ module.exports = app => { const isTemporary = !isMaterialized && schema.viewTemporary; const isGlobal = isTemporary && schema.viewGlobal; const orReplace = !ifNotExists && schema.viewOrReplace; - const name = bucketName ? `${bucketName}.${viewName}` : `${viewName}`; + const name = bucketName && !isTemporary ? `${bucketName}.${viewName}` : `${viewName}`; const tableProperties = schema.tableProperties && Array.isArray(schema.tableProperties) ? viewHelper.filterRedundantProperties(schema.tableProperties, ['transient_lastDdlTime']) diff --git a/forward_engineering/helpers/tableHelper.js b/forward_engineering/helpers/tableHelper.js index 0617c167..da4eb214 100644 --- a/forward_engineering/helpers/tableHelper.js +++ b/forward_engineering/helpers/tableHelper.js @@ -478,9 +478,12 @@ const getTableStatement = const isTableActivated = tableData.isActivated && (typeof container.isActivated === 'boolean' ? container.isActivated : true); const tableName = replaceSpaceWithUnderscore(prepareName(getName(tableData))); - const fullTableName = isCalledFromAlterScript + let fullTableName = isCalledFromAlterScript ? generateFullEntityName({ entity: { role: tableData }, dbVersion }) : getFullEntityName(dbName, tableName); + if (tableData.temporaryTable) { + fullTableName = tableName; + } const { columns, deactivatedColumnNames } = getColumns(entityJsonSchema, definitions, dbVersion); const keyNames = keyHelper.getKeyNames(tableData, entityJsonSchema, definitions); const tableColumns = getTableColumnsStatement(columns, tableData.using, keyNames.compositePartitionKey); diff --git a/forward_engineering/helpers/viewHelper.js b/forward_engineering/helpers/viewHelper.js index 8e98d5e0..fb1db8cc 100644 --- a/forward_engineering/helpers/viewHelper.js +++ b/forward_engineering/helpers/viewHelper.js @@ -30,7 +30,7 @@ const getColumnNames = (collectionRefsDefinitionsMap, columns) => { const collectionName = collection.code || collection.collectionName; const db = _.first(itemData.bucket) || {}; const dbName = db.code || db.name; - const fullColumnName = `${dbName ? prepareName(dbName) + '.' : ''}${prepareName(collectionName)}.${prepareName(itemData.name)} as ${prepareName(name)}`; + const fullColumnName = `${dbName && !collection.temporaryTable ? prepareName(dbName) + '.' : ''}${prepareName(collectionName)}.${prepareName(itemData.name)} as ${prepareName(name)}`; return commentDeactivatedStatement(fullColumnName, definition.isActivated); }), ).filter(_.identity); @@ -49,7 +49,8 @@ const getFromStatement = (collectionRefsDefinitionsMap, columns) => { const bucket = _.first(source?.bucket) || {}; const collectionName = prepareName(collection.collectionName || collection.code); const bucketName = prepareName(bucket.name || bucket.code || ''); - const fullCollectionName = bucketName ? `${bucketName}.${collectionName}` : `${collectionName}`; + const fullCollectionName = + bucketName && !collection.temporaryTable ? `${bucketName}.${collectionName}` : `${collectionName}`; return fullCollectionName; }) From 473bf90c5954dae2388bb12490bb7e59e0c55070 Mon Sep 17 00:00:00 2001 From: yevhenii-moroziuk Date: Wed, 24 Jun 2026 19:23:35 +0300 Subject: [PATCH 2/4] HCK-16663: Improve function name --- .../ddlProvider/ddlProvider.js | 13 ++++++++++-- forward_engineering/helpers/tableHelper.js | 11 ++++++---- forward_engineering/helpers/viewHelper.js | 20 +++++++++++++++---- forward_engineering/utils/general.js | 7 +++++++ 4 files changed, 41 insertions(+), 10 deletions(-) diff --git a/forward_engineering/ddlProvider/ddlProvider.js b/forward_engineering/ddlProvider/ddlProvider.js index 1d2fafc2..be20f851 100644 --- a/forward_engineering/ddlProvider/ddlProvider.js +++ b/forward_engineering/ddlProvider/ddlProvider.js @@ -1,6 +1,11 @@ const _ = require('lodash'); const templates = require('./ddlTemplates'); -const { getFullEntityName, replaceSpaceWithUnderscore, wrapInBrackets } = require('../utils/general'); +const { + getFullEntityName, + getEntityNameWithTemporaryFlag, + replaceSpaceWithUnderscore, + wrapInBrackets, +} = require('../utils/general'); const { getViewTagsStatement } = require('../helpers/unityTagsHelper'); const { getTablePropertiesClause, checkTablePropertiesDefined } = require('../helpers/tableHelper'); const viewHelper = require('../helpers/viewHelper'); @@ -31,7 +36,11 @@ module.exports = app => { const isTemporary = !isMaterialized && schema.viewTemporary; const isGlobal = isTemporary && schema.viewGlobal; const orReplace = !ifNotExists && schema.viewOrReplace; - const name = bucketName && !isTemporary ? `${bucketName}.${viewName}` : `${viewName}`; + const name = getEntityNameWithTemporaryFlag({ + containerName: bucketName, + entityName: viewName, + isTemporary, + }); const tableProperties = schema.tableProperties && Array.isArray(schema.tableProperties) ? viewHelper.filterRedundantProperties(schema.tableProperties, ['transient_lastDdlTime']) diff --git a/forward_engineering/helpers/tableHelper.js b/forward_engineering/helpers/tableHelper.js index da4eb214..66ca1971 100644 --- a/forward_engineering/helpers/tableHelper.js +++ b/forward_engineering/helpers/tableHelper.js @@ -8,6 +8,7 @@ const { encodeStringLiteral, getDifferentItems, getFullEntityName, + getEntityNameWithTemporaryFlag, getDBVersionNumber, generateFullEntityName, executeUnlessStreaming, @@ -480,10 +481,12 @@ const getTableStatement = const tableName = replaceSpaceWithUnderscore(prepareName(getName(tableData))); let fullTableName = isCalledFromAlterScript ? generateFullEntityName({ entity: { role: tableData }, dbVersion }) - : getFullEntityName(dbName, tableName); - if (tableData.temporaryTable) { - fullTableName = tableName; - } + : getEntityNameWithTemporaryFlag({ + containerName: dbName, + entityName: tableName, + isTemporary: tableData.temporaryTable, + }); + const { columns, deactivatedColumnNames } = getColumns(entityJsonSchema, definitions, dbVersion); const keyNames = keyHelper.getKeyNames(tableData, entityJsonSchema, definitions); const tableColumns = getTableColumnsStatement(columns, tableData.using, keyNames.compositePartitionKey); diff --git a/forward_engineering/helpers/viewHelper.js b/forward_engineering/helpers/viewHelper.js index fb1db8cc..45cc6fff 100644 --- a/forward_engineering/helpers/viewHelper.js +++ b/forward_engineering/helpers/viewHelper.js @@ -8,7 +8,11 @@ const _ = require('lodash'); const { getKeyNames } = require('./keyHelper'); const { getColumns } = require('./columnHelper'); const { getPartitionKeyStatement, getPartitionsKeys, getClusteringKeys } = require('./tableHelper'); -const { encodeStringLiteral, commentDeactivatedStatement } = require('../utils/general'); +const { + encodeStringLiteral, + commentDeactivatedStatement, + getEntityNameWithTemporaryFlag, +} = require('../utils/general'); const { prepareName } = require('../../shared/general'); const getColumnNames = (collectionRefsDefinitionsMap, columns) => { @@ -30,7 +34,12 @@ const getColumnNames = (collectionRefsDefinitionsMap, columns) => { const collectionName = collection.code || collection.collectionName; const db = _.first(itemData.bucket) || {}; const dbName = db.code || db.name; - const fullColumnName = `${dbName && !collection.temporaryTable ? prepareName(dbName) + '.' : ''}${prepareName(collectionName)}.${prepareName(itemData.name)} as ${prepareName(name)}`; + const tablePrefix = getEntityNameWithTemporaryFlag({ + containerName: dbName, + entityName: collectionName, + isTemporary: collection.temporaryTable, + }); + const fullColumnName = `${tablePrefix}.${prepareName(itemData.name)} as ${prepareName(name)}`; return commentDeactivatedStatement(fullColumnName, definition.isActivated); }), ).filter(_.identity); @@ -49,8 +58,11 @@ const getFromStatement = (collectionRefsDefinitionsMap, columns) => { const bucket = _.first(source?.bucket) || {}; const collectionName = prepareName(collection.collectionName || collection.code); const bucketName = prepareName(bucket.name || bucket.code || ''); - const fullCollectionName = - bucketName && !collection.temporaryTable ? `${bucketName}.${collectionName}` : `${collectionName}`; + const fullCollectionName = getEntityNameWithTemporaryFlag({ + containerName: bucketName, + entityName: collectionName, + isTemporary: collection.temporaryTable, + }); return fullCollectionName; }) diff --git a/forward_engineering/utils/general.js b/forward_engineering/utils/general.js index 8f2d3e4b..56360fd4 100644 --- a/forward_engineering/utils/general.js +++ b/forward_engineering/utils/general.js @@ -190,6 +190,12 @@ const getEntityData = (object, properties = [], type = 'new') => const getFullEntityName = (dbName, entityName) => (dbName ? `${dbName}.${entityName}` : entityName); +/** + * Builds full entity name, omitting container/schema when isTemporary is true. + */ +const getEntityNameWithTemporaryFlag = ({ containerName, entityName, isTemporary = false }) => + containerName && !isTemporary ? `${containerName}.${entityName}` : entityName; + /** * @param bucketName {string} * @param tableName {string} @@ -347,6 +353,7 @@ module.exports = { wrapInParseJsonCall, getEntityData, getFullEntityName, + getEntityNameWithTemporaryFlag, generateFullEntityName, getEntityNameFromCollection, getEntityProperties, From da273f2779027686f5376e1725425b3c7c457bec Mon Sep 17 00:00:00 2001 From: yevhenii-moroziuk Date: Wed, 24 Jun 2026 19:28:45 +0300 Subject: [PATCH 3/4] HCK-16663: fix --- forward_engineering/helpers/tableHelper.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forward_engineering/helpers/tableHelper.js b/forward_engineering/helpers/tableHelper.js index 66ca1971..64e1af93 100644 --- a/forward_engineering/helpers/tableHelper.js +++ b/forward_engineering/helpers/tableHelper.js @@ -479,7 +479,7 @@ const getTableStatement = const isTableActivated = tableData.isActivated && (typeof container.isActivated === 'boolean' ? container.isActivated : true); const tableName = replaceSpaceWithUnderscore(prepareName(getName(tableData))); - let fullTableName = isCalledFromAlterScript + const fullTableName = isCalledFromAlterScript ? generateFullEntityName({ entity: { role: tableData }, dbVersion }) : getEntityNameWithTemporaryFlag({ containerName: dbName, From e3d5eca6f48eab4272286735d91577b98f100407 Mon Sep 17 00:00:00 2001 From: yevhenii-moroziuk Date: Thu, 25 Jun 2026 11:49:16 +0300 Subject: [PATCH 4/4] HCK-16663: Small fix --- forward_engineering/helpers/viewHelper.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/forward_engineering/helpers/viewHelper.js b/forward_engineering/helpers/viewHelper.js index 45cc6fff..05f464e4 100644 --- a/forward_engineering/helpers/viewHelper.js +++ b/forward_engineering/helpers/viewHelper.js @@ -35,8 +35,8 @@ const getColumnNames = (collectionRefsDefinitionsMap, columns) => { const db = _.first(itemData.bucket) || {}; const dbName = db.code || db.name; const tablePrefix = getEntityNameWithTemporaryFlag({ - containerName: dbName, - entityName: collectionName, + containerName: prepareName(dbName), + entityName: prepareName(collectionName), isTemporary: collection.temporaryTable, }); const fullColumnName = `${tablePrefix}.${prepareName(itemData.name)} as ${prepareName(name)}`;