diff --git a/src/dialogs/common/import-database/instructions-section/instructions/smart-query-instructions.tsx b/src/dialogs/common/import-database/instructions-section/instructions/smart-query-instructions.tsx index a49e7319..52ea1b34 100644 --- a/src/dialogs/common/import-database/instructions-section/instructions/smart-query-instructions.tsx +++ b/src/dialogs/common/import-database/instructions-section/instructions/smart-query-instructions.tsx @@ -6,7 +6,7 @@ import { SSMSInfo } from './ssms-info/ssms-info'; import { useTranslation } from 'react-i18next'; import { Tabs, TabsList, TabsTrigger } from '@/components/tabs/tabs'; import type { DatabaseClient } from '@/lib/domain/database-clients'; -import { minimizeQuery } from '@/lib/data/import-metadata/scripts/minimize-script'; +import { minimizeQuery } from '@/lib/data/import-metadata/utils'; import { databaseClientToLabelMap, databaseTypeToClientsMap, diff --git a/src/lib/data/import-metadata/scripts/cockroachdb-script.ts b/src/lib/data/import-metadata/scripts/cockroachdb-script.ts index 9c5cd97f..55135376 100644 --- a/src/lib/data/import-metadata/scripts/cockroachdb-script.ts +++ b/src/lib/data/import-metadata/scripts/cockroachdb-script.ts @@ -176,8 +176,7 @@ cols AS ( ), views AS ( SELECT array_to_string(array_agg(CONCAT('{"schema":"', views.schemaname::TEXT, '","view_name":"', viewname::TEXT, - '","view_definition":"', encode(convert_to(REPLACE(definition::TEXT, '"', '\\"'), 'UTF8'), 'base64'), - '"}')), + '","view_definition":""}')), ',') AS views_metadata FROM pg_views views WHERE views.schemaname NOT IN ('information_schema', 'pg_catalog')${cockroachdbViewsFilter} diff --git a/src/lib/data/import-metadata/scripts/maria-script.ts b/src/lib/data/import-metadata/scripts/maria-script.ts index 29ea7023..c928f8bf 100644 --- a/src/lib/data/import-metadata/scripts/maria-script.ts +++ b/src/lib/data/import-metadata/scripts/maria-script.ts @@ -123,7 +123,7 @@ export const mariaDBQuery = `WITH fk_info as ( AND table_schema = DATABASE() AND (0x00) IN (@views:=CONCAT_WS(',', @views, CONCAT('{', '"schema":"', \`TABLE_SCHEMA\`, '",', '"view_name":"', \`TABLE_NAME\`, '",', - '"view_definition":"', REPLACE(REPLACE(TO_BASE64(VIEW_DEFINITION), ' ', ''), '\n', ''), '"}'))) ) ) + '"view_definition":""}'))) ) ) ) (SELECT CAST(CONCAT('{"fk_info": [',IFNULL(@fk_info,''), '], "pk_info": [', IFNULL(@pk_info, ''), diff --git a/src/lib/data/import-metadata/scripts/minimize-script.ts b/src/lib/data/import-metadata/scripts/minimize-script.ts deleted file mode 100644 index c6b62219..00000000 --- a/src/lib/data/import-metadata/scripts/minimize-script.ts +++ /dev/null @@ -1,9 +0,0 @@ -export const minimizeQuery = (query: string) => { - if (!query) return ''; - - // Split into lines, trim leading spaces from each line, then rejoin - return query - .split('\n') - .map((line) => line.replace(/^\s+/, '')) // Remove only leading spaces - .join('\n'); -}; diff --git a/src/lib/data/import-metadata/scripts/mysql-script.ts b/src/lib/data/import-metadata/scripts/mysql-script.ts index 034f3c7d..57d0b908 100644 --- a/src/lib/data/import-metadata/scripts/mysql-script.ts +++ b/src/lib/data/import-metadata/scripts/mysql-script.ts @@ -133,7 +133,7 @@ export const getMySQLQuery = ( AND table_schema = DATABASE() AND (0x00) IN (@views:=CONCAT_WS(',', @views, CONCAT('{', '"schema":"', \`TABLE_SCHEMA\`, '",', '"view_name":"', \`TABLE_NAME\`, '",', - '"view_definition":"', REPLACE(REPLACE(TO_BASE64(VIEW_DEFINITION), ' ', ''), '\n', ''), '"}'))) ) ) + '"view_definition":""}'))) ) ) ) (SELECT CAST(CONCAT('{"fk_info": [',IFNULL(@fk_info,''), '], "pk_info": [', IFNULL(@pk_info, ''), @@ -286,7 +286,7 @@ export const getMySQLQuery = ( ) FROM ( SELECT \`TABLE_SCHEMA\`, \`TABLE_NAME\` AS view_name, - REPLACE(REPLACE(TO_BASE64(\`VIEW_DEFINITION\`), ' ', ''), '\n', '') AS view_definition + null AS view_definition FROM information_schema.views vws WHERE vws.table_schema = DATABASE() ) AS vws), ''), diff --git a/src/lib/data/import-metadata/scripts/postgres-script.ts b/src/lib/data/import-metadata/scripts/postgres-script.ts index de1665f5..7f05b737 100644 --- a/src/lib/data/import-metadata/scripts/postgres-script.ts +++ b/src/lib/data/import-metadata/scripts/postgres-script.ts @@ -245,8 +245,7 @@ cols AS ( ), views AS ( SELECT array_to_string(array_agg(CONCAT('{"schema":"', views.schemaname, '","view_name":"', viewname, - '","view_definition":"', encode(convert_to(REPLACE(definition, '"', '\\"'), 'UTF8'), 'base64'), - '"}')), + '","view_definition":""}')), ',') AS views_metadata FROM pg_views views WHERE views.schemaname NOT IN ('information_schema', 'pg_catalog') ${ diff --git a/src/lib/data/import-metadata/scripts/sqlserver-script.ts b/src/lib/data/import-metadata/scripts/sqlserver-script.ts index d00c24fa..fe26e615 100644 --- a/src/lib/data/import-metadata/scripts/sqlserver-script.ts +++ b/src/lib/data/import-metadata/scripts/sqlserver-script.ts @@ -166,15 +166,7 @@ views AS ( JSON_QUERY(N'{ "schema": "' + STRING_ESCAPE(COALESCE(REPLACE(s.name, '"', ''), ''), 'json') + '", "view_name": "' + STRING_ESCAPE(COALESCE(REPLACE(v.name, '"', ''), ''), 'json') + - '", "view_definition": "' + - STRING_ESCAPE( - CAST( - '' AS XML - ).value( - 'xs:base64Binary(sql:column("DefinitionBinary"))', - 'VARCHAR(MAX)' - ), 'json') + - N'"}') COLLATE DATABASE_DEFAULT + '", "view_definition": ""}') COLLATE DATABASE_DEFAULT ), N',' ) + N']' AS all_views_json FROM sys.views v @@ -385,12 +377,7 @@ views AS ( N'{ "schema": "' + STRING_ESCAPE(COALESCE(REPLACE(s.name, '"', ''), ''), 'json') + '", "view_name": "' + STRING_ESCAPE(COALESCE(REPLACE(v.name, '"', ''), ''), 'json') + - '", "view_definition": "' + - CAST( - ( - SELECT CAST(OBJECT_DEFINITION(v.object_id) AS VARBINARY(MAX)) FOR XML PATH('') - ) AS NVARCHAR(MAX) - ) + N'"}' + '", "view_definition": ""}' ) ) FROM diff --git a/src/lib/data/import-metadata/utils.ts b/src/lib/data/import-metadata/utils.ts index b8e103ff..009ab71a 100644 --- a/src/lib/data/import-metadata/utils.ts +++ b/src/lib/data/import-metadata/utils.ts @@ -78,3 +78,13 @@ export const isStringMetadataJson = (metadataJsonString: string): boolean => { return result; }; + +export const minimizeQuery = (query: string) => { + if (!query) return ''; + + // Split into lines, trim leading spaces from each line, then rejoin + return query + .split('\n') + .map((line) => line.replace(/^\s+/, '')) // Remove only leading spaces + .join('\n'); +};