@@ -8,7 +8,6 @@ package sql_test
8
8
import (
9
9
"context"
10
10
gosql "database/sql"
11
- "database/sql/driver"
12
11
"fmt"
13
12
"net/url"
14
13
"strings"
@@ -119,7 +118,7 @@ func TestSessionFinishRollsBackTxn(t *testing.T) {
119
118
defer log .Scope (t ).Close (t )
120
119
aborter := NewTxnAborter ()
121
120
defer aborter .Close (t )
122
- params , _ := createTestServerParams ()
121
+ params , _ := createTestServerParamsAllowTenants ()
123
122
params .Knobs .SQLExecutor = aborter .executorKnobs ()
124
123
s , mainDB , _ := serverutils .StartServer (t , params )
125
124
defer s .Stopper ().Stop (context .Background ())
@@ -149,36 +148,43 @@ CREATE TABLE t.test (k INT PRIMARY KEY, v TEXT);
149
148
for _ , state := range tests {
150
149
t .Run (state , func (t * testing.T ) {
151
150
// Create a low-level lib/pq connection so we can close it at will.
152
- pgURL , cleanupDB := sqlutils .PGUrl (
151
+ pgURL , cleanup := sqlutils .PGUrl (
153
152
t , s .AdvSQLAddr (), state , url .User (username .RootUser ))
154
- defer cleanupDB ()
155
- c , err := pq .Open (pgURL .String ())
156
- if err != nil {
157
- t .Fatal (err )
153
+ defer cleanup ()
154
+ cfg , err := pgx .ParseConfig (pgURL .String ())
155
+
156
+ require .NoError (t , err )
157
+ if s .DeploymentMode () == serverutils .SharedProcess {
158
+ // In shared-process mode, specifying the virtual cluster is
159
+ // required since `default_target_cluster` defaults to `system`.
160
+ // In external-process mode, this isn't needed (and neither
161
+ // allowed) because it has a separate SQL address.
162
+ cfg .RuntimeParams ["options" ] = fmt .Sprintf (
163
+ "-ccluster=%s" , serverutils .DefaultTestTenantName )
158
164
}
165
+ ctx := context .Background ()
166
+
167
+ conn , err := pgx .ConnectConfig (ctx , cfg )
168
+ require .NoError (t , err )
169
+
159
170
connClosed := false
160
171
defer func () {
161
172
if connClosed {
162
173
return
163
174
}
164
- if err := c .Close (); err != nil {
175
+ if err := conn .Close (ctx ); err != nil {
165
176
t .Fatal (err )
166
177
}
167
178
}()
168
179
169
- ctx := context .Background ()
170
- conn := c .(driver.ConnBeginTx )
171
- txn , err := conn .BeginTx (ctx , driver.TxOptions {})
172
- if err != nil {
173
- t .Fatal (err )
174
- }
175
- tx := txn .(driver.ExecerContext )
176
- if _ , err := tx .ExecContext (ctx , "SET TRANSACTION PRIORITY NORMAL" , nil ); err != nil {
180
+ tx , err := conn .BeginTx (ctx , pgx.TxOptions {})
181
+ require .NoError (t , err )
182
+ if _ , err := tx .Exec (ctx , "SET TRANSACTION PRIORITY NORMAL" ); err != nil {
177
183
t .Fatal (err )
178
184
}
179
185
180
186
if state == "CommitWait" {
181
- if _ , err := tx .ExecContext (ctx , "SAVEPOINT cockroach_restart" , nil ); err != nil {
187
+ if _ , err := tx .Exec (ctx , "SAVEPOINT cockroach_restart" ); err != nil {
182
188
t .Fatal (err )
183
189
}
184
190
}
@@ -191,7 +197,7 @@ CREATE TABLE t.test (k INT PRIMARY KEY, v TEXT);
191
197
t .Fatal (err )
192
198
}
193
199
}
194
- if _ , err := tx .ExecContext (ctx , insertStmt , nil ); err != nil {
200
+ if _ , err := tx .Exec (ctx , insertStmt ); err != nil {
195
201
t .Fatal (err )
196
202
}
197
203
@@ -200,7 +206,7 @@ CREATE TABLE t.test (k INT PRIMARY KEY, v TEXT);
200
206
}
201
207
202
208
if state == "CommitWait" {
203
- _ , err := tx .ExecContext (ctx , "RELEASE SAVEPOINT cockroach_restart" , nil )
209
+ _ , err := tx .Exec (ctx , "RELEASE SAVEPOINT cockroach_restart" )
204
210
if state == "CommitWait" {
205
211
if err != nil {
206
212
t .Fatal (err )
@@ -212,7 +218,7 @@ CREATE TABLE t.test (k INT PRIMARY KEY, v TEXT);
212
218
213
219
// Abruptly close the connection.
214
220
connClosed = true
215
- if err := c .Close (); err != nil {
221
+ if err := conn .Close (ctx ); err != nil {
216
222
t .Fatal (err )
217
223
}
218
224
0 commit comments