fix(kingbase): use connection identifier quotes in MySQL mode
This commit is contained in:
10 files changed
+284
-32
No files matched your search
@@ -855,6 +855,7 @@ async function loadServerFilterValues(columnIndex: number, searchValue: string)
|
||||
const columnInfo = tableMeta.columns.find((column) => column.name === columnName);
|
||||
const sql = await buildDataGridColumnDistinctValuesSql({
|
||||
databaseType: resolvedDatabaseType.value,
|
||||
identifierQuote: connectionStore.connectionIdentifierQuote?.(props.connectionId),
|
||||
catalog: tableMeta.catalog,
|
||||
database: tableMeta.database,
|
||||
schema: tableMeta.schema,
|
||||
@@ -1179,6 +1180,7 @@ async function applyServerColumnFilter(draft: LocalColumnFilterDraft) {
|
||||
}
|
||||
const condition = await buildColumnValuesFilterCondition({
|
||||
databaseType: resolvedDatabaseType.value,
|
||||
identifierQuote: connectionStore.connectionIdentifierQuote?.(props.connectionId),
|
||||
columnName,
|
||||
columnInfo: props.tableMeta?.columns.find((column) => column.name === columnName),
|
||||
values,
|
||||
@@ -1209,6 +1211,7 @@ async function applyTypedLocalFilterValue() {
|
||||
const columnInfo = props.tableMeta?.columns.find((column) => column.name === columnName);
|
||||
const condition = await buildColumnValueFilterCondition({
|
||||
databaseType: resolvedDatabaseType.value,
|
||||
identifierQuote: connectionStore.connectionIdentifierQuote?.(props.connectionId),
|
||||
columnName,
|
||||
columnInfo,
|
||||
rawValue: localFilterTypedValue.value,
|
||||
@@ -1301,6 +1304,7 @@ async function buildStructuredWhereFromRules(rules: StructuredFilterRule[]): Pro
|
||||
condition:
|
||||
(await buildDataGridContextFilterCondition({
|
||||
databaseType: resolvedDatabaseType.value,
|
||||
identifierQuote: connectionStore.connectionIdentifierQuote?.(props.connectionId),
|
||||
columnName: rule.columnName,
|
||||
columnInfo,
|
||||
mode: rule.mode,
|
||||
@@ -3682,6 +3686,7 @@ async function prefetchDetailSqlCondition() {
|
||||
try {
|
||||
const condition = await buildDataGridContextFilterCondition({
|
||||
databaseType: resolvedDatabaseType.value,
|
||||
identifierQuote: connectionStore.connectionIdentifierQuote?.(props.connectionId),
|
||||
columnName: detail.column,
|
||||
columnInfo: props.tableMeta?.columns.find((column) => column.name === detail.column),
|
||||
mode: "equals",
|
||||
@@ -3977,6 +3982,7 @@ async function contextFilterCondition(mode: FilterMode): Promise<string | null>
|
||||
return (
|
||||
(await buildDataGridContextFilterCondition({
|
||||
databaseType: resolvedDatabaseType.value,
|
||||
identifierQuote: connectionStore.connectionIdentifierQuote?.(props.connectionId),
|
||||
columnName: contextColumn.value,
|
||||
columnInfo: props.tableMeta?.columns.find((column) => column.name === contextColumn.value),
|
||||
mode,
|
||||
|
||||
@@ -1088,6 +1088,7 @@ export function useDataGridEditor(options: UseDataGridEditorOptions) {
|
||||
if (!tableMeta.value) return null;
|
||||
return {
|
||||
databaseType: resolvedDatabaseType.value,
|
||||
identifierQuote: connectionStore.connectionIdentifierQuote?.(connectionId.value),
|
||||
tableMeta: tableMeta.value,
|
||||
columns: result.value.columns,
|
||||
sourceColumns: sourceColumns.value,
|
||||
|
||||
@@ -3,9 +3,10 @@ import type { DataGridColumnInfo, DataGridContextFilterMode, GridCellValue } fro
|
||||
import { buildDataGridColumnValueFilterCondition, buildDataGridColumnValuesFilterCondition } from "@/lib/dataGrid/dataGridSql";
|
||||
import { normalizeWhereInput } from "@/lib/table/tableSelectSql";
|
||||
|
||||
export function buildColumnValueFilterCondition(options: { databaseType?: DatabaseType; columnName: string; columnInfo?: Pick<ColumnInfo, "data_type">; rawValue: string }): Promise<string | undefined> {
|
||||
export function buildColumnValueFilterCondition(options: { databaseType?: DatabaseType; identifierQuote?: string; columnName: string; columnInfo?: Pick<ColumnInfo, "data_type">; rawValue: string }): Promise<string | undefined> {
|
||||
return buildDataGridColumnValueFilterCondition({
|
||||
databaseType: options.databaseType,
|
||||
identifierQuote: options.identifierQuote,
|
||||
columnName: options.columnName,
|
||||
columnInfo: options.columnInfo
|
||||
? {
|
||||
@@ -18,9 +19,10 @@ export function buildColumnValueFilterCondition(options: { databaseType?: Databa
|
||||
});
|
||||
}
|
||||
|
||||
export function buildColumnValuesFilterCondition(options: { databaseType?: DatabaseType; columnName: string; columnInfo?: Pick<ColumnInfo, "data_type">; values: GridCellValue[] }): Promise<string | undefined> {
|
||||
export function buildColumnValuesFilterCondition(options: { databaseType?: DatabaseType; identifierQuote?: string; columnName: string; columnInfo?: Pick<ColumnInfo, "data_type">; values: GridCellValue[] }): Promise<string | undefined> {
|
||||
return buildDataGridColumnValuesFilterCondition({
|
||||
databaseType: options.databaseType,
|
||||
identifierQuote: options.identifierQuote,
|
||||
columnName: options.columnName,
|
||||
columnInfo: options.columnInfo
|
||||
? {
|
||||
|
||||
@@ -23,6 +23,7 @@ export interface DataGridColumnInfo {
|
||||
|
||||
export interface DataGridSaveStatementOptions {
|
||||
databaseType?: DatabaseType;
|
||||
identifierQuote?: string;
|
||||
tableMeta: DataGridTableMeta;
|
||||
columns: string[];
|
||||
sourceColumns?: Array<string | undefined>;
|
||||
@@ -57,6 +58,7 @@ export type DataGridContextFilterMode = "equals" | "not-equals" | "is-null" | "i
|
||||
|
||||
export interface DataGridContextFilterConditionOptions {
|
||||
databaseType?: DatabaseType;
|
||||
identifierQuote?: string;
|
||||
columnName: string;
|
||||
mode: DataGridContextFilterMode;
|
||||
value: GridCellValue;
|
||||
@@ -67,6 +69,7 @@ export interface DataGridContextFilterConditionOptions {
|
||||
|
||||
export interface DataGridColumnValueFilterConditionOptions {
|
||||
databaseType?: DatabaseType;
|
||||
identifierQuote?: string;
|
||||
columnName: string;
|
||||
columnInfo?: DataGridColumnInfo;
|
||||
rawValue: string;
|
||||
@@ -74,6 +77,7 @@ export interface DataGridColumnValueFilterConditionOptions {
|
||||
|
||||
export interface DataGridColumnValuesFilterConditionOptions {
|
||||
databaseType?: DatabaseType;
|
||||
identifierQuote?: string;
|
||||
columnName: string;
|
||||
columnInfo?: DataGridColumnInfo;
|
||||
values: GridCellValue[];
|
||||
@@ -81,6 +85,7 @@ export interface DataGridColumnValuesFilterConditionOptions {
|
||||
|
||||
export interface DataGridColumnDistinctValuesSqlOptions {
|
||||
databaseType?: DatabaseType;
|
||||
identifierQuote?: string;
|
||||
catalog?: string;
|
||||
database?: string;
|
||||
schema?: string;
|
||||
|
||||
Reference in new issue
Block a user