diff --git a/src/pages/Correlation/components/CorrelationJoinSection.tsx b/src/pages/Correlation/components/CorrelationJoinSection.tsx index 3300932b..db11692f 100644 --- a/src/pages/Correlation/components/CorrelationJoinSection.tsx +++ b/src/pages/Correlation/components/CorrelationJoinSection.tsx @@ -85,8 +85,6 @@ export const CorrelationJoinSection: FC = ({ const handleFieldChange = (fieldValue: string | null, isFirstField: boolean) => { if (isFirstField) { const fieldType = fieldValue && fields[streamNames[0]]?.fieldTypeMap[fieldValue]; - console.log(fieldType); - setSelect1Value({ value: fieldValue, dataType: fieldType }); } else { setSelect2Value({ value: fieldValue }); diff --git a/src/pages/Correlation/components/SaveCorrelationModal.tsx b/src/pages/Correlation/components/SaveCorrelationModal.tsx index 109b9f46..06819d80 100644 --- a/src/pages/Correlation/components/SaveCorrelationModal.tsx +++ b/src/pages/Correlation/components/SaveCorrelationModal.tsx @@ -43,7 +43,7 @@ const SaveCorrelationModal = () => { const streamNames = Object.keys(fields); - const joins = correlationCondition.split('='); + const joins = correlationCondition.split('=').map((part) => part.replace(/"/g, '').trim()); useEffect(() => { const timeRangeOptions = makeTimeRangeOptions({ selected: null, current: timeRange }); @@ -101,18 +101,16 @@ const SaveCorrelationModal = () => { tableName: streamNames[1], }, ], - joinConfig: { - joinConditions: [ - { - tableName: streamNames[0], - field: joins[0].split('.')[1].trim(), - }, - { - tableName: streamNames[1], - field: joins[1].split('.')[1].trim(), - }, - ], - }, + joinConditions: [ + { + tableName: streamNames[0], + field: joins[0].split('.').slice(1).join('.').trim(), + }, + { + tableName: streamNames[1], + field: joins[1].split('.').slice(1).join('.').trim(), + }, + ], filter: null, startTime: formObject?.selectedTimeRangeOption.time_filter?.from, endTime: formObject?.selectedTimeRangeOption.time_filter?.to, @@ -141,11 +139,11 @@ const SaveCorrelationModal = () => { joinConditions: [ { tableName: streamNames[0], - field: joins[0].split('.')[1].trim(), + field: joins[0].split('.').slice(1).join('.').trim(), }, { tableName: streamNames[1], - field: joins[1].split('.')[1].trim(), + field: joins[1].split('.').slice(1).join('.').trim(), }, ], }, diff --git a/src/pages/Correlation/index.tsx b/src/pages/Correlation/index.tsx index 20879487..f1a6ab61 100644 --- a/src/pages/Correlation/index.tsx +++ b/src/pages/Correlation/index.tsx @@ -17,7 +17,6 @@ import { CorrelationToolbar } from './components/CorrelationToolbar'; import CorrleationJSONView from './Views/CorrelationJSONView'; import SaveCorrelationModal from './components/SaveCorrelationModal'; import SavedCorrelationsModal from './components/SavedCorrelationsModal'; -import _ from 'lodash'; import classes from './styles/Correlation.module.css'; import dayjs from 'dayjs'; import { useCorrelationFetchCount } from './hooks/useCorrelationFetchCount'; @@ -197,7 +196,7 @@ const Correlation = () => { const updateCorrelationCondition = () => { if (select1Value.value && select2Value.value) { - const condition = `"${streamNames[0]}".${select1Value.value} = "${streamNames[1]}".${select2Value.value}`; + const condition = `"${streamNames[0]}"."${select1Value.value}" = "${streamNames[1]}"."${select2Value.value}"`; setAppStore((store) => setStreamForCorrelation(store, 'correlatedStream')); setCorrelationData((store) => setCorrelationCondition(store, condition)); } diff --git a/src/utils/queryBuilder.ts b/src/utils/queryBuilder.ts index 1c1685ae..41afcec2 100644 --- a/src/utils/queryBuilder.ts +++ b/src/utils/queryBuilder.ts @@ -133,7 +133,9 @@ export class CorrelationQueryBuilder { /* eslint-disable no-useless-escape */ `select ${this.selectedFields .map((field) => { - const [streamName, fieldName] = field.split('.'); + const parts = field.split('.'); + const streamName = parts.shift(); + const fieldName = parts.join('.'); return `"${streamName}"."${fieldName}" as "${field}"`; }) .join(', ')} from \"${this.streamNames[0]}\" join \"${this.streamNames[1]}\" on ${