diff --git a/src/Explorer/Tables/QueryBuilder/QueryBuilderViewModel.ts b/src/Explorer/Tables/QueryBuilder/QueryBuilderViewModel.ts index bd04e900e..3089042d0 100644 --- a/src/Explorer/Tables/QueryBuilder/QueryBuilderViewModel.ts +++ b/src/Explorer/Tables/QueryBuilder/QueryBuilderViewModel.ts @@ -257,43 +257,43 @@ export default class QueryBuilderViewModel { }); filterString = filterString.concat(` FROM ${tableToQuery}`); } - if (this.queryClauses.children.length === 0) { + if (queryTableRows === undefined || queryTableRows.length === 0) { return filterString; } filterString = filterString.concat(" WHERE"); var first = true; - var treeTraversal = (group: ClauseGroup): void => { - for (var i = 0; i < group.children.length; i++) { - var currentItem = group.children[i]; + // var treeTraversal = (group: ClauseGroup): void => { + for (var i = 0; i < queryTableRows.length; i++) { + var currentItem = queryTableRows[i]; - if (currentItem instanceof QueryClauseViewModel) { - var clause = currentItem; - let timeStampValue: string = this.timestampToSqlValue(clause); - var value = clause.value(); - if (!clause.isValue()) { - value = timeStampValue; - } - filterString = filterString.concat( - this.constructCqlClause( - first ? "" : clause.and_or(), - this.generateLeftParentheses(clause), - clause.field(), - clause.type(), - clause.operator(), - value, - this.generateRightParentheses(clause) - ) - ); - first = false; - } - - if (currentItem instanceof ClauseGroup) { - treeTraversal(currentItem); - } + // if (currentItem instanceof QueryClauseViewModel) { + // var clause = currentItem; + let timeStampValue: string = this.timestampToSqlValue(currentItem); + var value = currentItem.entityValue; + if (!currentItem.isValue) { + value = timeStampValue; } - }; + filterString = filterString.concat( + this.constructCqlClause( + first ? "" : currentItem.selectedOperation, + this.generateLeftParentheses(currentItem), + currentItem.selectedField, + currentItem.selectedEntityType, + currentItem.selectedOperator, + value, + this.generateRightParentheses(currentItem) + ) + ); + first = false; + // } - treeTraversal(this.queryClauses); + if (currentItem instanceof ClauseGroup) { + // treeTraversal(currentItem); + } + } + // }; + + // treeTraversal(this.queryClauses); return filterString.trim(); }; diff --git a/src/Explorer/Tables/QueryBuilder/QueryViewModel.tsx b/src/Explorer/Tables/QueryBuilder/QueryViewModel.tsx index 948286e6d..834dff4ac 100644 --- a/src/Explorer/Tables/QueryBuilder/QueryViewModel.tsx +++ b/src/Explorer/Tables/QueryBuilder/QueryViewModel.tsx @@ -167,6 +167,10 @@ export default class QueryViewModel { queryTableRows ); let filter = this.setFilter(queryTableRows); + console.log( + "🚀 ~ file: QueryViewModel.tsx ~ line 171 ~ QueryViewModel ~ //constructor ~ userContext.apiType", + userContext.apiType + ); if (filter && userContext.apiType !== "Cassandra") { filter = filter.replace(/"/g, "'"); } @@ -180,7 +184,9 @@ export default class QueryViewModel { this._tableEntityListViewModel.sqlQuery(this.setSqlFilter(queryTableRows)); this._tableEntityListViewModel.cqlQuery(filter); - return this._tableEntityListViewModel.sqlQuery(); + return userContext.apiType !== "Cassandra" + ? this._tableEntityListViewModel.sqlQuery() + : this._tableEntityListViewModel.cqlQuery(); // return this._tableEntityListViewModel.reloadTable(/*useSetting*/ false, /*resetHeaders*/ false); }; diff --git a/src/Explorer/Tabs/QueryTablesTab/QueryTableTabUtils.tsx b/src/Explorer/Tabs/QueryTablesTab/QueryTableTabUtils.tsx index b16423641..39c13f556 100644 --- a/src/Explorer/Tabs/QueryTablesTab/QueryTableTabUtils.tsx +++ b/src/Explorer/Tabs/QueryTablesTab/QueryTableTabUtils.tsx @@ -64,6 +64,8 @@ export interface IQueryTablesTabComponentStates { entities: Entities.ITableEntity[]; headers: string[]; isLoading: boolean; + queryErrorMessage: string; + hasQueryError: boolean; } export interface IQueryTableRowsType { diff --git a/src/Explorer/Tabs/QueryTablesTab/QueryTablesTabComponent.tsx b/src/Explorer/Tabs/QueryTablesTab/QueryTablesTabComponent.tsx index 607dfc63d..693bbc3a7 100644 --- a/src/Explorer/Tabs/QueryTablesTab/QueryTablesTabComponent.tsx +++ b/src/Explorer/Tabs/QueryTablesTab/QueryTablesTabComponent.tsx @@ -108,7 +108,12 @@ class QueryTablesTabComponent extends Component
- {this.state.queryViewModel.hasQueryError() && ( + {this.state.hasQueryError && (
- + + {this.state.queryErrorMessage} +
)}
@@ -751,9 +776,7 @@ class QueryTablesTabComponent extends Component