Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
92471:  descs: Collection mediates namespace & desc changes r=postamar a=postamar

This commit makes all system.namespace modifications happen via
descs.Collection methods, at least outside of tests.

Very little functionality is altered as a result of this change. The
intent is to make it easier to make the collection enforce certain
guarantees about names in the future.

Informs cockroachdb#88571.

Release note: None

Co-authored-by: Marius Posta <[email protected]>
  • Loading branch information
craig[bot] and Marius Posta committed Nov 30, 2022
2 parents eddd18b + 2901dae commit 50a8b36
Show file tree
Hide file tree
Showing 69 changed files with 980 additions and 1,085 deletions.
6 changes: 3 additions & 3 deletions pkg/bench/rttanalysis/testdata/benchmark_expectations
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ exp,benchmark
18,AlterTableAddForeignKey/alter_table_add_2_foreign_keys
22,AlterTableAddForeignKey/alter_table_add_3_foreign_keys
14,AlterTableAddForeignKey/alter_table_add_foreign_key_with_3_columns
18,AlterTableConfigureZone/alter_table_configure_zone_5_replicas
18,AlterTableConfigureZone/alter_table_configure_zone_7_replicas_
18,AlterTableConfigureZone/alter_table_configure_zone_ranges
15,AlterTableConfigureZone/alter_table_configure_zone_5_replicas
15,AlterTableConfigureZone/alter_table_configure_zone_7_replicas_
15,AlterTableConfigureZone/alter_table_configure_zone_ranges
16,AlterTableDropColumn/alter_table_drop_1_column
16,AlterTableDropColumn/alter_table_drop_2_columns
16,AlterTableDropColumn/alter_table_drop_3_columns
Expand Down
64 changes: 36 additions & 28 deletions pkg/ccl/backupccl/restore_job.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ import (
"github.com/cockroachdb/cockroach/pkg/settings/cluster"
"github.com/cockroachdb/cockroach/pkg/sql"
"github.com/cockroachdb/cockroach/pkg/sql/catalog"
"github.com/cockroachdb/cockroach/pkg/sql/catalog/catalogkeys"
"github.com/cockroachdb/cockroach/pkg/sql/catalog/catpb"
"github.com/cockroachdb/cockroach/pkg/sql/catalog/dbdesc"
"github.com/cockroachdb/cockroach/pkg/sql/catalog/descidgen"
Expand Down Expand Up @@ -718,6 +717,7 @@ func createImportingDescriptors(
err error,
) {
details := r.job.Details().(jobspb.RestoreDetails)
const kvTrace = false

var allMutableDescs []catalog.MutableDescriptor
var databases []catalog.DatabaseDescriptor
Expand Down Expand Up @@ -1075,7 +1075,7 @@ func createImportingDescriptors(
db.AddSchemaToDatabase(sc.GetName(), descpb.DatabaseDescriptor_SchemaInfo{ID: sc.GetID()})
}
if err := descsCol.WriteDescToBatch(
ctx, false /* kvTrace */, db, b,
ctx, kvTrace, db, b,
); err != nil {
return err
}
Expand Down Expand Up @@ -1119,7 +1119,7 @@ func createImportingDescriptors(
}
typDesc.AddReferencingDescriptorID(table.GetID())
if err := descsCol.WriteDescToBatch(
ctx, false /* kvTrace */, typDesc, b,
ctx, kvTrace, typDesc, b,
); err != nil {
return err
}
Expand Down Expand Up @@ -1977,6 +1977,7 @@ func (r *restoreResumer) publishDescriptors(

// Write the new descriptors and flip state over to public so they can be
// accessed.
const kvTrace = false

// Pre-fetch all the descriptors into the collection to avoid doing
// round-trips per descriptor.
Expand Down Expand Up @@ -2086,7 +2087,7 @@ func (r *restoreResumer) publishDescriptors(
d := desc.(catalog.MutableDescriptor)
d.SetPublic()
return descsCol.WriteDescToBatch(
ctx, false /* kvTrace */, d, b,
ctx, kvTrace, d, b,
)
}); err != nil {
return err
Expand Down Expand Up @@ -2282,6 +2283,7 @@ func (r *restoreResumer) dropDescriptors(
}

b := txn.NewBatch()
const kvTrace = false

// Collect the tables into mutable versions.
mutableTables := make([]*tabledesc.Mutable, len(details.TableDescs))
Expand Down Expand Up @@ -2355,8 +2357,9 @@ func (r *restoreResumer) dropDescriptors(
// data was never visible to users, and so we don't need to preserve MVCC
// semantics.
tableToDrop.DropTime = dropTime

b.Del(catalogkeys.EncodeNameKey(codec, tableToDrop))
if err := descsCol.DeleteNamespaceEntryToBatch(ctx, kvTrace, tableToDrop, b); err != nil {
return err
}
descsCol.NotifyOfDeletedDescriptor(tableToDrop.GetID())
}

Expand All @@ -2374,12 +2377,14 @@ func (r *restoreResumer) dropDescriptors(
if err != nil {
return err
}

b.Del(catalogkeys.EncodeNameKey(codec, typDesc))
mutType.SetDropped()
// Remove the system.descriptor entry.
b.Del(catalogkeys.MakeDescMetadataKey(codec, typDesc.ID))
descsCol.NotifyOfDeletedDescriptor(mutType.GetID())

if err := descsCol.DeleteNamespaceEntryToBatch(ctx, kvTrace, typDesc, b); err != nil {
return err
}
if err := descsCol.DeleteDescToBatch(ctx, kvTrace, typDesc.GetID(), b); err != nil {
return err
}
}

for i := range details.FunctionDescs {
Expand All @@ -2394,8 +2399,9 @@ func (r *restoreResumer) dropDescriptors(
return err
}
mutFn.SetDropped()
b.Del(catalogkeys.MakeDescMetadataKey(codec, fnDesc.ID))
descsCol.NotifyOfDeletedDescriptor(fnDesc.ID)
if err := descsCol.DeleteDescToBatch(ctx, kvTrace, fnDesc.ID, b); err != nil {
return err
}
}

// Queue a GC job.
Expand Down Expand Up @@ -2474,9 +2480,12 @@ func (r *restoreResumer) dropDescriptors(
}

// Delete schema entries in descriptor and namespace system tables.
b.Del(catalogkeys.EncodeNameKey(codec, mutSchema))
b.Del(catalogkeys.MakeDescMetadataKey(codec, mutSchema.GetID()))
descsCol.NotifyOfDeletedDescriptor(mutSchema.GetID())
if err := descsCol.DeleteNamespaceEntryToBatch(ctx, kvTrace, mutSchema, b); err != nil {
return err
}
if err := descsCol.DeleteDescToBatch(ctx, kvTrace, mutSchema.GetID(), b); err != nil {
return err
}
// Add dropped descriptor as uncommitted to satisfy descriptor validation.
mutSchema.SetDropped()
mutSchema.MaybeIncrementVersion()
Expand Down Expand Up @@ -2510,7 +2519,7 @@ func (r *restoreResumer) dropDescriptors(
for dbID, entry := range dbsWithDeletedSchemas {
log.Infof(ctx, "deleting %d schema entries from database %d", len(entry.schemas), dbID)
if err := descsCol.WriteDescToBatch(
ctx, false /* kvTrace */, entry.db, b,
ctx, kvTrace, entry.db, b,
); err != nil {
return err
}
Expand Down Expand Up @@ -2546,26 +2555,25 @@ func (r *restoreResumer) dropDescriptors(
if err := descsCol.AddUncommittedDescriptor(ctx, db); err != nil {
return err
}

descKey := catalogkeys.MakeDescMetadataKey(codec, db.GetID())
b.Del(descKey)

// We have explicitly to delete the system.namespace entry for the public schema
// if the database does not have a public schema backed by a descriptor.
if !db.(catalog.DatabaseDescriptor).HasPublicSchemaWithDescriptor() {
b.Del(catalogkeys.MakeSchemaNameKey(codec, db.GetID(), tree.PublicSchema))
if db := db.(catalog.DatabaseDescriptor); db.HasPublicSchemaWithDescriptor() {
if err := descsCol.DeleteDescriptorlessPublicSchemaToBatch(ctx, kvTrace, db, b); err != nil {
return err
}
}
if err := descsCol.DeleteNamespaceEntryToBatch(ctx, kvTrace, db, b); err != nil {
return err
}
if err := descsCol.DeleteDescToBatch(ctx, kvTrace, db.GetID(), b); err != nil {
return err
}

nameKey := catalogkeys.MakeDatabaseNameKey(codec, db.GetName())
b.Del(nameKey)
descsCol.NotifyOfDeletedDescriptor(db.GetID())
deletedDBs[db.GetID()] = struct{}{}
}

// Avoid telling the descriptor collection about the mutated descriptors
// until after all relevant relations have been retrieved to avoid a
// scenario whereby we make a descriptor invalid too early.
const kvTrace = false
for _, t := range mutableTables {
if err := descsCol.WriteDescToBatch(ctx, kvTrace, t, b); err != nil {
return errors.Wrap(err, "writing dropping table to batch")
Expand Down
2 changes: 1 addition & 1 deletion pkg/ccl/backupccl/restore_old_versions_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -893,7 +893,7 @@ func TestRestoreWithDroppedSchemaCorruption(t *testing.T) {
hasSameNameSchema := func(dbName string) (exists bool) {
require.NoError(t, sql.DescsTxn(ctx, &execCfg, func(ctx context.Context, txn *kv.Txn, col *descs.Collection) error {
// Using this method to avoid validation.
id, err := col.Direct().LookupDatabaseID(ctx, txn, dbName)
id, err := col.LookupDatabaseID(ctx, txn, dbName)
if err != nil {
return err
}
Expand Down
8 changes: 4 additions & 4 deletions pkg/ccl/backupccl/restore_planning.go
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ func allocateDescriptorRewrites(
if err := sql.DescsTxn(ctx, p.ExecCfg(), func(ctx context.Context, txn *kv.Txn, col *descs.Collection) error {
// Check that any DBs being restored do _not_ exist.
for name := range restoreDBNames {
dbID, err := col.Direct().LookupDatabaseID(ctx, txn, name)
dbID, err := col.LookupDatabaseID(ctx, txn, name)
if err != nil {
return err
}
Expand Down Expand Up @@ -365,7 +365,7 @@ func allocateDescriptorRewrites(
} else {
var parentID descpb.ID
{
newParentID, err := col.Direct().LookupDatabaseID(ctx, txn, targetDB)
newParentID, err := col.LookupDatabaseID(ctx, txn, targetDB)
if err != nil {
return err
}
Expand Down Expand Up @@ -440,7 +440,7 @@ func allocateDescriptorRewrites(
}

// Look up the parent database's ID.
parentID, err := col.Direct().LookupDatabaseID(ctx, txn, targetDB)
parentID, err := col.LookupDatabaseID(ctx, txn, targetDB)
if err != nil {
return err
}
Expand Down Expand Up @@ -688,7 +688,7 @@ func allocateDescriptorRewrites(
func getDatabaseIDAndDesc(
ctx context.Context, txn *kv.Txn, col *descs.Collection, targetDB string,
) (dbID descpb.ID, dbDesc catalog.DatabaseDescriptor, err error) {
dbID, err = col.Direct().LookupDatabaseID(ctx, txn, targetDB)
dbID, err = col.LookupDatabaseID(ctx, txn, targetDB)
if err != nil {
return 0, nil, err
}
Expand Down
6 changes: 3 additions & 3 deletions pkg/ccl/logictestccl/testdata/logic_test/multi_region
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,9 @@ JOIN system.namespace parent ON (e."parentID" = parent.id)
WHERE e.name='crdb_internal_region'
----
parentSchemaID db_name enum_name
112 multi_region_test_db crdb_internal_region
116 multi_region_test_explicit_primary_region_db crdb_internal_region
108 region_test_db crdb_internal_region
111 multi_region_test_db crdb_internal_region
115 multi_region_test_explicit_primary_region_db crdb_internal_region
107 region_test_db crdb_internal_region

query TTTT colnames
SHOW ENUMS FROM region_test_db.public
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -804,7 +804,7 @@ SELECT * FROM [EXPLAIN (DISTSQL) SELECT * FROM child WHERE NOT EXISTS (SELECT *
table: child@child_pkey
spans: [/'ca-central-1'/10 - /'ca-central-1'/10] [/'us-east-1'/10 - /'us-east-1'/10]
·
Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJysk2Fro04Qxt__P8Uwb5L82SOr8biyULC0hrN4ppcIV2gkWHdovdpdb1VIKfnuh5qjMVwC7eWNurPzuL9nePYVy185Clx4gXcZwf8wnc--wZ13exNc-CEMr_xFtPgejKDfkD5muYQfX725B8NwFoF32zTCsN9WJIZUte0rVpmEc0hXzcdoBBfhFQzTrmjxUQyz6XThRWAjQ6UlhckzlSju0MKYYWF0SmWpTVN6bRt8uUbBGWaqqKumHDNMtSEUr1hlVU4oMEruc5pTIsmMOTKUVCVZ3v629eC2z1XxRC_I8FLn9bMqBTRYbIuKDBdF0lTHS1wu12d8iWOLjzkkSoIFunokg_GGoa6rN5KySh4IhbVhH6O1TkDrbkkP0tkH6d6gSjJZkkOttJFkSPa44s1fbIT6ky7Gdt9AkD1nFVgHUfh7BnWtM7Wd06R_TPRSkIDAm0ZwEUY-XM_8EBl2SXS7158BBlo_1QX81JkCrQQMXQfOYT1w-EAI4VqcW_zLNqiuDefgTka7cy-6uRt5vzL0kGl10Nzkg-ac05prbvR6cLZrj8F6kPb8nsSw8x7DcyoLrUraS9ahnMQMST5Ql9JS1yalG6PT9phuOWt1bUFSWXW7drfwVbvV3stdsfUvYvuoeNIT833x5KjYOS52joo_74njzX-_AwAA__-DDeJX
Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJysk9Fro0AQxt_vrxjmJcmxR1bjQVkoWFrDWTzTS4QrNBKsO7Re7a63KqSU_O-HmqMxXALt5UXd2fnc3zd8-4rl7xwFLrzAu4zgM0zns-9w593eBBd-CMMrfxEtfgQj6Dekj1ku4ec3b-7BMJxF4N02jTDstxWJIVVt-4pVJuEc0lXzMRrBRXgFw7QrWnwUw2w6XXgR2MhQaUlh8kwliju0MGZYGJ1SWWrTlF7bBl-uUXCGmSrqqinHDFNtCMUrVlmVEwqMkvuc5pRIMmOODCVVSZa3v209uO1zVTzRCzK81Hn9rEoBDRbboiLDRZE01fESl8v1GV_i2OJjDomSYIGuHslgvGGo6-qNpKySB0JhbdjHaK0T0Lpb0oN09kG6N6iSTJbkUCttJBmSPa548w8bof6ii7HdNxBkz1kF1kEU_p5BXetMbec06R8TvRQkIPCmEVyEkQ_XMz9Ehl0S3e71d4CB1k91Ab90pkArAUPXgXNYDxw-EEK4FucWP9sG1bXhHNzJaHfuRTd3I-9Xhh4yrQ6am3zQnHNac82NXg_Odu0xWA_Snt-TGHbeY3hOZaFVSXvJOpSTmCHJB-pSWurapHRjdNoe0y1nra4tSCqrbtfuFr5qt9p7uSu2_kdsHxVPemK-L54cFTvHxc5R8dc9cbz59CcAAP__ibHiWg==

statement ok
SET vectorize=on
Expand Down Expand Up @@ -881,7 +881,7 @@ SELECT * FROM [EXPLAIN (DISTSQL) SELECT * FROM child WHERE EXISTS (SELECT * FROM
table: child@child_pkey
spans: [/'ca-central-1'/10 - /'ca-central-1'/10] [/'us-east-1'/10 - /'us-east-1'/10]
·
Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJysk1Fr2zAQx9_3KY57STI0IjuBFUHApXWYi5t0sWGFxgTXOlKvjuTJNqSEfPdhO1vrrCl024ttne5_-ul_5x0WPzIUGLi-exHCR5gu5tdw597e-OfeDPqXXhAGX_0BdBOShzST8O2Lu3DBva1zoN_NyGNDqjyk5KtUwgSSVf0xgPPZJfSTNmbxQQTz6TRwQ7CRodKSZvGGChR3aGHEMDc6oaLQpg7tmgRPblFwhqnKq7IORwwTbQjFDsu0zAgFhvF9RguKJZkhR4aSyjjNmrINvdM8V_kjPSHDC51VG1UIqLHYgRQZBnlcR4dLXC63Z3yJQ4sPOcRKggW6fCCD0Z6hrspnkqKM14TC2rO_o7X-A61zID1JZ5-ke4YqyKRxBpXSRpIh2eGK9q9cY6Y_6Xxody_gp5u0BOskCn-PUVc6VQefRt1jwqecBPjuNITAvfbgau7NkGE7iE77-mWgr_VjlcN3nSrQSkDfGcMEtr0x7wkhHItzi38-DKpjwwSc0QAZLmijS4LsFXX9s2x7Zy_1DLa9pFPwz4q_O5m3nTTyfmVonWp10q7Re-xaUJFrVdBR6041ImJIck3tGBS6MgndGJ00x7TLeaNrApKKst2124Wnmq1m8F-KrX8R22-KRx0xPxaP3hSPj8TR_sPPAAAA__9GoJgk
Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJysk9Fro04Qx99_f8UwL0l-7JHV5CEsBCyt4Sw26UXhCo0E6w6pV7PrrQopIf_7oeauNdcUencv6s7Od_az3xn3WHzPUGDg-u5lCP_DbLm4gXv37ta_8ObQv_KCMPjiD6CbkDymmYSvn92lC-5dnQP9bkYeG1LlMSVfpxKmkKzrjwFczK-gn7Qxiw8iWMxmgRuCjQyVljSPt1SguEcLI4a50QkVhTZ1aN8keHKHgjNMVV6VdThimGhDKPZYpmVGKDCMHzJaUizJDDkylFTGadaUbeid5rnOn-gZGV7qrNqqQkCNxY6kyDDI4zo6XOFqtZvwFQ4tPuQQKwkW6PKRDEYHhroqX0iKMt4QCuvA_ozW-ge0zpH0LJ19lu4FqiCTxhlUShtJhmSHKzq8cY25_qTzod29gJ9u0xKssyj8I0Zd61QdfRp1jwmfcxLgu7MQAvfGg-uFN0eG7SA67eungb7WT1UO33SqQCsBfWcMU9j1xrwnhHAszi0-OQ6qY8MUnNEAGS5pq0uC7A11_bPsepPXega7XtIp-HvFX53M204a-bA2tEm1OmvX6CN2LanItSropHXnGhExJLmhdgwKXZmEbo1OmmPa5aLRNQFJRdnu2u3CU81WM_ivxdbfiO13xaOOmJ-KR--Kxyfi6PDfjwAAAP__S-6YJw==

statement ok
SET vectorize=on
Expand Down Expand Up @@ -959,7 +959,7 @@ SELECT * FROM [EXPLAIN (DISTSQL) SELECT * FROM child INNER JOIN parent ON p_id =
table: child@child_pkey
spans: [/'ca-central-1'/10 - /'ca-central-1'/10] [/'us-east-1'/10 - /'us-east-1'/10]
·
Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJysk2Fr2zwQgL-_v-K4L2lfNCLbgRVBwKV1mEtmd05gg8YE1zpSr47kyTJkhPz3ETtb66wpdNsX2zrpOT26k7dYfytR4CyYBldz-B8mSfwR7oIvt9PLMIKz63A2n32ankN_Qf5QlBLCKAoSuInDCKrMkLIQR1AtCwljyJftx-cPQRJA3sUcnkI8mcyCObjIUGlJUbamGsUdOpgyrIzOqa612Ye27YJQblBwhoWqGrsPpwxzbQjFFm1hS0KB8-y-pIQySWbIkaEkmxVlm7YV9dvnsnqk78jwSpfNWtWitWIHUWQ4q7J9dLjAxWJzwRc4dPiQQ6YkOKDtAxlMdwx1Y59MaputCIWzY39m6_wDW_9getLOPWn3JFWTKbISGqWNJEOy55XuXjhGpN_pauj2DzAt1oUF56QKf0uhbnShDnXy-tt0t83vXj8rNdX6sangqy4UaCXgzB_BGDaDER8IIXyHc4e_P4fL6BrOfBfG4HvnyDChtbYE5Qv0_gfYDC6e8ww2g7yX8PeMv1pWdS0z8n5paFVohQzjxgrwHea7zPdO1sl7S50Sqiutajrq2akOpAxJrqjrf60bk9Ot0Xm7TTeMW64NSKptN-t2g1C1U-2Nfw47fwO7r8JeD-bHsPcqPDqC091_PwIAAP__n0qQmg==
Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJysk1Fr2zAQgN_3K457STs0Itt9CIKAS-swl8zunMAGjQmudaReHcmTZcgI-e8jdrbWWVPothfbOuk7fbqTt1h_L1HgLJgGV3N4D5Mk_gR3wdfb6WUYwdl1OJvPPk_Pob8gfyhKCWEUBQncxGEEVWZIWYgjqJaFhDHky_bjy8cgCSDvYg5PIZ5MZsEcXGSotKQoW1ON4g4dTBlWRudU19rsQ9t2QSg3KDjDQlWN3YdThrk2hGKLtrAlocB5dl9SQpkkM-TIUJLNirJN24r67XNZPdIPZHily2atatFasYMoMpxV2T46XOBisRnxBQ4dPuSQKQkOaPtABtMdQ93YJ5PaZitC4ezY39k6_8HWP5ietHNP2j1J1WSKrIRGaSPJkOx5pbsXjhHpD7oauv0DTIt1YcE5qcLfUqgbXahDnbz-Nt1t87vXr0pNtX5sKvimCwVaCTjzL2AMm8EFHwghfIdzh4_O4TK6hjPfhTH43jkyTGitLUH5Ar3_ATaD0XOewWaQ9xL-mfF3y6quZUbeLw2tCq2QYdxYAb7DfJf53sk6eW-pU0J1pVVNRz071YGUIckVdf2vdWNyujU6b7fphnHLtQFJte1m3W4QqnaqvfHPYedfYPdV2OvB_Bj2XoUvjuB09-5nAAAA__-kyJCd

statement ok
SET vectorize=on
Expand Down Expand Up @@ -1037,7 +1037,7 @@ SELECT * FROM [EXPLAIN (DISTSQL) SELECT * FROM child LEFT JOIN parent ON p_id =
table: child@child_pkey
spans: [/'ca-central-1'/10 - /'ca-central-1'/10] [/'us-east-1'/10 - /'us-east-1'/10]
·
Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJysk2Fr2zwQx98_n-K4N2kfNCI7hRVBwaV1WIpnd47HBo0JrnW0Xh3Jk2VIKfnuI3K31llT6LY3tnTS__TT_04P2H6vUeA8jMKzDP6HaZp8hKvw62V0Oovh4Hw2z-afokMYbihvq1pCFE4zuEhmMTSFIWUhiaFZVhJOoFy6wZcPYRpC2cc8nkMync7DDHxkqLSkuFhRi-IKPcwZNkaX1LbabEMPbsNMrlFwhpVqOrsN5wxLbQjFA9rK1oQCs-K6ppQKSWbMkaEkW1S1S-s4A_ddNnd0jwzPdN2tVCscFXsERYbzpthGxwtcLNbHfIFjj485FEqCB9reksF8w1B39omktcUNofA27M9ovX9AGzyS7qXz99I9QbVkqqKGTmkjyZAccOWbF64R63e6GfvDC0TVqrLg7UXhbzHqQlfq0afJ8JjsviHRd1_yOQtT14PIsO_CoP_9dDDS-q5r4JuuFGgl4CA4ghNYj474SAgReJx7_P0hnMbncBD4cALB5BAZprTSlqB-Qb19F-vR8XM9g_WoHCT8PeOvUjZ9KY28Xhq6qbRChklnBQQeC3wWTPb6N3mLfym1jVYt7dRyX2VyhiRvqO-LVnempEujS3dMP02czgUktbZf9fvJTLkl9xKei72_EfuviicDMd8VT14VH-2I881_PwIAAP__xyaW3w==
Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJysk1Fr2zAQx9_3KY57STs0Ijt9KIKCS-uwFM_uHI8NGhNc62i9OpIny5BS8t1H5G6ts6bQbS-2dNL_9NP_Tg_Y_qhR4DyMwrMM3sM0TT7BVfjtMjqdxXBwPptn88_RIQw3lLdVLSEKpxlcJLMYmsKQspDE0CwrCSdQLt3g68cwDaHsYx7PIZlO52EGPjJUWlJcrKhFcYUe5gwbo0tqW222oQe3YSbXKDjDSjWd3YZzhqU2hOIBbWVrQoFZcV1TSoUkM-bIUJItqtqldZyB-y6bO7pHhme67laqFY6KPYIiw3lTbKPjBS4W62O-wLHHxxwKJcEDbW_JYL5hqDv7RNLa4oZQeBv2d7Tef6ANHkn30vl76Z6gWjJVUUOntJFkSA648s0L14j1B92M_eEFompVWfD2ovC3GHWhK_Xo02R4THbfkOi7L_mShanrQWTYd2HQ_345GGl91zXwXVcKtBJwEBzBCaxHR3wkhAg8zj1-fAin8TkcBD6cQDA5RIYprbQlqF9Qb9_FenT8XM9gPSoHCf_M-LuUTV9KI6-Xhm4qrZBh0lkBgccCnwWTvf5N3uJfSm2jVUs7tdxXmZwhyRvq-6LVnSnp0ujSHdNPE6dzAUmt7Vf9fjJTbsm9hOdi71_E_qviyUDMd8WTV8VHO-J88-5nAAAA___MpJbi

statement ok
SET vectorize=on
Expand Down
Loading

0 comments on commit 50a8b36

Please sign in to comment.