Skip to content

Commit e5fcf35

Browse files
authored
Merge pull request #453 from go-jet/cdb-test-fix
CockroachDB test fix
2 parents 00b8155 + de3e912 commit e5fcf35

File tree

2 files changed

+53
-43
lines changed

2 files changed

+53
-43
lines changed

.circleci/config.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,13 +140,20 @@ jobs:
140140

141141
- run:
142142
name: Running tests
143-
command: gotestsum --junitfile $TEST_RESULTS/report.xml --format testname -- -coverprofile=cover.out -covermode=atomic -coverpkg=github.com/go-jet/jet/v2/postgres/...,github.com/go-jet/jet/v2/mysql/...,github.com/go-jet/jet/v2/sqlite/...,github.com/go-jet/jet/v2/qrm/...,github.com/go-jet/jet/v2/generator/...,github.com/go-jet/jet/v2/internal/...,github.com/go-jet/jet/v2/stmtcache/... ./...
143+
command: gotestsum --junitfile $TEST_RESULTS/report.xml --format testname -- -tags postgres -coverprofile=cover.out -covermode=atomic -coverpkg=github.com/go-jet/jet/v2/postgres/...,github.com/go-jet/jet/v2/mysql/...,github.com/go-jet/jet/v2/sqlite/...,github.com/go-jet/jet/v2/qrm/...,github.com/go-jet/jet/v2/generator/...,github.com/go-jet/jet/v2/internal/...,github.com/go-jet/jet/v2/stmtcache/... ./...
144144

145145
- run:
146146
name: Running tests with statement caching enabled
147-
command: JET_TESTS_WITH_STMT_CACHE=true go test -v ./tests/...
147+
command: JET_TESTS_WITH_STMT_CACHE=true go test -tags postgres -v ./tests/...
148148

149149
# run mariaDB and cockroachdb tests. No need to collect coverage, because coverage is already included with mysql and postgres tests
150+
- run:
151+
name: Jet generate mariadb and cockroachdb
152+
command: |
153+
cd tests
154+
make jet-gen-mariadb
155+
make jet-gen-cockroach
156+
150157
- run: MY_SQL_SOURCE=MariaDB go test -v ./tests/mysql/
151158
- run: PG_SOURCE=COCKROACH_DB go test -v ./tests/postgres/
152159

tests/postgres/range_test.go

Lines changed: 44 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
//go:build postgres
2+
// +build postgres
3+
14
package postgres
25

