fix(hana): improve metadata fallback and SQLScript parameters

This commit is contained in:
LRcoding authored and GitHub committed 2026-07-08 17:25:34 +08:00
1 parent fd80464cb2
commit 430f097602
6 files changed
+57 -22

No files matched your search

@@ -11,6 +11,7 @@ import TruncatedTextTooltip from "@/components/ui/TruncatedTextTooltip.vue";
import { loadSqlParameterHistory, rememberSqlParameterValues } from "@/lib/sql/sqlParameterHistory";
import { substituteSqlParameters, type SqlParameterDescriptor, type SqlParameterInput, type SqlParameterSyntax, type SqlParameterValueKind } from "@/lib/sql/sqlParameters";
import { useSqlHighlighter } from "@/composables/useSqlHighlighter";
import type { DatabaseType } from "@/types/database";
const { t } = useI18n();
const { highlight } = useSqlHighlighter();
@@ -20,6 +21,7 @@ const open = defineModel<boolean>("open", { default: false });
const props = defineProps<{
sql: string;
parameters: SqlParameterDescriptor[];
databaseType?: DatabaseType;
}>();
const emit = defineEmits<{
@@ -41,7 +43,7 @@ const syntaxLabels: Record<SqlParameterSyntax, string> = {
sqlserver: "@name",
};
const resolvedSql = computed(() => substituteSqlParameters(props.sql, values.value));
const resolvedSql = computed(() => substituteSqlParameters(props.sql, values.value, { databaseType: props.databaseType }));
const highlightedSql = computed(() => highlight(resolvedSql.value));
watch(
@@ -22,6 +22,7 @@ import { useDialogSources } from "@/composables/useDialogSources";
import type { ConnectionDeepLinkDraft } from "@/lib/connection/connectionDeepLink";
import type { SqlParameterDescriptor } from "@/lib/sql/sqlParameters";
import type { ConfigTab } from "@/components/connection/ConnectionDialog.vue";
import type { DatabaseType } from "@/types/database";
const props = defineProps<{
showConnectionDialog: boolean;
@@ -33,6 +34,7 @@ const props = defineProps<{
showSqlParameterDialog: boolean;
sqlParameterSourceSql: string;
sqlParameterNames: SqlParameterDescriptor[];
sqlParameterDatabaseType?: DatabaseType;
}>();
const emit = defineEmits<{
@@ -133,7 +135,7 @@ watch(
@update:suppress-future-prompts="emit('update:suppressDangerConfirm', $event)"
@confirm="emit('dangerConfirm')"
/>
<SqlParameterDialog v-if="showSqlParameterDialog" :open="showSqlParameterDialog" :sql="sqlParameterSourceSql" :parameters="sqlParameterNames" @update:open="emit('update:showSqlParameterDialog', $event)" @execute="emit('sqlParametersConfirm', $event)" />
<SqlParameterDialog v-if="showSqlParameterDialog" :open="showSqlParameterDialog" :sql="sqlParameterSourceSql" :parameters="sqlParameterNames" :database-type="sqlParameterDatabaseType" @update:open="emit('update:showSqlParameterDialog', $event)" @execute="emit('sqlParametersConfirm', $event)" />
<DataTransferDialog v-model:open="dialogs.showTransferDialog.value" :prefill-connection-id="dialogs.transferPrefillConnectionId.value" :prefill-database="dialogs.transferPrefillDatabase.value" />
<SchemaDiffDialog v-if="dialogs.showSchemaDiffDialog.value" v-model:open="dialogs.showSchemaDiffDialog.value" :prefill-connection-id="dialogs.schemaDiffPrefillConnectionId.value" :prefill-database="dialogs.schemaDiffPrefillDatabase.value" :prefill-schema="dialogs.schemaDiffPrefillSchema.value" />
<DataCompareDialog