Skip to content

Commit f2a6d12

Browse files
authored
Fix WHERE priority for Postgres (#59)
* Follow up to ba82ee1 Fix WHERE condition priority for PostgreSQL * Fix lint errors
1 parent ba82ee1 commit f2a6d12

5 files changed

Lines changed: 11 additions & 9 deletions

pkg/sql/adapters_pgx.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,25 +66,25 @@ func (c PgxBeginner) BeginTx(ctx context.Context, options *stdSQL.TxOptions) (Tx
6666
}
6767

6868
func (c PgxBeginner) ExecContext(ctx context.Context, query string, args ...any) (Result, error) {
69-
res, err := c.Conn.Exec(ctx, query, args...)
69+
res, err := c.Exec(ctx, query, args...)
7070

7171
return PgxResult{res}, err
7272
}
7373

7474
func (c PgxBeginner) QueryContext(ctx context.Context, query string, args ...any) (Rows, error) {
75-
rows, err := c.Conn.Query(ctx, query, args...)
75+
rows, err := c.Query(ctx, query, args...)
7676

7777
return PgxRows{rows}, err
7878
}
7979

8080
func (t PgxTx) ExecContext(ctx context.Context, query string, args ...any) (Result, error) {
81-
res, err := t.Tx.Exec(ctx, query, args...)
81+
res, err := t.Exec(ctx, query, args...)
8282

8383
return PgxResult{res}, err
8484
}
8585

8686
func (t PgxTx) QueryContext(ctx context.Context, query string, args ...any) (Rows, error) {
87-
rows, err := t.Tx.Query(ctx, query, args...)
87+
rows, err := t.Query(ctx, query, args...)
8888

8989
return PgxRows{rows}, err
9090
}

pkg/sql/queue_schema_adapter_mysql_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,15 @@ func TestMySQLQueueSchemaAdapter(t *testing.T) {
5656
}
5757

5858
var receivedMessages []*message.Message
59+
ReceiveLoop:
5960
for i := 0; i < 5; i++ {
6061
select {
6162
case msg := <-messages:
6263
receivedMessages = append(receivedMessages, msg)
6364
msg.Ack()
6465
case <-time.After(5 * time.Second):
6566
t.Errorf("expected to receive message")
66-
break
67+
break ReceiveLoop
6768
}
6869
}
6970

pkg/sql/queue_schema_adapter_postgresql.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ func queueInsertMarkers(count int) string {
7474

7575
index := 1
7676
for i := 0; i < count; i++ {
77-
result.WriteString(fmt.Sprintf("($%d,$%d,$%d),", index, index+1, index+2))
77+
fmt.Fprintf(&result, "($%d,$%d,$%d),", index, index+1, index+2)
7878
index += 3
7979
}
8080

@@ -104,7 +104,7 @@ func (s PostgreSQLQueueSchema) SelectQuery(params SelectQueryParams) (Query, err
104104
if s.GenerateWhereClause != nil {
105105
where, args = s.GenerateWhereClause(whereParams)
106106
if where != "" {
107-
where = "AND " + where
107+
where = "AND (" + where + ")"
108108
}
109109
}
110110

pkg/sql/queue_schema_adapter_postgresql_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,15 @@ func TestPostgreSQLQueueSchemaAdapter(t *testing.T) {
5656
}
5757

5858
var receivedMessages []*message.Message
59+
ReceiveLoop:
5960
for i := 0; i < 5; i++ {
6061
select {
6162
case msg := <-messages:
6263
receivedMessages = append(receivedMessages, msg)
6364
msg.Ack()
6465
case <-time.After(5 * time.Second):
6566
t.Errorf("expected to receive message")
66-
break
67+
break ReceiveLoop
6768
}
6869
}
6970

pkg/sql/schema_adapter_postgresql.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ func defaultInsertMarkers(count int) string {
9595

9696
index := 1
9797
for i := 0; i < count; i++ {
98-
result.WriteString(fmt.Sprintf("($%d,$%d,$%d,pg_current_xact_id()),", index, index+1, index+2))
98+
fmt.Fprintf(&result, "($%d,$%d,$%d,pg_current_xact_id()),", index, index+1, index+2)
9999
index += 3
100100
}
101101

0 commit comments

Comments
 (0)