36
import (
@@ -12,7 +15,7 @@ import (
1215

1316
. "github.com/go-jet/jet/v2/postgres"
1417
"github.com/go-jet/jet/v2/tests/.gentestdata/jetdb/test_sample/model"
15-
. "github.com/go-jet/jet/v2/tests/.gentestdata/jetdb/test_sample/table"
18+
"github.com/go-jet/jet/v2/tests/.gentestdata/jetdb/test_sample/table"
1619
)
1720

1821
func TestRangeTableSelect(t *testing.T) {
@@ -32,40 +35,40 @@ func TestRangeTableSelect(t *testing.T) {
3235
)
3336

3437
query := SELECT(
35-
SampleRanges.AllColumns,
36-
37-
SampleRanges.Int4Range.EQ(SampleRanges.Int4Range).AS("sample.int4eq"),
38-
SampleRanges.Int8Range.EQ(int8Range).AS("sample.int8eq"),
39-
SampleRanges.Int4Range.NOT_EQ(int4Range).AS("sample.int4neq"),
40-
SampleRanges.NumRange.LT(numRange).IS_TRUE().AS("sample.num_lt"),
41-
SampleRanges.DateRange.LT_EQ(dateRange).IS_FALSE().AS("sample.date_lteq"),
42-
SampleRanges.TimestampRange.GT(tsRange).AS("sample.ts_gt"),
43-
SampleRanges.TimestampzRange.GT_EQ(tstzRange).AS("sample.tstz_gteq"),
44-
SampleRanges.Int4Range.CONTAINS(Int32(22)).AS("sample.int4cont"),
45-
SampleRanges.Int8Range.CONTAINS(Int64(75364)).AS("sample.int8cont"),
46-
SampleRanges.Int8Range.CONTAINS_RANGE(int8Range).AS("sample.int8cont_range"),
47-
SampleRanges.NumRange.OVERLAP(numRange).AS("sample.num_overlap"),
48-
SampleRanges.DateRange.UNION(dateRange).AS("sample.date_union"),
49-
SampleRanges.TimestampRange.INTERSECTION(tsRange).AS("sample.ts_ints"),
50-
SampleRanges.TimestampzRange.DIFFERENCE(tstzRange).AS("sample.tstz_diff"),
51-
SampleRanges.Int4Range.UPPER_BOUND().ADD(Int(5)).AS("sample.int4_upper"),
52-
SampleRanges.Int8Range.LOWER_BOUND().SUB(Int(12)).AS("sample.int8_lower"),
53-
LOWER_BOUND[DateExpression](SampleRanges.DateRange),
54-
UPPER_BOUND[NumericExpression](SampleRanges.NumRange).AS("sample.num_upper"),
55-
SampleRanges.TimestampRange.UPPER_BOUND(),
56-
SampleRanges.DateRange.IS_EMPTY().AS("sample.date_empty"),
57-
SampleRanges.TimestampRange.LOWER_INC().AS("sample.ts_low_inc"),
58-
SampleRanges.TimestampzRange.UPPER_INC().AS("sample.tstz_up_inc"),
59-
SampleRanges.TimestampRange.LOWER_INF().AS("sample.ts_low_inf"),
60-
SampleRanges.TimestampzRange.UPPER_INF().AS("sample.tstz_up_inf"),
38+
table.SampleRanges.AllColumns,
39+
40+
table.SampleRanges.Int4Range.EQ(table.SampleRanges.Int4Range).AS("sample.int4eq"),
41+
table.SampleRanges.Int8Range.EQ(int8Range).AS("sample.int8eq"),
42+
table.SampleRanges.Int4Range.NOT_EQ(int4Range).AS("sample.int4neq"),
43+
table.SampleRanges.NumRange.LT(numRange).IS_TRUE().AS("sample.num_lt"),
44+
table.SampleRanges.DateRange.LT_EQ(dateRange).IS_FALSE().AS("sample.date_lteq"),
45+
table.SampleRanges.TimestampRange.GT(tsRange).AS("sample.ts_gt"),
46+
table.SampleRanges.TimestampzRange.GT_EQ(tstzRange).AS("sample.tstz_gteq"),
47+
table.SampleRanges.Int4Range.CONTAINS(Int32(22)).AS("sample.int4cont"),
48+
table.SampleRanges.Int8Range.CONTAINS(Int64(75364)).AS("sample.int8cont"),
49+
table.SampleRanges.Int8Range.CONTAINS_RANGE(int8Range).AS("sample.int8cont_range"),
50+
table.SampleRanges.NumRange.OVERLAP(numRange).AS("sample.num_overlap"),
51+
table.SampleRanges.DateRange.UNION(dateRange).AS("sample.date_union"),
52+
table.SampleRanges.TimestampRange.INTERSECTION(tsRange).AS("sample.ts_ints"),
53+
table.SampleRanges.TimestampzRange.DIFFERENCE(tstzRange).AS("sample.tstz_diff"),
54+
table.SampleRanges.Int4Range.UPPER_BOUND().ADD(Int(5)).AS("sample.int4_upper"),
55+
table.SampleRanges.Int8Range.LOWER_BOUND().SUB(Int(12)).AS("sample.int8_lower"),
56+
LOWER_BOUND[DateExpression](table.SampleRanges.DateRange),
57+
UPPER_BOUND[NumericExpression](table.SampleRanges.NumRange).AS("sample.num_upper"),
58+
table.SampleRanges.TimestampRange.UPPER_BOUND(),
59+
table.SampleRanges.DateRange.IS_EMPTY().AS("sample.date_empty"),
60+
table.SampleRanges.TimestampRange.LOWER_INC().AS("sample.ts_low_inc"),
61+
table.SampleRanges.TimestampzRange.UPPER_INC().AS("sample.tstz_up_inc"),
62+
table.SampleRanges.TimestampRange.LOWER_INF().AS("sample.ts_low_inf"),
63+
table.SampleRanges.TimestampzRange.UPPER_INF().AS("sample.tstz_up_inf"),
6164

6265
RawInt4Range("'[1,2]'").EQ(int4Range),
6366
RawInt8Range("int8range(15, 25)").EQ(int8Range),
6467
RawNumRange("numrange(20.0, 30.0)").NOT_EQ(numRange),
6568
).FROM(
66-
SampleRanges,
69+
table.SampleRanges,
6770
).WHERE(
68-
SampleRanges.DateRange.CONTAINS(Date(2023, 12, 12)),
71+
table.SampleRanges.DateRange.CONTAINS(Date(2023, 12, 12)),
6972
)
7073

7174
testutils.AssertStatementSql(t, query, `
@@ -207,10 +210,10 @@ func TestRangeSelectColumnsFromSubQuery(t *testing.T) {
207210
skipForCockroachDB(t)
208211

209212
subQuery := SELECT(
210-
SampleRanges.AllColumns,
211-
SampleRanges.Int4Range.AS("range4"),
213+
table.SampleRanges.AllColumns,
214+
table.SampleRanges.Int4Range.AS("range4"),
212215
).FROM(
213-
SampleRanges,
216+
table.SampleRanges,
214217
).AsTable("sub_query")
215218

216219
int4Range := Int4RangeColumn("range4").From(subQuery)
@@ -260,7 +263,7 @@ FROM (
260263
func TestRangeTable_InsertColumn(t *testing.T) {
261264
skipForCockroachDB(t)
262265

263-
insertQuery := SampleRanges.INSERT(SampleRanges.AllColumns).
266+
insertQuery := table.SampleRanges.INSERT(table.SampleRanges.AllColumns).
264267
VALUES(
265268
DATE_RANGE(
266269
Date(2010, 01, 01),
@@ -279,7 +282,7 @@ func TestRangeTable_InsertColumn(t *testing.T) {
279282
).
280283
MODEL(
281284
sampleRangeRow,
282-
).RETURNING(SampleRanges.AllColumns)
285+
).RETURNING(table.SampleRanges.AllColumns)
283286

284287
expectedQuery := `
285288
INSERT INTO test_sample.sample_ranges (date_range, timestamp_range, timestampz_range, int4_range, int8_range, num_range)
@@ -307,10 +310,10 @@ func TestRangeTableUpdate(t *testing.T) {
307310
skipForCockroachDB(t)
308311

309312
t.Run("using model", func(t *testing.T) {
310-
stmt := SampleRanges.UPDATE(SampleRanges.AllColumns).
313+
stmt := table.SampleRanges.UPDATE(table.SampleRanges.AllColumns).
311314
MODEL(sampleRangeRow).
312-
WHERE(SampleRanges.TimestampRange.LOWER_INF().IS_FALSE()).
313-
RETURNING(SampleRanges.AllColumns)
315+
WHERE(table.SampleRanges.TimestampRange.LOWER_INF().IS_FALSE()).
316+
RETURNING(table.SampleRanges.AllColumns)
314317

315318
testutils.AssertStatementSql(t, stmt, `
316319
UPDATE test_sample.sample_ranges
@@ -335,13 +338,13 @@ RETURNING sample_ranges.date_range AS "sample_ranges.date_range",
335338
})
336339

337340
t.Run("update using SET", func(t *testing.T) {
338-
stmt := SampleRanges.UPDATE().
341+
stmt := table.SampleRanges.UPDATE().
339342
SET(
340-
SampleRanges.Int4Range.SET(INT4_RANGE(Int32(-12), Int32(78))),
341-
SampleRanges.Int8Range.SET(INT8_RANGE(Int64(-1200), Int64(7800))),
343+
table.SampleRanges.Int4Range.SET(INT4_RANGE(Int32(-12), Int32(78))),
344+
table.SampleRanges.Int8Range.SET(INT8_RANGE(Int64(-1200), Int64(7800))),
342345
).
343346
WHERE(
344-
SampleRanges.TimestampzRange.LOWER_BOUND().GT(Timestampz(2024, 2, 27, 0, 0, 0, 0, "UTC")),
347+
table.SampleRanges.TimestampzRange.LOWER_BOUND().GT(Timestampz(2024, 2, 27, 0, 0, 0, 0, "UTC")),
345348
)
346349

347350
testutils.AssertDebugStatementSql(t, stmt, `

0 commit comments

Comments
 (0)