[Feat]:实现SQL变量替换 (#2597)

This commit is contained in:
miracle authored and GitHub committed 2026-07-06 13:21:45 +08:00
1 parent 987b0fd263
commit b118ca31ed
12 files changed
+306 -33

No files matched your search

@@ -11,7 +11,7 @@ import { classifySqlActivityKind } from "@/lib/history/historyActivityKind";
import { sqlMetadataRefreshTarget } from "@/lib/sql/sqlMetadataRefresh";
import { classifyRedisCommandSafety, firstRedisCommandToken } from "@/lib/redis/redisCommandSafety";
import { isSqlExecutionSnapshot, resolveExecutableSql, type SqlExecutionOverride, type SqlExecutionSnapshot } from "@/lib/sql/sqlExecutionTarget";
import { extractSqlParameters } from "@/lib/sql/sqlParameters";
import { extractSqlParameterDescriptors, type SqlParameterDescriptor } from "@/lib/sql/sqlParameters";
import type { ConnectionConfig, QueryTab } from "@/types/database";
const DANGER_RE = /^\s*(DROP|DELETE|TRUNCATE|ALTER|UPDATE|MERGE|REPLACE)\b/i;
@@ -60,7 +60,7 @@ export function useSqlExecution(deps: {
const explainMode = ref<"explain" | "autotrace">("explain");
const showSqlParameterDialog = ref(false);
const sqlParameterSourceSql = ref("");
const sqlParameterNames = ref<string[]>([]);
const sqlParameterNames = ref<SqlParameterDescriptor[]>([]);
async function resolvedExecutableSql(source?: SqlExecutionOverride): Promise<string> {
if (typeof source === "string") return source;
@@ -107,7 +107,7 @@ export function useSqlExecution(deps: {
}
function prepareSqlParameterDialog(sql: string): boolean {
const parameters = extractSqlParameters(sql);
const parameters = extractSqlParameterDescriptors(sql);
if (!parameters.length) return false;
sqlParameterSourceSql.value = sql;
sqlParameterNames.value = parameters;