Skip to content

Commit 7d01804

Browse files
committed
Add test to make sure the time clauses are combined with other clauses
1 parent 2dad35d commit 7d01804

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

influxdb-client/QueryBuilder.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@
245245

246246
% Append where clause
247247
function query = appendWhereTo(obj, query)
248-
clauses = [obj.Tags, {obj.Where, obj.Before, obj.After}];
248+
clauses = [obj.Tags, {obj.Before, obj.After, obj.Where}];
249249
ispresent = cellfun(@(x) ~isempty(x), clauses);
250250
condition = strjoin(clauses(ispresent), ' AND ');
251251
if ~isempty(condition)

tests/QueryBuilderTest.m

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,21 @@ function after_equals_clause(test)
231231
exp = 'SELECT * FROM weather WHERE time >= 1529933525520ms';
232232
test.verifyEqual(q.build(), exp);
233233
end
234+
235+
function before_and_after_are_combined_with_others(test)
236+
before = datetime(1529933581618 / 1000, 'ConvertFrom', 'posixtime');
237+
after = datetime(1529933525520 / 1000, 'ConvertFrom', 'posixtime');
238+
where = 'temperature > 24.3';
239+
q = QueryBuilder('weather') ...
240+
.tags('city', 'bcn', 'station', {'a1', 'b2'}) ...
241+
.before(before).after(after) ...
242+
.where(where);
243+
exp = ['SELECT * FROM weather WHERE' ...
244+
' "city"=''bcn'' AND ("station"=''a1'' OR "station"=''b2'')' ...
245+
' AND time < 1529933581618ms AND time > 1529933525520ms' ...
246+
' AND temperature > 24.3'];
247+
test.verifyEqual(q.build(), exp);
248+
end
234249
end
235250

236251
end

0 commit comments

Comments
 (0)