Skip to content

Commit 30da72f

Browse files
committed
sql: enable tenant testing for more tests
To achieve this, this PR reduces the usage of `createTestServerParams` by replacing it with `createTestServerParamsAllowTenants`. The changes are mostly straightforward, including replacing hardcoded `keys.SystemSQLCodec` with `server.Codec()`, and using `server.StorageLayer()`/`server.SystemLayer()` where the test is specific to the system tenant. Informs: cockroachdb#140446 Epic: CRDB-38970 Release note: None
1 parent 507c68f commit 30da72f

13 files changed

+104
-99
lines changed

pkg/sql/as_of_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ func TestAsOfTime(t *testing.T) {
3131
defer log.Scope(t).Close(t)
3232

3333
ctx, cancel := context.WithCancel(context.Background())
34-
params, _ := createTestServerParams()
34+
params, _ := createTestServerParamsAllowTenants()
3535
params.Knobs.GCJob = &sql.GCJobTestingKnobs{RunBeforeResume: func(_ jobspb.JobID) error {
3636
<-ctx.Done()
3737
return nil
@@ -263,7 +263,7 @@ func TestAsOfRetry(t *testing.T) {
263263
defer leaktest.AfterTest(t)()
264264
defer log.Scope(t).Close(t)
265265

266-
params, cmdFilters := createTestServerParams()
266+
params, cmdFilters := createTestServerParamsAllowTenants()
267267
s, sqlDB, _ := serverutils.StartServer(t, params)
268268
defer s.Stopper().Stop(context.Background())
269269

pkg/sql/comment_on_column_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ func runCommentOnTestsDeclarativeOnly(t *testing.T, testFunc func(db *gosql.DB))
224224
}
225225

226226
func runOneCommentOnTest(t *testing.T, setupQuery string, testFunc func(db *gosql.DB)) {
227-
params, _ := createTestServerParams()
227+
params, _ := createTestServerParamsAllowTenants()
228228
s, db, _ := serverutils.StartServer(t, params)
229229
defer s.Stopper().Stop(context.Background())
230230
_, err := db.Exec(setupQuery)

pkg/sql/conn_executor_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ func TestSessionFinishRollsBackTxn(t *testing.T) {
119119
defer log.Scope(t).Close(t)
120120
aborter := NewTxnAborter()
121121
defer aborter.Close(t)
122-
params, _ := createTestServerParams()
122+
params, _ := createTestServerParamsAllowTenants()
123123
params.Knobs.SQLExecutor = aborter.executorKnobs()
124124
s, mainDB, _ := serverutils.StartServer(t, params)
125125
defer s.Stopper().Stop(context.Background())
@@ -413,7 +413,7 @@ func TestHalloweenProblemAvoidance(t *testing.T) {
413413
defer mutations.ResetMaxBatchSizeForTests()
414414
numRows := smallerKvBatchSize + smallerInsertBatchSize + 10
415415

416-
params, _ := createTestServerParams()
416+
params, _ := createTestServerParamsAllowTenants()
417417
params.Insecure = true
418418
params.Knobs.DistSQL = &execinfra.TestingKnobs{
419419
TableReaderBatchBytesLimit: 10,
@@ -484,7 +484,7 @@ func TestAppNameStatisticsInitialization(t *testing.T) {
484484
defer leaktest.AfterTest(t)()
485485
defer log.Scope(t).Close(t)
486486

487-
params, _ := createTestServerParams()
487+
params, _ := createTestServerParamsAllowTenants()
488488
params.Insecure = true
489489

490490
s := serverutils.StartServerOnly(t, params)

pkg/sql/crdb_internal_test.go

+13-12
Original file line numberDiff line numberDiff line change
@@ -83,14 +83,15 @@ func TestGetAllNamesInternal(t *testing.T) {
8383
defer log.Scope(t).Close(t)
8484

8585
ctx := context.Background()
86-
params, _ := createTestServerParams()
86+
params, _ := createTestServerParamsAllowTenants()
87+
8788
s, _ /* sqlDB */, kvDB := serverutils.StartServer(t, params)
8889
defer s.Stopper().Stop(ctx)
8990

9091
err := kvDB.Txn(ctx, func(ctx context.Context, txn *kv.Txn) error {
9192
batch := txn.NewBatch()
92-
batch.Put(catalogkeys.EncodeNameKey(keys.SystemSQLCodec, &descpb.NameInfo{ParentID: 999, ParentSchemaID: 444, Name: "bob"}), 9999)
93-
batch.Put(catalogkeys.EncodeNameKey(keys.SystemSQLCodec, &descpb.NameInfo{ParentID: 1000, ParentSchemaID: 29, Name: "alice"}), 10000)
93+
batch.Put(catalogkeys.EncodeNameKey(s.Codec(), &descpb.NameInfo{ParentID: 999, ParentSchemaID: 444, Name: "bob"}), 9999)
94+
batch.Put(catalogkeys.EncodeNameKey(s.Codec(), &descpb.NameInfo{ParentID: 1000, ParentSchemaID: 29, Name: "alice"}), 10000)
9495
return txn.CommitInBatch(ctx, batch)
9596
})
9697
require.NoError(t, err)
@@ -167,12 +168,12 @@ func TestGossipAlertsTable(t *testing.T) {
167168
defer leaktest.AfterTest(t)()
168169
defer log.Scope(t).Close(t)
169170

170-
params, _ := createTestServerParams()
171+
params, _ := createTestServerParamsAllowTenants()
171172
s := serverutils.StartServerOnly(t, params)
172-
defer s.Stopper().Stop(context.Background())
173+
defer s.Stop(context.Background())
173174
ctx := context.Background()
174175

175-
if err := s.GossipI().(*gossip.Gossip).AddInfoProto(gossip.MakeNodeHealthAlertKey(456), &statuspb.HealthCheckResult{
176+
if err := s.StorageLayer().GossipI().(*gossip.Gossip).AddInfoProto(gossip.MakeNodeHealthAlertKey(456), &statuspb.HealthCheckResult{
176177
Alerts: []statuspb.HealthAlert{{
177178
StoreID: 123,
178179
Category: statuspb.HealthAlert_METRICS,
@@ -183,7 +184,7 @@ func TestGossipAlertsTable(t *testing.T) {
183184
t.Fatal(err)
184185
}
185186

186-
ie := s.InternalExecutor().(*sql.InternalExecutor)
187+
ie := s.SystemLayer().InternalExecutor().(*sql.InternalExecutor)
187188
row, err := ie.QueryRowEx(ctx, "test", nil, /* txn */
188189
sessiondata.NodeUserSessionDataOverride,
189190
"SELECT * FROM crdb_internal.gossip_alerts WHERE store_id = 123")
@@ -208,7 +209,7 @@ func TestOldBitColumnMetadata(t *testing.T) {
208209
defer log.Scope(t).Close(t)
209210

210211
ctx := context.Background()
211-
params, _ := createTestServerParams()
212+
params, _ := createTestServerParamsAllowTenants()
212213
s, sqlDB, kvDB := serverutils.StartServer(t, params)
213214
defer s.Stopper().Stop(ctx)
214215

@@ -227,7 +228,7 @@ CREATE TABLE t.test (k INT);
227228
// old-style bit column. We're going to edit the table descriptor
228229
// manually, without going through SQL.
229230
tableDesc := desctestutils.TestingGetMutableExistingTableDescriptor(
230-
kvDB, keys.SystemSQLCodec, "t", "test")
231+
kvDB, s.Codec(), "t", "test")
231232
for i := range tableDesc.Columns {
232233
if tableDesc.Columns[i].Name == "k" {
233234
tableDesc.Columns[i].Type.InternalType.VisibleType = 4 // Pre-2.1 BIT.
@@ -264,7 +265,7 @@ CREATE TABLE t.test (k INT);
264265

265266
// Write the modified descriptor.
266267
if err := kvDB.Txn(context.Background(), func(ctx context.Context, txn *kv.Txn) error {
267-
return txn.Put(ctx, catalogkeys.MakeDescMetadataKey(keys.SystemSQLCodec, tableDesc.ID), tableDesc.DescriptorProto())
268+
return txn.Put(ctx, catalogkeys.MakeDescMetadataKey(s.Codec(), tableDesc.ID), tableDesc.DescriptorProto())
268269
}); err != nil {
269270
t.Fatal(err)
270271
}
@@ -321,7 +322,7 @@ SELECT column_name, character_maximum_length, numeric_precision, numeric_precisi
321322
}
322323

323324
// And verify that this has re-set the fields.
324-
tableDesc = desctestutils.TestingGetMutableExistingTableDescriptor(kvDB, keys.SystemSQLCodec, "t", "test")
325+
tableDesc = desctestutils.TestingGetMutableExistingTableDescriptor(kvDB, s.Codec(), "t", "test")
325326
found := false
326327
for i := range tableDesc.Columns {
327328
col := &tableDesc.Columns[i]
@@ -429,7 +430,7 @@ func TestInvalidObjects(t *testing.T) {
429430
defer log.Scope(t).Close(t)
430431

431432
ctx := context.Background()
432-
params, _ := createTestServerParams()
433+
params, _ := createTestServerParamsAllowTenants()
433434
params.Knobs = base.TestingKnobs{
434435
Store: &kvserver.StoreTestingKnobs{
435436
DisableMergeQueue: true,

pkg/sql/create_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ func TestParallelCreateConflictingTables(t *testing.T) {
246246
func TestTableReadErrorsBeforeTableCreation(t *testing.T) {
247247
defer leaktest.AfterTest(t)()
248248
defer log.Scope(t).Close(t)
249-
params, _ := createTestServerParams()
249+
params, _ := createTestServerParamsAllowTenants()
250250
s, sqlDB, _ := serverutils.StartServer(t, params)
251251
defer s.Stopper().Stop(context.Background())
252252

pkg/sql/delete_preserving_index_test.go

+19-14
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ import (
5757
func TestDeletePreservingIndexEncoding(t *testing.T) {
5858
defer leaktest.AfterTest(t)()
5959
defer log.Scope(t).Close(t)
60-
params, _ := createTestServerParams()
60+
params, _ := createTestServerParamsAllowTenants()
6161
mergeFinished := make(chan struct{})
6262
completeSchemaChange := make(chan struct{})
6363
errorChan := make(chan error, 1)
@@ -99,7 +99,7 @@ func TestDeletePreservingIndexEncoding(t *testing.T) {
9999
<-mergeFinished
100100

101101
// Find the descriptor for the temporary index mutation.
102-
codec := keys.SystemSQLCodec
102+
codec := server.Codec()
103103
tableDesc := desctestutils.TestingGetMutableExistingTableDescriptor(kvDB, codec, "d", "t")
104104
var index *descpb.IndexDescriptor
105105
for _, i := range tableDesc.Mutations {
@@ -120,7 +120,7 @@ func TestDeletePreservingIndexEncoding(t *testing.T) {
120120
end := kvDB.Clock().Now()
121121

122122
// Grab the revision histories for the index.
123-
prefix := rowenc.MakeIndexKeyPrefix(keys.SystemSQLCodec, tableDesc.GetID(), index.ID)
123+
prefix := rowenc.MakeIndexKeyPrefix(codec, tableDesc.GetID(), index.ID)
124124
prefixEnd := append(prefix, []byte("\xff")...)
125125

126126
revisionsCh := make(chan []backup.VersionedValues)
@@ -244,7 +244,7 @@ func TestDeletePreservingIndexEncodingUsesNormalDeletesInDeleteOnly(t *testing.T
244244
defer leaktest.AfterTest(t)()
245245
defer log.Scope(t).Close(t)
246246

247-
params, _ := createTestServerParams()
247+
params, _ := createTestServerParamsAllowTenants()
248248
server, sqlDB, kvDB := serverutils.StartServer(t, params)
249249
defer server.Stopper().Stop(context.Background())
250250

@@ -259,7 +259,7 @@ CREATE UNIQUE INDEX test_index_to_mutate ON t.test (b);
259259
`
260260
_, err := sqlDB.Exec(setupSQL)
261261
require.NoError(t, err)
262-
codec := server.ExecutorConfig().(sql.ExecutorConfig).Codec
262+
codec := server.Codec()
263263
tableDesc := desctestutils.TestingGetMutableExistingTableDescriptor(kvDB, codec, "t", "test")
264264

265265
// Move index to DELETE_ONLY. The following delete should not
@@ -309,7 +309,7 @@ func TestDeletePreservingIndexEncodingWithEmptyValues(t *testing.T) {
309309
defer leaktest.AfterTest(t)()
310310
defer log.Scope(t).Close(t)
311311

312-
params, _ := createTestServerParams()
312+
params, _ := createTestServerParamsAllowTenants()
313313
server, sqlDB, kvDB := serverutils.StartServer(t, params)
314314
defer server.Stopper().Stop(context.Background())
315315

@@ -327,7 +327,7 @@ CREATE UNIQUE INDEX test_index_to_mutate ON t.test (y) STORING (z, a);
327327
`
328328
_, err := sqlDB.Exec(setupSQL)
329329
require.NoError(t, err)
330-
codec := server.ExecutorConfig().(sql.ExecutorConfig).Codec
330+
codec := server.Codec()
331331
tableDesc := desctestutils.TestingGetMutableExistingTableDescriptor(kvDB, codec, "t", "test")
332332
err = mutateIndexByName(kvDB, codec, tableDesc, "test_index_to_mutate", func(idx *descpb.IndexDescriptor) error {
333333
// Here, we make this index look like the temporary
@@ -513,7 +513,7 @@ func TestMergeProcessor(t *testing.T) {
513513
defer log.Scope(t).Close(t)
514514
ctx := context.Background()
515515

516-
params, _ := createTestServerParams()
516+
params, _ := createTestServerParamsAllowTenants()
517517

518518
type TestCase struct {
519519
name string
@@ -618,7 +618,7 @@ func TestMergeProcessor(t *testing.T) {
618618
t.Fatal(err)
619619
}
620620

621-
codec := keys.SystemSQLCodec
621+
codec := server.Codec()
622622
tableDesc := desctestutils.TestingGetMutableExistingTableDescriptor(kvDB, codec, "d", "t")
623623
settings := server.ClusterSettings()
624624
execCfg := server.ExecutorConfig().(sql.ExecutorConfig)
@@ -694,7 +694,7 @@ func TestMergeProcessor(t *testing.T) {
694694
}
695695

696696
require.Equal(t, test.dstContentsBeforeMerge,
697-
datumSliceToStrMatrix(fetchIndex(ctx, t, txn.KV(), mut, test.dstIndex)))
697+
datumSliceToStrMatrix(fetchIndex(ctx, t, txn.KV(), codec, mut, test.dstIndex)))
698698

699699
return nil
700700
}))
@@ -724,7 +724,7 @@ func TestMergeProcessor(t *testing.T) {
724724
}
725725

726726
require.Equal(t, test.dstContentsAfterMerge,
727-
datumSliceToStrMatrix(fetchIndex(ctx, t, txn.KV(), mut, test.dstIndex)))
727+
datumSliceToStrMatrix(fetchIndex(ctx, t, txn.KV(), codec, mut, test.dstIndex)))
728728
return nil
729729
}))
730730
}
@@ -740,7 +740,12 @@ func TestMergeProcessor(t *testing.T) {
740740
// as datums. The datums will correspond to each of the columns stored in the
741741
// index, ordered by column ID.
742742
func fetchIndex(
743-
ctx context.Context, t *testing.T, txn *kv.Txn, table *tabledesc.Mutable, indexName string,
743+
ctx context.Context,
744+
t *testing.T,
745+
txn *kv.Txn,
746+
codec keys.SQLCodec,
747+
table *tabledesc.Mutable,
748+
indexName string,
744749
) []tree.Datums {
745750
t.Helper()
746751
var fetcher row.Fetcher
@@ -776,9 +781,9 @@ func fetchIndex(
776781
}
777782

778783
var spec fetchpb.IndexFetchSpec
779-
require.NoError(t, rowenc.InitIndexFetchSpec(&spec, keys.SystemSQLCodec, table, idx, columns))
784+
require.NoError(t, rowenc.InitIndexFetchSpec(&spec, codec, table, idx, columns))
780785

781-
spans := []roachpb.Span{table.IndexSpan(keys.SystemSQLCodec, idx.GetID())}
786+
spans := []roachpb.Span{table.IndexSpan(codec, idx.GetID())}
782787
const reverse = false
783788
require.NoError(t, fetcher.Init(
784789
ctx,

0 commit comments

Comments
 (0)