From 9338b984ddab67ba1256c42f2a6415235e187d41 Mon Sep 17 00:00:00 2001 From: Xiang Gu Date: Wed, 4 Oct 2023 16:26:29 -0400 Subject: [PATCH 1/5] sctest: Do not perform pre-execution and post-execution check if in txn We modified the comparator testing framework so that if we are in a txn, we don't peform any pre-execution (aka modify stmts) nor post-execution (aka identity checks) anymore. This is to speed up the framework bc in a transaction, we will always only use legacy schema changer anyway. Such change also helps with some mishaps that arises occasionally. E.g., if we still perform pre-execution modifications in a txn and the txn so far is something like ``` begin; alter table t drop constraint t_pkey; the-curr-stmt ``` where the table does not have a primary key temporarily. The pre-execution relies on issuing SQL queries and those queries will now fail bc we cannot resolve a table without primary key. Release note: None --- pkg/sql/schemachanger/schemachanger_test.go | 9 +++- pkg/sql/schemachanger/sctest/comparator.go | 55 +++++++++++---------- 2 files changed, 37 insertions(+), 27 deletions(-) diff --git a/pkg/sql/schemachanger/schemachanger_test.go b/pkg/sql/schemachanger/schemachanger_test.go index 94164fd39eeb..b7cbea5b38d0 100644 --- a/pkg/sql/schemachanger/schemachanger_test.go +++ b/pkg/sql/schemachanger/schemachanger_test.go @@ -840,7 +840,7 @@ func TestCompareLegacyAndDeclarative(t *testing.T) { "SELECT (*) FROM t1; -- expect to be skipped because of the syntax error", "FROM t1 SELECT *; -- ditto", - // statements with TCL commands or empty content. + // Statements with TCL commands or empty content. "", "BEGIN;", "INSERT INTO t2 VALUES (1001, 1002); INSERT INTO t1 VALUES (1000, 1001);", @@ -852,9 +852,14 @@ func TestCompareLegacyAndDeclarative(t *testing.T) { "COMMIT;", "BEGIN;", "SELECT 1/0;", - "DROP TABLE IF EXISTS t2 -- expect to be ignored", + "DROP TABLE IF EXISTS t2; -- expect to be ignored", "INSERT INTO t2 VALUES (1002, 1003); INSERT INTO t1 VALUES (1001, 1002); -- expect to be ignored", "ROLLBACK;", + "DROP TABLE IF EXISTS t3; CREATE TABLE t3 (i INT PRIMARY KEY);", + "BEGIN;", + "ALTER TABLE t3 DROP CONSTRAINT t3_pkey;", + "DELETE FROM t3 WHERE i = 1; -- expect to result in an error", + "ROLLBACK;", // statements that will be altered due to known behavioral differences in LSC vs DSC. "ALTER TABLE t1 ADD COLUMN xyz INT DEFAULT 30, ALTER PRIMARY KEY USING COLUMNS (j), DROP COLUMN i; -- unimplemented in legacy schema changer; expect to skip this line", diff --git a/pkg/sql/schemachanger/sctest/comparator.go b/pkg/sql/schemachanger/sctest/comparator.go index 848932723270..9affd29c26f8 100644 --- a/pkg/sql/schemachanger/sctest/comparator.go +++ b/pkg/sql/schemachanger/sctest/comparator.go @@ -71,7 +71,19 @@ func CompareLegacyAndDeclarative(t *testing.T, ss StmtLineReader) { // Skip lines with syntax error. continue } - line = modifyBlacklistedStmt(t, line, legacyTDB) + + inTxn := isInATransaction(t, legacySQLDB) + // Pre-execution: modify `line` so that executing it produces the same + // state. This step is to account for the known behavior difference between + // the two schema changers. + // Only run when not in a transaction (otherwise certain DDL combo can make + // sql queries issued during modification break; see commit message). + if !inTxn { + line = modifyBlacklistedStmt(t, line, legacyTDB) + } + + // Execution: `line` must be executed in both clusters with the same error + // code. _, errLegacy := legacySQLDB.Exec(line) if pgcode.MakeCode(string(getPQErrCode(errLegacy))) == pgcode.FeatureNotSupported { continue @@ -80,22 +92,27 @@ func CompareLegacyAndDeclarative(t *testing.T, ss StmtLineReader) { requireNoErrOrSameErrCode(t, line, errLegacy, errDeclarative) linesExecutedSoFar = append(linesExecutedSoFar, line) - if inFailedSQLTransaction(legacySQLDB) { - // Skip any identity checks if in a failed sql transaction because any - // statements will be ignored. - continue - } - - // Perform a descriptor identity check after a DDL. - if containsStmtOfType(t, line, tree.TypeDDL) { - metaDataIdentityCheck(t, legacyTDB, declarativeTDB, linesExecutedSoFar) + // Post-execution: Check metadata level identity between two clusters. + // Only run when not in a transaction (because legacy schema changer will be + // used in both clusters). + if !inTxn { + if containsStmtOfType(t, line, tree.TypeDDL) { + metaDataIdentityCheck(t, legacyTDB, declarativeTDB, linesExecutedSoFar) + } } } } -func inFailedSQLTransaction(db *gosql.DB) bool { - _, err := db.Exec("SELECT 1;") - return pgcode.MakeCode(string(getPQErrCode(err))) == pgcode.InFailedSQLTransaction +// isInATransaction returns true if connection `db` is currently in a transaction. +func isInATransaction(t *testing.T, db *gosql.DB) bool { + rows, err := db.Query("SHOW transaction_status;") + if pgcode.MakeCode(string(getPQErrCode(err))) == pgcode.InFailedSQLTransaction { + // Txn is in `ERROR` state. + return true + } + res, err := sqlutils.RowsToStrMatrix(rows) + require.NoError(t, err) + return res[0][0] == `Open` // Txn is in `Open` state. } // sqlLineModifier is the standard signature that takes as input a sql stmt(s) line @@ -183,13 +200,6 @@ WHERE col -> 'id' = pkcolid;`, name.String(), name.String())) colIsHidden == "true" && colType == "IntFamily", colName } - // A helper to determine whether the connection is currently in an open - // transaction. - isInAnOpenTransaction := func() bool { - res := tdb.QueryStr(t, `SHOW transaction_status;`) - return res[0][0] == `Open` - } - var newParsedStmts statements.Statements var modified bool for _, parsedStmt := range parsedStmts { @@ -218,11 +228,6 @@ WHERE col -> 'id' = pkcolid;`, name.String(), name.String())) parsedDropRowID, err := parser.ParseOne(fmt.Sprintf("ALTER TABLE %v DROP COLUMN IF EXISTS %v", tableName, implicitRowidColname)) require.NoError(t, err) newParsedStmts = append(newParsedStmts, parsedCommit, parsedDropRowID) - if isInAnOpenTransaction() { - parsedBegin, err := parser.ParseOne("begin") - require.NoError(t, err) - newParsedStmts = append(newParsedStmts, parsedBegin) - } modified = true } } From 1d7c87d6fcd182cd41f407da18e253e687318e5b Mon Sep 17 00:00:00 2001 From: Xiang Gu Date: Thu, 5 Oct 2023 15:42:59 -0400 Subject: [PATCH 2/5] sctest: Handle correctly in comparator testing framework when txn is in COMMIT_WAIT state If our clusters are in a transaction and that transaction is in COMMIT_WAIT state (a state where only COMMIT/ROLLBACK will be accepted), we previously incorrectly handles it by throwing out an error. We should let the framework continue since all stmts will be ignored in this state until the end of transaction. Release note: None --- pkg/sql/schemachanger/schemachanger_test.go | 6 +++++- pkg/sql/schemachanger/sctest/comparator.go | 7 +++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/pkg/sql/schemachanger/schemachanger_test.go b/pkg/sql/schemachanger/schemachanger_test.go index b7cbea5b38d0..31c6dafc5751 100644 --- a/pkg/sql/schemachanger/schemachanger_test.go +++ b/pkg/sql/schemachanger/schemachanger_test.go @@ -851,7 +851,7 @@ func TestCompareLegacyAndDeclarative(t *testing.T) { "ALTER TABLE t3 ADD PRIMARY KEY (i);", "COMMIT;", "BEGIN;", - "SELECT 1/0;", + "SELECT 1/0; -- move txn into ERROR state", "DROP TABLE IF EXISTS t2; -- expect to be ignored", "INSERT INTO t2 VALUES (1002, 1003); INSERT INTO t1 VALUES (1001, 1002); -- expect to be ignored", "ROLLBACK;", @@ -860,6 +860,10 @@ func TestCompareLegacyAndDeclarative(t *testing.T) { "ALTER TABLE t3 DROP CONSTRAINT t3_pkey;", "DELETE FROM t3 WHERE i = 1; -- expect to result in an error", "ROLLBACK;", + "BEGIN; SAVEPOINT cockroach_restart;", + "RELEASE SAVEPOINT cockroach_restart; -- move txn into DONE state", + "SELECT 1; -- expect to be ignored", + "COMMIT;", // statements that will be altered due to known behavioral differences in LSC vs DSC. "ALTER TABLE t1 ADD COLUMN xyz INT DEFAULT 30, ALTER PRIMARY KEY USING COLUMNS (j), DROP COLUMN i; -- unimplemented in legacy schema changer; expect to skip this line", diff --git a/pkg/sql/schemachanger/sctest/comparator.go b/pkg/sql/schemachanger/sctest/comparator.go index 9affd29c26f8..ab462063ab2d 100644 --- a/pkg/sql/schemachanger/sctest/comparator.go +++ b/pkg/sql/schemachanger/sctest/comparator.go @@ -91,6 +91,7 @@ func CompareLegacyAndDeclarative(t *testing.T, ss StmtLineReader) { _, errDeclarative := declarativeSQLDB.Exec(line) requireNoErrOrSameErrCode(t, line, errLegacy, errDeclarative) linesExecutedSoFar = append(linesExecutedSoFar, line) + t.Logf("Executing %q", line) // Post-execution: Check metadata level identity between two clusters. // Only run when not in a transaction (because legacy schema changer will be @@ -106,10 +107,12 @@ func CompareLegacyAndDeclarative(t *testing.T, ss StmtLineReader) { // isInATransaction returns true if connection `db` is currently in a transaction. func isInATransaction(t *testing.T, db *gosql.DB) bool { rows, err := db.Query("SHOW transaction_status;") - if pgcode.MakeCode(string(getPQErrCode(err))) == pgcode.InFailedSQLTransaction { - // Txn is in `ERROR` state. + errCode := pgcode.MakeCode(string(getPQErrCode(err))) + if errCode == pgcode.InFailedSQLTransaction || errCode == pgcode.InvalidTransactionState { + // Txn is in `ERROR` state (25P02) or `DONE` state (25000). return true } + require.NoError(t, err) // any other error not allowed res, err := sqlutils.RowsToStrMatrix(rows) require.NoError(t, err) return res[0][0] == `Open` // Txn is in `Open` state. From 617ef0a3f77c79dc1f4b6c7962e9045a7a88bc25 Mon Sep 17 00:00:00 2001 From: Xiang Gu Date: Thu, 5 Oct 2023 16:45:10 -0400 Subject: [PATCH 3/5] sctest: Use gosql.Conn to ensure we always use the same connection Our comparator testing framework reads statement, line by line, from a source and execute them. For example, ``` BEGIN; INSERT INTO t VALUES (1); UPDATE t SET i = 2 WHERE i = 3; COMMIT; ``` It is therefore essential that we read and execute those lines of stmts in the same connection. Previously, we have been using *gosql.DB but it uses a connection pool internal and thus does not necessarily always use the same connection. This commit changes it to explicit use the same connection by replacing it with a *gosql.Conn object. Release note: None --- pkg/sql/schemachanger/sctest/comparator.go | 63 ++++++++++++++-------- 1 file changed, 41 insertions(+), 22 deletions(-) diff --git a/pkg/sql/schemachanger/sctest/comparator.go b/pkg/sql/schemachanger/sctest/comparator.go index ab462063ab2d..2b954deaadfd 100644 --- a/pkg/sql/schemachanger/sctest/comparator.go +++ b/pkg/sql/schemachanger/sctest/comparator.go @@ -54,41 +54,45 @@ func CompareLegacyAndDeclarative(t *testing.T, ss StmtLineReader) { legacyTSI, legacySQLDB, _ := serverutils.StartServer(t, base.TestServerArgs{}) defer legacyTSI.Stopper().Stop(ctx) - legacyTDB := sqlutils.MakeSQLRunner(legacySQLDB) - legacyTDB.Exec(t, "SET use_declarative_schema_changer = off;") + legacyConn, err := legacySQLDB.Conn(ctx) + require.NoError(t, err) + _, err = legacyConn.ExecContext(ctx, "SET use_declarative_schema_changer = off;") + require.NoError(t, err) declarativeTSI, declarativeSQLDB, _ := serverutils.StartServer(t, base.TestServerArgs{}) defer declarativeTSI.Stopper().Stop(ctx) - declarativeTDB := sqlutils.MakeSQLRunner(declarativeSQLDB) - declarativeTDB.Exec(t, "SET use_declarative_schema_changer = on;") + declarativeConn, err := declarativeSQLDB.Conn(ctx) + require.NoError(t, err) + _, err = declarativeConn.ExecContext(ctx, "SET use_declarative_schema_changer = on;") + require.NoError(t, err) // Track executed statements so far for debugging/repro purposes. var linesExecutedSoFar []string for ss.HasNextLine() { line := ss.NextLine() - if _, err := parser.Parse(line); err != nil { + if _, err = parser.Parse(line); err != nil { // Skip lines with syntax error. continue } - inTxn := isInATransaction(t, legacySQLDB) + inTxn := isInATransaction(ctx, t, legacyConn) // Pre-execution: modify `line` so that executing it produces the same // state. This step is to account for the known behavior difference between // the two schema changers. // Only run when not in a transaction (otherwise certain DDL combo can make // sql queries issued during modification break; see commit message). if !inTxn { - line = modifyBlacklistedStmt(t, line, legacyTDB) + line = modifyBlacklistedStmt(ctx, t, line, legacyConn) } // Execution: `line` must be executed in both clusters with the same error // code. - _, errLegacy := legacySQLDB.Exec(line) + _, errLegacy := legacyConn.ExecContext(ctx, line) if pgcode.MakeCode(string(getPQErrCode(errLegacy))) == pgcode.FeatureNotSupported { continue } - _, errDeclarative := declarativeSQLDB.Exec(line) + _, errDeclarative := declarativeConn.ExecContext(ctx, line) requireNoErrOrSameErrCode(t, line, errLegacy, errDeclarative) linesExecutedSoFar = append(linesExecutedSoFar, line) t.Logf("Executing %q", line) @@ -98,15 +102,15 @@ func CompareLegacyAndDeclarative(t *testing.T, ss StmtLineReader) { // used in both clusters). if !inTxn { if containsStmtOfType(t, line, tree.TypeDDL) { - metaDataIdentityCheck(t, legacyTDB, declarativeTDB, linesExecutedSoFar) + metaDataIdentityCheck(ctx, t, legacyConn, declarativeConn, linesExecutedSoFar) } } } } // isInATransaction returns true if connection `db` is currently in a transaction. -func isInATransaction(t *testing.T, db *gosql.DB) bool { - rows, err := db.Query("SHOW transaction_status;") +func isInATransaction(ctx context.Context, t *testing.T, conn *gosql.Conn) bool { + rows, err := conn.QueryContext(ctx, "SHOW transaction_status;") errCode := pgcode.MakeCode(string(getPQErrCode(err))) if errCode == pgcode.InFailedSQLTransaction || errCode == pgcode.InvalidTransactionState { // Txn is in `ERROR` state (25P02) or `DONE` state (25000). @@ -122,20 +126,22 @@ func isInATransaction(t *testing.T, db *gosql.DB) bool { // and perform some kind of modification to it. // The SQLRunner is there in case the modification requires being able to access // certain info from the cluster with sql. -type sqlLineModifier func(*testing.T, statements.Statements, *sqlutils.SQLRunner) (statements.Statements, bool) +type sqlLineModifier func(context.Context, *testing.T, statements.Statements, *gosql.Conn) (statements.Statements, bool) // modifyBlacklistedStmt attempts to detect whether `line` is a known statement // with different behavior under legacy vs under declarative schema changer. // Those cases are hard-coded, and if `line` is one of them, we transform it // into one with the same behavior under those two schema changers. -func modifyBlacklistedStmt(t *testing.T, line string, legacyTDB *sqlutils.SQLRunner) string { +func modifyBlacklistedStmt( + ctx context.Context, t *testing.T, line string, legacyConn *gosql.Conn, +) string { parsedLine, err := parser.Parse(line) require.NoError(t, err) var modify bool for _, lm := range []sqlLineModifier{modifyExprsReferencingSequencesWithTrue, modifyAlterPKWithRowIDCol, modifySetDeclarativeSchemaChangerMode} { var m bool - parsedLine, m = lm(t, parsedLine, legacyTDB) + parsedLine, m = lm(ctx, t, parsedLine, legacyConn) modify = modify || m } if modify { @@ -148,7 +154,7 @@ func modifyBlacklistedStmt(t *testing.T, line string, legacyTDB *sqlutils.SQLRun // schema changer mode via session variable "use_declarative_schema_changer" or // cluster setting "sql.schema.force_declarative_statements". func modifySetDeclarativeSchemaChangerMode( - t *testing.T, parsedStmts statements.Statements, _ *sqlutils.SQLRunner, + _ context.Context, t *testing.T, parsedStmts statements.Statements, _ *gosql.Conn, ) (statements.Statements, bool) { var newParsedStmts statements.Statements for _, parsedStmt := range parsedStmts { @@ -174,12 +180,12 @@ func modifySetDeclarativeSchemaChangerMode( // column). // The returned boolean indicates if such a modification happened. func modifyAlterPKWithRowIDCol( - t *testing.T, parsedStmts statements.Statements, tdb *sqlutils.SQLRunner, + ctx context.Context, t *testing.T, parsedStmts statements.Statements, tdb *gosql.Conn, ) (statements.Statements, bool) { // A helper to determine whether table `name`'s current primary key column is // the implicitly created `rowid` column. isCurrentPrimaryKeyColumnRowID := func(name *tree.UnresolvedObjectName) (bool, string) { - res := tdb.QueryStr(t, fmt.Sprintf( + rows, err := tdb.QueryContext(ctx, fmt.Sprintf( ` WITH columns AS (SELECT jsonb_array_elements(crdb_internal.pb_to_json('cockroach.sql.sqlbase.Descriptor', descriptor) -> 'table' -> 'columns') AS col @@ -195,6 +201,9 @@ SELECT col ->> 'name' as "colName", col -> 'type' ->> 'family' as "columnFamilyType" FROM columns, pkcolumnids WHERE col -> 'id' = pkcolid;`, name.String(), name.String())) + require.NoError(t, err) + res, err := sqlutils.RowsToStrMatrix(rows) + require.NoError(t, err) if len(res) != 1 { return false, "" } @@ -242,7 +251,7 @@ WHERE col -> 'id' = pkcolid;`, name.String(), name.String())) // that references sequences to "True". The returned boolean indicates whether // such a modification happened. func modifyExprsReferencingSequencesWithTrue( - t *testing.T, parsedStmts statements.Statements, _ *sqlutils.SQLRunner, + _ context.Context, t *testing.T, parsedStmts statements.Statements, _ *gosql.Conn, ) (statements.Statements, bool) { // replaceSeqReferencesWithTrueInExpr detects if `expr` contains any references to // sequences. If so, return a new expression "True"; otherwise, return `expr` as is. @@ -344,10 +353,20 @@ func containsStmtOfType(t *testing.T, line string, typ tree.StatementType) bool // metaDataIdentityCheck looks up all descriptors' create_statements in // `legacy` and `declarative` clusters and assert that they are identical. func metaDataIdentityCheck( - t *testing.T, legacy, declarative *sqlutils.SQLRunner, linesExecutedSoFar []string, + ctx context.Context, t *testing.T, legacy, declarative *gosql.Conn, linesExecutedSoFar []string, ) { - legacyDescriptors := parserRoundTrip(t, legacy.QueryStr(t, fetchDescriptorStateQuery)) - declarativeDescriptors := parserRoundTrip(t, declarative.QueryStr(t, fetchDescriptorStateQuery)) + // A function to fetch all descriptors create statements, collectively known + // as the "descriptor state". + fetchDescriptorState := func(conn *gosql.Conn) [][]string { + rows, err := conn.QueryContext(ctx, fetchDescriptorStateQuery) + require.NoError(t, err) + res, err := sqlutils.RowsToStrMatrix(rows) + require.NoError(t, err) + return res + } + + legacyDescriptors := parserRoundTrip(t, fetchDescriptorState(legacy)) + declarativeDescriptors := parserRoundTrip(t, fetchDescriptorState(declarative)) if len(legacyDescriptors) != len(declarativeDescriptors) { t.Fatal(errors.Newf("number of descriptors mismatches: "+ "legacy cluster = %v, declarative cluster = %v", len(legacyDescriptors), len(declarativeDescriptors))) From f26c1bf41ef91023a4828a6a6c1245814beb5df6 Mon Sep 17 00:00:00 2001 From: Xiang Gu Date: Tue, 3 Oct 2023 12:15:45 -0400 Subject: [PATCH 4/5] sctest: Add a test that runs comparator testing from logictest stmts This commit introduced a new test that takes as input a path to a corpus file (of stmts collected from logic tests) and feed them into the comparator testing framework. It also edit the existing nightly such that we now collect the corpus and immediately feed them into the comparator testing framework, without having to store them in the cloud in between. Release note: None --- ...h => schema_changer_comparator_nightly.sh} | 6 +-- .../schema_changer_comparator_nightly_impl.sh | 32 ++++++++++++++++ ...sqllogic_statements_corpus_nightly_impl.sh | 22 ----------- pkg/sql/schemachanger/BUILD.bazel | 1 + pkg/sql/schemachanger/schemachanger_test.go | 38 +++++++++++++++++++ 5 files changed, 74 insertions(+), 25 deletions(-) rename build/teamcity/cockroach/nightlies/{sqllogic_statements_corpus_nightly.sh => schema_changer_comparator_nightly.sh} (67%) create mode 100755 build/teamcity/cockroach/nightlies/schema_changer_comparator_nightly_impl.sh delete mode 100755 build/teamcity/cockroach/nightlies/sqllogic_statements_corpus_nightly_impl.sh diff --git a/build/teamcity/cockroach/nightlies/sqllogic_statements_corpus_nightly.sh b/build/teamcity/cockroach/nightlies/schema_changer_comparator_nightly.sh similarity index 67% rename from build/teamcity/cockroach/nightlies/sqllogic_statements_corpus_nightly.sh rename to build/teamcity/cockroach/nightlies/schema_changer_comparator_nightly.sh index 3fb430fcd4ef..c8a4daf577d7 100755 --- a/build/teamcity/cockroach/nightlies/sqllogic_statements_corpus_nightly.sh +++ b/build/teamcity/cockroach/nightlies/schema_changer_comparator_nightly.sh @@ -7,7 +7,7 @@ dir="$(dirname $(dirname $(dirname $(dirname "${0}"))))" source "$dir/teamcity-support.sh" # For $root source "$dir/teamcity-bazel-support.sh" # For run_bazel -tc_start_block "Collect SQL Logic Tests Statements" +tc_start_block "Schema Changer Comparator Testing" BAZEL_SUPPORT_EXTRA_DOCKER_ARGS="-e TC_BUILD_BRANCH -e GITHUB_API_TOKEN -e GOOGLE_EPHEMERAL_CREDENTIALS -e BUILD_VCS_NUMBER -e TC_BUILD_ID -e TC_SERVER_URL -e TC_BUILDTYPE_ID -e GITHUB_REPO" \ - run_bazel build/teamcity/cockroach/nightlies/sqllogic_statements_corpus_nightly_impl.sh -tc_end_block "Collect SQL Logic Tests Statements" + run_bazel build/teamcity/cockroach/nightlies/schema_changer_comparator_nightly_impl.sh +tc_end_block "Schema Changer Comparator Testing" diff --git a/build/teamcity/cockroach/nightlies/schema_changer_comparator_nightly_impl.sh b/build/teamcity/cockroach/nightlies/schema_changer_comparator_nightly_impl.sh new file mode 100755 index 000000000000..75563efddff5 --- /dev/null +++ b/build/teamcity/cockroach/nightlies/schema_changer_comparator_nightly_impl.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +set -xeuo pipefail + +dir="$(dirname $(dirname $(dirname $(dirname "${0}"))))" +source "$dir/teamcity-support.sh" + +CORPUS_DIR=/artifacts/logictest-stmts-corpus-dir # dir to store all collected corpus file(s) +exit_status=0 + +# Collect sql logic tests statements corpus. +bazel run -- //pkg/cmd/generate-logictest-corpus:generate-logictest-corpus \ +-out-dir=$CORPUS_DIR \ +|| exit_status=$? + +bazel build //pkg/cmd/bazci --config=ci +BAZEL_BIN=$(bazel info bazel-bin --config=ci) + +# Run schema changer comparator test with statements from the collected corpus file(s). +for CORPUS_FILE in "$CORPUS_DIR"/* +do + $BAZEL_BIN/pkg/cmd/bazci/bazci_/bazci test -- --config=ci \ + //pkg/sql/schemachanger:schemachanger_test \ + --test_arg=--logictest-stmt-corpus-path="$CORPUS_FILE" \ + --test_filter='^TestComparatorFromLogicTests$' \ + --test_env=GO_TEST_WRAP_TESTV=1 \ + --test_env=GO_TEST_WRAP=1 \ + --test_timeout=7200 \ + || exit_status=$? +done + +exit $exit_status diff --git a/build/teamcity/cockroach/nightlies/sqllogic_statements_corpus_nightly_impl.sh b/build/teamcity/cockroach/nightlies/sqllogic_statements_corpus_nightly_impl.sh deleted file mode 100755 index 72544cbed6d9..000000000000 --- a/build/teamcity/cockroach/nightlies/sqllogic_statements_corpus_nightly_impl.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash - -set -xeuo pipefail - -dir="$(dirname $(dirname $(dirname $(dirname "${0}"))))" -source "$dir/teamcity-support.sh" - -google_credentials="$GOOGLE_EPHEMERAL_CREDENTIALS" -log_into_gcloud - -CORPUS_DIR=/artifacts/logictest-stmts-corpus-dir # dir to store all collected corpus file(s) -exit_status=0 - -# Collect sql logic tests statements corpus. -bazel run -- //pkg/cmd/generate-logictest-corpus:generate-logictest-corpus \ --out-dir=$CORPUS_DIR \ -|| exit_status=$? - -# Persist the validated corpus to GCS. -if [ $exit_status = 0 ]; then - gsutil cp $CORPUS_DIR/* gs://cockroach-corpus/corpus-$TC_BUILD_BRANCH/ -fi diff --git a/pkg/sql/schemachanger/BUILD.bazel b/pkg/sql/schemachanger/BUILD.bazel index b71ec7c8e869..6b7f0bcd46c5 100644 --- a/pkg/sql/schemachanger/BUILD.bazel +++ b/pkg/sql/schemachanger/BUILD.bazel @@ -54,6 +54,7 @@ go_test( "//pkg/sql/rowenc", "//pkg/sql/schemachanger/scexec", "//pkg/sql/schemachanger/scop", + "//pkg/sql/schemachanger/scpb", "//pkg/sql/schemachanger/scplan", "//pkg/sql/schemachanger/sctest", # keep "//pkg/sql/sessiondatapb", diff --git a/pkg/sql/schemachanger/schemachanger_test.go b/pkg/sql/schemachanger/schemachanger_test.go index 31c6dafc5751..6951fb399f80 100644 --- a/pkg/sql/schemachanger/schemachanger_test.go +++ b/pkg/sql/schemachanger/schemachanger_test.go @@ -13,8 +13,10 @@ package schemachanger_test import ( "context" "encoding/hex" + "flag" "fmt" "math/rand" + "os" "regexp" "strings" "sync" @@ -36,6 +38,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/sql/rowenc" "github.com/cockroachdb/cockroach/pkg/sql/schemachanger/scexec" "github.com/cockroachdb/cockroach/pkg/sql/schemachanger/scop" + "github.com/cockroachdb/cockroach/pkg/sql/schemachanger/scpb" "github.com/cockroachdb/cockroach/pkg/sql/schemachanger/scplan" "github.com/cockroachdb/cockroach/pkg/sql/schemachanger/sctest" "github.com/cockroachdb/cockroach/pkg/sql/sessiondatapb" @@ -885,3 +888,38 @@ func TestCompareLegacyAndDeclarative(t *testing.T) { sctest.CompareLegacyAndDeclarative(t, ss) } + +var logictestStmtsCorpusFile = flag.String("logictest-stmt-corpus-path", "", "path to logictest stmts corpus") + +func TestComparatorFromLogicTests(t *testing.T) { + defer leaktest.AfterTest(t)() + defer log.Scope(t).Close(t) + if *logictestStmtsCorpusFile == "" { + skip.IgnoreLint(t, "require `--logictest-stmt-corpus-path` to be set") + } + + bytes, err := os.ReadFile(*logictestStmtsCorpusFile) + require.NoError(t, err) + corpus := scpb.LogicTestStmtsCorpus{} + err = protoutil.Unmarshal(bytes, &corpus) + require.NoError(t, err) + + // Shuffle entries so the order of execution is different each time. It might + // speed up finding bugs. + rand.Shuffle(len(corpus.Entries), func(i, j int) { + corpus.Entries[i], corpus.Entries[j] = corpus.Entries[j], corpus.Entries[i] + }) + + for _, entry := range corpus.Entries { + subtestName := entry.Name + subtestStatements := entry.Statements + t.Run(entry.Name, func(t *testing.T) { + t.Logf("running schema changer comparator testing on statements collected from logic test %q\n", subtestName) + ss := &staticSQLStmtLineProvider{ + stmts: subtestStatements, + } + sctest.CompareLegacyAndDeclarative(t, ss) + t.Logf("schema changer comparator testing succeeded on logic test %q\n", subtestName) + }) + } +} From a87f0c71ab05a1569641744cb687e8c913d46f1b Mon Sep 17 00:00:00 2001 From: Zach Lite Date: Wed, 27 Sep 2023 14:31:57 -0400 Subject: [PATCH 5/5] sql: create new system observability tables and update job This commit is the combination of two separate work streams, brought together for resolving logic test fallout simultaneously. The first, authored by @koorosh is the creation of system.transaction_exec_insights and system.statement_exec_insights. The second, authored by @zachlite in #111365 is the creation of system.mvcc_statistics and the MVCCStatisticsUpdate job. Regarding persisted insights: Before, this data was kept in memory only and tracked limited number of latest insights. These tables will be used to persist this data periodically. Tables allow to store the same information as in memory insights without aggregation. To control the amount of data stored in tables, there will be follow up PR to run GC job and prune old records. To make tables flexible to changes when some columns might become obsolete, most of the columns defined as nullable. Regarding persisted MVCC Statistics: The system.mvcc_statistics table stores historical mvcc data for a tenant's SQL objects. It's purpose it to serve mvcc data for a SQL object quickly - The span stats API is too slow to use in a hot path. Storing data over time unlocks new use cases like showing a table or index's accumulated garbage over time. The MVCCStatisticsUpdate Job is responsible for managing the contents of the table, decoupled from the read-hotpath. Both the table and job are baked when a cluster bootstraps itself, or upgrades itself from a previous version. This PR supersedes #111365 with the following changes: - Descriptor fixes to the mvcc_statistics table. No logical changes, just housekeeping to make sure that the create table schema and descriptors produce the same table. - Fixes to the job to make sure the job system can wind down. Partially resolves: #104582 Epic: CRDB-25491 Release note: None --- docs/generated/metrics/metrics.html | 12 + .../settings/settings-for-tenants.txt | 2 +- docs/generated/settings/settings.html | 2 +- pkg/ccl/backupccl/system_schema.go | 9 + .../testdata/logic_test/crdb_internal_tenant | 4 +- .../multi_region_remote_access_error | 2 +- .../logic_test/regional_by_row_query_behavior | 4 +- .../spanconfigreconcilerccl/testdata/basic | 12 + .../spanconfigreconcilerccl/testdata/indexes | 15 + .../testdata/multitenant/basic | 18 + .../testdata/multitenant/protectedts | 6 + .../testdata/multitenant/range_tenants | 18 + .../testdata/multitenant/tenant_end_key_split | 14 +- .../testdata/named_zones | 6 + .../testdata/partitions | 24 + .../testdata/protectedts | 9 + .../testdata/full_translate | 3 + .../full_translate_named_zones_deleted | 3 + .../testdata/system_database | 9 + .../testdata/tenant/full_translate | 6 + pkg/cli/testdata/doctor/test_examine_cluster | 4 +- pkg/clusterversion/cockroach_versions.go | 18 + pkg/jobs/jobs_test.go | 1 + pkg/jobs/jobspb/jobs.proto | 11 + pkg/jobs/jobspb/wrap.go | 16 +- pkg/jobs/registry.go | 2 + pkg/jobs/registry_test.go | 3 + .../admission_post_split_merge | 6 +- .../testdata/flow_control_integration/basic | 2 +- .../blocked_admission | 36 +- .../flow_control_integration/crashed_node | 6 +- .../granter_admit_one_by_one | 6 +- .../flow_control_integration/raft_membership | 32 +- .../flow_control_integration/raft_snapshot | 46 +- .../raft_transport_break | 10 +- .../raft_transport_culled | 10 +- .../flow_control_integration/split_merge | 6 +- pkg/sql/BUILD.bazel | 1 + pkg/sql/catalog/bootstrap/bootstrap_test.go | 2 +- pkg/sql/catalog/bootstrap/metadata.go | 5 +- pkg/sql/catalog/bootstrap/testdata/testdata | 23 +- pkg/sql/catalog/catprivilege/system.go | 3 + .../internal/catkv/testdata/testdata_app | 15 + .../internal/catkv/testdata/testdata_system | 15 + pkg/sql/catalog/systemschema/system.go | 542 +++++++++++++++++- .../testdata/bootstrap_system | 108 +++- .../testdata/bootstrap_tenant | 114 +++- .../testdata/logic_test/cluster_locks | 2 +- .../testdata/logic_test/crdb_internal_catalog | 8 +- .../testdata/logic_test/dist_vectorize | 2 +- .../logictest/testdata/logic_test/distsql_agg | 2 +- .../testdata/logic_test/distsql_crdb_internal | 2 +- .../testdata/logic_test/distsql_distinct_on | 2 +- .../testdata/logic_test/distsql_enum | 2 +- .../testdata/logic_test/distsql_numtables | 4 +- .../testdata/logic_test/distsql_stats | 2 +- .../testdata/logic_test/distsql_subquery | 2 +- .../testdata/logic_test/distsql_union | 2 +- .../experimental_distsql_planning_5node | 2 +- pkg/sql/logictest/testdata/logic_test/export | 2 +- .../testdata/logic_test/gen_test_objects | 73 +-- .../logictest/testdata/logic_test/geospatial | 1 - .../logictest/testdata/logic_test/grant_table | 48 ++ .../testdata/logic_test/information_schema | 162 ++++++ .../inverted_filter_geospatial_dist | 4 +- .../logic_test/inverted_join_geospatial_dist | 2 +- .../testdata/logic_test/merge_join_dist | 2 +- .../logictest/testdata/logic_test/pg_catalog | 30 +- pkg/sql/logictest/testdata/logic_test/ranges | 20 +- .../schema_locked_in_cluster_before_23_1 | 1 - .../testdata/logic_test/select_for_share | 1 - .../logictest/testdata/logic_test/show_ranges | 102 ++-- .../logictest/testdata/logic_test/show_source | 8 +- .../logictest/testdata/logic_test/split_at | 4 +- pkg/sql/logictest/testdata/logic_test/system | 60 ++ .../testdata/logic_test/system_namespace | 6 + .../logic_test/zone_config_system_tenant | 2 - pkg/sql/mvcc_statistics_update_job.go | 77 +++ .../opt/exec/execbuilder/testdata/autocommit | 118 ++-- pkg/sql/opt/exec/execbuilder/testdata/delete | 8 +- .../exec/execbuilder/testdata/dist_vectorize | 2 +- .../opt/exec/execbuilder/testdata/distsql_agg | 2 +- .../execbuilder/testdata/distsql_distinct_on | 2 +- .../execbuilder/testdata/distsql_group_join | 2 +- .../execbuilder/testdata/distsql_indexjoin | 2 +- .../testdata/distsql_inverted_index | 4 +- .../exec/execbuilder/testdata/distsql_join | 2 +- .../execbuilder/testdata/distsql_merge_join | 2 +- .../exec/execbuilder/testdata/distsql_misc | 2 +- .../execbuilder/testdata/distsql_numtables | 4 +- .../execbuilder/testdata/distsql_ordinality | 2 +- .../testdata/distsql_tighten_spans | 2 +- .../exec/execbuilder/testdata/distsql_union | 2 +- .../exec/execbuilder/testdata/distsql_window | 2 +- .../experimental_distsql_planning_5node | 2 +- .../testdata/explain_analyze_plans | 2 +- .../testdata/inverted_filter_geospatial_dist | 8 +- .../testdata/inverted_join_geospatial_dist | 2 +- .../inverted_join_geospatial_dist_vec | 2 +- .../testdata/inverted_join_json_array_dist | 2 +- .../testdata/inverted_join_multi_column_dist | 2 +- .../opt/exec/execbuilder/testdata/lookup_join | 2 +- .../execbuilder/testdata/merge_join_dist_vec | 2 +- .../exec/execbuilder/testdata/scan_parallel | 2 +- .../opt/exec/execbuilder/testdata/show_trace | 26 +- pkg/sql/opt/testutils/testcat/vtable.go | 3 + pkg/sql/sem/catconstants/constants.go | 3 + pkg/sql/tests/testdata/initial_keys | 29 +- pkg/upgrade/upgradebase/testing_knobs.go | 2 + pkg/upgrade/upgrades/BUILD.bazel | 5 + .../upgrades/mvcc_statistics_migration.go | 64 +++ .../mvcc_statistics_migration_test.go | 80 +++ pkg/upgrade/upgrades/system_exec_insights.go | 32 ++ .../upgrades/system_exec_insights_test.go | 69 +++ pkg/upgrade/upgrades/upgrades.go | 12 + pkg/util/rangedesc/testdata/scoped_iteration | 26 +- .../testdata/scoped_iteration_with_page_size | 13 +- .../testdata/scoped_iteration_with_splits | 19 +- 118 files changed, 2037 insertions(+), 388 deletions(-) create mode 100644 pkg/sql/mvcc_statistics_update_job.go create mode 100644 pkg/upgrade/upgrades/mvcc_statistics_migration.go create mode 100644 pkg/upgrade/upgrades/mvcc_statistics_migration_test.go create mode 100644 pkg/upgrade/upgrades/system_exec_insights.go create mode 100644 pkg/upgrade/upgrades/system_exec_insights_test.go diff --git a/docs/generated/metrics/metrics.html b/docs/generated/metrics/metrics.html index c9176d6d5e82..0a8dcfeb9856 100644 --- a/docs/generated/metrics/metrics.html +++ b/docs/generated/metrics/metrics.html @@ -1077,6 +1077,18 @@ APPLICATIONjobs.migration.resume_completedNumber of migration jobs which successfully resumed to completionjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONjobs.migration.resume_failedNumber of migration jobs which failed with a non-retriable errorjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONjobs.migration.resume_retry_errorNumber of migration jobs which failed with a retriable errorjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE +APPLICATIONjobs.mvcc_statistics_update.currently_idleNumber of mvcc_statistics_update jobs currently considered Idle and can be freely shut downjobsGAUGECOUNTAVGNONE +APPLICATIONjobs.mvcc_statistics_update.currently_pausedNumber of mvcc_statistics_update jobs currently considered PausedjobsGAUGECOUNTAVGNONE +APPLICATIONjobs.mvcc_statistics_update.currently_runningNumber of mvcc_statistics_update jobs currently running in Resume or OnFailOrCancel statejobsGAUGECOUNTAVGNONE +APPLICATIONjobs.mvcc_statistics_update.expired_pts_recordsNumber of expired protected timestamp records owned by mvcc_statistics_update jobsrecordsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE +APPLICATIONjobs.mvcc_statistics_update.fail_or_cancel_completedNumber of mvcc_statistics_update jobs which successfully completed their failure or cancelation processjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE +APPLICATIONjobs.mvcc_statistics_update.fail_or_cancel_failedNumber of mvcc_statistics_update jobs which failed with a non-retriable error on their failure or cancelation processjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE +APPLICATIONjobs.mvcc_statistics_update.fail_or_cancel_retry_errorNumber of mvcc_statistics_update jobs which failed with a retriable error on their failure or cancelation processjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE +APPLICATIONjobs.mvcc_statistics_update.protected_age_secThe age of the oldest PTS record protected by mvcc_statistics_update jobssecondsGAUGESECONDSAVGNONE +APPLICATIONjobs.mvcc_statistics_update.protected_record_countNumber of protected timestamp records held by mvcc_statistics_update jobsrecordsGAUGECOUNTAVGNONE +APPLICATIONjobs.mvcc_statistics_update.resume_completedNumber of mvcc_statistics_update jobs which successfully resumed to completionjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE +APPLICATIONjobs.mvcc_statistics_update.resume_failedNumber of mvcc_statistics_update jobs which failed with a non-retriable errorjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE +APPLICATIONjobs.mvcc_statistics_update.resume_retry_errorNumber of mvcc_statistics_update jobs which failed with a retriable errorjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONjobs.new_schema_change.currently_idleNumber of new_schema_change jobs currently considered Idle and can be freely shut downjobsGAUGECOUNTAVGNONE APPLICATIONjobs.new_schema_change.currently_pausedNumber of new_schema_change jobs currently considered PausedjobsGAUGECOUNTAVGNONE APPLICATIONjobs.new_schema_change.currently_runningNumber of new_schema_change jobs currently running in Resume or OnFailOrCancel statejobsGAUGECOUNTAVGNONE diff --git a/docs/generated/settings/settings-for-tenants.txt b/docs/generated/settings/settings-for-tenants.txt index 31e4d73c7cc7..64bca4d7f5a5 100644 --- a/docs/generated/settings/settings-for-tenants.txt +++ b/docs/generated/settings/settings-for-tenants.txt @@ -315,4 +315,4 @@ trace.snapshot.rate duration 0s if non-zero, interval at which background trace trace.span_registry.enabled boolean true if set, ongoing traces can be seen at https:///#/debug/tracez application trace.zipkin.collector string the address of a Zipkin instance to receive traces, as :. If no port is specified, 9411 will be used. application ui.display_timezone enumeration etc/utc the timezone used to format timestamps in the ui [etc/utc = 0, america/new_york = 1] application -version version 1000023.1-28 set the active cluster version in the format '.' application +version version 1000023.1-32 set the active cluster version in the format '.' application diff --git a/docs/generated/settings/settings.html b/docs/generated/settings/settings.html index 016f86ae17b0..9be8b7cc903a 100644 --- a/docs/generated/settings/settings.html +++ b/docs/generated/settings/settings.html @@ -269,6 +269,6 @@
trace.span_registry.enabled
booleantrueif set, ongoing traces can be seen at https://<ui>/#/debug/tracezServerless/Dedicated/Self-Hosted
trace.zipkin.collector
stringthe address of a Zipkin instance to receive traces, as <host>:<port>. If no port is specified, 9411 will be used.Serverless/Dedicated/Self-Hosted
ui.display_timezone
enumerationetc/utcthe timezone used to format timestamps in the ui [etc/utc = 0, america/new_york = 1]Serverless/Dedicated/Self-Hosted -
version
version1000023.1-28set the active cluster version in the format '<major>.<minor>'Serverless/Dedicated/Self-Hosted +
version
version1000023.1-32set the active cluster version in the format '<major>.<minor>'Serverless/Dedicated/Self-Hosted diff --git a/pkg/ccl/backupccl/system_schema.go b/pkg/ccl/backupccl/system_schema.go index 264f091fce54..6db737203af1 100644 --- a/pkg/ccl/backupccl/system_schema.go +++ b/pkg/ccl/backupccl/system_schema.go @@ -818,6 +818,15 @@ var systemTableBackupConfiguration = map[string]systemBackupConfiguration{ systemschema.RegionLivenessTable.GetName(): { shouldIncludeInClusterBackup: optOutOfClusterBackup, }, + systemschema.SystemMVCCStatisticsTable.GetName(): { + shouldIncludeInClusterBackup: optOutOfClusterBackup, + }, + systemschema.StatementExecInsightsTable.GetName(): { + shouldIncludeInClusterBackup: optOutOfClusterBackup, + }, + systemschema.TransactionExecInsightsTable.GetName(): { + shouldIncludeInClusterBackup: optOutOfClusterBackup, + }, } func rekeySystemTable( diff --git a/pkg/ccl/logictestccl/testdata/logic_test/crdb_internal_tenant b/pkg/ccl/logictestccl/testdata/logic_test/crdb_internal_tenant index 83290fdebeae..7ecd05ab35f9 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/crdb_internal_tenant +++ b/pkg/ccl/logictestccl/testdata/logic_test/crdb_internal_tenant @@ -351,12 +351,12 @@ txn_id txn_fingerprint_id query implicit_txn session_id start_time end_tim query ITTI SELECT range_id, start_pretty, end_pretty, lease_holder FROM crdb_internal.ranges ---- -65 /Tenant/10 /Tenant/11 1 +68 /Tenant/10 /Tenant/11 1 query ITT SELECT range_id, start_pretty, end_pretty FROM crdb_internal.ranges_no_leases ---- -65 /Tenant/10 /Tenant/11 +68 /Tenant/10 /Tenant/11 query IT SELECT zone_id, target FROM crdb_internal.zones ORDER BY 1 diff --git a/pkg/ccl/logictestccl/testdata/logic_test/multi_region_remote_access_error b/pkg/ccl/logictestccl/testdata/logic_test/multi_region_remote_access_error index 364de7fce904..9ce876d47cbe 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/multi_region_remote_access_error +++ b/pkg/ccl/logictestccl/testdata/logic_test/multi_region_remote_access_error @@ -463,7 +463,7 @@ skipif config multiregion-9node-3region-3azs-vec-off query I retry SELECT DISTINCT range_id FROM [SHOW RANGES FROM TABLE messages_rbr] ---- -67 +70 # Update does not fail when accessing all rows in messages_rbr because lookup # join does not error out the lookup table in phase 1. diff --git a/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_query_behavior b/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_query_behavior index e60c7a0f492c..e94dd97b72b8 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_query_behavior +++ b/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_query_behavior @@ -264,7 +264,7 @@ ap-southeast-2 23 query TT SELECT start_key, end_key FROM [SHOW RANGE FROM TABLE regional_by_row_table FOR ROW ('ap-southeast-2', 1)] ---- - … + … query TIIII SELECT crdb_region, pk, pk2, a, b FROM regional_by_row_table @@ -402,7 +402,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM INDEX r ORDER BY 1 ---- start_key end_key replicas lease_holder - …/"\x80"/0 {1} 1 + …/"\x80"/0 {1} 1 …/"\x80"/0 …/"\xc0"/0 {4} 4 …/"\xc0"/0 {7} 7 diff --git a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/basic b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/basic index f85b6c7b26dc..5668418b1e88 100644 --- a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/basic +++ b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/basic @@ -70,6 +70,9 @@ upsert /Table/{59-60} database system (host) upsert /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true upsert /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true upsert /Table/6{2-3} database system (host) +upsert /Table/6{3-4} database system (host) +upsert /Table/6{4-5} database system (host) +upsert /Table/6{5-6} database system (host) exec-sql CREATE DATABASE db; @@ -122,6 +125,9 @@ state offset=47 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Table/10{6-7} num_replicas=7 num_voters=5 /Table/10{7-8} num_replicas=7 /Table/11{2-3} num_replicas=7 @@ -233,6 +239,12 @@ delete /Table/{59-60} upsert /Table/{59-60} ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true delete /Table/6{2-3} upsert /Table/6{2-3} ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true +delete /Table/6{3-4} +upsert /Table/6{3-4} ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true +delete /Table/6{4-5} +upsert /Table/6{4-5} ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true +delete /Table/6{5-6} +upsert /Table/6{5-6} ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true state offset=5 limit=42 ---- diff --git a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/indexes b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/indexes index 3934f16ab43d..970d704c6866 100644 --- a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/indexes +++ b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/indexes @@ -37,6 +37,9 @@ state offset=47 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Table/10{6-7} range default exec-sql @@ -74,6 +77,9 @@ state offset=47 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Table/106{-/2} num_replicas=7 /Table/106/{2-3} num_replicas=7 num_voters=5 /Table/10{6/3-7} num_replicas=7 @@ -113,6 +119,9 @@ state offset=47 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Table/106{-/2} ttl_seconds=3600 num_replicas=7 /Table/106/{2-3} ttl_seconds=25 num_replicas=7 num_voters=5 /Table/10{6/3-7} ttl_seconds=3600 num_replicas=7 @@ -142,6 +151,9 @@ state offset=47 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Table/106{-/2} ttl_seconds=3600 num_replicas=9 /Table/106/{2-3} ttl_seconds=25 num_replicas=9 num_voters=5 /Table/10{6/3-7} ttl_seconds=3600 num_replicas=9 @@ -185,3 +197,6 @@ state offset=46 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) diff --git a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/basic b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/basic index 2e34222635cf..c3979acb4e83 100644 --- a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/basic +++ b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/basic @@ -38,6 +38,9 @@ state offset=47 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Tenant/10{-\x00} database system (tenant) /Tenant/11{-\x00} database system (tenant) /Tenant/12{-\x00} database system (tenant) @@ -95,6 +98,9 @@ upsert /Tenant/10/Table/5{6-7} database system (tenant) upsert /Tenant/10/Table/5{7-8} database system (tenant) upsert /Tenant/10/Table/5{8-9} database system (tenant) upsert /Tenant/10/Table/{59-60} database system (tenant) +upsert /Tenant/10/Table/6{0-1} database system (tenant) +upsert /Tenant/10/Table/6{1-2} database system (tenant) +upsert /Tenant/10/Table/6{2-3} database system (tenant) state offset=47 ---- @@ -115,6 +121,9 @@ state offset=47 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Tenant/10{-/Table/4} database system (tenant) /Tenant/10/Table/{4-5} database system (tenant) /Tenant/10/Table/{5-6} database system (tenant) @@ -161,6 +170,9 @@ state offset=47 /Tenant/10/Table/5{7-8} database system (tenant) /Tenant/10/Table/5{8-9} database system (tenant) /Tenant/10/Table/{59-60} database system (tenant) +/Tenant/10/Table/6{0-1} database system (tenant) +/Tenant/10/Table/6{1-2} database system (tenant) +/Tenant/10/Table/6{2-3} database system (tenant) /Tenant/11{-\x00} database system (tenant) /Tenant/12{-\x00} database system (tenant) @@ -185,6 +197,9 @@ upsert /Tenant/10/Table/11{3-4} range default state offset=81 ---- ... +/Tenant/10/Table/2{4-5} database system (tenant) +/Tenant/10/Table/2{5-6} database system (tenant) +/Tenant/10/Table/2{6-7} database system (tenant) /Tenant/10/Table/2{7-8} database system (tenant) /Tenant/10/Table/2{8-9} database system (tenant) /Tenant/10/NamespaceTable/{30-Max} database system (tenant) @@ -213,6 +228,9 @@ state offset=81 /Tenant/10/Table/5{7-8} database system (tenant) /Tenant/10/Table/5{8-9} database system (tenant) /Tenant/10/Table/{59-60} database system (tenant) +/Tenant/10/Table/6{0-1} database system (tenant) +/Tenant/10/Table/6{1-2} database system (tenant) +/Tenant/10/Table/6{2-3} database system (tenant) /Tenant/10/Table/10{6-7} range default /Tenant/10/Table/10{7-8} range default /Tenant/10/Table/11{2-3} range default diff --git a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/protectedts b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/protectedts index c0534010ba12..77a13cbe16fb 100644 --- a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/protectedts +++ b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/protectedts @@ -35,6 +35,9 @@ state offset=47 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Tenant/10{-\x00} database system (tenant) /Tenant/11{-\x00} database system (tenant) @@ -111,6 +114,9 @@ upsert /Tenant/10/Table/5{6-7} database system (tenant) upsert /Tenant/10/Table/5{7-8} database system (tenant) upsert /Tenant/10/Table/5{8-9} database system (tenant) upsert /Tenant/10/Table/{59-60} database system (tenant) +upsert /Tenant/10/Table/6{0-1} database system (tenant) +upsert /Tenant/10/Table/6{1-2} database system (tenant) +upsert /Tenant/10/Table/6{2-3} database system (tenant) exec-sql tenant=10 CREATE DATABASE db; diff --git a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/range_tenants b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/range_tenants index 2fbbc7647391..b6e63a201437 100644 --- a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/range_tenants +++ b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/range_tenants @@ -54,6 +54,9 @@ state offset=47 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Tenant/10{-\x00} database system (tenant) /Tenant/11{-\x00} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true /Tenant/12{-\x00} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true @@ -86,6 +89,9 @@ state offset=47 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Tenant/10{-/Table/4} database system (tenant) /Tenant/10/Table/{4-5} database system (tenant) /Tenant/10/Table/{5-6} database system (tenant) @@ -132,6 +138,9 @@ state offset=47 /Tenant/10/Table/5{7-8} database system (tenant) /Tenant/10/Table/5{8-9} database system (tenant) /Tenant/10/Table/{59-60} database system (tenant) +/Tenant/10/Table/6{0-1} database system (tenant) +/Tenant/10/Table/6{1-2} database system (tenant) +/Tenant/10/Table/6{2-3} database system (tenant) /Tenant/11{-\x00} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true /Tenant/12{-\x00} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true @@ -169,6 +178,9 @@ mutations discard tenant=11 state offset=81 ---- ... +/Tenant/10/Table/2{4-5} database system (tenant) +/Tenant/10/Table/2{5-6} database system (tenant) +/Tenant/10/Table/2{6-7} database system (tenant) /Tenant/10/Table/2{7-8} database system (tenant) /Tenant/10/Table/2{8-9} database system (tenant) /Tenant/10/NamespaceTable/{30-Max} database system (tenant) @@ -197,6 +209,9 @@ state offset=81 /Tenant/10/Table/5{7-8} database system (tenant) /Tenant/10/Table/5{8-9} database system (tenant) /Tenant/10/Table/{59-60} database system (tenant) +/Tenant/10/Table/6{0-1} database system (tenant) +/Tenant/10/Table/6{1-2} database system (tenant) +/Tenant/10/Table/6{2-3} database system (tenant) /Tenant/10/Table/10{6-7} range default /Tenant/10/Table/10{7-8} range default /Tenant/11{-/Table/4} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true @@ -245,6 +260,9 @@ state offset=81 /Tenant/11/Table/5{7-8} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true /Tenant/11/Table/5{8-9} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true /Tenant/11/Table/{59-60} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true +/Tenant/11/Table/6{0-1} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true +/Tenant/11/Table/6{1-2} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true +/Tenant/11/Table/6{2-3} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true /Tenant/12{-\x00} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true query-sql tenant=11 diff --git a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/tenant_end_key_split b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/tenant_end_key_split index 5a29da7f9461..265d6962bca4 100644 --- a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/tenant_end_key_split +++ b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/tenant_end_key_split @@ -21,6 +21,9 @@ state offset=59 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Tenant/11{-\x00} database system (tenant) /Tenant/12{-\x00} database system (tenant) @@ -49,12 +52,18 @@ state offset=60 limit=3 state offset=103 ---- ... +/Tenant/11/Table/5{1-2} database system (tenant) +/Tenant/11/Table/5{2-3} database system (tenant) +/Tenant/11/Table/5{3-4} database system (tenant) /Tenant/11/Table/5{4-5} database system (tenant) /Tenant/11/Table/5{5-6} database system (tenant) /Tenant/11/Table/5{6-7} database system (tenant) /Tenant/11/Table/5{7-8} database system (tenant) /Tenant/11/Table/5{8-9} database system (tenant) /Tenant/11/Table/{59-60} database system (tenant) +/Tenant/11/Table/6{0-1} database system (tenant) +/Tenant/11/Table/6{1-2} database system (tenant) +/Tenant/11/Table/6{2-3} database system (tenant) /Tenant/12{-\x00} database system (tenant) # Just another view of what the tenant's reconciler actually did. It got rid of @@ -110,6 +119,9 @@ upsert /Tenant/11/Table/5{6-7} database system (tenant) upsert /Tenant/11/Table/5{7-8} database system (tenant) upsert /Tenant/11/Table/5{8-9} database system (tenant) upsert /Tenant/11/Table/{59-60} database system (tenant) +upsert /Tenant/11/Table/6{0-1} database system (tenant) +upsert /Tenant/11/Table/6{1-2} database system (tenant) +upsert /Tenant/11/Table/6{2-3} database system (tenant) # Initialize a new tenant, tenant=10, that DOES have a pre-existing tenant, # tenant=11, next to it. @@ -125,5 +137,5 @@ state offset=59 limit=5 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) -/Tenant/10{-\x00} database system (tenant) +/Table/6{3-4} database system (host) ... diff --git a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/named_zones b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/named_zones index 311e886c3053..4f13dc06ecf9 100644 --- a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/named_zones +++ b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/named_zones @@ -140,6 +140,9 @@ state offset=46 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Table/10{6-7} ttl_seconds=50 # Make sure future descendants observe the same. @@ -171,6 +174,9 @@ state offset=46 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Table/10{6-7} ttl_seconds=50 /Table/10{7-8} ttl_seconds=50 diff --git a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/partitions b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/partitions index c682d3227f9d..6feb351aea1f 100644 --- a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/partitions +++ b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/partitions @@ -29,6 +29,9 @@ state offset=47 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) exec-sql CREATE DATABASE db; @@ -64,6 +67,9 @@ state offset=47 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Table/10{6-7} range default # All parent schema zone config changes cascade to the entire table's span. @@ -96,6 +102,9 @@ state offset=47 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Table/10{6-7} num_replicas=7 num_voters=5 # Apply a zone configuration on one of the partitions, `one_two`, which @@ -133,6 +142,9 @@ state offset=47 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Table/106{-/1/1} num_replicas=7 num_voters=5 /Table/106/1/{1-2} global_reads=true num_replicas=7 num_voters=5 /Table/106/1/{2-3} global_reads=true num_replicas=7 num_voters=5 @@ -170,6 +182,9 @@ state offset=47 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Table/106{-/1/1} num_replicas=7 num_voters=5 /Table/106/1/{1-2} global_reads=true num_replicas=7 num_voters=5 /Table/106/1/{2-3} global_reads=true num_replicas=7 num_voters=5 @@ -221,6 +236,9 @@ state offset=47 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Table/106{-/1} num_replicas=7 num_voters=5 /Table/106/1{-/1} num_replicas=7 num_voters=6 /Table/106/1/{1-2} global_reads=true num_replicas=7 num_voters=5 @@ -270,6 +288,9 @@ state offset=47 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Table/106{-/1} num_replicas=7 /Table/106/1{-/1} num_replicas=7 num_voters=6 /Table/106/1/{1-2} global_reads=true num_replicas=7 @@ -313,3 +334,6 @@ state offset=47 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) diff --git a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/protectedts b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/protectedts index d1c65fa9d33d..84177208594e 100644 --- a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/protectedts +++ b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/protectedts @@ -92,6 +92,9 @@ state offset=51 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Table/10{6-7} protection_policies=[{ts: 3} {ts: 4}] /Table/10{7-8} protection_policies=[{ts: 3} {ts: 4}] @@ -146,6 +149,9 @@ state offset=57 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Table/10{6-7} protection_policies=[{ts: 3} {ts: 4}] /Table/10{7-8} protection_policies=[{ts: 3} {ts: 4}] @@ -166,5 +172,8 @@ state offset=57 /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Table/10{6-7} range default /Table/10{7-8} range default diff --git a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/full_translate b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/full_translate index 98d5b54e3615..cb8db3f3eba1 100644 --- a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/full_translate +++ b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/full_translate @@ -86,6 +86,9 @@ full-translate /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) /Table/11{0-1} range default /Table/11{1-2} range default /Table/11{2-3} range default diff --git a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/full_translate_named_zones_deleted b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/full_translate_named_zones_deleted index 594adb0180c2..7d460d0ed37e 100644 --- a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/full_translate_named_zones_deleted +++ b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/full_translate_named_zones_deleted @@ -109,3 +109,6 @@ full-translate /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) diff --git a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/system_database b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/system_database index b45e2d951827..5c1f63e9f524 100644 --- a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/system_database +++ b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/system_database @@ -62,6 +62,9 @@ translate database=system /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true /Table/6{2-3} database system (host) +/Table/6{3-4} database system (host) +/Table/6{4-5} database system (host) +/Table/6{5-6} database system (host) # Alter zone config fields on the database to ensure the effects cascade. exec-sql @@ -128,6 +131,9 @@ translate database=system /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=7 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=7 rangefeed_enabled=true /Table/6{2-3} ignore_strict_gc=true num_replicas=7 rangefeed_enabled=true +/Table/6{3-4} ignore_strict_gc=true num_replicas=7 rangefeed_enabled=true +/Table/6{4-5} ignore_strict_gc=true num_replicas=7 rangefeed_enabled=true +/Table/6{5-6} ignore_strict_gc=true num_replicas=7 rangefeed_enabled=true # Alter a named range that maps to a pseudo table ID, ensuring that its effects # are independent. @@ -200,3 +206,6 @@ full-translate /Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=7 rangefeed_enabled=true /Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=7 rangefeed_enabled=true /Table/6{2-3} ignore_strict_gc=true num_replicas=7 rangefeed_enabled=true +/Table/6{3-4} ignore_strict_gc=true num_replicas=7 rangefeed_enabled=true +/Table/6{4-5} ignore_strict_gc=true num_replicas=7 rangefeed_enabled=true +/Table/6{5-6} ignore_strict_gc=true num_replicas=7 rangefeed_enabled=true diff --git a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/full_translate b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/full_translate index 7df0f734c09d..767ef0dd420c 100644 --- a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/full_translate +++ b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/full_translate @@ -63,6 +63,9 @@ full-translate /Tenant/10/Table/5{7-8} database system (tenant) /Tenant/10/Table/5{8-9} database system (tenant) /Tenant/10/Table/{59-60} database system (tenant) +/Tenant/10/Table/6{0-1} database system (tenant) +/Tenant/10/Table/6{1-2} database system (tenant) +/Tenant/10/Table/6{2-3} database system (tenant) /Tenant/10/Table/11{0-1} range default /Tenant/10/Table/11{1-2} range default /Tenant/10/Table/11{2-3} range default @@ -116,6 +119,9 @@ translate named-zone=default /Tenant/10/Table/5{7-8} database system (tenant) /Tenant/10/Table/5{8-9} database system (tenant) /Tenant/10/Table/{59-60} database system (tenant) +/Tenant/10/Table/6{0-1} database system (tenant) +/Tenant/10/Table/6{1-2} database system (tenant) +/Tenant/10/Table/6{2-3} database system (tenant) /Tenant/10/Table/11{0-1} range default /Tenant/10/Table/11{1-2} range default /Tenant/10/Table/11{2-3} range default diff --git a/pkg/cli/testdata/doctor/test_examine_cluster b/pkg/cli/testdata/doctor/test_examine_cluster index cbd534566faa..cfe0bb61cda5 100644 --- a/pkg/cli/testdata/doctor/test_examine_cluster +++ b/pkg/cli/testdata/doctor/test_examine_cluster @@ -1,7 +1,7 @@ debug doctor examine cluster ---- debug doctor examine cluster -Examining 59 descriptors and 58 namespace entries... +Examining 62 descriptors and 61 namespace entries... ParentID 100, ParentSchemaID 101: relation "foo" (105): expected matching namespace entry, found none -Examining 20 jobs... +Examining 22 jobs... ERROR: validation failed diff --git a/pkg/clusterversion/cockroach_versions.go b/pkg/clusterversion/cockroach_versions.go index 85d01243a9f5..97bb26a63ee3 100644 --- a/pkg/clusterversion/cockroach_versions.go +++ b/pkg/clusterversion/cockroach_versions.go @@ -505,6 +505,15 @@ const ( // V23_2_PebbleFormatVirtualSSTables above. V23_2_EnablePebbleFormatVirtualSSTables + // V23_2_MVCCStatisticsTable adds the system.mvcc_statistics + // table and update job. The table is used to serve fast reads of historical + // mvcc data from observability surfaces. + V23_2_MVCCStatisticsTable + + // V23_2_AddSystemExecInsightsTable is the version at which Cockroach creates + // stmnt_exec_insights and txn_exec_insights system tables. + V23_2_AddSystemExecInsightsTable + // ************************************************* // Step (1) Add new versions here. // Do not add new versions to a patch release. @@ -842,6 +851,15 @@ var rawVersionsSingleton = keyedVersions{ Key: V23_2_EnablePebbleFormatVirtualSSTables, Version: roachpb.Version{Major: 23, Minor: 1, Internal: 28}, }, + { + Key: V23_2_MVCCStatisticsTable, + Version: roachpb.Version{Major: 23, Minor: 1, Internal: 30}, + }, + + { + Key: V23_2_AddSystemExecInsightsTable, + Version: roachpb.Version{Major: 23, Minor: 1, Internal: 32}, + }, // ************************************************* // Step (2): Add new versions here. diff --git a/pkg/jobs/jobs_test.go b/pkg/jobs/jobs_test.go index f2ff0731e8e6..ccffa3f72e06 100644 --- a/pkg/jobs/jobs_test.go +++ b/pkg/jobs/jobs_test.go @@ -235,6 +235,7 @@ func (rts *registryTestSuite) setUp(t *testing.T) { SkipJobMetricsPollingJobBootstrap: true, SkipAutoConfigRunnerJobBootstrap: true, SkipUpdateSQLActivityJobBootstrap: true, + SkipMVCCStatisticsJobBootstrap: true, } args.Knobs.KeyVisualizer = &keyvisualizer.TestingKnobs{SkipJobBootstrap: true} diff --git a/pkg/jobs/jobspb/jobs.proto b/pkg/jobs/jobspb/jobs.proto index 3e0678a78cd4..8ea11fd57ed7 100644 --- a/pkg/jobs/jobspb/jobs.proto +++ b/pkg/jobs/jobspb/jobs.proto @@ -1242,6 +1242,14 @@ message AutoUpdateSQLActivityDetails { message AutoUpdateSQLActivityProgress { } +message MVCCStatisticsJobDetails { + +} + +message MVCCStatisticsJobProgress { + +} + message Payload { string description = 1; // If empty, the description is assumed to be the statement. @@ -1304,6 +1312,7 @@ message Payload { AutoConfigEnvRunnerDetails auto_config_env_runner = 42; AutoConfigTaskDetails auto_config_task = 43; AutoUpdateSQLActivityDetails auto_update_sql_activities = 44; + MVCCStatisticsJobDetails mvcc_statistics_details = 45; } reserved 26; // PauseReason is used to describe the reason that the job is currently paused @@ -1377,6 +1386,7 @@ message Progress { AutoConfigEnvRunnerProgress auto_config_env_runner = 30; AutoConfigTaskProgress auto_config_task = 31; AutoUpdateSQLActivityProgress update_sql_activity = 32; + MVCCStatisticsJobProgress mvcc_statistics_progress = 33; } uint64 trace_id = 21 [(gogoproto.nullable) = false, (gogoproto.customname) = "TraceID", (gogoproto.customtype) = "github.com/cockroachdb/cockroach/pkg/util/tracing/tracingpb.TraceID"]; @@ -1412,6 +1422,7 @@ enum Type { AUTO_CONFIG_ENV_RUNNER = 21 [(gogoproto.enumvalue_customname) = "TypeAutoConfigEnvRunner"]; AUTO_CONFIG_TASK = 22 [(gogoproto.enumvalue_customname) = "TypeAutoConfigTask"]; AUTO_UPDATE_SQL_ACTIVITY = 23 [(gogoproto.enumvalue_customname) = "TypeAutoUpdateSQLActivity"]; + MVCC_STATISTICS_UPDATE = 24 [(gogoproto.enumvalue_customname) = "TypeMVCCStatisticsUpdate"]; } message Job { diff --git a/pkg/jobs/jobspb/wrap.go b/pkg/jobs/jobspb/wrap.go index 1f75b182d989..db603f543fe4 100644 --- a/pkg/jobs/jobspb/wrap.go +++ b/pkg/jobs/jobspb/wrap.go @@ -52,6 +52,7 @@ var ( _ Details = AutoConfigEnvRunnerDetails{} _ Details = AutoConfigTaskDetails{} _ Details = AutoUpdateSQLActivityDetails{} + _ Details = MVCCStatisticsJobDetails{} ) // ProgressDetails is a marker interface for job progress details proto structs. @@ -76,6 +77,7 @@ var ( _ ProgressDetails = AutoConfigEnvRunnerProgress{} _ ProgressDetails = AutoConfigTaskProgress{} _ ProgressDetails = AutoUpdateSQLActivityProgress{} + _ ProgressDetails = MVCCStatisticsJobProgress{} ) // Type returns the payload's job type and panics if the type is invalid. @@ -159,6 +161,7 @@ var AutomaticJobTypes = [...]Type{ TypeAutoConfigTask, TypeKeyVisualizer, TypeAutoUpdateSQLActivity, + TypeMVCCStatisticsUpdate, } // DetailsType returns the type for a payload detail. @@ -212,6 +215,8 @@ func DetailsType(d isPayload_Details) (Type, error) { return TypeAutoConfigTask, nil case *Payload_AutoUpdateSqlActivities: return TypeAutoUpdateSQLActivity, nil + case *Payload_MvccStatisticsDetails: + return TypeMVCCStatisticsUpdate, nil default: return TypeUnspecified, errors.Newf("Payload.Type called on a payload with an unknown details type: %T", d) } @@ -256,6 +261,7 @@ var JobDetailsForEveryJobType = map[Type]Details{ TypeAutoConfigEnvRunner: AutoConfigEnvRunnerDetails{}, TypeAutoConfigTask: AutoConfigTaskDetails{}, TypeAutoUpdateSQLActivity: AutoUpdateSQLActivityDetails{}, + TypeMVCCStatisticsUpdate: MVCCStatisticsJobDetails{}, } // WrapProgressDetails wraps a ProgressDetails object in the protobuf wrapper @@ -311,6 +317,8 @@ func WrapProgressDetails(details ProgressDetails) interface { return &Progress_AutoConfigTask{AutoConfigTask: &d} case AutoUpdateSQLActivityProgress: return &Progress_UpdateSqlActivity{UpdateSqlActivity: &d} + case MVCCStatisticsJobProgress: + return &Progress_MvccStatisticsProgress{MvccStatisticsProgress: &d} default: panic(errors.AssertionFailedf("WrapProgressDetails: unknown progress type %T", d)) } @@ -364,6 +372,8 @@ func (p *Payload) UnwrapDetails() Details { return *d.AutoConfigTask case *Payload_AutoUpdateSqlActivities: return *d.AutoUpdateSqlActivities + case *Payload_MvccStatisticsDetails: + return *d.MvccStatisticsDetails default: return nil } @@ -417,6 +427,8 @@ func (p *Progress) UnwrapDetails() ProgressDetails { return *d.AutoConfigTask case *Progress_UpdateSqlActivity: return *d.UpdateSqlActivity + case *Progress_MvccStatisticsProgress: + return *d.MvccStatisticsProgress default: return nil } @@ -494,6 +506,8 @@ func WrapPayloadDetails(details Details) interface { return &Payload_AutoConfigTask{AutoConfigTask: &d} case AutoUpdateSQLActivityDetails: return &Payload_AutoUpdateSqlActivities{AutoUpdateSqlActivities: &d} + case MVCCStatisticsJobDetails: + return &Payload_MvccStatisticsDetails{MvccStatisticsDetails: &d} default: panic(errors.AssertionFailedf("jobs.WrapPayloadDetails: unknown details type %T", d)) } @@ -529,7 +543,7 @@ const ( func (Type) SafeValue() {} // NumJobTypes is the number of jobs types. -const NumJobTypes = 24 +const NumJobTypes = 25 // ChangefeedDetailsMarshaler allows for dependency injection of // cloud.SanitizeExternalStorageURI to avoid the dependency from this diff --git a/pkg/jobs/registry.go b/pkg/jobs/registry.go index ef26c0ca5a54..d4965109231e 100644 --- a/pkg/jobs/registry.go +++ b/pkg/jobs/registry.go @@ -322,6 +322,8 @@ const ( // SqlActivityUpdaterJobID A static job ID is used for the SQL activity tables. SqlActivityUpdaterJobID = jobspb.JobID(103) + + MVCCStatisticsJobID = jobspb.JobID(104) ) // MakeJobID generates a new job ID. diff --git a/pkg/jobs/registry_test.go b/pkg/jobs/registry_test.go index c2e2f642cb20..294340923ed7 100644 --- a/pkg/jobs/registry_test.go +++ b/pkg/jobs/registry_test.go @@ -128,6 +128,7 @@ func TestRegistryGC(t *testing.T) { DontUseJobs: true, SkipJobMetricsPollingJobBootstrap: true, SkipAutoConfigRunnerJobBootstrap: true, + SkipMVCCStatisticsJobBootstrap: true, }, KeyVisualizer: &keyvisualizer.TestingKnobs{ SkipJobBootstrap: true, @@ -282,6 +283,7 @@ func TestRegistryGCPagination(t *testing.T) { SkipJobMetricsPollingJobBootstrap: true, SkipAutoConfigRunnerJobBootstrap: true, SkipUpdateSQLActivityJobBootstrap: true, + SkipMVCCStatisticsJobBootstrap: true, }, KeyVisualizer: &keyvisualizer.TestingKnobs{ SkipJobBootstrap: true, @@ -699,6 +701,7 @@ func TestRetriesWithExponentialBackoff(t *testing.T) { SkipJobMetricsPollingJobBootstrap: true, SkipAutoConfigRunnerJobBootstrap: true, SkipUpdateSQLActivityJobBootstrap: true, + SkipMVCCStatisticsJobBootstrap: true, }, KeyVisualizer: &keyvisualizer.TestingKnobs{ SkipJobBootstrap: true, diff --git a/pkg/kv/kvserver/testdata/flow_control_integration/admission_post_split_merge b/pkg/kv/kvserver/testdata/flow_control_integration/admission_post_split_merge index d917933ce404..6769b0c77c6a 100644 --- a/pkg/kv/kvserver/testdata/flow_control_integration/admission_post_split_merge +++ b/pkg/kv/kvserver/testdata/flow_control_integration/admission_post_split_merge @@ -50,8 +50,8 @@ ORDER BY streams DESC; range_id | stream_count -----------+--------------- - 65 | 3 - 66 | 3 + 68 | 3 + 69 | 3 -- (Merging ranges.) @@ -81,7 +81,7 @@ ORDER BY streams DESC; range_id | stream_count -----------+--------------- - 65 | 3 + 68 | 3 -- (Allow below-raft admission to proceed.) diff --git a/pkg/kv/kvserver/testdata/flow_control_integration/basic b/pkg/kv/kvserver/testdata/flow_control_integration/basic index f242466b1dbc..fcf2b28865dc 100644 --- a/pkg/kv/kvserver/testdata/flow_control_integration/basic +++ b/pkg/kv/kvserver/testdata/flow_control_integration/basic @@ -42,7 +42,7 @@ ORDER BY streams DESC; range_id | stream_count -----------+--------------- - 65 | 3 + 68 | 3 -- Flow token metrics from n1 after issuing the regular 1MiB replicated write, diff --git a/pkg/kv/kvserver/testdata/flow_control_integration/blocked_admission b/pkg/kv/kvserver/testdata/flow_control_integration/blocked_admission index 94950b4adbca..5b35bcf64a14 100644 --- a/pkg/kv/kvserver/testdata/flow_control_integration/blocked_admission +++ b/pkg/kv/kvserver/testdata/flow_control_integration/blocked_admission @@ -28,9 +28,9 @@ SELECT range_id, store_id, crdb_internal.humanize_bytes(total_tracked_tokens::IN range_id | store_id | total_tracked_tokens -----------+----------+----------------------- - 65 | 1 | 5.0 MiB - 65 | 2 | 5.0 MiB - 65 | 3 | 5.0 MiB + 68 | 1 | 5.0 MiB + 68 | 2 | 5.0 MiB + 68 | 3 | 5.0 MiB -- Observe the individual tracked tokens per-stream on the scratch range. @@ -39,21 +39,21 @@ SELECT range_id, store_id, priority, crdb_internal.humanize_bytes(tokens::INT8) range_id | store_id | priority | tokens -----------+----------+------------+---------- - 65 | 1 | normal-pri | 1.0 MiB - 65 | 1 | normal-pri | 1.0 MiB - 65 | 1 | normal-pri | 1.0 MiB - 65 | 1 | normal-pri | 1.0 MiB - 65 | 1 | normal-pri | 1.0 MiB - 65 | 2 | normal-pri | 1.0 MiB - 65 | 2 | normal-pri | 1.0 MiB - 65 | 2 | normal-pri | 1.0 MiB - 65 | 2 | normal-pri | 1.0 MiB - 65 | 2 | normal-pri | 1.0 MiB - 65 | 3 | normal-pri | 1.0 MiB - 65 | 3 | normal-pri | 1.0 MiB - 65 | 3 | normal-pri | 1.0 MiB - 65 | 3 | normal-pri | 1.0 MiB - 65 | 3 | normal-pri | 1.0 MiB + 68 | 1 | normal-pri | 1.0 MiB + 68 | 1 | normal-pri | 1.0 MiB + 68 | 1 | normal-pri | 1.0 MiB + 68 | 1 | normal-pri | 1.0 MiB + 68 | 1 | normal-pri | 1.0 MiB + 68 | 2 | normal-pri | 1.0 MiB + 68 | 2 | normal-pri | 1.0 MiB + 68 | 2 | normal-pri | 1.0 MiB + 68 | 2 | normal-pri | 1.0 MiB + 68 | 2 | normal-pri | 1.0 MiB + 68 | 3 | normal-pri | 1.0 MiB + 68 | 3 | normal-pri | 1.0 MiB + 68 | 3 | normal-pri | 1.0 MiB + 68 | 3 | normal-pri | 1.0 MiB + 68 | 3 | normal-pri | 1.0 MiB -- (Allow below-raft admission to proceed.) diff --git a/pkg/kv/kvserver/testdata/flow_control_integration/crashed_node b/pkg/kv/kvserver/testdata/flow_control_integration/crashed_node index c4ed327ab091..9cd256b66d7c 100644 --- a/pkg/kv/kvserver/testdata/flow_control_integration/crashed_node +++ b/pkg/kv/kvserver/testdata/flow_control_integration/crashed_node @@ -28,8 +28,8 @@ SELECT range_id, store_id, crdb_internal.humanize_bytes(total_tracked_tokens::IN range_id | store_id | total_tracked_tokens -----------+----------+----------------------- - 65 | 1 | 5.0 MiB - 65 | 2 | 5.0 MiB + 68 | 1 | 5.0 MiB + 68 | 2 | 5.0 MiB -- (Crashing n2 but disabling the raft-transport-break token return mechanism.) @@ -42,7 +42,7 @@ SELECT range_id, store_id, crdb_internal.humanize_bytes(total_tracked_tokens::IN range_id | store_id | total_tracked_tokens -----------+----------+----------------------- - 65 | 1 | 5.0 MiB + 68 | 1 | 5.0 MiB -- Flow token metrics from n1 after n2 crashed. Observe that we've returned the diff --git a/pkg/kv/kvserver/testdata/flow_control_integration/granter_admit_one_by_one b/pkg/kv/kvserver/testdata/flow_control_integration/granter_admit_one_by_one index 3b7b81008843..3a0246b12d49 100644 --- a/pkg/kv/kvserver/testdata/flow_control_integration/granter_admit_one_by_one +++ b/pkg/kv/kvserver/testdata/flow_control_integration/granter_admit_one_by_one @@ -28,9 +28,9 @@ SELECT range_id, store_id, crdb_internal.humanize_bytes(total_tracked_tokens::IN range_id | store_id | total_tracked_tokens -----------+----------+----------------------- - 65 | 1 | 1.0 MiB - 65 | 2 | 1.0 MiB - 65 | 3 | 1.0 MiB + 68 | 1 | 1.0 MiB + 68 | 2 | 1.0 MiB + 68 | 3 | 1.0 MiB -- (Allow below-raft admission to proceed.) diff --git a/pkg/kv/kvserver/testdata/flow_control_integration/raft_membership b/pkg/kv/kvserver/testdata/flow_control_integration/raft_membership index 88624755b5ca..99d564602dd8 100644 --- a/pkg/kv/kvserver/testdata/flow_control_integration/raft_membership +++ b/pkg/kv/kvserver/testdata/flow_control_integration/raft_membership @@ -28,10 +28,10 @@ SELECT range_id, store_id, crdb_internal.humanize_bytes(total_tracked_tokens::IN range_id | store_id | total_tracked_tokens -----------+----------+----------------------- - 65 | 1 | 1.0 MiB - 65 | 2 | 1.0 MiB - 65 | 3 | 1.0 MiB - 65 | 4 | 0 B + 68 | 1 | 1.0 MiB + 68 | 2 | 1.0 MiB + 68 | 3 | 1.0 MiB + 68 | 4 | 0 B -- (Issuing 1x1MiB, 4x replicated write that's not admitted.) @@ -45,10 +45,10 @@ SELECT range_id, store_id, crdb_internal.humanize_bytes(total_tracked_tokens::IN range_id | store_id | total_tracked_tokens -----------+----------+----------------------- - 65 | 1 | 2.0 MiB - 65 | 2 | 2.0 MiB - 65 | 3 | 2.0 MiB - 65 | 4 | 1.0 MiB + 68 | 1 | 2.0 MiB + 68 | 2 | 2.0 MiB + 68 | 3 | 2.0 MiB + 68 | 4 | 1.0 MiB -- (Removing voting replica from n3.) @@ -69,10 +69,10 @@ SELECT range_id, store_id, crdb_internal.humanize_bytes(total_tracked_tokens::IN range_id | store_id | total_tracked_tokens -----------+----------+----------------------- - 65 | 1 | 3.0 MiB - 65 | 2 | 3.0 MiB - 65 | 4 | 2.0 MiB - 65 | 5 | 1.0 MiB + 68 | 1 | 3.0 MiB + 68 | 2 | 3.0 MiB + 68 | 4 | 2.0 MiB + 68 | 5 | 1.0 MiB -- (Allow below-raft admission to proceed.) @@ -84,10 +84,10 @@ SELECT range_id, store_id, crdb_internal.humanize_bytes(total_tracked_tokens::IN range_id | store_id | total_tracked_tokens -----------+----------+----------------------- - 65 | 1 | 0 B - 65 | 2 | 0 B - 65 | 4 | 0 B - 65 | 5 | 0 B + 68 | 1 | 0 B + 68 | 2 | 0 B + 68 | 4 | 0 B + 68 | 5 | 0 B -- Flow token metrics from n1 after work gets admitted. All {regular,elastic} diff --git a/pkg/kv/kvserver/testdata/flow_control_integration/raft_snapshot b/pkg/kv/kvserver/testdata/flow_control_integration/raft_snapshot index 3477c61ef07e..45ea19243c3e 100644 --- a/pkg/kv/kvserver/testdata/flow_control_integration/raft_snapshot +++ b/pkg/kv/kvserver/testdata/flow_control_integration/raft_snapshot @@ -25,11 +25,11 @@ SELECT range_id, store_id, crdb_internal.humanize_bytes(total_tracked_tokens::IN range_id | store_id | total_tracked_tokens -----------+----------+----------------------- - 65 | 1 | 1.0 MiB - 65 | 2 | 1.0 MiB - 65 | 3 | 1.0 MiB - 65 | 4 | 1.0 MiB - 65 | 5 | 1.0 MiB + 68 | 1 | 1.0 MiB + 68 | 2 | 1.0 MiB + 68 | 3 | 1.0 MiB + 68 | 4 | 1.0 MiB + 68 | 5 | 1.0 MiB -- (Killing n2 and n3, but preventing their tokens from being returned + @@ -45,11 +45,11 @@ SELECT range_id, store_id, crdb_internal.humanize_bytes(total_tracked_tokens::IN range_id | store_id | total_tracked_tokens -----------+----------+----------------------- - 65 | 1 | 1.0 MiB - 65 | 2 | 1.0 MiB - 65 | 3 | 1.0 MiB - 65 | 4 | 1.0 MiB - 65 | 5 | 1.0 MiB + 68 | 1 | 1.0 MiB + 68 | 2 | 1.0 MiB + 68 | 3 | 1.0 MiB + 68 | 4 | 1.0 MiB + 68 | 5 | 1.0 MiB -- (Issuing another 1MiB of 5x replicated writes while n2 and n3 are down and @@ -84,11 +84,11 @@ SELECT range_id, store_id, crdb_internal.humanize_bytes(total_tracked_tokens::IN range_id | store_id | total_tracked_tokens -----------+----------+----------------------- - 65 | 1 | 2.0 MiB - 65 | 2 | 2.0 MiB - 65 | 3 | 2.0 MiB - 65 | 4 | 2.0 MiB - 65 | 5 | 2.0 MiB + 68 | 1 | 2.0 MiB + 68 | 2 | 2.0 MiB + 68 | 3 | 2.0 MiB + 68 | 4 | 2.0 MiB + 68 | 5 | 2.0 MiB -- (Truncating raft log.) @@ -124,9 +124,9 @@ SELECT range_id, store_id, crdb_internal.humanize_bytes(total_tracked_tokens::IN range_id | store_id | total_tracked_tokens -----------+----------+----------------------- - 65 | 1 | 2.0 MiB - 65 | 4 | 2.0 MiB - 65 | 5 | 2.0 MiB + 68 | 1 | 2.0 MiB + 68 | 4 | 2.0 MiB + 68 | 5 | 2.0 MiB -- (Allow below-raft admission to proceed.) @@ -164,11 +164,11 @@ SELECT range_id, store_id, crdb_internal.humanize_bytes(total_tracked_tokens::IN range_id | store_id | total_tracked_tokens -----------+----------+----------------------- - 65 | 1 | 0 B - 65 | 2 | 0 B - 65 | 3 | 0 B - 65 | 4 | 0 B - 65 | 5 | 0 B + 68 | 1 | 0 B + 68 | 2 | 0 B + 68 | 3 | 0 B + 68 | 4 | 0 B + 68 | 5 | 0 B -- Another view of tokens, using /inspectz-backed vtables. diff --git a/pkg/kv/kvserver/testdata/flow_control_integration/raft_transport_break b/pkg/kv/kvserver/testdata/flow_control_integration/raft_transport_break index 5db9d378f40e..9c276f274822 100644 --- a/pkg/kv/kvserver/testdata/flow_control_integration/raft_transport_break +++ b/pkg/kv/kvserver/testdata/flow_control_integration/raft_transport_break @@ -28,9 +28,9 @@ SELECT range_id, store_id, crdb_internal.humanize_bytes(total_tracked_tokens::IN range_id | store_id | total_tracked_tokens -----------+----------+----------------------- - 65 | 1 | 5.0 MiB - 65 | 2 | 5.0 MiB - 65 | 3 | 5.0 MiB + 68 | 1 | 5.0 MiB + 68 | 2 | 5.0 MiB + 68 | 3 | 5.0 MiB -- (Crashing n2 but disabling the last-updated token return mechanism.) @@ -44,8 +44,8 @@ SELECT range_id, store_id, crdb_internal.humanize_bytes(total_tracked_tokens::IN range_id | store_id | total_tracked_tokens -----------+----------+----------------------- - 65 | 1 | 5.0 MiB - 65 | 3 | 5.0 MiB + 68 | 1 | 5.0 MiB + 68 | 3 | 5.0 MiB -- Flow token metrics from n1 after n2 crashed. Observe that we've returned the diff --git a/pkg/kv/kvserver/testdata/flow_control_integration/raft_transport_culled b/pkg/kv/kvserver/testdata/flow_control_integration/raft_transport_culled index 072f08633fb3..902d25b44714 100644 --- a/pkg/kv/kvserver/testdata/flow_control_integration/raft_transport_culled +++ b/pkg/kv/kvserver/testdata/flow_control_integration/raft_transport_culled @@ -29,9 +29,9 @@ SELECT range_id, store_id, crdb_internal.humanize_bytes(total_tracked_tokens::IN range_id | store_id | total_tracked_tokens -----------+----------+----------------------- - 65 | 1 | 5.0 MiB - 65 | 2 | 5.0 MiB - 65 | 3 | 5.0 MiB + 68 | 1 | 5.0 MiB + 68 | 2 | 5.0 MiB + 68 | 3 | 5.0 MiB -- (Marking n2->n1 raft transport gRPC stream as idle.) @@ -46,8 +46,8 @@ SELECT range_id, store_id, crdb_internal.humanize_bytes(total_tracked_tokens::IN range_id | store_id | total_tracked_tokens -----------+----------+----------------------- - 65 | 1 | 5.0 MiB - 65 | 3 | 5.0 MiB + 68 | 1 | 5.0 MiB + 68 | 3 | 5.0 MiB -- Flow token metrics from n1 after n2->n1 raft transport stream is culled. diff --git a/pkg/kv/kvserver/testdata/flow_control_integration/split_merge b/pkg/kv/kvserver/testdata/flow_control_integration/split_merge index f30405b4dc0e..709d47743ff5 100644 --- a/pkg/kv/kvserver/testdata/flow_control_integration/split_merge +++ b/pkg/kv/kvserver/testdata/flow_control_integration/split_merge @@ -49,8 +49,8 @@ ORDER BY streams DESC; range_id | stream_count -----------+--------------- - 65 | 3 - 66 | 3 + 68 | 3 + 69 | 3 -- (Merging ranges.) @@ -82,7 +82,7 @@ ORDER BY streams DESC; range_id | stream_count -----------+--------------- - 65 | 3 + 68 | 3 ---- ---- diff --git a/pkg/sql/BUILD.bazel b/pkg/sql/BUILD.bazel index b16dd938b6fe..d3c3aebbd8b0 100644 --- a/pkg/sql/BUILD.bazel +++ b/pkg/sql/BUILD.bazel @@ -152,6 +152,7 @@ go_library( "max_one_row.go", "mem_metrics.go", "mvcc_backfiller.go", + "mvcc_statistics_update_job.go", "name_util.go", "notice.go", "opaque.go", diff --git a/pkg/sql/catalog/bootstrap/bootstrap_test.go b/pkg/sql/catalog/bootstrap/bootstrap_test.go index 60856f3507a5..938877f6baf8 100644 --- a/pkg/sql/catalog/bootstrap/bootstrap_test.go +++ b/pkg/sql/catalog/bootstrap/bootstrap_test.go @@ -176,7 +176,7 @@ func TestSystemDatabaseSchemaBootstrapVersionBumped(t *testing.T) { // If you need to update this value (i.e. failed this test), check whether // you need to bump systemschema.SystemDatabaseSchemaBootstrapVersion too. - const prevSystemHash = "b23cc2e4f5d8e1a3d3bdd514addb3bd9af3eff65cd485fa2822ced1a6a2e8fd4" + const prevSystemHash = "3e74cb9b592efdffed097636c60fb506e393f5256bdac3dfc51a21d1902de64d" _, curSystemHash := getAndHashInitialValuesToString(0 /* tenantID */) if prevSystemHash != curSystemHash { diff --git a/pkg/sql/catalog/bootstrap/metadata.go b/pkg/sql/catalog/bootstrap/metadata.go index 5aca65ef1b97..584a2f0290ee 100644 --- a/pkg/sql/catalog/bootstrap/metadata.go +++ b/pkg/sql/catalog/bootstrap/metadata.go @@ -475,6 +475,9 @@ func addSystemDescriptorsToSchema(target *MetadataSchema) { // Tables introduced in 23.2. target.AddDescriptor(systemschema.RegionLivenessTable) + target.AddDescriptor(systemschema.SystemMVCCStatisticsTable) + target.AddDescriptor(systemschema.TransactionExecInsightsTable) + target.AddDescriptor(systemschema.StatementExecInsightsTable) // Adding a new system table? It should be added here to the metadata schema, // and also created as a migration for older clusters. @@ -488,7 +491,7 @@ func addSystemDescriptorsToSchema(target *MetadataSchema) { // NumSystemTablesForSystemTenant is the number of system tables defined on // the system tenant. This constant is only defined to avoid having to manually // update auto stats tests every time a new system table is added. -const NumSystemTablesForSystemTenant = 52 +const NumSystemTablesForSystemTenant = 55 // addSplitIDs adds a split point for each of the PseudoTableIDs to the supplied // MetadataSchema. diff --git a/pkg/sql/catalog/bootstrap/testdata/testdata b/pkg/sql/catalog/bootstrap/testdata/testdata index e5ed564277c9..5219f1fb3662 100644 --- a/pkg/sql/catalog/bootstrap/testdata/testdata +++ b/pkg/sql/catalog/bootstrap/testdata/testdata @@ -1,8 +1,8 @@ -system hash=b23cc2e4f5d8e1a3d3bdd514addb3bd9af3eff65cd485fa2822ced1a6a2e8fd4 +system hash=3e74cb9b592efdffed097636c60fb506e393f5256bdac3dfc51a21d1902de64d ---- [{"key":"04646573632d696467656e","value":"01c801"} ,{"key":"8b"} -,{"key":"8b89898a89","value":"0312450a0673797374656d10011a250a0d0a0561646d696e1080101880100a0c0a04726f6f7410801018801012046e6f646518022200280140004a006a0a08d7843d100118002014"} +,{"key":"8b89898a89","value":"0312450a0673797374656d10011a250a0d0a0561646d696e1080101880100a0c0a04726f6f7410801018801012046e6f646518022200280140004a006a0a08d7843d100118002020"} ,{"key":"8b898b8a89","value":"030a88030a0a64657363726970746f721803200128013a0042270a02696410011a0c08011040180030005014600020003000680070007800800100880100980100422f0a0a64657363726970746f7210021a0c08081000180030005011600020013000680070007800800100880100980100480352710a077072696d61727910011801220269642a0a64657363726970746f72300140004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651802800101880103980100b201130a077072696d61727910001a02696420012800b201240a1066616d5f325f64657363726970746f7210021a0a64657363726970746f7220022802b80103c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300"} ,{"key":"8b898c8a89","value":"030ac1050a0575736572731804200128013a00422d0a08757365726e616d6510011a0c0807100018003000501960002000300068007000780080010088010098010042330a0e68617368656450617373776f726410021a0c0808100018003000501160002001300068007000780080010088010098010042320a066973526f6c6510031a0c08001000180030005010600020002a0566616c73653000680070007800800100880100980100422c0a07757365725f696410041a0c080c100018003000501a60002000300068007000780080010088010098010048055290010a077072696d617279100118012208757365726e616d652a0e68617368656450617373776f72642a066973526f6c652a07757365725f6964300140004a10080010001a00200028003000380040005a007002700370047a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00102e00100e90100000000000000005a740a1175736572735f757365725f69645f696478100218012207757365725f69643004380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651802800101880103980100b201240a077072696d61727910001a08757365726e616d651a07757365725f6964200120042804b2012c0a1466616d5f325f68617368656450617373776f726410021a0e68617368656450617373776f726420022802b2011c0a0c66616d5f335f6973526f6c6510031a066973526f6c6520032803b80104c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300"} ,{"key":"8b898d8a89","value":"030af7020a057a6f6e65731805200128013a0042270a02696410011a0c08011040180030005014600020003000680070007800800100880100980100422b0a06636f6e66696710021a0c080810001800300050116000200130006800700078008001008801009801004803526d0a077072696d61727910011801220269642a06636f6e666967300140004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651802800101880103980100b201130a077072696d61727910001a02696420012800b2011c0a0c66616d5f325f636f6e66696710021a06636f6e66696720022802b80103c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300"} @@ -55,6 +55,9 @@ system hash=b23cc2e4f5d8e1a3d3bdd514addb3bd9af3eff65cd485fa2822ced1a6a2e8fd4 ,{"key":"8b89c48a89","value":"030ae5180a1273746174656d656e745f6163746976697479183c200128013a0042330a0d616767726567617465645f747310011a0d080910001800300050a00960002000300068007000780080010088010098010042330a0e66696e6765727072696e745f696410021a0c08081000180030005011600020003000680070007800800100880100980100423f0a1a7472616e73616374696f6e5f66696e6765727072696e745f696410031a0c08081000180030005011600020003000680070007800800100880100980100422e0a09706c616e5f6861736810041a0c08081000180030005011600020003000680070007800800100880100980100422d0a086170705f6e616d6510051a0c0807100018003000501960002000300068007000780080010088010098010042380a0c6167675f696e74657276616c10061a13080610001800300050a20960006a040800100020003000680070007800800100880100980100422e0a086d6574616461746110071a0d081210001800300050da1d60002000300068007000780080010088010098010042300a0a7374617469737469637310081a0d081210001800300050da1d600020003000680070007800800100880100980100422a0a04706c616e10091a0d081210001800300050da1d600020003000680070007800800100880100980100425f0a15696e6465785f7265636f6d6d656e646174696f6e73100a1a1d080f100018003000380750f1075a0c080710001800300050196000600020002a1241525241595b5d3a3a3a535452494e475b5d300068007000780080010088010098010042340a0f657865637574696f6e5f636f756e74100b1a0c08011040180030005014600020003000680070007800800100880100980100423d0a17657865637574696f6e5f746f74616c5f7365636f6e6473100c1a0d080210401800300050bd0560002000300068007000780080010088010098010042450a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e6473100d1a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e6473100e1a0d080210401800300050bd0560002000300068007000780080010088010098010042370a116370755f73716c5f6176675f6e616e6f73100f1a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b736572766963655f6c6174656e63795f6176675f7365636f6e647310101a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b736572766963655f6c6174656e63795f7039395f7365636f6e647310111a0d080210401800300050bd05600020003000680070007800800100880100980100481252cd030a077072696d61727910011801220d616767726567617465645f7473220e66696e6765727072696e745f6964221a7472616e73616374696f6e5f66696e6765727072696e745f69642209706c616e5f6861736822086170705f6e616d652a0c6167675f696e74657276616c2a086d657461646174612a0a737461746973746963732a04706c616e2a15696e6465785f7265636f6d6d656e646174696f6e732a0f657865637574696f6e5f636f756e742a17657865637574696f6e5f746f74616c5f7365636f6e64732a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e64732a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64732a116370755f73716c5f6176675f6e616e6f732a1b736572766963655f6c6174656e63795f6176675f7365636f6e64732a1b736572766963655f6c6174656e63795f7039395f7365636f6e647330013002300330043005400040004000400040004a10080010001a00200028003000380040005a007006700770087009700a700b700c700d700e700f701070117a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005aa0010a1266696e6765727072696e745f69645f69647810021800220e66696e6765727072696e745f6964221a7472616e73616374696f6e5f66696e6765727072696e745f696430023003380138043805400040004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a97010a13657865637574696f6e5f636f756e745f69647810031800220d616767726567617465645f7473220f657865637574696f6e5f636f756e743001300b3802380338043805400040014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aa9010a1b657865637574696f6e5f746f74616c5f7365636f6e64735f69647810041800220d616767726567617465645f74732217657865637574696f6e5f746f74616c5f7365636f6e64733001300c3802380338043805400040014a10080010001a00200028003000380040005a00680c7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ab1010a1f636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64735f69647810051800220d616767726567617465645f7473221b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64733001300e3802380338043805400040014a10080010001a00200028003000380040005a00680e7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a9d010a156370755f73716c5f6176675f6e616e6f735f69647810061800220d616767726567617465645f747322116370755f73716c5f6176675f6e616e6f733001300f3802380338043805400040014a10080010001a00200028003000380040005a00680f7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ab1010a1f736572766963655f6c6174656e63795f6176675f7365636f6e64735f69647810071800220d616767726567617465645f7473221b736572766963655f6c6174656e63795f6176675f7365636f6e6473300130103802380338043805400040014a10080010001a00200028003000380040005a0068107a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ab1010a1f736572766963655f6c6174656e63795f7039395f7365636f6e64735f69647810081800220d616767726567617465645f7473221b736572766963655f6c6174656e63795f7039395f7365636f6e6473300130113802380338043805400040014a10080010001a00200028003000380040005a0068117a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060096a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651802800101880103980100b201f5020a077072696d61727910001a0d616767726567617465645f74731a0e66696e6765727072696e745f69641a1a7472616e73616374696f6e5f66696e6765727072696e745f69641a09706c616e5f686173681a086170705f6e616d651a0c6167675f696e74657276616c1a086d657461646174611a0a737461746973746963731a04706c616e1a15696e6465785f7265636f6d6d656e646174696f6e731a0f657865637574696f6e5f636f756e741a17657865637574696f6e5f746f74616c5f7365636f6e64731a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e64731a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64731a116370755f73716c5f6176675f6e616e6f731a1b736572766963655f6c6174656e63795f6176675f7365636f6e64731a1b736572766963655f6c6174656e63795f7039395f7365636f6e6473200120022003200420052006200720082009200a200b200c200d200e200f201020112800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300"} ,{"key":"8b89c58a89","value":"030ad0150a147472616e73616374696f6e5f6163746976697479183d200128013a0042330a0d616767726567617465645f747310011a0d080910001800300050a00960002000300068007000780080010088010098010042330a0e66696e6765727072696e745f696410021a0c08081000180030005011600020003000680070007800800100880100980100422d0a086170705f6e616d6510031a0c0807100018003000501960002000300068007000780080010088010098010042380a0c6167675f696e74657276616c10041a13080610001800300050a20960006a040800100020003000680070007800800100880100980100422e0a086d6574616461746110051a0d081210001800300050da1d60002000300068007000780080010088010098010042300a0a7374617469737469637310061a0d081210001800300050da1d600020003000680070007800800100880100980100422a0a05717565727910071a0c0807100018003000501960002000300068007000780080010088010098010042340a0f657865637574696f6e5f636f756e7410081a0c08011040180030005014600020003000680070007800800100880100980100423d0a17657865637574696f6e5f746f74616c5f7365636f6e647310091a0d080210401800300050bd0560002000300068007000780080010088010098010042450a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e6473100a1a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e6473100b1a0d080210401800300050bd0560002000300068007000780080010088010098010042370a116370755f73716c5f6176675f6e616e6f73100c1a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b736572766963655f6c6174656e63795f6176675f7365636f6e6473100d1a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b736572766963655f6c6174656e63795f7039395f7365636f6e6473100e1a0d080210401800300050bd05600020003000680070007800800100880100980100480f5286030a077072696d61727910011801220d616767726567617465645f7473220e66696e6765727072696e745f696422086170705f6e616d652a0c6167675f696e74657276616c2a086d657461646174612a0a737461746973746963732a0571756572792a0f657865637574696f6e5f636f756e742a17657865637574696f6e5f746f74616c5f7365636f6e64732a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e64732a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64732a116370755f73716c5f6176675f6e616e6f732a1b736572766963655f6c6174656e63795f6176675f7365636f6e64732a1b736572766963655f6c6174656e63795f7039395f7365636f6e64733001300230034000400040004a10080010001a00200028003000380040005a00700470057006700770087009700a700b700c700d700e7a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a7e0a1266696e6765727072696e745f69645f69647810021800220e66696e6765727072696e745f696430023801380340004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a93010a13657865637574696f6e5f636f756e745f69647810031800220d616767726567617465645f7473220f657865637574696f6e5f636f756e743001300838023803400040014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aa5010a1b657865637574696f6e5f746f74616c5f7365636f6e64735f69647810041800220d616767726567617465645f74732217657865637574696f6e5f746f74616c5f7365636f6e64733001300938023803400040014a10080010001a00200028003000380040005a0068097a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aad010a1f636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64735f69647810051800220d616767726567617465645f7473221b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64733001300b38023803400040014a10080010001a00200028003000380040005a00680b7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a99010a156370755f73716c5f6176675f6e616e6f735f69647810061800220d616767726567617465645f747322116370755f73716c5f6176675f6e616e6f733001300c38023803400040014a10080010001a00200028003000380040005a00680c7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aad010a1f736572766963655f6c6174656e63795f6176675f7365636f6e64735f69647810071800220d616767726567617465645f7473221b736572766963655f6c6174656e63795f6176675f7365636f6e64733001300d38023803400040014a10080010001a00200028003000380040005a00680d7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aad010a1f736572766963655f6c6174656e63795f7039395f7365636f6e64735f69647810081800220d616767726567617465645f7473221b736572766963655f6c6174656e63795f7039395f7365636f6e64733001300e38023803400040014a10080010001a00200028003000380040005a00680e7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060096a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651802800101880103980100b201b2020a077072696d61727910001a0d616767726567617465645f74731a0e66696e6765727072696e745f69641a086170705f6e616d651a0c6167675f696e74657276616c1a086d657461646174611a0a737461746973746963731a0571756572791a0f657865637574696f6e5f636f756e741a17657865637574696f6e5f746f74616c5f7365636f6e64731a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e64731a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64731a116370755f73716c5f6176675f6e616e6f731a1b736572766963655f6c6174656e63795f6176675f7365636f6e64731a1b736572766963655f6c6174656e63795f7039395f7365636f6e6473200120022003200420052006200720082009200a200b200c200d200e2800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300"} ,{"key":"8b89c68a89","value":"030acd020a0d74656e616e745f69645f736571183e200128013a00422a0a0576616c756510011a0c08011040180030005014600020003000680070007800800100880100980100480052660a077072696d61727910011800220576616c7565300140004a10080010001a00200028003000380040005a007a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060006a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651802800100880103980100b201160a077072696d61727910001a0576616c756520012801b80100c20100e2011c0801100118ffffffffffffffff7f2001280032040800100038014200e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880300a80300b00300d00300"} +,{"key":"8b89c78a89","value":"030ab90a0a0f6d7663635f73746174697374696373183f200128013a0042450a0a637265617465645f617410011a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a300068007000780080010088010098010042300a0b64617461626173655f696410021a0c08011040180030005014600020003000680070007800800100880100980100422d0a087461626c655f696410031a0c08011040180030005014600020003000680070007800800100880100980100422d0a08696e6465785f696410041a0c0801104018003000501460002000300068007000780080010088010098010042300a0a7374617469737469637310051a0d081210001800300050da1d60002000300068007000780080010088010098010042ab010a3f637264625f696e7465726e616c5f637265617465645f61745f64617461626173655f69645f696e6465785f69645f7461626c655f69645f73686172645f313610061a0c080110201800300050176000200030015a456d6f6428666e763332286d643528637264625f696e7465726e616c2e646174756d735f746f5f627974657328637265617465645f61742929292c2031363a3a3a494e543829680070007800800101880100980100480752e4020a146d7663635f737461746973746963735f706b657910011801223f637264625f696e7465726e616c5f637265617465645f61745f64617461626173655f69645f696e6465785f69645f7461626c655f69645f73686172645f3136220a637265617465645f6174220b64617461626173655f696422087461626c655f69642208696e6465785f69642a0a7374617469737469637330063001300230033004400040004000400040004a10080010001a00200028003000380040005a0070057a0408002000800100880100900104980101a201720801123f637264625f696e7465726e616c5f637265617465645f61745f64617461626173655f69645f696e6465785f69645f7461626c655f69645f73686172645f31361810220a637265617465645f6174220b64617461626173655f69642208696e6465785f696422087461626c655f6964a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651802800101880103980100a201bd020ae901637264625f696e7465726e616c5f637265617465645f61745f64617461626173655f69645f696e6465785f69645f7461626c655f69645f73686172645f313620494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e54382c20383a3a3a494e54382c20393a3a3a494e54382c2031303a3a3a494e54382c2031313a3a3a494e54382c2031323a3a3a494e54382c2031333a3a3a494e54382c2031343a3a3a494e54382c2031353a3a3a494e5438291245636865636b5f637264625f696e7465726e616c5f637265617465645f61745f64617461626173655f69645f696e6465785f69645f7461626c655f69645f73686172645f313618002806300038014002b201500a077072696d61727910001a0a637265617465645f61741a0b64617461626173655f69641a087461626c655f69641a08696e6465785f69641a0a73746174697374696373200120022003200420052805b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300"} +,{"key":"8b89c88a89","value":"030aaf170a1e7472616e73616374696f6e5f657865637574696f6e5f696e7369676874731840200128013a0042340a0e7472616e73616374696f6e5f696410011a0d080e100018003000508617600020003000680070007800800100880100980100423f0a1a7472616e73616374696f6e5f66696e6765727072696e745f696410021a0c0808100018003000501160002000300068007000780080010088010098010042320a0d71756572795f73756d6d61727910031a0c0807100018003000501960002001300068007000780080010088010098010042310a0c696d706c696369745f74786e10041a0c08001000180030005010600020013000680070007800800100880100980100422f0a0a73657373696f6e5f696410051a0c0807100018003000501960002000300068007000780080010088010098010042300a0a73746172745f74696d6510061a0d080910001800300050a009600020013000680070007800800100880100980100422e0a08656e645f74696d6510071a0d080910001800300050a009600020013000680070007800800100880100980100422e0a09757365725f6e616d6510081a0c08071000180030005019600020013000680070007800800100880100980100422d0a086170705f6e616d6510091a0c0807100018003000501960002001300068007000780080010088010098010042320a0d757365725f7072696f72697479100a1a0c08071000180030005019600020013000680070007800800100880100980100422c0a0772657472696573100b1a0c0801104018003000501460002001300068007000780080010088010098010042360a116c6173745f72657472795f726561736f6e100c1a0c08071000180030005019600020013000680070007800800100880100980100423e0a0870726f626c656d73100d1a1d080f104018003000380150f8075a0c080110401800300050146000600020013000680070007800800100880100980100423c0a06636175736573100e1a1d080f104018003000380150f8075a0c08011040180030005014600060002001300068007000780080010088010098010042480a1273746d745f657865637574696f6e5f696473100f1a1d080f100018003000380750f1075a0c08071000180030005019600060002001300068007000780080010088010098010042320a0d6370755f73716c5f6e616e6f7310101a0c0801104018003000501460002001300068007000780080010088010098010042340a0f6c6173745f6572726f725f636f646510111a0c08071000180030005019600020013000680070007800800100880100980100422b0a0673746174757310121a0c08011040180030005014600020013000680070007800800100880100980100423b0a0f636f6e74656e74696f6e5f74696d6510131a13080610001800300050a20960006a04080010002001300068007000780080010088010098010042350a0f636f6e74656e74696f6e5f696e666f10141a0d081210001800300050da1d600020013000680070007800800100880100980100422d0a0764657461696c7310151a0d081210001800300050da1d60002001300068007000780080010088010098010042420a076372656174656410161a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a300068007000780080010088010098010042a0010a2a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313610171a0c080110201800300050176000200030015a4f6d6f6428666e763332286d643528637264625f696e7465726e616c2e646174756d735f746f5f627974657328656e645f74696d652c2073746172745f74696d652929292c2031363a3a3a494e543829680070007800800101880100980100481852b6030a077072696d61727910011801220e7472616e73616374696f6e5f69642a1a7472616e73616374696f6e5f66696e6765727072696e745f69642a0d71756572795f73756d6d6172792a0c696d706c696369745f74786e2a0a73657373696f6e5f69642a0a73746172745f74696d652a08656e645f74696d652a09757365725f6e616d652a086170705f6e616d652a0d757365725f7072696f726974792a07726574726965732a116c6173745f72657472795f726561736f6e2a0870726f626c656d732a066361757365732a1273746d745f657865637574696f6e5f6964732a0d6370755f73716c5f6e616e6f732a0f6c6173745f6572726f725f636f64652a067374617475732a0f636f6e74656e74696f6e5f74696d652a0f636f6e74656e74696f6e5f696e666f2a0764657461696c732a0763726561746564300140004a10080010001a00200028003000380040005a0070027003700470057006700770087009700a700b700c700d700e700f70107011701270137014701570167a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a94010a1e7472616e73616374696f6e5f66696e6765727072696e745f69645f69647810021800221a7472616e73616374696f6e5f66696e6765727072696e745f69643002380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005af2010a0e74696d655f72616e67655f69647810031800222a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f3136220a73746172745f74696d652208656e645f74696d6530173006300738014000400140014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a201460801122a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313618102208656e645f74696d65220a73746172745f74696d65a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060046a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651802800101880103980100a20193020ad401637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313620494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e54382c20383a3a3a494e54382c20393a3a3a494e54382c2031303a3a3a494e54382c2031313a3a3a494e54382c2031323a3a3a494e54382c2031333a3a3a494e54382c2031343a3a3a494e54382c2031353a3a3a494e5438291230636865636b5f637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313618002817300038014002b201e6020a077072696d61727910001a0e7472616e73616374696f6e5f69641a1a7472616e73616374696f6e5f66696e6765727072696e745f69641a0d71756572795f73756d6d6172791a0c696d706c696369745f74786e1a0a73657373696f6e5f69641a0a73746172745f74696d651a08656e645f74696d651a09757365725f6e616d651a086170705f6e616d651a0d757365725f7072696f726974791a07726574726965731a116c6173745f72657472795f726561736f6e1a0870726f626c656d731a066361757365731a1273746d745f657865637574696f6e5f6964731a0d6370755f73716c5f6e616e6f731a0f6c6173745f6572726f725f636f64651a067374617475731a0f636f6e74656e74696f6e5f74696d651a0f636f6e74656e74696f6e5f696e666f1a0764657461696c731a0763726561746564200120022003200420052006200720082009200a200b200c200d200e200f20102011201220132014201520162800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300"} +,{"key":"8b89c98a89","value":"030afa1d0a1c73746174656d656e745f657865637574696f6e5f696e7369676874731841200128013a00422f0a0a73657373696f6e5f696410011a0c0807100018003000501960002000300068007000780080010088010098010042340a0e7472616e73616374696f6e5f696410021a0d080e100018003000508617600020003000680070007800800100880100980100423f0a1a7472616e73616374696f6e5f66696e6765727072696e745f696410031a0c0808100018003000501160002000300068007000780080010088010098010042310a0c73746174656d656e745f696410041a0c08071000180030005019600020003000680070007800800100880100980100423d0a1873746174656d656e745f66696e6765727072696e745f696410051a0c08081000180030005011600020003000680070007800800100880100980100422c0a0770726f626c656d10061a0c08011040180030005014600020013000680070007800800100880100980100423c0a0663617573657310071a1d080f104018003000380150f8075a0c080110401800300050146000600020013000680070007800800100880100980100422a0a05717565727910081a0c08071000180030005019600020013000680070007800800100880100980100422b0a0673746174757310091a0c0801104018003000501460002001300068007000780080010088010098010042300a0a73746172745f74696d65100a1a0d080910001800300050a009600020013000680070007800800100880100980100422e0a08656e645f74696d65100b1a0d080910001800300050a009600020013000680070007800800100880100980100422e0a0966756c6c5f7363616e100c1a0c08001000180030005010600020013000680070007800800100880100980100422e0a09757365725f6e616d65100d1a0c08071000180030005019600020013000680070007800800100880100980100422d0a086170705f6e616d65100e1a0c0807100018003000501960002001300068007000780080010088010098010042320a0d757365725f7072696f72697479100f1a0c0807100018003000501960002001300068007000780080010088010098010042320a0d64617461626173655f6e616d6510101a0c08071000180030005019600020013000680070007800800100880100980100422e0a09706c616e5f6769737410111a0c08071000180030005019600020013000680070007800800100880100980100422c0a077265747269657310121a0c0801104018003000501460002001300068007000780080010088010098010042360a116c6173745f72657472795f726561736f6e10131a0c0807100018003000501960002001300068007000780080010088010098010042480a12657865637574696f6e5f6e6f64655f69647310141a1d080f104018003000380150f8075a0c080110401800300050146000600020013000680070007800800100880100980100424b0a15696e6465785f7265636f6d6d656e646174696f6e7310151a1d080f100018003000380750f1075a0c08071000180030005019600060002001300068007000780080010088010098010042310a0c696d706c696369745f74786e10161a0c0800100018003000501060002001300068007000780080010088010098010042320a0d6370755f73716c5f6e616e6f7310171a0c08011040180030005014600020013000680070007800800100880100980100422f0a0a6572726f725f636f646510181a0c08071000180030005019600020013000680070007800800100880100980100423b0a0f636f6e74656e74696f6e5f74696d6510191a13080610001800300050a20960006a04080010002001300068007000780080010088010098010042350a0f636f6e74656e74696f6e5f696e666f101a1a0d081210001800300050da1d600020013000680070007800800100880100980100422d0a0764657461696c73101b1a0d081210001800300050da1d60002001300068007000780080010088010098010042420a0763726561746564101c1a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a300068007000780080010088010098010042a0010a2a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f3136101d1a0c080110201800300050176000200030015a4f6d6f6428666e763332286d643528637264625f696e7465726e616c2e646174756d735f746f5f627974657328656e645f74696d652c2073746172745f74696d652929292c2031363a3a3a494e543829680070007800800101880100980100481e529a040a077072696d61727910011801220c73746174656d656e745f6964220e7472616e73616374696f6e5f69642a0a73657373696f6e5f69642a1a7472616e73616374696f6e5f66696e6765727072696e745f69642a1873746174656d656e745f66696e6765727072696e745f69642a0770726f626c656d2a066361757365732a0571756572792a067374617475732a0a73746172745f74696d652a08656e645f74696d652a0966756c6c5f7363616e2a09757365725f6e616d652a086170705f6e616d652a0d757365725f7072696f726974792a0d64617461626173655f6e616d652a09706c616e5f676973742a07726574726965732a116c6173745f72657472795f726561736f6e2a12657865637574696f6e5f6e6f64655f6964732a15696e6465785f7265636f6d6d656e646174696f6e732a0c696d706c696369745f74786e2a0d6370755f73716c5f6e616e6f732a0a6572726f725f636f64652a0f636f6e74656e74696f6e5f74696d652a0f636f6e74656e74696f6e5f696e666f2a0764657461696c732a076372656174656430043002400040004a10080010001a00200028003000380040005a007001700370057006700770087009700a700b700c700d700e700f7010701170127013701470157016701770187019701a701b701c7a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a7c0a127472616e73616374696f6e5f69645f69647810021800220e7472616e73616374696f6e5f69643002380440004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ab4010a1e7472616e73616374696f6e5f66696e6765727072696e745f69645f69647810031800221a7472616e73616374696f6e5f66696e6765727072696e745f6964220a73746172745f74696d652208656e645f74696d653003300a300b380438024000400140014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ab0010a1c73746174656d656e745f66696e6765727072696e745f69645f69647810041800221873746174656d656e745f66696e6765727072696e745f6964220a73746172745f74696d652208656e645f74696d653005300a300b380438024000400140014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005af4010a0e74696d655f72616e67655f69647810051800222a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f3136220a73746172745f74696d652208656e645f74696d65301d300a300b380438024000400140014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a201460801122a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313618102208656e645f74696d65220a73746172745f74696d65a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060066a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651802800101880103980100a20193020ad401637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313620494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e54382c20383a3a3a494e54382c20393a3a3a494e54382c2031303a3a3a494e54382c2031313a3a3a494e54382c2031323a3a3a494e54382c2031333a3a3a494e54382c2031343a3a3a494e54382c2031353a3a3a494e5438291230636865636b5f637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f31361800281d300038014002b201c8030a077072696d61727910001a0a73657373696f6e5f69641a0e7472616e73616374696f6e5f69641a1a7472616e73616374696f6e5f66696e6765727072696e745f69641a0c73746174656d656e745f69641a1873746174656d656e745f66696e6765727072696e745f69641a0770726f626c656d1a066361757365731a0571756572791a067374617475731a0a73746172745f74696d651a08656e645f74696d651a0966756c6c5f7363616e1a09757365725f6e616d651a086170705f6e616d651a0d757365725f7072696f726974791a0d64617461626173655f6e616d651a09706c616e5f676973741a07726574726965731a116c6173745f72657472795f726561736f6e1a12657865637574696f6e5f6e6f64655f6964731a15696e6465785f7265636f6d6d656e646174696f6e731a0c696d706c696369745f74786e1a0d6370755f73716c5f6e616e6f731a0a6572726f725f636f64651a0f636f6e74656e74696f6e5f74696d651a0f636f6e74656e74696f6e5f696e666f1a0764657461696c731a0763726561746564200120022003200420052006200720082009200a200b200c200d200e200f2010201120122013201420152016201720182019201a201b201c2800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300"} ,{"key":"8c"} ,{"key":"8d"} ,{"key":"8d89888a89","value":"031080808040188080808002220308c0702803500058007801"} @@ -107,6 +110,7 @@ system hash=b23cc2e4f5d8e1a3d3bdd514addb3bd9af3eff65cd485fa2822ced1a6a2e8fd4 ,{"key":"a68989a5126c6561736500018c89","value":"0116"} ,{"key":"a68989a5126c6f636174696f6e7300018c89","value":"012a"} ,{"key":"a68989a5126d6967726174696f6e7300018c89","value":"0150"} +,{"key":"a68989a5126d7663635f7374617469737469637300018c89","value":"017e"} ,{"key":"a68989a5126e616d65737061636500018c89","value":"013c"} ,{"key":"a68989a51270726976696c6567657300018c89","value":"0166"} ,{"key":"a68989a51270726f7465637465645f74735f6d65746100018c89","value":"013e"} @@ -133,6 +137,7 @@ system hash=b23cc2e4f5d8e1a3d3bdd514addb3bd9af3eff65cd485fa2822ced1a6a2e8fd4 ,{"key":"a68989a51273746174656d656e745f62756e646c655f6368756e6b7300018c89","value":"0144"} ,{"key":"a68989a51273746174656d656e745f646961676e6f737469637300018c89","value":"0148"} ,{"key":"a68989a51273746174656d656e745f646961676e6f73746963735f726571756573747300018c89","value":"0146"} +,{"key":"a68989a51273746174656d656e745f657865637574696f6e5f696e73696768747300018c89","value":"018201"} ,{"key":"a68989a51273746174656d656e745f7374617469737469637300018c89","value":"0154"} ,{"key":"a68989a5127461626c655f7374617469737469637300018c89","value":"0128"} ,{"key":"a68989a5127461736b5f7061796c6f61647300018c89","value":"0174"} @@ -142,6 +147,7 @@ system hash=b23cc2e4f5d8e1a3d3bdd514addb3bd9af3eff65cd485fa2822ced1a6a2e8fd4 ,{"key":"a68989a51274656e616e745f757361676500018c89","value":"015a"} ,{"key":"a68989a51274656e616e747300018c89","value":"0110"} ,{"key":"a68989a5127472616e73616374696f6e5f616374697669747900018c89","value":"017a"} +,{"key":"a68989a5127472616e73616374696f6e5f657865637574696f6e5f696e73696768747300018c89","value":"018001"} ,{"key":"a68989a5127472616e73616374696f6e5f7374617469737469637300018c89","value":"0156"} ,{"key":"a68989a512756900018c89","value":"011c"} ,{"key":"a68989a512757365727300018c89","value":"0108"} @@ -180,12 +186,15 @@ system hash=b23cc2e4f5d8e1a3d3bdd514addb3bd9af3eff65cd485fa2822ced1a6a2e8fd4 ,{"key":"c5"} ,{"key":"c6"} ,{"key":"c6898888","value":"0102"} +,{"key":"c7"} +,{"key":"c8"} +,{"key":"c9"} ] -tenant hash=502836444b6ee39b3ce4e61d0e6c527172a117d703f414750cb7bd7b257f7602 +tenant hash=88c3e5d06b16489bac9a583c9b7164c5fe52ee1e8212df9eb3d8325e4eaa4c32 ---- [{"key":""} -,{"key":"8b89898a89","value":"0312450a0673797374656d10011a250a0d0a0561646d696e1080101880100a0c0a04726f6f7410801018801012046e6f646518022200280140004a006a0a08d7843d100118002014"} +,{"key":"8b89898a89","value":"0312450a0673797374656d10011a250a0d0a0561646d696e1080101880100a0c0a04726f6f7410801018801012046e6f646518022200280140004a006a0a08d7843d100118002020"} ,{"key":"8b898b8a89","value":"030a88030a0a64657363726970746f721803200128013a0042270a02696410011a0c08011040180030005014600020003000680070007800800100880100980100422f0a0a64657363726970746f7210021a0c08081000180030005011600020013000680070007800800100880100980100480352710a077072696d61727910011801220269642a0a64657363726970746f72300140004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651802800101880103980100b201130a077072696d61727910001a02696420012800b201240a1066616d5f325f64657363726970746f7210021a0a64657363726970746f7220022802b80103c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300"} ,{"key":"8b898c8a89","value":"030ac1050a0575736572731804200128013a00422d0a08757365726e616d6510011a0c0807100018003000501960002000300068007000780080010088010098010042330a0e68617368656450617373776f726410021a0c0808100018003000501160002001300068007000780080010088010098010042320a066973526f6c6510031a0c08001000180030005010600020002a0566616c73653000680070007800800100880100980100422c0a07757365725f696410041a0c080c100018003000501a60002000300068007000780080010088010098010048055290010a077072696d617279100118012208757365726e616d652a0e68617368656450617373776f72642a066973526f6c652a07757365725f6964300140004a10080010001a00200028003000380040005a007002700370047a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00102e00100e90100000000000000005a740a1175736572735f757365725f69645f696478100218012207757365725f69643004380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651802800101880103980100b201240a077072696d61727910001a08757365726e616d651a07757365725f6964200120042804b2012c0a1466616d5f325f68617368656450617373776f726410021a0e68617368656450617373776f726420022802b2011c0a0c66616d5f335f6973526f6c6510031a066973526f6c6520032803b80104c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300"} ,{"key":"8b898d8a89","value":"030af7020a057a6f6e65731805200128013a0042270a02696410011a0c08011040180030005014600020003000680070007800800100880100980100422b0a06636f6e66696710021a0c080810001800300050116000200130006800700078008001008801009801004803526d0a077072696d61727910011801220269642a06636f6e666967300140004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651802800101880103980100b201130a077072696d61727910001a02696420012800b2011c0a0c66616d5f325f636f6e66696710021a06636f6e66696720022802b80103c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300"} @@ -232,6 +241,9 @@ tenant hash=502836444b6ee39b3ce4e61d0e6c527172a117d703f414750cb7bd7b257f7602 ,{"key":"8b89c18a89","value":"030a9a030a1c7370616e5f73746174735f74656e616e745f626f756e6461726965731839200128013a00422e0a0974656e616e745f696410011a0c08011040180030005014600020003000680070007800800100880100980100422f0a0a626f756e64617269657310021a0c08081000180030005011600020003000680070007800800100880100980100480352780a077072696d61727910011801220974656e616e745f69642a0a626f756e646172696573300140004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651802800101880103980100b201280a077072696d61727910001a0974656e616e745f69641a0a626f756e646172696573200120022802b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300"} ,{"key":"8b89c28a89","value":"030ae5180a1273746174656d656e745f6163746976697479183a200128013a0042330a0d616767726567617465645f747310011a0d080910001800300050a00960002000300068007000780080010088010098010042330a0e66696e6765727072696e745f696410021a0c08081000180030005011600020003000680070007800800100880100980100423f0a1a7472616e73616374696f6e5f66696e6765727072696e745f696410031a0c08081000180030005011600020003000680070007800800100880100980100422e0a09706c616e5f6861736810041a0c08081000180030005011600020003000680070007800800100880100980100422d0a086170705f6e616d6510051a0c0807100018003000501960002000300068007000780080010088010098010042380a0c6167675f696e74657276616c10061a13080610001800300050a20960006a040800100020003000680070007800800100880100980100422e0a086d6574616461746110071a0d081210001800300050da1d60002000300068007000780080010088010098010042300a0a7374617469737469637310081a0d081210001800300050da1d600020003000680070007800800100880100980100422a0a04706c616e10091a0d081210001800300050da1d600020003000680070007800800100880100980100425f0a15696e6465785f7265636f6d6d656e646174696f6e73100a1a1d080f100018003000380750f1075a0c080710001800300050196000600020002a1241525241595b5d3a3a3a535452494e475b5d300068007000780080010088010098010042340a0f657865637574696f6e5f636f756e74100b1a0c08011040180030005014600020003000680070007800800100880100980100423d0a17657865637574696f6e5f746f74616c5f7365636f6e6473100c1a0d080210401800300050bd0560002000300068007000780080010088010098010042450a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e6473100d1a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e6473100e1a0d080210401800300050bd0560002000300068007000780080010088010098010042370a116370755f73716c5f6176675f6e616e6f73100f1a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b736572766963655f6c6174656e63795f6176675f7365636f6e647310101a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b736572766963655f6c6174656e63795f7039395f7365636f6e647310111a0d080210401800300050bd05600020003000680070007800800100880100980100481252cd030a077072696d61727910011801220d616767726567617465645f7473220e66696e6765727072696e745f6964221a7472616e73616374696f6e5f66696e6765727072696e745f69642209706c616e5f6861736822086170705f6e616d652a0c6167675f696e74657276616c2a086d657461646174612a0a737461746973746963732a04706c616e2a15696e6465785f7265636f6d6d656e646174696f6e732a0f657865637574696f6e5f636f756e742a17657865637574696f6e5f746f74616c5f7365636f6e64732a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e64732a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64732a116370755f73716c5f6176675f6e616e6f732a1b736572766963655f6c6174656e63795f6176675f7365636f6e64732a1b736572766963655f6c6174656e63795f7039395f7365636f6e647330013002300330043005400040004000400040004a10080010001a00200028003000380040005a007006700770087009700a700b700c700d700e700f701070117a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005aa0010a1266696e6765727072696e745f69645f69647810021800220e66696e6765727072696e745f6964221a7472616e73616374696f6e5f66696e6765727072696e745f696430023003380138043805400040004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a97010a13657865637574696f6e5f636f756e745f69647810031800220d616767726567617465645f7473220f657865637574696f6e5f636f756e743001300b3802380338043805400040014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aa9010a1b657865637574696f6e5f746f74616c5f7365636f6e64735f69647810041800220d616767726567617465645f74732217657865637574696f6e5f746f74616c5f7365636f6e64733001300c3802380338043805400040014a10080010001a00200028003000380040005a00680c7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ab1010a1f636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64735f69647810051800220d616767726567617465645f7473221b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64733001300e3802380338043805400040014a10080010001a00200028003000380040005a00680e7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a9d010a156370755f73716c5f6176675f6e616e6f735f69647810061800220d616767726567617465645f747322116370755f73716c5f6176675f6e616e6f733001300f3802380338043805400040014a10080010001a00200028003000380040005a00680f7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ab1010a1f736572766963655f6c6174656e63795f6176675f7365636f6e64735f69647810071800220d616767726567617465645f7473221b736572766963655f6c6174656e63795f6176675f7365636f6e6473300130103802380338043805400040014a10080010001a00200028003000380040005a0068107a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ab1010a1f736572766963655f6c6174656e63795f7039395f7365636f6e64735f69647810081800220d616767726567617465645f7473221b736572766963655f6c6174656e63795f7039395f7365636f6e6473300130113802380338043805400040014a10080010001a00200028003000380040005a0068117a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060096a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651802800101880103980100b201f5020a077072696d61727910001a0d616767726567617465645f74731a0e66696e6765727072696e745f69641a1a7472616e73616374696f6e5f66696e6765727072696e745f69641a09706c616e5f686173681a086170705f6e616d651a0c6167675f696e74657276616c1a086d657461646174611a0a737461746973746963731a04706c616e1a15696e6465785f7265636f6d6d656e646174696f6e731a0f657865637574696f6e5f636f756e741a17657865637574696f6e5f746f74616c5f7365636f6e64731a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e64731a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64731a116370755f73716c5f6176675f6e616e6f731a1b736572766963655f6c6174656e63795f6176675f7365636f6e64731a1b736572766963655f6c6174656e63795f7039395f7365636f6e6473200120022003200420052006200720082009200a200b200c200d200e200f201020112800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300"} ,{"key":"8b89c38a89","value":"030ad0150a147472616e73616374696f6e5f6163746976697479183b200128013a0042330a0d616767726567617465645f747310011a0d080910001800300050a00960002000300068007000780080010088010098010042330a0e66696e6765727072696e745f696410021a0c08081000180030005011600020003000680070007800800100880100980100422d0a086170705f6e616d6510031a0c0807100018003000501960002000300068007000780080010088010098010042380a0c6167675f696e74657276616c10041a13080610001800300050a20960006a040800100020003000680070007800800100880100980100422e0a086d6574616461746110051a0d081210001800300050da1d60002000300068007000780080010088010098010042300a0a7374617469737469637310061a0d081210001800300050da1d600020003000680070007800800100880100980100422a0a05717565727910071a0c0807100018003000501960002000300068007000780080010088010098010042340a0f657865637574696f6e5f636f756e7410081a0c08011040180030005014600020003000680070007800800100880100980100423d0a17657865637574696f6e5f746f74616c5f7365636f6e647310091a0d080210401800300050bd0560002000300068007000780080010088010098010042450a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e6473100a1a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e6473100b1a0d080210401800300050bd0560002000300068007000780080010088010098010042370a116370755f73716c5f6176675f6e616e6f73100c1a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b736572766963655f6c6174656e63795f6176675f7365636f6e6473100d1a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b736572766963655f6c6174656e63795f7039395f7365636f6e6473100e1a0d080210401800300050bd05600020003000680070007800800100880100980100480f5286030a077072696d61727910011801220d616767726567617465645f7473220e66696e6765727072696e745f696422086170705f6e616d652a0c6167675f696e74657276616c2a086d657461646174612a0a737461746973746963732a0571756572792a0f657865637574696f6e5f636f756e742a17657865637574696f6e5f746f74616c5f7365636f6e64732a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e64732a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64732a116370755f73716c5f6176675f6e616e6f732a1b736572766963655f6c6174656e63795f6176675f7365636f6e64732a1b736572766963655f6c6174656e63795f7039395f7365636f6e64733001300230034000400040004a10080010001a00200028003000380040005a00700470057006700770087009700a700b700c700d700e7a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a7e0a1266696e6765727072696e745f69645f69647810021800220e66696e6765727072696e745f696430023801380340004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a93010a13657865637574696f6e5f636f756e745f69647810031800220d616767726567617465645f7473220f657865637574696f6e5f636f756e743001300838023803400040014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aa5010a1b657865637574696f6e5f746f74616c5f7365636f6e64735f69647810041800220d616767726567617465645f74732217657865637574696f6e5f746f74616c5f7365636f6e64733001300938023803400040014a10080010001a00200028003000380040005a0068097a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aad010a1f636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64735f69647810051800220d616767726567617465645f7473221b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64733001300b38023803400040014a10080010001a00200028003000380040005a00680b7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a99010a156370755f73716c5f6176675f6e616e6f735f69647810061800220d616767726567617465645f747322116370755f73716c5f6176675f6e616e6f733001300c38023803400040014a10080010001a00200028003000380040005a00680c7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aad010a1f736572766963655f6c6174656e63795f6176675f7365636f6e64735f69647810071800220d616767726567617465645f7473221b736572766963655f6c6174656e63795f6176675f7365636f6e64733001300d38023803400040014a10080010001a00200028003000380040005a00680d7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aad010a1f736572766963655f6c6174656e63795f7039395f7365636f6e64735f69647810081800220d616767726567617465645f7473221b736572766963655f6c6174656e63795f7039395f7365636f6e64733001300e38023803400040014a10080010001a00200028003000380040005a00680e7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060096a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651802800101880103980100b201b2020a077072696d61727910001a0d616767726567617465645f74731a0e66696e6765727072696e745f69641a086170705f6e616d651a0c6167675f696e74657276616c1a086d657461646174611a0a737461746973746963731a0571756572791a0f657865637574696f6e5f636f756e741a17657865637574696f6e5f746f74616c5f7365636f6e64731a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e64731a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64731a116370755f73716c5f6176675f6e616e6f731a1b736572766963655f6c6174656e63795f6176675f7365636f6e64731a1b736572766963655f6c6174656e63795f7039395f7365636f6e6473200120022003200420052006200720082009200a200b200c200d200e2800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300"} +,{"key":"8b89c48a89","value":"030ab90a0a0f6d7663635f73746174697374696373183c200128013a0042450a0a637265617465645f617410011a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a300068007000780080010088010098010042300a0b64617461626173655f696410021a0c08011040180030005014600020003000680070007800800100880100980100422d0a087461626c655f696410031a0c08011040180030005014600020003000680070007800800100880100980100422d0a08696e6465785f696410041a0c0801104018003000501460002000300068007000780080010088010098010042300a0a7374617469737469637310051a0d081210001800300050da1d60002000300068007000780080010088010098010042ab010a3f637264625f696e7465726e616c5f637265617465645f61745f64617461626173655f69645f696e6465785f69645f7461626c655f69645f73686172645f313610061a0c080110201800300050176000200030015a456d6f6428666e763332286d643528637264625f696e7465726e616c2e646174756d735f746f5f627974657328637265617465645f61742929292c2031363a3a3a494e543829680070007800800101880100980100480752e4020a146d7663635f737461746973746963735f706b657910011801223f637264625f696e7465726e616c5f637265617465645f61745f64617461626173655f69645f696e6465785f69645f7461626c655f69645f73686172645f3136220a637265617465645f6174220b64617461626173655f696422087461626c655f69642208696e6465785f69642a0a7374617469737469637330063001300230033004400040004000400040004a10080010001a00200028003000380040005a0070057a0408002000800100880100900104980101a201720801123f637264625f696e7465726e616c5f637265617465645f61745f64617461626173655f69645f696e6465785f69645f7461626c655f69645f73686172645f31361810220a637265617465645f6174220b64617461626173655f69642208696e6465785f696422087461626c655f6964a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651802800101880103980100a201bd020ae901637264625f696e7465726e616c5f637265617465645f61745f64617461626173655f69645f696e6465785f69645f7461626c655f69645f73686172645f313620494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e54382c20383a3a3a494e54382c20393a3a3a494e54382c2031303a3a3a494e54382c2031313a3a3a494e54382c2031323a3a3a494e54382c2031333a3a3a494e54382c2031343a3a3a494e54382c2031353a3a3a494e5438291245636865636b5f637264625f696e7465726e616c5f637265617465645f61745f64617461626173655f69645f696e6465785f69645f7461626c655f69645f73686172645f313618002806300038014002b201500a077072696d61727910001a0a637265617465645f61741a0b64617461626173655f69641a087461626c655f69641a08696e6465785f69641a0a73746174697374696373200120022003200420052805b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300"} +,{"key":"8b89c58a89","value":"030aaf170a1e7472616e73616374696f6e5f657865637574696f6e5f696e736967687473183d200128013a0042340a0e7472616e73616374696f6e5f696410011a0d080e100018003000508617600020003000680070007800800100880100980100423f0a1a7472616e73616374696f6e5f66696e6765727072696e745f696410021a0c0808100018003000501160002000300068007000780080010088010098010042320a0d71756572795f73756d6d61727910031a0c0807100018003000501960002001300068007000780080010088010098010042310a0c696d706c696369745f74786e10041a0c08001000180030005010600020013000680070007800800100880100980100422f0a0a73657373696f6e5f696410051a0c0807100018003000501960002000300068007000780080010088010098010042300a0a73746172745f74696d6510061a0d080910001800300050a009600020013000680070007800800100880100980100422e0a08656e645f74696d6510071a0d080910001800300050a009600020013000680070007800800100880100980100422e0a09757365725f6e616d6510081a0c08071000180030005019600020013000680070007800800100880100980100422d0a086170705f6e616d6510091a0c0807100018003000501960002001300068007000780080010088010098010042320a0d757365725f7072696f72697479100a1a0c08071000180030005019600020013000680070007800800100880100980100422c0a0772657472696573100b1a0c0801104018003000501460002001300068007000780080010088010098010042360a116c6173745f72657472795f726561736f6e100c1a0c08071000180030005019600020013000680070007800800100880100980100423e0a0870726f626c656d73100d1a1d080f104018003000380150f8075a0c080110401800300050146000600020013000680070007800800100880100980100423c0a06636175736573100e1a1d080f104018003000380150f8075a0c08011040180030005014600060002001300068007000780080010088010098010042480a1273746d745f657865637574696f6e5f696473100f1a1d080f100018003000380750f1075a0c08071000180030005019600060002001300068007000780080010088010098010042320a0d6370755f73716c5f6e616e6f7310101a0c0801104018003000501460002001300068007000780080010088010098010042340a0f6c6173745f6572726f725f636f646510111a0c08071000180030005019600020013000680070007800800100880100980100422b0a0673746174757310121a0c08011040180030005014600020013000680070007800800100880100980100423b0a0f636f6e74656e74696f6e5f74696d6510131a13080610001800300050a20960006a04080010002001300068007000780080010088010098010042350a0f636f6e74656e74696f6e5f696e666f10141a0d081210001800300050da1d600020013000680070007800800100880100980100422d0a0764657461696c7310151a0d081210001800300050da1d60002001300068007000780080010088010098010042420a076372656174656410161a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a300068007000780080010088010098010042a0010a2a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313610171a0c080110201800300050176000200030015a4f6d6f6428666e763332286d643528637264625f696e7465726e616c2e646174756d735f746f5f627974657328656e645f74696d652c2073746172745f74696d652929292c2031363a3a3a494e543829680070007800800101880100980100481852b6030a077072696d61727910011801220e7472616e73616374696f6e5f69642a1a7472616e73616374696f6e5f66696e6765727072696e745f69642a0d71756572795f73756d6d6172792a0c696d706c696369745f74786e2a0a73657373696f6e5f69642a0a73746172745f74696d652a08656e645f74696d652a09757365725f6e616d652a086170705f6e616d652a0d757365725f7072696f726974792a07726574726965732a116c6173745f72657472795f726561736f6e2a0870726f626c656d732a066361757365732a1273746d745f657865637574696f6e5f6964732a0d6370755f73716c5f6e616e6f732a0f6c6173745f6572726f725f636f64652a067374617475732a0f636f6e74656e74696f6e5f74696d652a0f636f6e74656e74696f6e5f696e666f2a0764657461696c732a0763726561746564300140004a10080010001a00200028003000380040005a0070027003700470057006700770087009700a700b700c700d700e700f70107011701270137014701570167a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a94010a1e7472616e73616374696f6e5f66696e6765727072696e745f69645f69647810021800221a7472616e73616374696f6e5f66696e6765727072696e745f69643002380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005af2010a0e74696d655f72616e67655f69647810031800222a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f3136220a73746172745f74696d652208656e645f74696d6530173006300738014000400140014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a201460801122a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313618102208656e645f74696d65220a73746172745f74696d65a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060046a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651802800101880103980100a20193020ad401637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313620494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e54382c20383a3a3a494e54382c20393a3a3a494e54382c2031303a3a3a494e54382c2031313a3a3a494e54382c2031323a3a3a494e54382c2031333a3a3a494e54382c2031343a3a3a494e54382c2031353a3a3a494e5438291230636865636b5f637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313618002817300038014002b201e6020a077072696d61727910001a0e7472616e73616374696f6e5f69641a1a7472616e73616374696f6e5f66696e6765727072696e745f69641a0d71756572795f73756d6d6172791a0c696d706c696369745f74786e1a0a73657373696f6e5f69641a0a73746172745f74696d651a08656e645f74696d651a09757365725f6e616d651a086170705f6e616d651a0d757365725f7072696f726974791a07726574726965731a116c6173745f72657472795f726561736f6e1a0870726f626c656d731a066361757365731a1273746d745f657865637574696f6e5f6964731a0d6370755f73716c5f6e616e6f731a0f6c6173745f6572726f725f636f64651a067374617475731a0f636f6e74656e74696f6e5f74696d651a0f636f6e74656e74696f6e5f696e666f1a0764657461696c731a0763726561746564200120022003200420052006200720082009200a200b200c200d200e200f20102011201220132014201520162800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300"} +,{"key":"8b89c68a89","value":"030afa1d0a1c73746174656d656e745f657865637574696f6e5f696e736967687473183e200128013a00422f0a0a73657373696f6e5f696410011a0c0807100018003000501960002000300068007000780080010088010098010042340a0e7472616e73616374696f6e5f696410021a0d080e100018003000508617600020003000680070007800800100880100980100423f0a1a7472616e73616374696f6e5f66696e6765727072696e745f696410031a0c0808100018003000501160002000300068007000780080010088010098010042310a0c73746174656d656e745f696410041a0c08071000180030005019600020003000680070007800800100880100980100423d0a1873746174656d656e745f66696e6765727072696e745f696410051a0c08081000180030005011600020003000680070007800800100880100980100422c0a0770726f626c656d10061a0c08011040180030005014600020013000680070007800800100880100980100423c0a0663617573657310071a1d080f104018003000380150f8075a0c080110401800300050146000600020013000680070007800800100880100980100422a0a05717565727910081a0c08071000180030005019600020013000680070007800800100880100980100422b0a0673746174757310091a0c0801104018003000501460002001300068007000780080010088010098010042300a0a73746172745f74696d65100a1a0d080910001800300050a009600020013000680070007800800100880100980100422e0a08656e645f74696d65100b1a0d080910001800300050a009600020013000680070007800800100880100980100422e0a0966756c6c5f7363616e100c1a0c08001000180030005010600020013000680070007800800100880100980100422e0a09757365725f6e616d65100d1a0c08071000180030005019600020013000680070007800800100880100980100422d0a086170705f6e616d65100e1a0c0807100018003000501960002001300068007000780080010088010098010042320a0d757365725f7072696f72697479100f1a0c0807100018003000501960002001300068007000780080010088010098010042320a0d64617461626173655f6e616d6510101a0c08071000180030005019600020013000680070007800800100880100980100422e0a09706c616e5f6769737410111a0c08071000180030005019600020013000680070007800800100880100980100422c0a077265747269657310121a0c0801104018003000501460002001300068007000780080010088010098010042360a116c6173745f72657472795f726561736f6e10131a0c0807100018003000501960002001300068007000780080010088010098010042480a12657865637574696f6e5f6e6f64655f69647310141a1d080f104018003000380150f8075a0c080110401800300050146000600020013000680070007800800100880100980100424b0a15696e6465785f7265636f6d6d656e646174696f6e7310151a1d080f100018003000380750f1075a0c08071000180030005019600060002001300068007000780080010088010098010042310a0c696d706c696369745f74786e10161a0c0800100018003000501060002001300068007000780080010088010098010042320a0d6370755f73716c5f6e616e6f7310171a0c08011040180030005014600020013000680070007800800100880100980100422f0a0a6572726f725f636f646510181a0c08071000180030005019600020013000680070007800800100880100980100423b0a0f636f6e74656e74696f6e5f74696d6510191a13080610001800300050a20960006a04080010002001300068007000780080010088010098010042350a0f636f6e74656e74696f6e5f696e666f101a1a0d081210001800300050da1d600020013000680070007800800100880100980100422d0a0764657461696c73101b1a0d081210001800300050da1d60002001300068007000780080010088010098010042420a0763726561746564101c1a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a300068007000780080010088010098010042a0010a2a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f3136101d1a0c080110201800300050176000200030015a4f6d6f6428666e763332286d643528637264625f696e7465726e616c2e646174756d735f746f5f627974657328656e645f74696d652c2073746172745f74696d652929292c2031363a3a3a494e543829680070007800800101880100980100481e529a040a077072696d61727910011801220c73746174656d656e745f6964220e7472616e73616374696f6e5f69642a0a73657373696f6e5f69642a1a7472616e73616374696f6e5f66696e6765727072696e745f69642a1873746174656d656e745f66696e6765727072696e745f69642a0770726f626c656d2a066361757365732a0571756572792a067374617475732a0a73746172745f74696d652a08656e645f74696d652a0966756c6c5f7363616e2a09757365725f6e616d652a086170705f6e616d652a0d757365725f7072696f726974792a0d64617461626173655f6e616d652a09706c616e5f676973742a07726574726965732a116c6173745f72657472795f726561736f6e2a12657865637574696f6e5f6e6f64655f6964732a15696e6465785f7265636f6d6d656e646174696f6e732a0c696d706c696369745f74786e2a0d6370755f73716c5f6e616e6f732a0a6572726f725f636f64652a0f636f6e74656e74696f6e5f74696d652a0f636f6e74656e74696f6e5f696e666f2a0764657461696c732a076372656174656430043002400040004a10080010001a00200028003000380040005a007001700370057006700770087009700a700b700c700d700e700f7010701170127013701470157016701770187019701a701b701c7a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a7c0a127472616e73616374696f6e5f69645f69647810021800220e7472616e73616374696f6e5f69643002380440004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ab4010a1e7472616e73616374696f6e5f66696e6765727072696e745f69645f69647810031800221a7472616e73616374696f6e5f66696e6765727072696e745f6964220a73746172745f74696d652208656e645f74696d653003300a300b380438024000400140014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ab0010a1c73746174656d656e745f66696e6765727072696e745f69645f69647810041800221873746174656d656e745f66696e6765727072696e745f6964220a73746172745f74696d652208656e645f74696d653005300a300b380438024000400140014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005af4010a0e74696d655f72616e67655f69647810051800222a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f3136220a73746172745f74696d652208656e645f74696d65301d300a300b380438024000400140014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a201460801122a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313618102208656e645f74696d65220a73746172745f74696d65a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060066a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651802800101880103980100a20193020ad401637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313620494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e54382c20383a3a3a494e54382c20393a3a3a494e54382c2031303a3a3a494e54382c2031313a3a3a494e54382c2031323a3a3a494e54382c2031333a3a3a494e54382c2031343a3a3a494e54382c2031353a3a3a494e5438291230636865636b5f637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f31361800281d300038014002b201c8030a077072696d61727910001a0a73657373696f6e5f69641a0e7472616e73616374696f6e5f69641a1a7472616e73616374696f6e5f66696e6765727072696e745f69641a0c73746174656d656e745f69641a1873746174656d656e745f66696e6765727072696e745f69641a0770726f626c656d1a066361757365731a0571756572791a067374617475731a0a73746172745f74696d651a08656e645f74696d651a0966756c6c5f7363616e1a09757365725f6e616d651a086170705f6e616d651a0d757365725f7072696f726974791a0d64617461626173655f6e616d651a09706c616e5f676973741a07726574726965731a116c6173745f72657472795f726561736f6e1a12657865637574696f6e5f6e6f64655f6964731a15696e6465785f7265636f6d6d656e646174696f6e731a0c696d706c696369745f74786e1a0d6370755f73716c5f6e616e6f731a0a6572726f725f636f64651a0f636f6e74656e74696f6e5f74696d651a0f636f6e74656e74696f6e5f696e666f1a0764657461696c731a0763726561746564200120022003200420052006200720082009200a200b200c200d200e200f2010201120122013201420152016201720182019201a201b201c2800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300"} ,{"key":"8d89888a89","value":"031080808040188080808002220308c0702803500058007801"} ,{"key":"8f898888","value":"01c801"} ,{"key":"a68988881273797374656d00018c89","value":"0102"} @@ -248,6 +260,7 @@ tenant hash=502836444b6ee39b3ce4e61d0e6c527172a117d703f414750cb7bd7b257f7602 ,{"key":"a68989a5126c6561736500018c89","value":"0116"} ,{"key":"a68989a5126c6f636174696f6e7300018c89","value":"012a"} ,{"key":"a68989a5126d6967726174696f6e7300018c89","value":"0150"} +,{"key":"a68989a5126d7663635f7374617469737469637300018c89","value":"0178"} ,{"key":"a68989a5126e616d65737061636500018c89","value":"013c"} ,{"key":"a68989a51270726976696c6567657300018c89","value":"0166"} ,{"key":"a68989a51270726f7465637465645f74735f6d65746100018c89","value":"013e"} @@ -274,9 +287,11 @@ tenant hash=502836444b6ee39b3ce4e61d0e6c527172a117d703f414750cb7bd7b257f7602 ,{"key":"a68989a51273746174656d656e745f62756e646c655f6368756e6b7300018c89","value":"0144"} ,{"key":"a68989a51273746174656d656e745f646961676e6f737469637300018c89","value":"0148"} ,{"key":"a68989a51273746174656d656e745f646961676e6f73746963735f726571756573747300018c89","value":"0146"} +,{"key":"a68989a51273746174656d656e745f657865637574696f6e5f696e73696768747300018c89","value":"017c"} ,{"key":"a68989a51273746174656d656e745f7374617469737469637300018c89","value":"0154"} ,{"key":"a68989a5127461626c655f7374617469737469637300018c89","value":"0128"} ,{"key":"a68989a5127472616e73616374696f6e5f616374697669747900018c89","value":"0176"} +,{"key":"a68989a5127472616e73616374696f6e5f657865637574696f6e5f696e73696768747300018c89","value":"017a"} ,{"key":"a68989a5127472616e73616374696f6e5f7374617469737469637300018c89","value":"0156"} ,{"key":"a68989a512756900018c89","value":"011c"} ,{"key":"a68989a512757365727300018c89","value":"0108"} diff --git a/pkg/sql/catalog/catprivilege/system.go b/pkg/sql/catalog/catprivilege/system.go index f092b5cf5a05..46ecfcc0848a 100644 --- a/pkg/sql/catalog/catprivilege/system.go +++ b/pkg/sql/catalog/catprivilege/system.go @@ -75,6 +75,9 @@ var ( catconstants.SpanStatsSamples, catconstants.SpanStatsTenantBoundaries, catconstants.RegionalLiveness, + catconstants.MVCCStatistics, + catconstants.TxnExecInsightsTableName, + catconstants.StmtExecInsightsTableName, } readWriteSystemSequences = []catconstants.SystemTableName{ diff --git a/pkg/sql/catalog/internal/catkv/testdata/testdata_app b/pkg/sql/catalog/internal/catkv/testdata/testdata_app index ad9c8c2df810..1cd4e4f3933d 100644 --- a/pkg/sql/catalog/internal/catkv/testdata/testdata_app +++ b/pkg/sql/catalog/internal/catkv/testdata/testdata_app @@ -342,6 +342,15 @@ catalog: "059": descriptor: relation namespace: (1, 29, "transaction_activity") + "060": + descriptor: relation + namespace: (1, 29, "mvcc_statistics") + "061": + descriptor: relation + namespace: (1, 29, "transaction_execution_insights") + "062": + descriptor: relation + namespace: (1, 29, "statement_execution_insights") "100": comments: database: this is the default database @@ -535,6 +544,12 @@ catalog: namespace: (1, 29, "statement_activity") "059": namespace: (1, 29, "transaction_activity") + "060": + namespace: (1, 29, "mvcc_statistics") + "061": + namespace: (1, 29, "transaction_execution_insights") + "062": + namespace: (1, 29, "statement_execution_insights") "100": comments: database: this is the default database diff --git a/pkg/sql/catalog/internal/catkv/testdata/testdata_system b/pkg/sql/catalog/internal/catkv/testdata/testdata_system index ddd8680da1f1..dd252853c786 100644 --- a/pkg/sql/catalog/internal/catkv/testdata/testdata_system +++ b/pkg/sql/catalog/internal/catkv/testdata/testdata_system @@ -375,6 +375,15 @@ catalog: "062": descriptor: relation namespace: (1, 29, "tenant_id_seq") + "063": + descriptor: relation + namespace: (1, 29, "mvcc_statistics") + "064": + descriptor: relation + namespace: (1, 29, "transaction_execution_insights") + "065": + descriptor: relation + namespace: (1, 29, "statement_execution_insights") "100": comments: database: this is the default database @@ -580,6 +589,12 @@ catalog: namespace: (1, 29, "transaction_activity") "062": namespace: (1, 29, "tenant_id_seq") + "063": + namespace: (1, 29, "mvcc_statistics") + "064": + namespace: (1, 29, "transaction_execution_insights") + "065": + namespace: (1, 29, "statement_execution_insights") "100": comments: database: this is the default database diff --git a/pkg/sql/catalog/systemschema/system.go b/pkg/sql/catalog/systemschema/system.go index 7fa789c61fb0..01ce2399dbf1 100644 --- a/pkg/sql/catalog/systemschema/system.go +++ b/pkg/sql/catalog/systemschema/system.go @@ -1008,6 +1008,146 @@ CREATE TABLE system.span_stats_tenant_boundaries ( FAMILY "primary" (crdb_region, unavailable_at) ) ; ` + + SystemMVCCStatisticsSchema = ` +CREATE TABLE system.mvcc_statistics ( + created_at TIMESTAMPTZ NOT NULL DEFAULT now():::TIMESTAMPTZ, + database_id INT8 NOT NULL, + table_id INT8 NOT NULL, + index_id INT8 NOT NULL, + statistics JSONB NOT NULL, + crdb_internal_created_at_database_id_index_id_table_id_shard_16 INT4 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(created_at))), 16:::INT8)) VIRTUAL, + CONSTRAINT mvcc_statistics_pkey PRIMARY KEY (created_at ASC, database_id ASC, table_id ASC, index_id ASC) USING HASH WITH (bucket_count=16), + FAMILY "primary" ( + created_at, + database_id, + table_id, + index_id, + statistics + ) +);` + + TxnExecutionStatsTableSchema = ` + CREATE TABLE system.transaction_execution_insights ( + transaction_id UUID NOT NULL, + transaction_fingerprint_id BYTES NOT NULL, + query_summary STRING, + implicit_txn BOOL, + session_id STRING NOT NULL, + start_time TIMESTAMPTZ, + end_time TIMESTAMPTZ, + user_name STRING, + app_name STRING, + user_priority STRING, + retries INT8, + last_retry_reason STRING, + problems INT[], + causes INT[], + stmt_execution_ids STRING[], + cpu_sql_nanos INT8, + last_error_code STRING, + status INT, + contention_time INTERVAL, + contention_info JSONB, + details JSONB, + created TIMESTAMPTZ NOT NULL DEFAULT now(), + crdb_internal_end_time_start_time_shard_16 INT4 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(end_time, start_time))), 16:::INT8)) VIRTUAL, + CONSTRAINT "primary" PRIMARY KEY (transaction_id), + INDEX transaction_fingerprint_id_idx (transaction_fingerprint_id), + INDEX time_range_idx (start_time DESC, end_time DESC) USING HASH WITH (bucket_count=16), + FAMILY "primary" ( + transaction_id, + transaction_fingerprint_id, + query_summary, + implicit_txn, + session_id, + start_time, + end_time, + user_name, + app_name, + user_priority, + retries, + last_retry_reason, + problems, + causes, + stmt_execution_ids, + cpu_sql_nanos, + last_error_code, + status, + contention_time, + contention_info, + details, + created + ) + );` + + StatementExecutionStatsTableSchema = ` + CREATE TABLE system.statement_execution_insights ( + session_id STRING NOT NULL, + transaction_id UUID NOT NULL, + transaction_fingerprint_id BYTES NOT NULL, + statement_id STRING NOT NULL, + statement_fingerprint_id BYTES NOT NULL, + problem INT, + causes INT[], + query STRING, + status INT, + start_time TIMESTAMPTZ, + end_time TIMESTAMPTZ, + full_scan BOOL, + user_name STRING, + app_name STRING, + user_priority STRING, + database_name STRING, + plan_gist STRING, + retries INT8, + last_retry_reason STRING, + execution_node_ids INT[], + index_recommendations STRING[], + implicit_txn BOOL, + cpu_sql_nanos INT8, + error_code STRING, + contention_time INTERVAL, + contention_info JSONB, + details JSONB, + created TIMESTAMPTZ NOT NULL DEFAULT now(), + crdb_internal_end_time_start_time_shard_16 INT4 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(end_time, start_time))), 16:::INT8)) VIRTUAL, + CONSTRAINT "primary" PRIMARY KEY (statement_id, transaction_id), + INDEX transaction_id_idx (transaction_id), + INDEX transaction_fingerprint_id_idx (transaction_fingerprint_id, start_time DESC, end_time DESC), + INDEX statement_fingerprint_id_idx (statement_fingerprint_id, start_time DESC, end_time DESC), + INDEX time_range_idx (start_time DESC, end_time DESC) USING HASH, + FAMILY "primary" ( + session_id, + transaction_id, + transaction_fingerprint_id, + statement_id, + statement_fingerprint_id, + problem, + causes, + query, + status, + start_time, + end_time, + full_scan, + user_name, + app_name, + user_priority, + database_name, + plan_gist, + retries, + last_retry_reason, + execution_node_ids, + index_recommendations, + implicit_txn, + cpu_sql_nanos, + error_code, + contention_time, + contention_info, + details, + created + ) + );` ) func pk(name string) descpb.IndexDescriptor { @@ -1030,8 +1170,9 @@ var ( // TABLE statements for both statement and transaction tables in a SQL shell. // If we are to change how we compute hash values in the future, we need to // modify these two expressions as well. - sqlStmtHashComputeExpr = `mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id, plan_hash, transaction_fingerprint_id)), 8:::INT8)` - sqlTxnHashComputeExpr = `mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id)), 8:::INT8)` + sqlStmtHashComputeExpr = `mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id, plan_hash, transaction_fingerprint_id)), 8:::INT8)` + sqlTxnHashComputeExpr = `mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id)), 8:::INT8)` + timestampHashComputeExpr = `mod(fnv32(md5(crdb_internal.datums_to_bytes(created_at))), 16:::INT8)` ) const ( @@ -1056,7 +1197,7 @@ const SystemDatabaseName = catconstants.SystemDatabaseName // SystemDatabaseSchemaBootstrapVersion is the system database schema version // that should be used during bootstrap. It should be bumped up alongside any // upgrade that creates or modifies the schema of a system table. -var SystemDatabaseSchemaBootstrapVersion = clusterversion.ByKey(clusterversion.V23_2_RegionaLivenessTable) +var SystemDatabaseSchemaBootstrapVersion = clusterversion.ByKey(clusterversion.V23_2_AddSystemExecInsightsTable) // MakeSystemDatabaseDesc constructs a copy of the system database // descriptor. @@ -1244,6 +1385,9 @@ func MakeSystemTables() []SystemTable { StatementActivityTable, TransactionActivityTable, RegionLivenessTable, + SystemMVCCStatisticsTable, + StatementExecInsightsTable, + TransactionExecInsightsTable, } } @@ -3946,7 +4090,7 @@ var ( KeyColumnNames: []string{"id"}, KeyColumnDirections: []catenumpb.IndexColumn_Direction{ catenumpb.IndexColumn_ASC, - //catenumpb.IndexColumn_ASC, + // catenumpb.IndexColumn_ASC, }, KeyColumnIDs: []descpb.ColumnID{1}, }, @@ -4110,6 +4254,396 @@ var ( }, ), ) + + SystemMVCCStatisticsTable = makeSystemTable( + SystemMVCCStatisticsSchema, + systemTable( + catconstants.MVCCStatistics, + descpb.InvalidID, // dynamically assigned table ID + []descpb.ColumnDescriptor{ + {Name: "created_at", ID: 1, Type: types.TimestampTZ, DefaultExpr: &nowTZString}, + {Name: "database_id", ID: 2, Type: types.Int}, + {Name: "table_id", ID: 3, Type: types.Int}, + {Name: "index_id", ID: 4, Type: types.Int}, + {Name: "statistics", ID: 5, Type: types.Jsonb}, + { + Name: "crdb_internal_created_at_database_id_index_id_table_id_shard_16", + ID: 6, + Type: types.Int4, + Nullable: false, + ComputeExpr: ×tampHashComputeExpr, + Hidden: true, + Virtual: true, + }, + }, + []descpb.ColumnFamilyDescriptor{ + { + Name: "primary", + ID: 0, + ColumnNames: []string{ + "created_at", + "database_id", + "table_id", + "index_id", + "statistics", + }, + ColumnIDs: []descpb.ColumnID{1, 2, 3, 4, 5}, + DefaultColumnID: 5, + }, + }, + descpb.IndexDescriptor{ + Name: "mvcc_statistics_pkey", + ID: 1, + Unique: true, + KeyColumnNames: []string{ + "crdb_internal_created_at_database_id_index_id_table_id_shard_16", + "created_at", + "database_id", + "table_id", + "index_id", + }, + KeyColumnDirections: []catenumpb.IndexColumn_Direction{ + catenumpb.IndexColumn_ASC, + catenumpb.IndexColumn_ASC, + catenumpb.IndexColumn_ASC, + catenumpb.IndexColumn_ASC, + catenumpb.IndexColumn_ASC, + }, + KeyColumnIDs: []descpb.ColumnID{6, 1, 2, 3, 4}, + Sharded: catpb.ShardedDescriptor{ + IsSharded: true, + Name: "crdb_internal_created_at_database_id_index_id_table_id_shard_16", + ShardBuckets: 16, // Cluster setting default. + ColumnNames: []string{ + "created_at", + "database_id", + "index_id", + "table_id", + }, + }, + }, + ), + func(tbl *descpb.TableDescriptor) { + tbl.Checks = []*descpb.TableDescriptor_CheckConstraint{{ + Expr: "crdb_internal_created_at_database_id_index_id_table_id_shard_16 IN (0:::INT8, 1:::INT8, 2:::INT8, 3:::INT8, 4:::INT8, 5:::INT8, 6:::INT8, 7:::INT8, 8:::INT8, 9:::INT8, 10:::INT8, 11:::INT8, 12:::INT8, 13:::INT8, 14:::INT8, 15:::INT8)", + Name: "check_crdb_internal_created_at_database_id_index_id_table_id_shard_16", + Validity: descpb.ConstraintValidity_Validated, + ColumnIDs: []descpb.ColumnID{6}, + IsNonNullConstraint: false, + FromHashShardedColumn: true, + ConstraintID: tbl.NextConstraintID, + }} + tbl.NextConstraintID++ + }, + ) + + timeRangeHashComputeExpr = `mod(fnv32(md5(crdb_internal.datums_to_bytes(end_time, start_time))), 16:::INT8)` + + TransactionExecInsightsTable = makeSystemTable( + TxnExecutionStatsTableSchema, + systemTable( + catconstants.TxnExecInsightsTableName, + descpb.InvalidID, // dynamically assigned table ID + []descpb.ColumnDescriptor{ + {Name: "transaction_id", ID: 1, Type: types.Uuid}, + {Name: "transaction_fingerprint_id", ID: 2, Type: types.Bytes}, + {Name: "query_summary", ID: 3, Type: types.String, Nullable: true}, + {Name: "implicit_txn", ID: 4, Type: types.Bool, Nullable: true}, + {Name: "session_id", ID: 5, Type: types.String}, + {Name: "start_time", ID: 6, Type: types.TimestampTZ, Nullable: true}, + {Name: "end_time", ID: 7, Type: types.TimestampTZ, Nullable: true}, + {Name: "user_name", ID: 8, Type: types.String, Nullable: true}, + {Name: "app_name", ID: 9, Type: types.String, Nullable: true}, + {Name: "user_priority", ID: 10, Type: types.String, Nullable: true}, + {Name: "retries", ID: 11, Type: types.Int, Nullable: true}, + {Name: "last_retry_reason", ID: 12, Type: types.String, Nullable: true}, + {Name: "problems", ID: 13, Type: types.IntArray, Nullable: true}, + {Name: "causes", ID: 14, Type: types.IntArray, Nullable: true}, + {Name: "stmt_execution_ids", ID: 15, Type: types.StringArray, Nullable: true}, + {Name: "cpu_sql_nanos", ID: 16, Type: types.Int, Nullable: true}, + {Name: "last_error_code", ID: 17, Type: types.String, Nullable: true}, + {Name: "status", ID: 18, Type: types.Int, Nullable: true}, + {Name: "contention_time", ID: 19, Type: types.Interval, Nullable: true}, + {Name: "contention_info", ID: 20, Type: types.Jsonb, Nullable: true}, + {Name: "details", ID: 21, Type: types.Jsonb, Nullable: true}, + {Name: "created", ID: 22, Type: types.TimestampTZ, DefaultExpr: &nowTZString}, + { + Name: "crdb_internal_end_time_start_time_shard_16", + ID: 23, + Type: types.Int4, + Nullable: false, + ComputeExpr: &timeRangeHashComputeExpr, + Hidden: true, + Virtual: true, + }, + }, + []descpb.ColumnFamilyDescriptor{ + { + Name: "primary", + ID: 0, + ColumnNames: []string{ + "transaction_id", + "transaction_fingerprint_id", + "query_summary", + "implicit_txn", + "session_id", + "start_time", + "end_time", + "user_name", + "app_name", + "user_priority", + "retries", + "last_retry_reason", + "problems", + "causes", + "stmt_execution_ids", + "cpu_sql_nanos", + "last_error_code", + "status", + "contention_time", + "contention_info", + "details", + "created", + }, + ColumnIDs: []descpb.ColumnID{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22}, + DefaultColumnID: 0, + }, + }, + descpb.IndexDescriptor{ + Name: tabledesc.LegacyPrimaryKeyIndexName, + ID: 1, + Unique: true, + KeyColumnNames: []string{"transaction_id"}, + KeyColumnDirections: []catenumpb.IndexColumn_Direction{catenumpb.IndexColumn_ASC}, + KeyColumnIDs: []descpb.ColumnID{1}, + Version: descpb.StrictIndexColumnIDGuaranteesVersion, + }, + descpb.IndexDescriptor{ + Name: "transaction_fingerprint_id_idx", + ID: 2, + Unique: false, + KeyColumnNames: []string{"transaction_fingerprint_id"}, + KeyColumnDirections: []catenumpb.IndexColumn_Direction{ + catenumpb.IndexColumn_ASC, + }, + KeyColumnIDs: []descpb.ColumnID{2}, + KeySuffixColumnIDs: []descpb.ColumnID{1}, + Version: descpb.StrictIndexColumnIDGuaranteesVersion, + }, + descpb.IndexDescriptor{ + Name: "time_range_idx", + ID: 3, + Unique: false, + KeyColumnNames: []string{ + "crdb_internal_end_time_start_time_shard_16", + "start_time", + "end_time", + }, + KeyColumnDirections: []catenumpb.IndexColumn_Direction{ + catenumpb.IndexColumn_ASC, + catenumpb.IndexColumn_DESC, + catenumpb.IndexColumn_DESC, + }, + KeyColumnIDs: []descpb.ColumnID{23, 6, 7}, + KeySuffixColumnIDs: []descpb.ColumnID{1}, + Version: descpb.StrictIndexColumnIDGuaranteesVersion, + Sharded: catpb.ShardedDescriptor{ + IsSharded: true, + Name: "crdb_internal_end_time_start_time_shard_16", + ShardBuckets: 16, + ColumnNames: []string{"end_time", "start_time"}, + }, + }, + ), + func(tbl *descpb.TableDescriptor) { + tbl.Checks = []*descpb.TableDescriptor_CheckConstraint{{ + Expr: "crdb_internal_end_time_start_time_shard_16 IN (0:::INT8, 1:::INT8, 2:::INT8, 3:::INT8, 4:::INT8, 5:::INT8, 6:::INT8, 7:::INT8, 8:::INT8, 9:::INT8, 10:::INT8, 11:::INT8, 12:::INT8, 13:::INT8, 14:::INT8, 15:::INT8)", + Name: "check_crdb_internal_end_time_start_time_shard_16", + Validity: descpb.ConstraintValidity_Validated, + ColumnIDs: []descpb.ColumnID{23}, + IsNonNullConstraint: false, + FromHashShardedColumn: true, + ConstraintID: tbl.NextConstraintID, + }} + tbl.NextConstraintID++ + }, + ) + + StatementExecInsightsTable = makeSystemTable( + StatementExecutionStatsTableSchema, + systemTable( + catconstants.StmtExecInsightsTableName, + descpb.InvalidID, // dynamically assigned table ID + []descpb.ColumnDescriptor{ + {Name: "session_id", ID: 1, Type: types.String}, + {Name: "transaction_id", ID: 2, Type: types.Uuid}, + {Name: "transaction_fingerprint_id", ID: 3, Type: types.Bytes}, + {Name: "statement_id", ID: 4, Type: types.String}, + {Name: "statement_fingerprint_id", ID: 5, Type: types.Bytes}, + {Name: "problem", ID: 6, Type: types.Int, Nullable: true}, + {Name: "causes", ID: 7, Type: types.IntArray, Nullable: true}, + {Name: "query", ID: 8, Type: types.String, Nullable: true}, + {Name: "status", ID: 9, Type: types.Int, Nullable: true}, + {Name: "start_time", ID: 10, Type: types.TimestampTZ, Nullable: true}, + {Name: "end_time", ID: 11, Type: types.TimestampTZ, Nullable: true}, + {Name: "full_scan", ID: 12, Type: types.Bool, Nullable: true}, + {Name: "user_name", ID: 13, Type: types.String, Nullable: true}, + {Name: "app_name", ID: 14, Type: types.String, Nullable: true}, + {Name: "user_priority", ID: 15, Type: types.String, Nullable: true}, + {Name: "database_name", ID: 16, Type: types.String, Nullable: true}, + {Name: "plan_gist", ID: 17, Type: types.String, Nullable: true}, + {Name: "retries", ID: 18, Type: types.Int, Nullable: true}, + {Name: "last_retry_reason", ID: 19, Type: types.String, Nullable: true}, + {Name: "execution_node_ids", ID: 20, Type: types.IntArray, Nullable: true}, + {Name: "index_recommendations", ID: 21, Type: types.StringArray, Nullable: true}, + {Name: "implicit_txn", ID: 22, Type: types.Bool, Nullable: true}, + {Name: "cpu_sql_nanos", ID: 23, Type: types.Int, Nullable: true}, + {Name: "error_code", ID: 24, Type: types.String, Nullable: true}, + {Name: "contention_time", ID: 25, Type: types.Interval, + Nullable: true}, + {Name: "contention_info", ID: 26, Type: types.Jsonb, + Nullable: true}, + {Name: "details", ID: 27, Type: types.Jsonb, Nullable: true}, + {Name: "created", ID: 28, Type: types.TimestampTZ, + DefaultExpr: &nowTZString}, + { + Name: "crdb_internal_end_time_start_time_shard_16", + ID: 29, + Type: types.Int4, + Nullable: false, + ComputeExpr: &timeRangeHashComputeExpr, + Hidden: true, + Virtual: true, + }, + }, + []descpb.ColumnFamilyDescriptor{ + { + Name: "primary", + ID: 0, + ColumnNames: []string{ + "session_id", + "transaction_id", + "transaction_fingerprint_id", + "statement_id", + "statement_fingerprint_id", + "problem", + "causes", + "query", + "status", + "start_time", + "end_time", + "full_scan", + "user_name", + "app_name", + "user_priority", + "database_name", + "plan_gist", + "retries", + "last_retry_reason", + "execution_node_ids", + "index_recommendations", + "implicit_txn", + "cpu_sql_nanos", + "error_code", + "contention_time", + "contention_info", + "details", + "created", + }, + ColumnIDs: []descpb.ColumnID{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28}, + DefaultColumnID: 0, + }, + }, + descpb.IndexDescriptor{ + Name: tabledesc.LegacyPrimaryKeyIndexName, + ID: 1, + Unique: true, + Version: descpb.StrictIndexColumnIDGuaranteesVersion, + KeyColumnNames: []string{"statement_id", "transaction_id"}, + KeyColumnDirections: []catenumpb.IndexColumn_Direction{ + catenumpb.IndexColumn_ASC, + catenumpb.IndexColumn_ASC, + }, + KeyColumnIDs: []descpb.ColumnID{4, 2}, + }, + descpb.IndexDescriptor{ + Name: "transaction_id_idx", + ID: 2, + Unique: false, + KeyColumnNames: []string{"transaction_id"}, + KeyColumnDirections: []catenumpb.IndexColumn_Direction{ + catenumpb.IndexColumn_ASC, + }, + KeyColumnIDs: []descpb.ColumnID{2}, + KeySuffixColumnIDs: []descpb.ColumnID{4}, + Version: descpb.StrictIndexColumnIDGuaranteesVersion, + }, + descpb.IndexDescriptor{ + Name: "transaction_fingerprint_id_idx", + ID: 3, + Unique: false, + KeyColumnNames: []string{"transaction_fingerprint_id", "start_time", "end_time"}, + KeyColumnDirections: []catenumpb.IndexColumn_Direction{ + catenumpb.IndexColumn_ASC, + catenumpb.IndexColumn_DESC, + catenumpb.IndexColumn_DESC, + }, + KeyColumnIDs: []descpb.ColumnID{3, 10, 11}, + KeySuffixColumnIDs: []descpb.ColumnID{4, 2}, + Version: descpb.StrictIndexColumnIDGuaranteesVersion, + }, + descpb.IndexDescriptor{ + Name: "statement_fingerprint_id_idx", + ID: 4, + Unique: false, + KeyColumnNames: []string{"statement_fingerprint_id", "start_time", "end_time"}, + KeyColumnDirections: []catenumpb.IndexColumn_Direction{ + catenumpb.IndexColumn_ASC, + catenumpb.IndexColumn_DESC, + catenumpb.IndexColumn_DESC, + }, + KeyColumnIDs: []descpb.ColumnID{5, 10, 11}, + KeySuffixColumnIDs: []descpb.ColumnID{4, 2}, + Version: descpb.StrictIndexColumnIDGuaranteesVersion, + }, + descpb.IndexDescriptor{ + Name: "time_range_idx", + ID: 5, + Unique: false, + KeyColumnNames: []string{ + "crdb_internal_end_time_start_time_shard_16", + "start_time", + "end_time", + }, + KeyColumnDirections: []catenumpb.IndexColumn_Direction{ + catenumpb.IndexColumn_ASC, + catenumpb.IndexColumn_DESC, + catenumpb.IndexColumn_DESC, + }, + KeyColumnIDs: []descpb.ColumnID{29, 10, 11}, + KeySuffixColumnIDs: []descpb.ColumnID{4, 2}, + Version: descpb.StrictIndexColumnIDGuaranteesVersion, + Sharded: catpb.ShardedDescriptor{ + IsSharded: true, + Name: "crdb_internal_end_time_start_time_shard_16", + ShardBuckets: 16, // Cluster setting default. + ColumnNames: []string{"end_time", "start_time"}, + }, + }, + ), + func(tbl *descpb.TableDescriptor) { + tbl.Checks = []*descpb.TableDescriptor_CheckConstraint{{ + Expr: "crdb_internal_end_time_start_time_shard_16 IN (0:::INT8, 1:::INT8, 2:::INT8, 3:::INT8, 4:::INT8, 5:::INT8, 6:::INT8, 7:::INT8, 8:::INT8, 9:::INT8, 10:::INT8, 11:::INT8, 12:::INT8, 13:::INT8, 14:::INT8, 15:::INT8)", + Name: "check_crdb_internal_end_time_start_time_shard_16", + Validity: descpb.ConstraintValidity_Validated, + ColumnIDs: []descpb.ColumnID{29}, + IsNonNullConstraint: false, + FromHashShardedColumn: true, + ConstraintID: tbl.NextConstraintID, + }} + tbl.NextConstraintID++ + }, + ) ) // SpanConfigurationsTableName represents system.span_configurations. diff --git a/pkg/sql/catalog/systemschema_test/testdata/bootstrap_system b/pkg/sql/catalog/systemschema_test/testdata/bootstrap_system index 47cd5cb1004a..f5b7e8dc34d2 100644 --- a/pkg/sql/catalog/systemschema_test/testdata/bootstrap_system +++ b/pkg/sql/catalog/systemschema_test/testdata/bootstrap_system @@ -555,12 +555,85 @@ CREATE TABLE public.transaction_activity ( INDEX service_latency_p99_seconds_idx (aggregated_ts ASC, service_latency_p99_seconds DESC) ); CREATE SEQUENCE public.tenant_id_seq MINVALUE 1 MAXVALUE 9223372036854775807 INCREMENT 1 START 1; +CREATE TABLE public.mvcc_statistics ( + created_at TIMESTAMPTZ NOT NULL DEFAULT now():::TIMESTAMPTZ, + database_id INT8 NOT NULL, + table_id INT8 NOT NULL, + index_id INT8 NOT NULL, + statistics JSONB NOT NULL, + crdb_internal_created_at_database_id_index_id_table_id_shard_16 INT4 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(created_at))), 16:::INT8)) VIRTUAL, + CONSTRAINT mvcc_statistics_pkey PRIMARY KEY (created_at ASC, database_id ASC, table_id ASC, index_id ASC) USING HASH WITH (bucket_count=16) +); +CREATE TABLE public.transaction_execution_insights ( + transaction_id UUID NOT NULL, + transaction_fingerprint_id BYTES NOT NULL, + query_summary STRING NULL, + implicit_txn BOOL NULL, + session_id STRING NOT NULL, + start_time TIMESTAMPTZ NULL, + end_time TIMESTAMPTZ NULL, + user_name STRING NULL, + app_name STRING NULL, + user_priority STRING NULL, + retries INT8 NULL, + last_retry_reason STRING NULL, + problems INT8[] NULL, + causes INT8[] NULL, + stmt_execution_ids STRING[] NULL, + cpu_sql_nanos INT8 NULL, + last_error_code STRING NULL, + status INT8 NULL, + contention_time INTERVAL NULL, + contention_info JSONB NULL, + details JSONB NULL, + created TIMESTAMPTZ NOT NULL DEFAULT now():::TIMESTAMPTZ, + crdb_internal_end_time_start_time_shard_16 INT4 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(end_time, start_time))), 16:::INT8)) VIRTUAL, + CONSTRAINT "primary" PRIMARY KEY (transaction_id ASC), + INDEX transaction_fingerprint_id_idx (transaction_fingerprint_id ASC), + INDEX time_range_idx (start_time DESC, end_time DESC) USING HASH WITH (bucket_count=16) +); +CREATE TABLE public.statement_execution_insights ( + session_id STRING NOT NULL, + transaction_id UUID NOT NULL, + transaction_fingerprint_id BYTES NOT NULL, + statement_id STRING NOT NULL, + statement_fingerprint_id BYTES NOT NULL, + problem INT8 NULL, + causes INT8[] NULL, + query STRING NULL, + status INT8 NULL, + start_time TIMESTAMPTZ NULL, + end_time TIMESTAMPTZ NULL, + full_scan BOOL NULL, + user_name STRING NULL, + app_name STRING NULL, + user_priority STRING NULL, + database_name STRING NULL, + plan_gist STRING NULL, + retries INT8 NULL, + last_retry_reason STRING NULL, + execution_node_ids INT8[] NULL, + index_recommendations STRING[] NULL, + implicit_txn BOOL NULL, + cpu_sql_nanos INT8 NULL, + error_code STRING NULL, + contention_time INTERVAL NULL, + contention_info JSONB NULL, + details JSONB NULL, + created TIMESTAMPTZ NOT NULL DEFAULT now():::TIMESTAMPTZ, + crdb_internal_end_time_start_time_shard_16 INT4 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(end_time, start_time))), 16:::INT8)) VIRTUAL, + CONSTRAINT "primary" PRIMARY KEY (statement_id ASC, transaction_id ASC), + INDEX transaction_id_idx (transaction_id ASC), + INDEX transaction_fingerprint_id_idx (transaction_fingerprint_id ASC, start_time DESC, end_time DESC), + INDEX statement_fingerprint_id_idx (statement_fingerprint_id ASC, start_time DESC, end_time DESC), + INDEX time_range_idx (start_time DESC, end_time DESC) USING HASH WITH (bucket_count=16) +); schema_telemetry ---- {"database":{"name":"defaultdb","id":100,"modificationTime":{"wallTime":"0"},"version":"1","privileges":{"users":[{"userProto":"admin","privileges":"2","withGrantOption":"2"},{"userProto":"public","privileges":"2048"},{"userProto":"root","privileges":"2","withGrantOption":"2"}],"ownerProto":"root","version":2},"schemas":{"public":{"id":101}},"defaultPrivileges":{}}} {"database":{"name":"postgres","id":102,"modificationTime":{"wallTime":"0"},"version":"1","privileges":{"users":[{"userProto":"admin","privileges":"2","withGrantOption":"2"},{"userProto":"public","privileges":"2048"},{"userProto":"root","privileges":"2","withGrantOption":"2"}],"ownerProto":"root","version":2},"schemas":{"public":{"id":103}},"defaultPrivileges":{}}} -{"database":{"name":"system","id":1,"modificationTime":{"wallTime":"0"},"version":"1","privileges":{"users":[{"userProto":"admin","privileges":"2048","withGrantOption":"2048"},{"userProto":"root","privileges":"2048","withGrantOption":"2048"}],"ownerProto":"node","version":2},"systemDatabaseSchemaVersion":{"majorVal":1000023,"minorVal":1,"internal":20}}} +{"database":{"name":"system","id":1,"modificationTime":{"wallTime":"0"},"version":"1","privileges":{"users":[{"userProto":"admin","privileges":"2048","withGrantOption":"2048"},{"userProto":"root","privileges":"2048","withGrantOption":"2048"}],"ownerProto":"node","version":2},"systemDatabaseSchemaVersion":{"majorVal":1000023,"minorVal":1,"internal":32}}} {"table":{"name":"comments","id":24,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"type","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"object_id","id":2,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"sub_id","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"comment","id":4,"type":{"family":"StringFamily","oid":25}}],"nextColumnId":5,"families":[{"name":"primary","columnNames":["type","object_id","sub_id"],"columnIds":[1,2,3]},{"name":"fam_4_comment","id":4,"columnNames":["comment"],"columnIds":[4],"defaultColumnId":4}],"nextFamilyId":5,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["type","object_id","sub_id"],"keyColumnDirections":["ASC","ASC","ASC"],"storeColumnNames":["comment"],"keyColumnIds":[1,2,3],"storeColumnIds":[4],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"public","privileges":"32"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} {"table":{"name":"database_role_settings","id":44,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"database_id","id":1,"type":{"family":"OidFamily","oid":26}},{"name":"role_name","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"settings","id":3,"type":{"family":"ArrayFamily","arrayElemType":"StringFamily","oid":1009,"arrayContents":{"family":"StringFamily","oid":25}}},{"name":"role_id","id":4,"type":{"family":"OidFamily","oid":26}}],"nextColumnId":5,"families":[{"name":"primary","columnNames":["database_id","role_name","settings","role_id"],"columnIds":[1,2,3,4]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["database_id","role_name"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["settings","role_id"],"keyColumnIds":[1,2],"storeColumnIds":[3,4],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":2},"indexes":[{"name":"database_role_settings_database_id_role_id_key","id":2,"unique":true,"version":3,"keyColumnNames":["database_id","role_id"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["settings"],"keyColumnIds":[1,4],"keySuffixColumnIds":[2],"storeColumnIds":[3],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"constraintId":1}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} {"table":{"name":"descriptor","id":3,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"descriptor","id":2,"type":{"family":"BytesFamily","oid":17},"nullable":true}],"nextColumnId":3,"families":[{"name":"primary","columnNames":["id"],"columnIds":[1]},{"name":"fam_2_descriptor","id":2,"columnNames":["descriptor"],"columnIds":[2],"defaultColumnId":2}],"nextFamilyId":3,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["descriptor"],"keyColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} @@ -573,6 +646,7 @@ schema_telemetry {"table":{"name":"lease","id":11,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"descID","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"version","id":2,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"nodeID","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"expiration","id":4,"type":{"family":"TimestampFamily","oid":1114}},{"name":"crdb_region","id":5,"type":{"family":"BytesFamily","oid":17}}],"nextColumnId":6,"families":[{"name":"primary","columnNames":["descID","version","nodeID","expiration","crdb_region"],"columnIds":[1,2,3,4,5]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":2,"unique":true,"version":4,"keyColumnNames":["crdb_region","descID","version","expiration","nodeID"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC"],"keyColumnIds":[5,1,2,4,3],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} {"table":{"name":"locations","id":21,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"localityKey","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"localityValue","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"latitude","id":3,"type":{"family":"DecimalFamily","width":15,"precision":18,"oid":1700}},{"name":"longitude","id":4,"type":{"family":"DecimalFamily","width":15,"precision":18,"oid":1700}}],"nextColumnId":5,"families":[{"name":"fam_0_localityKey_localityValue_latitude_longitude","columnNames":["localityKey","localityValue","latitude","longitude"],"columnIds":[1,2,3,4]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["localityKey","localityValue"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["latitude","longitude"],"keyColumnIds":[1,2],"storeColumnIds":[3,4],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} {"table":{"name":"migrations","id":40,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"major","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"minor","id":2,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"patch","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"internal","id":4,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"completed_at","id":5,"type":{"family":"TimestampTZFamily","oid":1184}}],"nextColumnId":6,"families":[{"name":"primary","columnNames":["major","minor","patch","internal","completed_at"],"columnIds":[1,2,3,4,5],"defaultColumnId":5}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["major","minor","patch","internal"],"keyColumnDirections":["ASC","ASC","ASC","ASC"],"storeColumnNames":["completed_at"],"keyColumnIds":[1,2,3,4],"storeColumnIds":[5],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"mvcc_statistics","id":63,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"created_at","id":1,"type":{"family":"TimestampTZFamily","oid":1184},"defaultExpr":"now():::TIMESTAMPTZ"},{"name":"database_id","id":2,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"table_id","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"index_id","id":4,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"statistics","id":5,"type":{"family":"JsonFamily","oid":3802}},{"name":"crdb_internal_created_at_database_id_index_id_table_id_shard_16","id":6,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(md5(crdb_internal.datums_to_bytes(created_at))), _:::INT8)","virtual":true}],"nextColumnId":7,"families":[{"name":"primary","columnNames":["created_at","database_id","table_id","index_id","statistics"],"columnIds":[1,2,3,4,5],"defaultColumnId":5}],"nextFamilyId":1,"primaryIndex":{"name":"mvcc_statistics_pkey","id":1,"unique":true,"version":4,"keyColumnNames":["crdb_internal_created_at_database_id_index_id_table_id_shard_16","created_at","database_id","table_id","index_id"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC"],"storeColumnNames":["statistics"],"keyColumnIds":[6,1,2,3,4],"storeColumnIds":[5],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{"isSharded":true,"name":"crdb_internal_created_at_database_id_index_id_table_id_shard_16","shardBuckets":16,"columnNames":["created_at","database_id","index_id","table_id"]},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_created_at_database_id_index_id_table_id_shard_16 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_created_at_database_id_index_id_table_id_shard_16","columnIds":[6],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} {"table":{"name":"namespace","id":30,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"parentID","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"parentSchemaID","id":2,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"name","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"id","id":4,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true}],"nextColumnId":5,"families":[{"name":"primary","columnNames":["parentID","parentSchemaID","name"],"columnIds":[1,2,3]},{"name":"fam_4_id","id":4,"columnNames":["id"],"columnIds":[4],"defaultColumnId":4}],"nextFamilyId":5,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["parentID","parentSchemaID","name"],"keyColumnDirections":["ASC","ASC","ASC"],"storeColumnNames":["id"],"keyColumnIds":[1,2,3],"storeColumnIds":[4],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} {"table":{"name":"privileges","id":51,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"username","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"path","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"privileges","id":3,"type":{"family":"ArrayFamily","arrayElemType":"StringFamily","oid":1009,"arrayContents":{"family":"StringFamily","oid":25}}},{"name":"grant_options","id":4,"type":{"family":"ArrayFamily","arrayElemType":"StringFamily","oid":1009,"arrayContents":{"family":"StringFamily","oid":25}}},{"name":"user_id","id":5,"type":{"family":"OidFamily","oid":26}}],"nextColumnId":6,"families":[{"name":"primary","columnNames":["username","path","privileges","grant_options","user_id"],"columnIds":[1,2,3,4,5]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["username","path"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["privileges","grant_options","user_id"],"keyColumnIds":[1,2],"storeColumnIds":[3,4,5],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":3},"indexes":[{"name":"privileges_path_user_id_key","id":2,"unique":true,"version":3,"keyColumnNames":["path","user_id"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["privileges","grant_options"],"keyColumnIds":[2,5],"keySuffixColumnIds":[1],"storeColumnIds":[3,4],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"constraintId":1},{"name":"privileges_path_username_key","id":3,"unique":true,"version":3,"keyColumnNames":["path","username"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["privileges","grant_options"],"keyColumnIds":[2,1],"storeColumnIds":[3,4],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"constraintId":2}],"nextIndexId":4,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":4}} {"table":{"name":"protected_ts_meta","id":31,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"singleton","id":1,"type":{"oid":16},"defaultExpr":"true"},{"name":"version","id":2,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"num_records","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"num_spans","id":4,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"total_bytes","id":5,"type":{"family":"IntFamily","width":64,"oid":20}}],"nextColumnId":6,"families":[{"name":"primary","columnNames":["singleton","version","num_records","num_spans","total_bytes"],"columnIds":[1,2,3,4,5]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["singleton"],"keyColumnDirections":["ASC"],"storeColumnNames":["version","num_records","num_spans","total_bytes"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"singleton","name":"check_singleton","columnIds":[1],"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} @@ -599,6 +673,7 @@ schema_telemetry {"table":{"name":"statement_bundle_chunks","id":34,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"description","id":2,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"data","id":3,"type":{"family":"BytesFamily","oid":17}}],"nextColumnId":4,"families":[{"name":"primary","columnNames":["id","description","data"],"columnIds":[1,2,3]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["description","data"],"keyColumnIds":[1],"storeColumnIds":[2,3],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} {"table":{"name":"statement_diagnostics","id":36,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"statement_fingerprint","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"statement","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"collected_at","id":4,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"trace","id":5,"type":{"family":"JsonFamily","oid":3802},"nullable":true},{"name":"bundle_chunks","id":6,"type":{"family":"ArrayFamily","width":64,"arrayElemType":"IntFamily","oid":1016,"arrayContents":{"family":"IntFamily","width":64,"oid":20}},"nullable":true},{"name":"error","id":7,"type":{"family":"StringFamily","oid":25},"nullable":true}],"nextColumnId":8,"families":[{"name":"primary","columnNames":["id","statement_fingerprint","statement","collected_at","trace","bundle_chunks","error"],"columnIds":[1,2,3,4,5,6,7]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["statement_fingerprint","statement","collected_at","trace","bundle_chunks","error"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} {"table":{"name":"statement_diagnostics_requests","id":35,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"completed","id":2,"type":{"oid":16},"defaultExpr":"false"},{"name":"statement_fingerprint","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"statement_diagnostics_id","id":4,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"requested_at","id":5,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"min_execution_latency","id":6,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}},"nullable":true},{"name":"expires_at","id":7,"type":{"family":"TimestampTZFamily","oid":1184},"nullable":true},{"name":"sampling_probability","id":8,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true},{"name":"plan_gist","id":9,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"anti_plan_gist","id":10,"type":{"oid":16},"nullable":true}],"nextColumnId":11,"families":[{"name":"primary","columnNames":["id","completed","statement_fingerprint","statement_diagnostics_id","requested_at","min_execution_latency","expires_at","sampling_probability","plan_gist","anti_plan_gist"],"columnIds":[1,2,3,4,5,6,7,8,9,10]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["completed","statement_fingerprint","statement_diagnostics_id","requested_at","min_execution_latency","expires_at","sampling_probability","plan_gist","anti_plan_gist"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7,8,9,10],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"completed_idx_v2","id":2,"version":3,"keyColumnNames":["completed","id"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["statement_fingerprint","min_execution_latency","expires_at","sampling_probability","plan_gist","anti_plan_gist"],"keyColumnIds":[2,1],"storeColumnIds":[3,6,7,8,9,10],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"sampling_probability BETWEEN _:::FLOAT8 AND _:::FLOAT8","name":"check_sampling_probability","columnIds":[8],"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} +{"table":{"name":"statement_execution_insights","id":65,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"session_id","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"transaction_id","id":2,"type":{"family":"UuidFamily","oid":2950}},{"name":"transaction_fingerprint_id","id":3,"type":{"family":"BytesFamily","oid":17}},{"name":"statement_id","id":4,"type":{"family":"StringFamily","oid":25}},{"name":"statement_fingerprint_id","id":5,"type":{"family":"BytesFamily","oid":17}},{"name":"problem","id":6,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"causes","id":7,"type":{"family":"ArrayFamily","width":64,"arrayElemType":"IntFamily","oid":1016,"arrayContents":{"family":"IntFamily","width":64,"oid":20}},"nullable":true},{"name":"query","id":8,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"status","id":9,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"start_time","id":10,"type":{"family":"TimestampTZFamily","oid":1184},"nullable":true},{"name":"end_time","id":11,"type":{"family":"TimestampTZFamily","oid":1184},"nullable":true},{"name":"full_scan","id":12,"type":{"oid":16},"nullable":true},{"name":"user_name","id":13,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"app_name","id":14,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"user_priority","id":15,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"database_name","id":16,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"plan_gist","id":17,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"retries","id":18,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"last_retry_reason","id":19,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"execution_node_ids","id":20,"type":{"family":"ArrayFamily","width":64,"arrayElemType":"IntFamily","oid":1016,"arrayContents":{"family":"IntFamily","width":64,"oid":20}},"nullable":true},{"name":"index_recommendations","id":21,"type":{"family":"ArrayFamily","arrayElemType":"StringFamily","oid":1009,"arrayContents":{"family":"StringFamily","oid":25}},"nullable":true},{"name":"implicit_txn","id":22,"type":{"oid":16},"nullable":true},{"name":"cpu_sql_nanos","id":23,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"error_code","id":24,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"contention_time","id":25,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}},"nullable":true},{"name":"contention_info","id":26,"type":{"family":"JsonFamily","oid":3802},"nullable":true},{"name":"details","id":27,"type":{"family":"JsonFamily","oid":3802},"nullable":true},{"name":"created","id":28,"type":{"family":"TimestampTZFamily","oid":1184},"defaultExpr":"now():::TIMESTAMPTZ"},{"name":"crdb_internal_end_time_start_time_shard_16","id":29,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(md5(crdb_internal.datums_to_bytes(end_time, start_time))), _:::INT8)","virtual":true}],"nextColumnId":30,"families":[{"name":"primary","columnNames":["session_id","transaction_id","transaction_fingerprint_id","statement_id","statement_fingerprint_id","problem","causes","query","status","start_time","end_time","full_scan","user_name","app_name","user_priority","database_name","plan_gist","retries","last_retry_reason","execution_node_ids","index_recommendations","implicit_txn","cpu_sql_nanos","error_code","contention_time","contention_info","details","created"],"columnIds":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["statement_id","transaction_id"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["session_id","transaction_fingerprint_id","statement_fingerprint_id","problem","causes","query","status","start_time","end_time","full_scan","user_name","app_name","user_priority","database_name","plan_gist","retries","last_retry_reason","execution_node_ids","index_recommendations","implicit_txn","cpu_sql_nanos","error_code","contention_time","contention_info","details","created"],"keyColumnIds":[4,2],"storeColumnIds":[1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"transaction_id_idx","id":2,"version":3,"keyColumnNames":["transaction_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[4],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"transaction_fingerprint_id_idx","id":3,"version":3,"keyColumnNames":["transaction_fingerprint_id","start_time","end_time"],"keyColumnDirections":["ASC","DESC","DESC"],"keyColumnIds":[3,10,11],"keySuffixColumnIds":[4,2],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"statement_fingerprint_id_idx","id":4,"version":3,"keyColumnNames":["statement_fingerprint_id","start_time","end_time"],"keyColumnDirections":["ASC","DESC","DESC"],"keyColumnIds":[5,10,11],"keySuffixColumnIds":[4,2],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"time_range_idx","id":5,"version":3,"keyColumnNames":["crdb_internal_end_time_start_time_shard_16","start_time","end_time"],"keyColumnDirections":["ASC","DESC","DESC"],"keyColumnIds":[29,10,11],"keySuffixColumnIds":[4,2],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{"isSharded":true,"name":"crdb_internal_end_time_start_time_shard_16","shardBuckets":16,"columnNames":["end_time","start_time"]},"geoConfig":{}}],"nextIndexId":6,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_end_time_start_time_shard_16 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_end_time_start_time_shard_16","columnIds":[29],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} {"table":{"name":"statement_statistics","id":42,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"aggregated_ts","id":1,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"fingerprint_id","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"transaction_fingerprint_id","id":3,"type":{"family":"BytesFamily","oid":17}},{"name":"plan_hash","id":4,"type":{"family":"BytesFamily","oid":17}},{"name":"app_name","id":5,"type":{"family":"StringFamily","oid":25}},{"name":"node_id","id":6,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"agg_interval","id":7,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}}},{"name":"metadata","id":8,"type":{"family":"JsonFamily","oid":3802}},{"name":"statistics","id":9,"type":{"family":"JsonFamily","oid":3802}},{"name":"plan","id":10,"type":{"family":"JsonFamily","oid":3802}},{"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","id":11,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id, plan_hash, transaction_fingerprint_id)), _:::INT8)"},{"name":"index_recommendations","id":12,"type":{"family":"ArrayFamily","arrayElemType":"StringFamily","oid":1009,"arrayContents":{"family":"StringFamily","oid":25}},"defaultExpr":"ARRAY[]:::STRING[]"},{"name":"indexes_usage","id":13,"type":{"family":"JsonFamily","oid":3802},"nullable":true,"computeExpr":"(statistics-\u003e'_':::STRING)-\u003e'_':::STRING","virtual":true},{"name":"execution_count","id":14,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)::INT8"},{"name":"service_latency","id":15,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"cpu_sql_nanos","id":16,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"contention_time","id":17,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"total_estimated_execution_time","id":18,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8 * (((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8"},{"name":"p99_latency","id":19,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"}],"nextColumnId":20,"families":[{"name":"primary","columnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","aggregated_ts","fingerprint_id","transaction_fingerprint_id","plan_hash","app_name","node_id","agg_interval","metadata","statistics","plan","index_recommendations","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"columnIds":[11,1,2,3,4,5,6,7,8,9,10,12,14,15,16,17,18,19]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","aggregated_ts","fingerprint_id","transaction_fingerprint_id","plan_hash","app_name","node_id"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC","ASC","ASC"],"storeColumnNames":["agg_interval","metadata","statistics","plan","index_recommendations","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"keyColumnIds":[11,1,2,3,4,5,6],"storeColumnIds":[7,8,9,10,12,14,15,16,17,18,19],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{"isSharded":true,"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","shardBuckets":8,"columnNames":["aggregated_ts","app_name","fingerprint_id","node_id","plan_hash","transaction_fingerprint_id"]},"geoConfig":{},"constraintId":1},"indexes":[{"name":"fingerprint_stats_idx","id":2,"version":3,"keyColumnNames":["fingerprint_id","transaction_fingerprint_id"],"keyColumnDirections":["ASC","ASC"],"keyColumnIds":[2,3],"keySuffixColumnIds":[11,1,4,5,6],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"indexes_usage_idx","id":3,"version":3,"keyColumnNames":["indexes_usage"],"keyColumnDirections":["ASC"],"invertedColumnKinds":["DEFAULT"],"keyColumnIds":[13],"keySuffixColumnIds":[11,1,2,3,4,5,6],"foreignKey":{},"interleave":{},"partitioning":{},"type":"INVERTED","sharded":{},"geoConfig":{}},{"name":"execution_count_idx","id":4,"version":3,"keyColumnNames":["aggregated_ts","app_name","execution_count"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,14],"keySuffixColumnIds":[11,2,3,4,6],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"service_latency_idx","id":5,"version":3,"keyColumnNames":["aggregated_ts","app_name","service_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,15],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[15],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"cpu_sql_nanos_idx","id":6,"version":3,"keyColumnNames":["aggregated_ts","app_name","cpu_sql_nanos"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,16],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[16],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"contention_time_idx","id":7,"version":3,"keyColumnNames":["aggregated_ts","app_name","contention_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,17],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[17],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"total_estimated_execution_time_idx","id":8,"version":3,"keyColumnNames":["aggregated_ts","app_name","total_estimated_execution_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,18],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[18],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"p99_latency_idx","id":9,"version":3,"keyColumnNames":["aggregated_ts","app_name","p99_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,19],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[19],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"}],"nextIndexId":10,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","columnIds":[11],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} {"table":{"name":"table_statistics","id":20,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"tableID","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"statisticID","id":2,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"name","id":3,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"columnIDs","id":4,"type":{"family":"ArrayFamily","width":64,"arrayElemType":"IntFamily","oid":1016,"arrayContents":{"family":"IntFamily","width":64,"oid":20}}},{"name":"createdAt","id":5,"type":{"family":"TimestampFamily","oid":1114},"defaultExpr":"now():::TIMESTAMP"},{"name":"rowCount","id":6,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"distinctCount","id":7,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"nullCount","id":8,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"histogram","id":9,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"avgSize","id":10,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"_:::INT8"},{"name":"partialPredicate","id":11,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"fullStatisticID","id":12,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true}],"nextColumnId":13,"families":[{"name":"fam_0_tableID_statisticID_name_columnIDs_createdAt_rowCount_distinctCount_nullCount_histogram","columnNames":["tableID","statisticID","name","columnIDs","createdAt","rowCount","distinctCount","nullCount","histogram","avgSize","partialPredicate","fullStatisticID"],"columnIds":[1,2,3,4,5,6,7,8,9,10,11,12]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["tableID","statisticID"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["name","columnIDs","createdAt","rowCount","distinctCount","nullCount","histogram","avgSize","partialPredicate","fullStatisticID"],"keyColumnIds":[1,2],"storeColumnIds":[3,4,5,6,7,8,9,10,11,12],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} {"table":{"name":"task_payloads","id":58,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"created","id":2,"type":{"family":"TimestampTZFamily","oid":1184},"defaultExpr":"now():::TIMESTAMPTZ"},{"name":"owner","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"owner_id","id":4,"type":{"family":"OidFamily","oid":26}},{"name":"min_version","id":5,"type":{"family":"StringFamily","oid":25}},{"name":"description","id":6,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"type","id":7,"type":{"family":"StringFamily","oid":25}},{"name":"value","id":8,"type":{"family":"BytesFamily","oid":17}}],"nextColumnId":9,"families":[{"name":"primary","columnNames":["id","created","owner","owner_id","min_version","description","type","value"],"columnIds":[1,2,3,4,5,6,7,8]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["created","owner","owner_id","min_version","description","type","value"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7,8],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} @@ -608,6 +683,7 @@ schema_telemetry {"table":{"name":"tenant_usage","id":45,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"tenant_id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"instance_id","id":2,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"next_instance_id","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"last_update","id":4,"type":{"family":"TimestampFamily","oid":1114}},{"name":"ru_burst_limit","id":5,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true},{"name":"ru_refill_rate","id":6,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true},{"name":"ru_current","id":7,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true},{"name":"current_share_sum","id":8,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true},{"name":"total_consumption","id":9,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"instance_lease","id":10,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"instance_seq","id":11,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"instance_shares","id":12,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true}],"nextColumnId":13,"families":[{"name":"primary","columnNames":["tenant_id","instance_id","next_instance_id","last_update","ru_burst_limit","ru_refill_rate","ru_current","current_share_sum","total_consumption","instance_lease","instance_seq","instance_shares"],"columnIds":[1,2,3,4,5,6,7,8,9,10,11,12]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["tenant_id","instance_id"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["next_instance_id","last_update","ru_burst_limit","ru_refill_rate","ru_current","current_share_sum","total_consumption","instance_lease","instance_seq","instance_shares"],"keyColumnIds":[1,2],"storeColumnIds":[3,4,5,6,7,8,9,10,11,12],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} {"table":{"name":"tenants","id":8,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"active","id":2,"type":{"oid":16},"defaultExpr":"true","hidden":true},{"name":"info","id":3,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"name","id":4,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"data_state","id":5,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"service_mode","id":6,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true}],"nextColumnId":7,"families":[{"name":"primary","columnNames":["id","active","info","name","data_state","service_mode"],"columnIds":[1,2,3,4,5,6]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["active","info","name","data_state","service_mode"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":2},"indexes":[{"name":"tenants_name_idx","id":2,"unique":true,"version":3,"keyColumnNames":["name"],"keyColumnDirections":["ASC"],"keyColumnIds":[4],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"constraintId":1},{"name":"tenants_service_mode_idx","id":3,"version":3,"keyColumnNames":["service_mode"],"keyColumnDirections":["ASC"],"keyColumnIds":[6],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":4,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} {"table":{"name":"transaction_activity","id":61,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"aggregated_ts","id":1,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"fingerprint_id","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"app_name","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"agg_interval","id":4,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}}},{"name":"metadata","id":5,"type":{"family":"JsonFamily","oid":3802}},{"name":"statistics","id":6,"type":{"family":"JsonFamily","oid":3802}},{"name":"query","id":7,"type":{"family":"StringFamily","oid":25}},{"name":"execution_count","id":8,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"execution_total_seconds","id":9,"type":{"family":"FloatFamily","width":64,"oid":701}},{"name":"execution_total_cluster_seconds","id":10,"type":{"family":"FloatFamily","width":64,"oid":701}},{"name":"contention_time_avg_seconds","id":11,"type":{"family":"FloatFamily","width":64,"oid":701}},{"name":"cpu_sql_avg_nanos","id":12,"type":{"family":"FloatFamily","width":64,"oid":701}},{"name":"service_latency_avg_seconds","id":13,"type":{"family":"FloatFamily","width":64,"oid":701}},{"name":"service_latency_p99_seconds","id":14,"type":{"family":"FloatFamily","width":64,"oid":701}}],"nextColumnId":15,"families":[{"name":"primary","columnNames":["aggregated_ts","fingerprint_id","app_name","agg_interval","metadata","statistics","query","execution_count","execution_total_seconds","execution_total_cluster_seconds","contention_time_avg_seconds","cpu_sql_avg_nanos","service_latency_avg_seconds","service_latency_p99_seconds"],"columnIds":[1,2,3,4,5,6,7,8,9,10,11,12,13,14]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["aggregated_ts","fingerprint_id","app_name"],"keyColumnDirections":["ASC","ASC","ASC"],"storeColumnNames":["agg_interval","metadata","statistics","query","execution_count","execution_total_seconds","execution_total_cluster_seconds","contention_time_avg_seconds","cpu_sql_avg_nanos","service_latency_avg_seconds","service_latency_p99_seconds"],"keyColumnIds":[1,2,3],"storeColumnIds":[4,5,6,7,8,9,10,11,12,13,14],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"fingerprint_id_idx","id":2,"version":3,"keyColumnNames":["fingerprint_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[1,3],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"execution_count_idx","id":3,"version":3,"keyColumnNames":["aggregated_ts","execution_count"],"keyColumnDirections":["ASC","DESC"],"keyColumnIds":[1,8],"keySuffixColumnIds":[2,3],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"execution_total_seconds_idx","id":4,"version":3,"keyColumnNames":["aggregated_ts","execution_total_seconds"],"keyColumnDirections":["ASC","DESC"],"keyColumnIds":[1,9],"keySuffixColumnIds":[2,3],"compositeColumnIds":[9],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"contention_time_avg_seconds_idx","id":5,"version":3,"keyColumnNames":["aggregated_ts","contention_time_avg_seconds"],"keyColumnDirections":["ASC","DESC"],"keyColumnIds":[1,11],"keySuffixColumnIds":[2,3],"compositeColumnIds":[11],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"cpu_sql_avg_nanos_idx","id":6,"version":3,"keyColumnNames":["aggregated_ts","cpu_sql_avg_nanos"],"keyColumnDirections":["ASC","DESC"],"keyColumnIds":[1,12],"keySuffixColumnIds":[2,3],"compositeColumnIds":[12],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"service_latency_avg_seconds_idx","id":7,"version":3,"keyColumnNames":["aggregated_ts","service_latency_avg_seconds"],"keyColumnDirections":["ASC","DESC"],"keyColumnIds":[1,13],"keySuffixColumnIds":[2,3],"compositeColumnIds":[13],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"service_latency_p99_seconds_idx","id":8,"version":3,"keyColumnNames":["aggregated_ts","service_latency_p99_seconds"],"keyColumnDirections":["ASC","DESC"],"keyColumnIds":[1,14],"keySuffixColumnIds":[2,3],"compositeColumnIds":[14],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":9,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"transaction_execution_insights","id":64,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"transaction_id","id":1,"type":{"family":"UuidFamily","oid":2950}},{"name":"transaction_fingerprint_id","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"query_summary","id":3,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"implicit_txn","id":4,"type":{"oid":16},"nullable":true},{"name":"session_id","id":5,"type":{"family":"StringFamily","oid":25}},{"name":"start_time","id":6,"type":{"family":"TimestampTZFamily","oid":1184},"nullable":true},{"name":"end_time","id":7,"type":{"family":"TimestampTZFamily","oid":1184},"nullable":true},{"name":"user_name","id":8,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"app_name","id":9,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"user_priority","id":10,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"retries","id":11,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"last_retry_reason","id":12,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"problems","id":13,"type":{"family":"ArrayFamily","width":64,"arrayElemType":"IntFamily","oid":1016,"arrayContents":{"family":"IntFamily","width":64,"oid":20}},"nullable":true},{"name":"causes","id":14,"type":{"family":"ArrayFamily","width":64,"arrayElemType":"IntFamily","oid":1016,"arrayContents":{"family":"IntFamily","width":64,"oid":20}},"nullable":true},{"name":"stmt_execution_ids","id":15,"type":{"family":"ArrayFamily","arrayElemType":"StringFamily","oid":1009,"arrayContents":{"family":"StringFamily","oid":25}},"nullable":true},{"name":"cpu_sql_nanos","id":16,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"last_error_code","id":17,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"status","id":18,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"contention_time","id":19,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}},"nullable":true},{"name":"contention_info","id":20,"type":{"family":"JsonFamily","oid":3802},"nullable":true},{"name":"details","id":21,"type":{"family":"JsonFamily","oid":3802},"nullable":true},{"name":"created","id":22,"type":{"family":"TimestampTZFamily","oid":1184},"defaultExpr":"now():::TIMESTAMPTZ"},{"name":"crdb_internal_end_time_start_time_shard_16","id":23,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(md5(crdb_internal.datums_to_bytes(end_time, start_time))), _:::INT8)","virtual":true}],"nextColumnId":24,"families":[{"name":"primary","columnNames":["transaction_id","transaction_fingerprint_id","query_summary","implicit_txn","session_id","start_time","end_time","user_name","app_name","user_priority","retries","last_retry_reason","problems","causes","stmt_execution_ids","cpu_sql_nanos","last_error_code","status","contention_time","contention_info","details","created"],"columnIds":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["transaction_id"],"keyColumnDirections":["ASC"],"storeColumnNames":["transaction_fingerprint_id","query_summary","implicit_txn","session_id","start_time","end_time","user_name","app_name","user_priority","retries","last_retry_reason","problems","causes","stmt_execution_ids","cpu_sql_nanos","last_error_code","status","contention_time","contention_info","details","created"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"transaction_fingerprint_id_idx","id":2,"version":3,"keyColumnNames":["transaction_fingerprint_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"time_range_idx","id":3,"version":3,"keyColumnNames":["crdb_internal_end_time_start_time_shard_16","start_time","end_time"],"keyColumnDirections":["ASC","DESC","DESC"],"keyColumnIds":[23,6,7],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{"isSharded":true,"name":"crdb_internal_end_time_start_time_shard_16","shardBuckets":16,"columnNames":["end_time","start_time"]},"geoConfig":{}}],"nextIndexId":4,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_end_time_start_time_shard_16 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_end_time_start_time_shard_16","columnIds":[23],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} {"table":{"name":"transaction_statistics","id":43,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"aggregated_ts","id":1,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"fingerprint_id","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"app_name","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"node_id","id":4,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"agg_interval","id":5,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}}},{"name":"metadata","id":6,"type":{"family":"JsonFamily","oid":3802}},{"name":"statistics","id":7,"type":{"family":"JsonFamily","oid":3802}},{"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","id":8,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id)), _:::INT8)"},{"name":"execution_count","id":9,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)::INT8"},{"name":"service_latency","id":10,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"cpu_sql_nanos","id":11,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"contention_time","id":12,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"total_estimated_execution_time","id":13,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8 * (((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8"},{"name":"p99_latency","id":14,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"}],"nextColumnId":15,"families":[{"name":"primary","columnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","aggregated_ts","fingerprint_id","app_name","node_id","agg_interval","metadata","statistics","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"columnIds":[8,1,2,3,4,5,6,7,9,10,11,12,13,14]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","aggregated_ts","fingerprint_id","app_name","node_id"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC"],"storeColumnNames":["agg_interval","metadata","statistics","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"keyColumnIds":[8,1,2,3,4],"storeColumnIds":[5,6,7,9,10,11,12,13,14],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{"isSharded":true,"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","shardBuckets":8,"columnNames":["aggregated_ts","app_name","fingerprint_id","node_id"]},"geoConfig":{},"constraintId":1},"indexes":[{"name":"fingerprint_stats_idx","id":2,"version":3,"keyColumnNames":["fingerprint_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[8,1,3,4],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"execution_count_idx","id":3,"version":3,"keyColumnNames":["aggregated_ts","app_name","execution_count"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,9],"keySuffixColumnIds":[8,2,4],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"service_latency_idx","id":4,"version":3,"keyColumnNames":["aggregated_ts","app_name","service_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,10],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[10],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"cpu_sql_nanos_idx","id":5,"version":3,"keyColumnNames":["aggregated_ts","app_name","cpu_sql_nanos"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,11],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[11],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"contention_time_idx","id":6,"version":3,"keyColumnNames":["aggregated_ts","app_name","contention_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,12],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[12],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"total_estimated_execution_time_idx","id":7,"version":3,"keyColumnNames":["aggregated_ts","app_name","total_estimated_execution_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,13],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[13],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"p99_latency_idx","id":8,"version":3,"keyColumnNames":["aggregated_ts","app_name","p99_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,14],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[14],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"}],"nextIndexId":9,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","columnIds":[8],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} {"table":{"name":"ui","id":14,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"key","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"value","id":2,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"lastUpdated","id":3,"type":{"family":"TimestampFamily","oid":1114}}],"nextColumnId":4,"families":[{"name":"primary","columnNames":["key"],"columnIds":[1]},{"name":"fam_2_value","id":2,"columnNames":["value"],"columnIds":[2],"defaultColumnId":2},{"name":"fam_3_lastUpdated","id":3,"columnNames":["lastUpdated"],"columnIds":[3],"defaultColumnId":3}],"nextFamilyId":4,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["key"],"keyColumnDirections":["ASC"],"storeColumnNames":["value","lastUpdated"],"keyColumnIds":[1],"storeColumnIds":[2,3],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} {"table":{"name":"users","id":4,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"username","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"hashedPassword","id":2,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"isRole","id":3,"type":{"oid":16},"defaultExpr":"false"},{"name":"user_id","id":4,"type":{"family":"OidFamily","oid":26}}],"nextColumnId":5,"families":[{"name":"primary","columnNames":["username","user_id"],"columnIds":[1,4],"defaultColumnId":4},{"name":"fam_2_hashedPassword","id":2,"columnNames":["hashedPassword"],"columnIds":[2],"defaultColumnId":2},{"name":"fam_3_isRole","id":3,"columnNames":["isRole"],"columnIds":[3],"defaultColumnId":3}],"nextFamilyId":4,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["username"],"keyColumnDirections":["ASC"],"storeColumnNames":["hashedPassword","isRole","user_id"],"keyColumnIds":[1],"storeColumnIds":[2,3,4],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":2},"indexes":[{"name":"users_user_id_idx","id":2,"unique":true,"version":3,"keyColumnNames":["user_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[4],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"constraintId":1}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} @@ -619,23 +695,25 @@ schema_telemetry schema_telemetry snapshot_id=7cd8a9ae-f35c-4cd2-970a-757174600874 max_records=10 ---- {"database":{"name":"defaultdb","id":100,"modificationTime":{"wallTime":"0"},"version":"1","privileges":{"users":[{"userProto":"admin","privileges":"2","withGrantOption":"2"},{"userProto":"public","privileges":"2048"},{"userProto":"root","privileges":"2","withGrantOption":"2"}],"ownerProto":"root","version":2},"schemas":{"public":{"id":101}},"defaultPrivileges":{}}} -{"table":{"name":"descriptor","id":3,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"descriptor","id":2,"type":{"family":"BytesFamily","oid":17},"nullable":true}],"nextColumnId":3,"families":[{"name":"primary","columnNames":["id"],"columnIds":[1]},{"name":"fam_2_descriptor","id":2,"columnNames":["descriptor"],"columnIds":[2],"defaultColumnId":2}],"nextFamilyId":3,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["descriptor"],"keyColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} -{"table":{"name":"jobs","id":15,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"status","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"created","id":3,"type":{"family":"TimestampFamily","oid":1114},"defaultExpr":"now():::TIMESTAMP"},{"name":"payload","id":4,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"progress","id":5,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"created_by_type","id":6,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"created_by_id","id":7,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"claim_session_id","id":8,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"claim_instance_id","id":9,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"num_runs","id":10,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"last_run","id":11,"type":{"family":"TimestampFamily","oid":1114},"nullable":true},{"name":"job_type","id":12,"type":{"family":"StringFamily","oid":25},"nullable":true}],"nextColumnId":13,"families":[{"name":"fam_0_id_status_created_payload","columnNames":["id","status","created","payload","created_by_type","created_by_id","job_type"],"columnIds":[1,2,3,4,6,7,12]},{"name":"progress","id":1,"columnNames":["progress"],"columnIds":[5],"defaultColumnId":5},{"name":"claim","id":2,"columnNames":["claim_session_id","claim_instance_id","num_runs","last_run"],"columnIds":[8,9,10,11]}],"nextFamilyId":3,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["status","created","payload","progress","created_by_type","created_by_id","claim_session_id","claim_instance_id","num_runs","last_run","job_type"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7,8,9,10,11,12],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"jobs_status_created_idx","id":2,"version":3,"keyColumnNames":["status","created"],"keyColumnDirections":["ASC","ASC"],"keyColumnIds":[2,3],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"jobs_created_by_type_created_by_id_idx","id":3,"version":3,"keyColumnNames":["created_by_type","created_by_id"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["status"],"keyColumnIds":[6,7],"keySuffixColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"jobs_run_stats_idx","id":4,"version":3,"keyColumnNames":["claim_session_id","status","created"],"keyColumnDirections":["ASC","ASC","ASC"],"storeColumnNames":["last_run","num_runs","claim_instance_id"],"keyColumnIds":[8,2,3],"keySuffixColumnIds":[1],"storeColumnIds":[11,10,9],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"status IN ('_':::STRING, '_':::STRING, '_':::STRING, '_':::STRING, '_':::STRING)"},{"name":"jobs_job_type_idx","id":5,"version":3,"keyColumnNames":["job_type"],"keyColumnDirections":["ASC"],"keyColumnIds":[12],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":6,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} -{"table":{"name":"locations","id":21,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"localityKey","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"localityValue","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"latitude","id":3,"type":{"family":"DecimalFamily","width":15,"precision":18,"oid":1700}},{"name":"longitude","id":4,"type":{"family":"DecimalFamily","width":15,"precision":18,"oid":1700}}],"nextColumnId":5,"families":[{"name":"fam_0_localityKey_localityValue_latitude_longitude","columnNames":["localityKey","localityValue","latitude","longitude"],"columnIds":[1,2,3,4]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["localityKey","localityValue"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["latitude","longitude"],"keyColumnIds":[1,2],"storeColumnIds":[3,4],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} -{"table":{"name":"protected_ts_records","id":32,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"UuidFamily","oid":2950}},{"name":"ts","id":2,"type":{"family":"DecimalFamily","oid":1700}},{"name":"meta_type","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"meta","id":4,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"num_spans","id":5,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"spans","id":6,"type":{"family":"BytesFamily","oid":17}},{"name":"verified","id":7,"type":{"oid":16},"defaultExpr":"false"},{"name":"target","id":8,"type":{"family":"BytesFamily","oid":17},"nullable":true}],"nextColumnId":9,"families":[{"name":"primary","columnNames":["id","ts","meta_type","meta","num_spans","spans","verified","target"],"columnIds":[1,2,3,4,5,6,7,8]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["ts","meta_type","meta","num_spans","spans","verified","target"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7,8],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"descriptor_id_seq","id":7,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"value","id":1,"type":{"family":"IntFamily","width":64,"oid":20}}],"families":[{"name":"primary","columnNames":["value"],"columnIds":[1],"defaultColumnId":1}],"primaryIndex":{"name":"primary","id":1,"version":4,"keyColumnNames":["value"],"keyColumnDirections":["ASC"],"keyColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{}},"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"formatVersion":3,"sequenceOpts":{"increment":"1","minValue":"1","maxValue":"9223372036854775807","start":"1","sequenceOwner":{},"cacheSize":"1"},"replacementOf":{"time":{}},"createAsOfTime":{}}} +{"table":{"name":"eventlog","id":12,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"timestamp","id":1,"type":{"family":"TimestampFamily","oid":1114}},{"name":"eventType","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"targetID","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"reportingID","id":4,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"info","id":5,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"uniqueID","id":6,"type":{"family":"BytesFamily","oid":17},"defaultExpr":"uuid_v4()"}],"nextColumnId":7,"families":[{"name":"primary","columnNames":["timestamp","uniqueID"],"columnIds":[1,6]},{"name":"fam_2_eventType","id":2,"columnNames":["eventType"],"columnIds":[2],"defaultColumnId":2},{"name":"fam_3_targetID","id":3,"columnNames":["targetID"],"columnIds":[3],"defaultColumnId":3},{"name":"fam_4_reportingID","id":4,"columnNames":["reportingID"],"columnIds":[4],"defaultColumnId":4},{"name":"fam_5_info","id":5,"columnNames":["info"],"columnIds":[5],"defaultColumnId":5}],"nextFamilyId":6,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["timestamp","uniqueID"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["eventType","targetID","reportingID","info"],"keyColumnIds":[1,6],"storeColumnIds":[2,3,4,5],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"lease","id":11,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"descID","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"version","id":2,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"nodeID","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"expiration","id":4,"type":{"family":"TimestampFamily","oid":1114}},{"name":"crdb_region","id":5,"type":{"family":"BytesFamily","oid":17}}],"nextColumnId":6,"families":[{"name":"primary","columnNames":["descID","version","nodeID","expiration","crdb_region"],"columnIds":[1,2,3,4,5]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":2,"unique":true,"version":4,"keyColumnNames":["crdb_region","descID","version","expiration","nodeID"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC"],"keyColumnIds":[5,1,2,4,3],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"reports_meta","id":28,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"generated","id":2,"type":{"family":"TimestampTZFamily","oid":1184}}],"nextColumnId":3,"families":[{"name":"primary","columnNames":["id","generated"],"columnIds":[1,2],"defaultColumnId":2}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["generated"],"keyColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} {"table":{"name":"role_options","id":33,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"username","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"option","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"value","id":3,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"user_id","id":4,"type":{"family":"OidFamily","oid":26}}],"nextColumnId":5,"families":[{"name":"primary","columnNames":["username","option","value","user_id"],"columnIds":[1,2,3,4]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["username","option"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["value","user_id"],"keyColumnIds":[1,2],"storeColumnIds":[3,4],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"users_user_id_idx","id":2,"version":3,"keyColumnNames":["user_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[4],"keySuffixColumnIds":[1,2],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} -{"table":{"name":"span_stats_samples","id":56,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"UuidFamily","oid":2950},"defaultExpr":"gen_random_uuid()"},{"name":"sample_time","id":2,"type":{"family":"TimestampFamily","oid":1114},"defaultExpr":"now():::TIMESTAMP"}],"nextColumnId":3,"families":[{"name":"primary","columnNames":["id","sample_time"],"columnIds":[1,2],"defaultColumnId":2}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["sample_time"],"keyColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":2},"indexes":[{"name":"samples_sample_time_idx","id":2,"unique":true,"version":3,"keyColumnNames":["sample_time"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"constraintId":1}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} -{"table":{"name":"tenant_tasks","id":59,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"tenant_id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"issuer","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"task_id","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"created","id":4,"type":{"family":"TimestampTZFamily","oid":1184},"defaultExpr":"now():::TIMESTAMPTZ"},{"name":"payload_id","id":5,"type":{"family":"StringFamily","oid":25}},{"name":"owner","id":6,"type":{"family":"StringFamily","oid":25}},{"name":"owner_id","id":7,"type":{"family":"OidFamily","oid":26}}],"nextColumnId":8,"families":[{"name":"primary","columnNames":["tenant_id","issuer","task_id","created","payload_id","owner","owner_id"],"columnIds":[1,2,3,4,5,6,7]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["tenant_id","issuer","task_id"],"keyColumnDirections":["ASC","ASC","ASC"],"storeColumnNames":["created","payload_id","owner","owner_id"],"keyColumnIds":[1,2,3],"storeColumnIds":[4,5,6,7],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} -{"table":{"name":"web_sessions","id":19,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"hashedSecret","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"username","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"createdAt","id":4,"type":{"family":"TimestampFamily","oid":1114},"defaultExpr":"now():::TIMESTAMP"},{"name":"expiresAt","id":5,"type":{"family":"TimestampFamily","oid":1114}},{"name":"revokedAt","id":6,"type":{"family":"TimestampFamily","oid":1114},"nullable":true},{"name":"lastUsedAt","id":7,"type":{"family":"TimestampFamily","oid":1114},"defaultExpr":"now():::TIMESTAMP"},{"name":"auditInfo","id":8,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"user_id","id":9,"type":{"family":"OidFamily","oid":26}}],"nextColumnId":10,"families":[{"name":"fam_0_id_hashedSecret_username_createdAt_expiresAt_revokedAt_lastUsedAt_auditInfo","columnNames":["id","hashedSecret","username","createdAt","expiresAt","revokedAt","lastUsedAt","auditInfo","user_id"],"columnIds":[1,2,3,4,5,6,7,8,9]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["hashedSecret","username","createdAt","expiresAt","revokedAt","lastUsedAt","auditInfo","user_id"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7,8,9],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"web_sessions_expiresAt_idx","id":2,"version":3,"keyColumnNames":["expiresAt"],"keyColumnDirections":["ASC"],"keyColumnIds":[5],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"web_sessions_createdAt_idx","id":3,"version":3,"keyColumnNames":["createdAt"],"keyColumnDirections":["ASC"],"keyColumnIds":[4],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"web_sessions_revokedAt_idx","id":4,"version":3,"keyColumnNames":["revokedAt"],"keyColumnDirections":["ASC"],"keyColumnIds":[6],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"web_sessions_lastUsedAt_idx","id":5,"version":3,"keyColumnNames":["lastUsedAt"],"keyColumnDirections":["ASC"],"keyColumnIds":[7],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":6,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"settings","id":6,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"name","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"value","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"lastUpdated","id":3,"type":{"family":"TimestampFamily","oid":1114},"defaultExpr":"now():::TIMESTAMP"},{"name":"valueType","id":4,"type":{"family":"StringFamily","oid":25},"nullable":true}],"nextColumnId":5,"families":[{"name":"fam_0_name_value_lastUpdated_valueType","columnNames":["name","value","lastUpdated","valueType"],"columnIds":[1,2,3,4]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["name"],"keyColumnDirections":["ASC"],"storeColumnNames":["value","lastUpdated","valueType"],"keyColumnIds":[1],"storeColumnIds":[2,3,4],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"span_stats_unique_keys","id":54,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"UuidFamily","oid":2950},"defaultExpr":"gen_random_uuid()"},{"name":"key_bytes","id":2,"type":{"family":"BytesFamily","oid":17},"nullable":true}],"nextColumnId":3,"families":[{"name":"primary","columnNames":["id","key_bytes"],"columnIds":[1,2],"defaultColumnId":2}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["key_bytes"],"keyColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":2},"indexes":[{"name":"unique_keys_key_bytes_idx","id":2,"unique":true,"version":3,"keyColumnNames":["key_bytes"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"constraintId":1}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} +{"table":{"name":"task_payloads","id":58,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"created","id":2,"type":{"family":"TimestampTZFamily","oid":1184},"defaultExpr":"now():::TIMESTAMPTZ"},{"name":"owner","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"owner_id","id":4,"type":{"family":"OidFamily","oid":26}},{"name":"min_version","id":5,"type":{"family":"StringFamily","oid":25}},{"name":"description","id":6,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"type","id":7,"type":{"family":"StringFamily","oid":25}},{"name":"value","id":8,"type":{"family":"BytesFamily","oid":17}}],"nextColumnId":9,"families":[{"name":"primary","columnNames":["id","created","owner","owner_id","min_version","description","type","value"],"columnIds":[1,2,3,4,5,6,7,8]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["created","owner","owner_id","min_version","description","type","value"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7,8],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"zones","id":5,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"config","id":2,"type":{"family":"BytesFamily","oid":17},"nullable":true}],"nextColumnId":3,"families":[{"name":"primary","columnNames":["id"],"columnIds":[1]},{"name":"fam_2_config","id":2,"columnNames":["config"],"columnIds":[2],"defaultColumnId":2}],"nextFamilyId":3,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["config"],"keyColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} schema_telemetry snapshot_id=7cd8a9ae-f35c-4cd2-970a-757174600874 max_records=10 ---- {"database":{"name":"defaultdb","id":100,"modificationTime":{"wallTime":"0"},"version":"1","privileges":{"users":[{"userProto":"admin","privileges":"2","withGrantOption":"2"},{"userProto":"public","privileges":"2048"},{"userProto":"root","privileges":"2","withGrantOption":"2"}],"ownerProto":"root","version":2},"schemas":{"public":{"id":101}},"defaultPrivileges":{}}} -{"table":{"name":"descriptor","id":3,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"descriptor","id":2,"type":{"family":"BytesFamily","oid":17},"nullable":true}],"nextColumnId":3,"families":[{"name":"primary","columnNames":["id"],"columnIds":[1]},{"name":"fam_2_descriptor","id":2,"columnNames":["descriptor"],"columnIds":[2],"defaultColumnId":2}],"nextFamilyId":3,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["descriptor"],"keyColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} -{"table":{"name":"jobs","id":15,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"status","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"created","id":3,"type":{"family":"TimestampFamily","oid":1114},"defaultExpr":"now():::TIMESTAMP"},{"name":"payload","id":4,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"progress","id":5,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"created_by_type","id":6,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"created_by_id","id":7,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"claim_session_id","id":8,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"claim_instance_id","id":9,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"num_runs","id":10,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"last_run","id":11,"type":{"family":"TimestampFamily","oid":1114},"nullable":true},{"name":"job_type","id":12,"type":{"family":"StringFamily","oid":25},"nullable":true}],"nextColumnId":13,"families":[{"name":"fam_0_id_status_created_payload","columnNames":["id","status","created","payload","created_by_type","created_by_id","job_type"],"columnIds":[1,2,3,4,6,7,12]},{"name":"progress","id":1,"columnNames":["progress"],"columnIds":[5],"defaultColumnId":5},{"name":"claim","id":2,"columnNames":["claim_session_id","claim_instance_id","num_runs","last_run"],"columnIds":[8,9,10,11]}],"nextFamilyId":3,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["status","created","payload","progress","created_by_type","created_by_id","claim_session_id","claim_instance_id","num_runs","last_run","job_type"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7,8,9,10,11,12],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"jobs_status_created_idx","id":2,"version":3,"keyColumnNames":["status","created"],"keyColumnDirections":["ASC","ASC"],"keyColumnIds":[2,3],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"jobs_created_by_type_created_by_id_idx","id":3,"version":3,"keyColumnNames":["created_by_type","created_by_id"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["status"],"keyColumnIds":[6,7],"keySuffixColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"jobs_run_stats_idx","id":4,"version":3,"keyColumnNames":["claim_session_id","status","created"],"keyColumnDirections":["ASC","ASC","ASC"],"storeColumnNames":["last_run","num_runs","claim_instance_id"],"keyColumnIds":[8,2,3],"keySuffixColumnIds":[1],"storeColumnIds":[11,10,9],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"status IN ('_':::STRING, '_':::STRING, '_':::STRING, '_':::STRING, '_':::STRING)"},{"name":"jobs_job_type_idx","id":5,"version":3,"keyColumnNames":["job_type"],"keyColumnDirections":["ASC"],"keyColumnIds":[12],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":6,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} -{"table":{"name":"locations","id":21,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"localityKey","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"localityValue","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"latitude","id":3,"type":{"family":"DecimalFamily","width":15,"precision":18,"oid":1700}},{"name":"longitude","id":4,"type":{"family":"DecimalFamily","width":15,"precision":18,"oid":1700}}],"nextColumnId":5,"families":[{"name":"fam_0_localityKey_localityValue_latitude_longitude","columnNames":["localityKey","localityValue","latitude","longitude"],"columnIds":[1,2,3,4]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["localityKey","localityValue"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["latitude","longitude"],"keyColumnIds":[1,2],"storeColumnIds":[3,4],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} -{"table":{"name":"protected_ts_records","id":32,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"UuidFamily","oid":2950}},{"name":"ts","id":2,"type":{"family":"DecimalFamily","oid":1700}},{"name":"meta_type","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"meta","id":4,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"num_spans","id":5,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"spans","id":6,"type":{"family":"BytesFamily","oid":17}},{"name":"verified","id":7,"type":{"oid":16},"defaultExpr":"false"},{"name":"target","id":8,"type":{"family":"BytesFamily","oid":17},"nullable":true}],"nextColumnId":9,"families":[{"name":"primary","columnNames":["id","ts","meta_type","meta","num_spans","spans","verified","target"],"columnIds":[1,2,3,4,5,6,7,8]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["ts","meta_type","meta","num_spans","spans","verified","target"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7,8],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"descriptor_id_seq","id":7,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"value","id":1,"type":{"family":"IntFamily","width":64,"oid":20}}],"families":[{"name":"primary","columnNames":["value"],"columnIds":[1],"defaultColumnId":1}],"primaryIndex":{"name":"primary","id":1,"version":4,"keyColumnNames":["value"],"keyColumnDirections":["ASC"],"keyColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{}},"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"formatVersion":3,"sequenceOpts":{"increment":"1","minValue":"1","maxValue":"9223372036854775807","start":"1","sequenceOwner":{},"cacheSize":"1"},"replacementOf":{"time":{}},"createAsOfTime":{}}} +{"table":{"name":"eventlog","id":12,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"timestamp","id":1,"type":{"family":"TimestampFamily","oid":1114}},{"name":"eventType","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"targetID","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"reportingID","id":4,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"info","id":5,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"uniqueID","id":6,"type":{"family":"BytesFamily","oid":17},"defaultExpr":"uuid_v4()"}],"nextColumnId":7,"families":[{"name":"primary","columnNames":["timestamp","uniqueID"],"columnIds":[1,6]},{"name":"fam_2_eventType","id":2,"columnNames":["eventType"],"columnIds":[2],"defaultColumnId":2},{"name":"fam_3_targetID","id":3,"columnNames":["targetID"],"columnIds":[3],"defaultColumnId":3},{"name":"fam_4_reportingID","id":4,"columnNames":["reportingID"],"columnIds":[4],"defaultColumnId":4},{"name":"fam_5_info","id":5,"columnNames":["info"],"columnIds":[5],"defaultColumnId":5}],"nextFamilyId":6,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["timestamp","uniqueID"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["eventType","targetID","reportingID","info"],"keyColumnIds":[1,6],"storeColumnIds":[2,3,4,5],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"lease","id":11,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"descID","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"version","id":2,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"nodeID","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"expiration","id":4,"type":{"family":"TimestampFamily","oid":1114}},{"name":"crdb_region","id":5,"type":{"family":"BytesFamily","oid":17}}],"nextColumnId":6,"families":[{"name":"primary","columnNames":["descID","version","nodeID","expiration","crdb_region"],"columnIds":[1,2,3,4,5]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":2,"unique":true,"version":4,"keyColumnNames":["crdb_region","descID","version","expiration","nodeID"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC"],"keyColumnIds":[5,1,2,4,3],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"reports_meta","id":28,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"generated","id":2,"type":{"family":"TimestampTZFamily","oid":1184}}],"nextColumnId":3,"families":[{"name":"primary","columnNames":["id","generated"],"columnIds":[1,2],"defaultColumnId":2}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["generated"],"keyColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} {"table":{"name":"role_options","id":33,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"username","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"option","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"value","id":3,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"user_id","id":4,"type":{"family":"OidFamily","oid":26}}],"nextColumnId":5,"families":[{"name":"primary","columnNames":["username","option","value","user_id"],"columnIds":[1,2,3,4]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["username","option"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["value","user_id"],"keyColumnIds":[1,2],"storeColumnIds":[3,4],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"users_user_id_idx","id":2,"version":3,"keyColumnNames":["user_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[4],"keySuffixColumnIds":[1,2],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} -{"table":{"name":"span_stats_samples","id":56,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"UuidFamily","oid":2950},"defaultExpr":"gen_random_uuid()"},{"name":"sample_time","id":2,"type":{"family":"TimestampFamily","oid":1114},"defaultExpr":"now():::TIMESTAMP"}],"nextColumnId":3,"families":[{"name":"primary","columnNames":["id","sample_time"],"columnIds":[1,2],"defaultColumnId":2}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["sample_time"],"keyColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":2},"indexes":[{"name":"samples_sample_time_idx","id":2,"unique":true,"version":3,"keyColumnNames":["sample_time"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"constraintId":1}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} -{"table":{"name":"tenant_tasks","id":59,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"tenant_id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"issuer","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"task_id","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"created","id":4,"type":{"family":"TimestampTZFamily","oid":1184},"defaultExpr":"now():::TIMESTAMPTZ"},{"name":"payload_id","id":5,"type":{"family":"StringFamily","oid":25}},{"name":"owner","id":6,"type":{"family":"StringFamily","oid":25}},{"name":"owner_id","id":7,"type":{"family":"OidFamily","oid":26}}],"nextColumnId":8,"families":[{"name":"primary","columnNames":["tenant_id","issuer","task_id","created","payload_id","owner","owner_id"],"columnIds":[1,2,3,4,5,6,7]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["tenant_id","issuer","task_id"],"keyColumnDirections":["ASC","ASC","ASC"],"storeColumnNames":["created","payload_id","owner","owner_id"],"keyColumnIds":[1,2,3],"storeColumnIds":[4,5,6,7],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} -{"table":{"name":"web_sessions","id":19,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"hashedSecret","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"username","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"createdAt","id":4,"type":{"family":"TimestampFamily","oid":1114},"defaultExpr":"now():::TIMESTAMP"},{"name":"expiresAt","id":5,"type":{"family":"TimestampFamily","oid":1114}},{"name":"revokedAt","id":6,"type":{"family":"TimestampFamily","oid":1114},"nullable":true},{"name":"lastUsedAt","id":7,"type":{"family":"TimestampFamily","oid":1114},"defaultExpr":"now():::TIMESTAMP"},{"name":"auditInfo","id":8,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"user_id","id":9,"type":{"family":"OidFamily","oid":26}}],"nextColumnId":10,"families":[{"name":"fam_0_id_hashedSecret_username_createdAt_expiresAt_revokedAt_lastUsedAt_auditInfo","columnNames":["id","hashedSecret","username","createdAt","expiresAt","revokedAt","lastUsedAt","auditInfo","user_id"],"columnIds":[1,2,3,4,5,6,7,8,9]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["hashedSecret","username","createdAt","expiresAt","revokedAt","lastUsedAt","auditInfo","user_id"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7,8,9],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"web_sessions_expiresAt_idx","id":2,"version":3,"keyColumnNames":["expiresAt"],"keyColumnDirections":["ASC"],"keyColumnIds":[5],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"web_sessions_createdAt_idx","id":3,"version":3,"keyColumnNames":["createdAt"],"keyColumnDirections":["ASC"],"keyColumnIds":[4],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"web_sessions_revokedAt_idx","id":4,"version":3,"keyColumnNames":["revokedAt"],"keyColumnDirections":["ASC"],"keyColumnIds":[6],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"web_sessions_lastUsedAt_idx","id":5,"version":3,"keyColumnNames":["lastUsedAt"],"keyColumnDirections":["ASC"],"keyColumnIds":[7],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":6,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"settings","id":6,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"name","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"value","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"lastUpdated","id":3,"type":{"family":"TimestampFamily","oid":1114},"defaultExpr":"now():::TIMESTAMP"},{"name":"valueType","id":4,"type":{"family":"StringFamily","oid":25},"nullable":true}],"nextColumnId":5,"families":[{"name":"fam_0_name_value_lastUpdated_valueType","columnNames":["name","value","lastUpdated","valueType"],"columnIds":[1,2,3,4]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["name"],"keyColumnDirections":["ASC"],"storeColumnNames":["value","lastUpdated","valueType"],"keyColumnIds":[1],"storeColumnIds":[2,3,4],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"span_stats_unique_keys","id":54,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"UuidFamily","oid":2950},"defaultExpr":"gen_random_uuid()"},{"name":"key_bytes","id":2,"type":{"family":"BytesFamily","oid":17},"nullable":true}],"nextColumnId":3,"families":[{"name":"primary","columnNames":["id","key_bytes"],"columnIds":[1,2],"defaultColumnId":2}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["key_bytes"],"keyColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":2},"indexes":[{"name":"unique_keys_key_bytes_idx","id":2,"unique":true,"version":3,"keyColumnNames":["key_bytes"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"constraintId":1}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} +{"table":{"name":"task_payloads","id":58,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"created","id":2,"type":{"family":"TimestampTZFamily","oid":1184},"defaultExpr":"now():::TIMESTAMPTZ"},{"name":"owner","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"owner_id","id":4,"type":{"family":"OidFamily","oid":26}},{"name":"min_version","id":5,"type":{"family":"StringFamily","oid":25}},{"name":"description","id":6,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"type","id":7,"type":{"family":"StringFamily","oid":25}},{"name":"value","id":8,"type":{"family":"BytesFamily","oid":17}}],"nextColumnId":9,"families":[{"name":"primary","columnNames":["id","created","owner","owner_id","min_version","description","type","value"],"columnIds":[1,2,3,4,5,6,7,8]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["created","owner","owner_id","min_version","description","type","value"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7,8],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"zones","id":5,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"config","id":2,"type":{"family":"BytesFamily","oid":17},"nullable":true}],"nextColumnId":3,"families":[{"name":"primary","columnNames":["id"],"columnIds":[1]},{"name":"fam_2_config","id":2,"columnNames":["config"],"columnIds":[2],"defaultColumnId":2}],"nextFamilyId":3,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["config"],"keyColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} diff --git a/pkg/sql/catalog/systemschema_test/testdata/bootstrap_tenant b/pkg/sql/catalog/systemschema_test/testdata/bootstrap_tenant index aed7ffd0afda..5c5f56b092f1 100644 --- a/pkg/sql/catalog/systemschema_test/testdata/bootstrap_tenant +++ b/pkg/sql/catalog/systemschema_test/testdata/bootstrap_tenant @@ -496,12 +496,85 @@ CREATE TABLE public.transaction_activity ( INDEX service_latency_avg_seconds_idx (aggregated_ts ASC, service_latency_avg_seconds DESC), INDEX service_latency_p99_seconds_idx (aggregated_ts ASC, service_latency_p99_seconds DESC) ); +CREATE TABLE public.mvcc_statistics ( + created_at TIMESTAMPTZ NOT NULL DEFAULT now():::TIMESTAMPTZ, + database_id INT8 NOT NULL, + table_id INT8 NOT NULL, + index_id INT8 NOT NULL, + statistics JSONB NOT NULL, + crdb_internal_created_at_database_id_index_id_table_id_shard_16 INT4 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(created_at))), 16:::INT8)) VIRTUAL, + CONSTRAINT mvcc_statistics_pkey PRIMARY KEY (created_at ASC, database_id ASC, table_id ASC, index_id ASC) USING HASH WITH (bucket_count=16) +); +CREATE TABLE public.transaction_execution_insights ( + transaction_id UUID NOT NULL, + transaction_fingerprint_id BYTES NOT NULL, + query_summary STRING NULL, + implicit_txn BOOL NULL, + session_id STRING NOT NULL, + start_time TIMESTAMPTZ NULL, + end_time TIMESTAMPTZ NULL, + user_name STRING NULL, + app_name STRING NULL, + user_priority STRING NULL, + retries INT8 NULL, + last_retry_reason STRING NULL, + problems INT8[] NULL, + causes INT8[] NULL, + stmt_execution_ids STRING[] NULL, + cpu_sql_nanos INT8 NULL, + last_error_code STRING NULL, + status INT8 NULL, + contention_time INTERVAL NULL, + contention_info JSONB NULL, + details JSONB NULL, + created TIMESTAMPTZ NOT NULL DEFAULT now():::TIMESTAMPTZ, + crdb_internal_end_time_start_time_shard_16 INT4 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(end_time, start_time))), 16:::INT8)) VIRTUAL, + CONSTRAINT "primary" PRIMARY KEY (transaction_id ASC), + INDEX transaction_fingerprint_id_idx (transaction_fingerprint_id ASC), + INDEX time_range_idx (start_time DESC, end_time DESC) USING HASH WITH (bucket_count=16) +); +CREATE TABLE public.statement_execution_insights ( + session_id STRING NOT NULL, + transaction_id UUID NOT NULL, + transaction_fingerprint_id BYTES NOT NULL, + statement_id STRING NOT NULL, + statement_fingerprint_id BYTES NOT NULL, + problem INT8 NULL, + causes INT8[] NULL, + query STRING NULL, + status INT8 NULL, + start_time TIMESTAMPTZ NULL, + end_time TIMESTAMPTZ NULL, + full_scan BOOL NULL, + user_name STRING NULL, + app_name STRING NULL, + user_priority STRING NULL, + database_name STRING NULL, + plan_gist STRING NULL, + retries INT8 NULL, + last_retry_reason STRING NULL, + execution_node_ids INT8[] NULL, + index_recommendations STRING[] NULL, + implicit_txn BOOL NULL, + cpu_sql_nanos INT8 NULL, + error_code STRING NULL, + contention_time INTERVAL NULL, + contention_info JSONB NULL, + details JSONB NULL, + created TIMESTAMPTZ NOT NULL DEFAULT now():::TIMESTAMPTZ, + crdb_internal_end_time_start_time_shard_16 INT4 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(end_time, start_time))), 16:::INT8)) VIRTUAL, + CONSTRAINT "primary" PRIMARY KEY (statement_id ASC, transaction_id ASC), + INDEX transaction_id_idx (transaction_id ASC), + INDEX transaction_fingerprint_id_idx (transaction_fingerprint_id ASC, start_time DESC, end_time DESC), + INDEX statement_fingerprint_id_idx (statement_fingerprint_id ASC, start_time DESC, end_time DESC), + INDEX time_range_idx (start_time DESC, end_time DESC) USING HASH WITH (bucket_count=16) +); schema_telemetry ---- {"database":{"name":"defaultdb","id":100,"modificationTime":{"wallTime":"0"},"version":"1","privileges":{"users":[{"userProto":"admin","privileges":"2","withGrantOption":"2"},{"userProto":"public","privileges":"2048"},{"userProto":"root","privileges":"2","withGrantOption":"2"}],"ownerProto":"root","version":2},"schemas":{"public":{"id":101}},"defaultPrivileges":{}}} {"database":{"name":"postgres","id":102,"modificationTime":{"wallTime":"0"},"version":"1","privileges":{"users":[{"userProto":"admin","privileges":"2","withGrantOption":"2"},{"userProto":"public","privileges":"2048"},{"userProto":"root","privileges":"2","withGrantOption":"2"}],"ownerProto":"root","version":2},"schemas":{"public":{"id":103}},"defaultPrivileges":{}}} -{"database":{"name":"system","id":1,"modificationTime":{"wallTime":"0"},"version":"1","privileges":{"users":[{"userProto":"admin","privileges":"2048","withGrantOption":"2048"},{"userProto":"root","privileges":"2048","withGrantOption":"2048"}],"ownerProto":"node","version":2},"systemDatabaseSchemaVersion":{"majorVal":1000023,"minorVal":1,"internal":20}}} +{"database":{"name":"system","id":1,"modificationTime":{"wallTime":"0"},"version":"1","privileges":{"users":[{"userProto":"admin","privileges":"2048","withGrantOption":"2048"},{"userProto":"root","privileges":"2048","withGrantOption":"2048"}],"ownerProto":"node","version":2},"systemDatabaseSchemaVersion":{"majorVal":1000023,"minorVal":1,"internal":32}}} {"table":{"name":"comments","id":24,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"type","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"object_id","id":2,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"sub_id","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"comment","id":4,"type":{"family":"StringFamily","oid":25}}],"nextColumnId":5,"families":[{"name":"primary","columnNames":["type","object_id","sub_id"],"columnIds":[1,2,3]},{"name":"fam_4_comment","id":4,"columnNames":["comment"],"columnIds":[4],"defaultColumnId":4}],"nextFamilyId":5,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["type","object_id","sub_id"],"keyColumnDirections":["ASC","ASC","ASC"],"storeColumnNames":["comment"],"keyColumnIds":[1,2,3],"storeColumnIds":[4],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"public","privileges":"32"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} {"table":{"name":"database_role_settings","id":44,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"database_id","id":1,"type":{"family":"OidFamily","oid":26}},{"name":"role_name","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"settings","id":3,"type":{"family":"ArrayFamily","arrayElemType":"StringFamily","oid":1009,"arrayContents":{"family":"StringFamily","oid":25}}},{"name":"role_id","id":4,"type":{"family":"OidFamily","oid":26}}],"nextColumnId":5,"families":[{"name":"primary","columnNames":["database_id","role_name","settings","role_id"],"columnIds":[1,2,3,4]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["database_id","role_name"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["settings","role_id"],"keyColumnIds":[1,2],"storeColumnIds":[3,4],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":2},"indexes":[{"name":"database_role_settings_database_id_role_id_key","id":2,"unique":true,"version":3,"keyColumnNames":["database_id","role_id"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["settings"],"keyColumnIds":[1,4],"keySuffixColumnIds":[2],"storeColumnIds":[3],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"constraintId":1}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} {"table":{"name":"descriptor","id":3,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"descriptor","id":2,"type":{"family":"BytesFamily","oid":17},"nullable":true}],"nextColumnId":3,"families":[{"name":"primary","columnNames":["id"],"columnIds":[1]},{"name":"fam_2_descriptor","id":2,"columnNames":["descriptor"],"columnIds":[2],"defaultColumnId":2}],"nextFamilyId":3,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["descriptor"],"keyColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} @@ -514,6 +587,7 @@ schema_telemetry {"table":{"name":"lease","id":11,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"descID","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"version","id":2,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"nodeID","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"expiration","id":4,"type":{"family":"TimestampFamily","oid":1114}},{"name":"crdb_region","id":5,"type":{"family":"BytesFamily","oid":17}}],"nextColumnId":6,"families":[{"name":"primary","columnNames":["descID","version","nodeID","expiration","crdb_region"],"columnIds":[1,2,3,4,5]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":2,"unique":true,"version":4,"keyColumnNames":["crdb_region","descID","version","expiration","nodeID"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC"],"keyColumnIds":[5,1,2,4,3],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} {"table":{"name":"locations","id":21,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"localityKey","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"localityValue","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"latitude","id":3,"type":{"family":"DecimalFamily","width":15,"precision":18,"oid":1700}},{"name":"longitude","id":4,"type":{"family":"DecimalFamily","width":15,"precision":18,"oid":1700}}],"nextColumnId":5,"families":[{"name":"fam_0_localityKey_localityValue_latitude_longitude","columnNames":["localityKey","localityValue","latitude","longitude"],"columnIds":[1,2,3,4]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["localityKey","localityValue"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["latitude","longitude"],"keyColumnIds":[1,2],"storeColumnIds":[3,4],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} {"table":{"name":"migrations","id":40,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"major","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"minor","id":2,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"patch","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"internal","id":4,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"completed_at","id":5,"type":{"family":"TimestampTZFamily","oid":1184}}],"nextColumnId":6,"families":[{"name":"primary","columnNames":["major","minor","patch","internal","completed_at"],"columnIds":[1,2,3,4,5],"defaultColumnId":5}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["major","minor","patch","internal"],"keyColumnDirections":["ASC","ASC","ASC","ASC"],"storeColumnNames":["completed_at"],"keyColumnIds":[1,2,3,4],"storeColumnIds":[5],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"mvcc_statistics","id":60,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"created_at","id":1,"type":{"family":"TimestampTZFamily","oid":1184},"defaultExpr":"now():::TIMESTAMPTZ"},{"name":"database_id","id":2,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"table_id","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"index_id","id":4,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"statistics","id":5,"type":{"family":"JsonFamily","oid":3802}},{"name":"crdb_internal_created_at_database_id_index_id_table_id_shard_16","id":6,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(md5(crdb_internal.datums_to_bytes(created_at))), _:::INT8)","virtual":true}],"nextColumnId":7,"families":[{"name":"primary","columnNames":["created_at","database_id","table_id","index_id","statistics"],"columnIds":[1,2,3,4,5],"defaultColumnId":5}],"nextFamilyId":1,"primaryIndex":{"name":"mvcc_statistics_pkey","id":1,"unique":true,"version":4,"keyColumnNames":["crdb_internal_created_at_database_id_index_id_table_id_shard_16","created_at","database_id","table_id","index_id"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC"],"storeColumnNames":["statistics"],"keyColumnIds":[6,1,2,3,4],"storeColumnIds":[5],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{"isSharded":true,"name":"crdb_internal_created_at_database_id_index_id_table_id_shard_16","shardBuckets":16,"columnNames":["created_at","database_id","index_id","table_id"]},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_created_at_database_id_index_id_table_id_shard_16 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_created_at_database_id_index_id_table_id_shard_16","columnIds":[6],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} {"table":{"name":"namespace","id":30,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"parentID","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"parentSchemaID","id":2,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"name","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"id","id":4,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true}],"nextColumnId":5,"families":[{"name":"primary","columnNames":["parentID","parentSchemaID","name"],"columnIds":[1,2,3]},{"name":"fam_4_id","id":4,"columnNames":["id"],"columnIds":[4],"defaultColumnId":4}],"nextFamilyId":5,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["parentID","parentSchemaID","name"],"keyColumnDirections":["ASC","ASC","ASC"],"storeColumnNames":["id"],"keyColumnIds":[1,2,3],"storeColumnIds":[4],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} {"table":{"name":"privileges","id":51,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"username","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"path","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"privileges","id":3,"type":{"family":"ArrayFamily","arrayElemType":"StringFamily","oid":1009,"arrayContents":{"family":"StringFamily","oid":25}}},{"name":"grant_options","id":4,"type":{"family":"ArrayFamily","arrayElemType":"StringFamily","oid":1009,"arrayContents":{"family":"StringFamily","oid":25}}},{"name":"user_id","id":5,"type":{"family":"OidFamily","oid":26}}],"nextColumnId":6,"families":[{"name":"primary","columnNames":["username","path","privileges","grant_options","user_id"],"columnIds":[1,2,3,4,5]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["username","path"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["privileges","grant_options","user_id"],"keyColumnIds":[1,2],"storeColumnIds":[3,4,5],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":3},"indexes":[{"name":"privileges_path_user_id_key","id":2,"unique":true,"version":3,"keyColumnNames":["path","user_id"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["privileges","grant_options"],"keyColumnIds":[2,5],"keySuffixColumnIds":[1],"storeColumnIds":[3,4],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"constraintId":1},{"name":"privileges_path_username_key","id":3,"unique":true,"version":3,"keyColumnNames":["path","username"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["privileges","grant_options"],"keyColumnIds":[2,1],"storeColumnIds":[3,4],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"constraintId":2}],"nextIndexId":4,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":4}} {"table":{"name":"protected_ts_meta","id":31,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"singleton","id":1,"type":{"oid":16},"defaultExpr":"true"},{"name":"version","id":2,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"num_records","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"num_spans","id":4,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"total_bytes","id":5,"type":{"family":"IntFamily","width":64,"oid":20}}],"nextColumnId":6,"families":[{"name":"primary","columnNames":["singleton","version","num_records","num_spans","total_bytes"],"columnIds":[1,2,3,4,5]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["singleton"],"keyColumnDirections":["ASC"],"storeColumnNames":["version","num_records","num_spans","total_bytes"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"singleton","name":"check_singleton","columnIds":[1],"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} @@ -540,9 +614,11 @@ schema_telemetry {"table":{"name":"statement_bundle_chunks","id":34,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"description","id":2,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"data","id":3,"type":{"family":"BytesFamily","oid":17}}],"nextColumnId":4,"families":[{"name":"primary","columnNames":["id","description","data"],"columnIds":[1,2,3]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["description","data"],"keyColumnIds":[1],"storeColumnIds":[2,3],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} {"table":{"name":"statement_diagnostics","id":36,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"statement_fingerprint","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"statement","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"collected_at","id":4,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"trace","id":5,"type":{"family":"JsonFamily","oid":3802},"nullable":true},{"name":"bundle_chunks","id":6,"type":{"family":"ArrayFamily","width":64,"arrayElemType":"IntFamily","oid":1016,"arrayContents":{"family":"IntFamily","width":64,"oid":20}},"nullable":true},{"name":"error","id":7,"type":{"family":"StringFamily","oid":25},"nullable":true}],"nextColumnId":8,"families":[{"name":"primary","columnNames":["id","statement_fingerprint","statement","collected_at","trace","bundle_chunks","error"],"columnIds":[1,2,3,4,5,6,7]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["statement_fingerprint","statement","collected_at","trace","bundle_chunks","error"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} {"table":{"name":"statement_diagnostics_requests","id":35,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"completed","id":2,"type":{"oid":16},"defaultExpr":"false"},{"name":"statement_fingerprint","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"statement_diagnostics_id","id":4,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"requested_at","id":5,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"min_execution_latency","id":6,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}},"nullable":true},{"name":"expires_at","id":7,"type":{"family":"TimestampTZFamily","oid":1184},"nullable":true},{"name":"sampling_probability","id":8,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true},{"name":"plan_gist","id":9,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"anti_plan_gist","id":10,"type":{"oid":16},"nullable":true}],"nextColumnId":11,"families":[{"name":"primary","columnNames":["id","completed","statement_fingerprint","statement_diagnostics_id","requested_at","min_execution_latency","expires_at","sampling_probability","plan_gist","anti_plan_gist"],"columnIds":[1,2,3,4,5,6,7,8,9,10]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["completed","statement_fingerprint","statement_diagnostics_id","requested_at","min_execution_latency","expires_at","sampling_probability","plan_gist","anti_plan_gist"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7,8,9,10],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"completed_idx_v2","id":2,"version":3,"keyColumnNames":["completed","id"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["statement_fingerprint","min_execution_latency","expires_at","sampling_probability","plan_gist","anti_plan_gist"],"keyColumnIds":[2,1],"storeColumnIds":[3,6,7,8,9,10],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"sampling_probability BETWEEN _:::FLOAT8 AND _:::FLOAT8","name":"check_sampling_probability","columnIds":[8],"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} +{"table":{"name":"statement_execution_insights","id":62,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"session_id","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"transaction_id","id":2,"type":{"family":"UuidFamily","oid":2950}},{"name":"transaction_fingerprint_id","id":3,"type":{"family":"BytesFamily","oid":17}},{"name":"statement_id","id":4,"type":{"family":"StringFamily","oid":25}},{"name":"statement_fingerprint_id","id":5,"type":{"family":"BytesFamily","oid":17}},{"name":"problem","id":6,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"causes","id":7,"type":{"family":"ArrayFamily","width":64,"arrayElemType":"IntFamily","oid":1016,"arrayContents":{"family":"IntFamily","width":64,"oid":20}},"nullable":true},{"name":"query","id":8,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"status","id":9,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"start_time","id":10,"type":{"family":"TimestampTZFamily","oid":1184},"nullable":true},{"name":"end_time","id":11,"type":{"family":"TimestampTZFamily","oid":1184},"nullable":true},{"name":"full_scan","id":12,"type":{"oid":16},"nullable":true},{"name":"user_name","id":13,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"app_name","id":14,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"user_priority","id":15,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"database_name","id":16,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"plan_gist","id":17,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"retries","id":18,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"last_retry_reason","id":19,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"execution_node_ids","id":20,"type":{"family":"ArrayFamily","width":64,"arrayElemType":"IntFamily","oid":1016,"arrayContents":{"family":"IntFamily","width":64,"oid":20}},"nullable":true},{"name":"index_recommendations","id":21,"type":{"family":"ArrayFamily","arrayElemType":"StringFamily","oid":1009,"arrayContents":{"family":"StringFamily","oid":25}},"nullable":true},{"name":"implicit_txn","id":22,"type":{"oid":16},"nullable":true},{"name":"cpu_sql_nanos","id":23,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"error_code","id":24,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"contention_time","id":25,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}},"nullable":true},{"name":"contention_info","id":26,"type":{"family":"JsonFamily","oid":3802},"nullable":true},{"name":"details","id":27,"type":{"family":"JsonFamily","oid":3802},"nullable":true},{"name":"created","id":28,"type":{"family":"TimestampTZFamily","oid":1184},"defaultExpr":"now():::TIMESTAMPTZ"},{"name":"crdb_internal_end_time_start_time_shard_16","id":29,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(md5(crdb_internal.datums_to_bytes(end_time, start_time))), _:::INT8)","virtual":true}],"nextColumnId":30,"families":[{"name":"primary","columnNames":["session_id","transaction_id","transaction_fingerprint_id","statement_id","statement_fingerprint_id","problem","causes","query","status","start_time","end_time","full_scan","user_name","app_name","user_priority","database_name","plan_gist","retries","last_retry_reason","execution_node_ids","index_recommendations","implicit_txn","cpu_sql_nanos","error_code","contention_time","contention_info","details","created"],"columnIds":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["statement_id","transaction_id"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["session_id","transaction_fingerprint_id","statement_fingerprint_id","problem","causes","query","status","start_time","end_time","full_scan","user_name","app_name","user_priority","database_name","plan_gist","retries","last_retry_reason","execution_node_ids","index_recommendations","implicit_txn","cpu_sql_nanos","error_code","contention_time","contention_info","details","created"],"keyColumnIds":[4,2],"storeColumnIds":[1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"transaction_id_idx","id":2,"version":3,"keyColumnNames":["transaction_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[4],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"transaction_fingerprint_id_idx","id":3,"version":3,"keyColumnNames":["transaction_fingerprint_id","start_time","end_time"],"keyColumnDirections":["ASC","DESC","DESC"],"keyColumnIds":[3,10,11],"keySuffixColumnIds":[4,2],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"statement_fingerprint_id_idx","id":4,"version":3,"keyColumnNames":["statement_fingerprint_id","start_time","end_time"],"keyColumnDirections":["ASC","DESC","DESC"],"keyColumnIds":[5,10,11],"keySuffixColumnIds":[4,2],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"time_range_idx","id":5,"version":3,"keyColumnNames":["crdb_internal_end_time_start_time_shard_16","start_time","end_time"],"keyColumnDirections":["ASC","DESC","DESC"],"keyColumnIds":[29,10,11],"keySuffixColumnIds":[4,2],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{"isSharded":true,"name":"crdb_internal_end_time_start_time_shard_16","shardBuckets":16,"columnNames":["end_time","start_time"]},"geoConfig":{}}],"nextIndexId":6,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_end_time_start_time_shard_16 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_end_time_start_time_shard_16","columnIds":[29],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} {"table":{"name":"statement_statistics","id":42,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"aggregated_ts","id":1,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"fingerprint_id","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"transaction_fingerprint_id","id":3,"type":{"family":"BytesFamily","oid":17}},{"name":"plan_hash","id":4,"type":{"family":"BytesFamily","oid":17}},{"name":"app_name","id":5,"type":{"family":"StringFamily","oid":25}},{"name":"node_id","id":6,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"agg_interval","id":7,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}}},{"name":"metadata","id":8,"type":{"family":"JsonFamily","oid":3802}},{"name":"statistics","id":9,"type":{"family":"JsonFamily","oid":3802}},{"name":"plan","id":10,"type":{"family":"JsonFamily","oid":3802}},{"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","id":11,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id, plan_hash, transaction_fingerprint_id)), _:::INT8)"},{"name":"index_recommendations","id":12,"type":{"family":"ArrayFamily","arrayElemType":"StringFamily","oid":1009,"arrayContents":{"family":"StringFamily","oid":25}},"defaultExpr":"ARRAY[]:::STRING[]"},{"name":"indexes_usage","id":13,"type":{"family":"JsonFamily","oid":3802},"nullable":true,"computeExpr":"(statistics-\u003e'_':::STRING)-\u003e'_':::STRING","virtual":true},{"name":"execution_count","id":14,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)::INT8"},{"name":"service_latency","id":15,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"cpu_sql_nanos","id":16,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"contention_time","id":17,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"total_estimated_execution_time","id":18,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8 * (((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8"},{"name":"p99_latency","id":19,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"}],"nextColumnId":20,"families":[{"name":"primary","columnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","aggregated_ts","fingerprint_id","transaction_fingerprint_id","plan_hash","app_name","node_id","agg_interval","metadata","statistics","plan","index_recommendations","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"columnIds":[11,1,2,3,4,5,6,7,8,9,10,12,14,15,16,17,18,19]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","aggregated_ts","fingerprint_id","transaction_fingerprint_id","plan_hash","app_name","node_id"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC","ASC","ASC"],"storeColumnNames":["agg_interval","metadata","statistics","plan","index_recommendations","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"keyColumnIds":[11,1,2,3,4,5,6],"storeColumnIds":[7,8,9,10,12,14,15,16,17,18,19],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{"isSharded":true,"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","shardBuckets":8,"columnNames":["aggregated_ts","app_name","fingerprint_id","node_id","plan_hash","transaction_fingerprint_id"]},"geoConfig":{},"constraintId":1},"indexes":[{"name":"fingerprint_stats_idx","id":2,"version":3,"keyColumnNames":["fingerprint_id","transaction_fingerprint_id"],"keyColumnDirections":["ASC","ASC"],"keyColumnIds":[2,3],"keySuffixColumnIds":[11,1,4,5,6],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"indexes_usage_idx","id":3,"version":3,"keyColumnNames":["indexes_usage"],"keyColumnDirections":["ASC"],"invertedColumnKinds":["DEFAULT"],"keyColumnIds":[13],"keySuffixColumnIds":[11,1,2,3,4,5,6],"foreignKey":{},"interleave":{},"partitioning":{},"type":"INVERTED","sharded":{},"geoConfig":{}},{"name":"execution_count_idx","id":4,"version":3,"keyColumnNames":["aggregated_ts","app_name","execution_count"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,14],"keySuffixColumnIds":[11,2,3,4,6],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"service_latency_idx","id":5,"version":3,"keyColumnNames":["aggregated_ts","app_name","service_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,15],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[15],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"cpu_sql_nanos_idx","id":6,"version":3,"keyColumnNames":["aggregated_ts","app_name","cpu_sql_nanos"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,16],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[16],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"contention_time_idx","id":7,"version":3,"keyColumnNames":["aggregated_ts","app_name","contention_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,17],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[17],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"total_estimated_execution_time_idx","id":8,"version":3,"keyColumnNames":["aggregated_ts","app_name","total_estimated_execution_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,18],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[18],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"p99_latency_idx","id":9,"version":3,"keyColumnNames":["aggregated_ts","app_name","p99_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,19],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[19],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"}],"nextIndexId":10,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","columnIds":[11],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} {"table":{"name":"table_statistics","id":20,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"tableID","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"statisticID","id":2,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"name","id":3,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"columnIDs","id":4,"type":{"family":"ArrayFamily","width":64,"arrayElemType":"IntFamily","oid":1016,"arrayContents":{"family":"IntFamily","width":64,"oid":20}}},{"name":"createdAt","id":5,"type":{"family":"TimestampFamily","oid":1114},"defaultExpr":"now():::TIMESTAMP"},{"name":"rowCount","id":6,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"distinctCount","id":7,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"nullCount","id":8,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"histogram","id":9,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"avgSize","id":10,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"_:::INT8"},{"name":"partialPredicate","id":11,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"fullStatisticID","id":12,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true}],"nextColumnId":13,"families":[{"name":"fam_0_tableID_statisticID_name_columnIDs_createdAt_rowCount_distinctCount_nullCount_histogram","columnNames":["tableID","statisticID","name","columnIDs","createdAt","rowCount","distinctCount","nullCount","histogram","avgSize","partialPredicate","fullStatisticID"],"columnIds":[1,2,3,4,5,6,7,8,9,10,11,12]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["tableID","statisticID"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["name","columnIDs","createdAt","rowCount","distinctCount","nullCount","histogram","avgSize","partialPredicate","fullStatisticID"],"keyColumnIds":[1,2],"storeColumnIds":[3,4,5,6,7,8,9,10,11,12],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} {"table":{"name":"transaction_activity","id":59,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"aggregated_ts","id":1,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"fingerprint_id","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"app_name","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"agg_interval","id":4,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}}},{"name":"metadata","id":5,"type":{"family":"JsonFamily","oid":3802}},{"name":"statistics","id":6,"type":{"family":"JsonFamily","oid":3802}},{"name":"query","id":7,"type":{"family":"StringFamily","oid":25}},{"name":"execution_count","id":8,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"execution_total_seconds","id":9,"type":{"family":"FloatFamily","width":64,"oid":701}},{"name":"execution_total_cluster_seconds","id":10,"type":{"family":"FloatFamily","width":64,"oid":701}},{"name":"contention_time_avg_seconds","id":11,"type":{"family":"FloatFamily","width":64,"oid":701}},{"name":"cpu_sql_avg_nanos","id":12,"type":{"family":"FloatFamily","width":64,"oid":701}},{"name":"service_latency_avg_seconds","id":13,"type":{"family":"FloatFamily","width":64,"oid":701}},{"name":"service_latency_p99_seconds","id":14,"type":{"family":"FloatFamily","width":64,"oid":701}}],"nextColumnId":15,"families":[{"name":"primary","columnNames":["aggregated_ts","fingerprint_id","app_name","agg_interval","metadata","statistics","query","execution_count","execution_total_seconds","execution_total_cluster_seconds","contention_time_avg_seconds","cpu_sql_avg_nanos","service_latency_avg_seconds","service_latency_p99_seconds"],"columnIds":[1,2,3,4,5,6,7,8,9,10,11,12,13,14]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["aggregated_ts","fingerprint_id","app_name"],"keyColumnDirections":["ASC","ASC","ASC"],"storeColumnNames":["agg_interval","metadata","statistics","query","execution_count","execution_total_seconds","execution_total_cluster_seconds","contention_time_avg_seconds","cpu_sql_avg_nanos","service_latency_avg_seconds","service_latency_p99_seconds"],"keyColumnIds":[1,2,3],"storeColumnIds":[4,5,6,7,8,9,10,11,12,13,14],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"fingerprint_id_idx","id":2,"version":3,"keyColumnNames":["fingerprint_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[1,3],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"execution_count_idx","id":3,"version":3,"keyColumnNames":["aggregated_ts","execution_count"],"keyColumnDirections":["ASC","DESC"],"keyColumnIds":[1,8],"keySuffixColumnIds":[2,3],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"execution_total_seconds_idx","id":4,"version":3,"keyColumnNames":["aggregated_ts","execution_total_seconds"],"keyColumnDirections":["ASC","DESC"],"keyColumnIds":[1,9],"keySuffixColumnIds":[2,3],"compositeColumnIds":[9],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"contention_time_avg_seconds_idx","id":5,"version":3,"keyColumnNames":["aggregated_ts","contention_time_avg_seconds"],"keyColumnDirections":["ASC","DESC"],"keyColumnIds":[1,11],"keySuffixColumnIds":[2,3],"compositeColumnIds":[11],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"cpu_sql_avg_nanos_idx","id":6,"version":3,"keyColumnNames":["aggregated_ts","cpu_sql_avg_nanos"],"keyColumnDirections":["ASC","DESC"],"keyColumnIds":[1,12],"keySuffixColumnIds":[2,3],"compositeColumnIds":[12],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"service_latency_avg_seconds_idx","id":7,"version":3,"keyColumnNames":["aggregated_ts","service_latency_avg_seconds"],"keyColumnDirections":["ASC","DESC"],"keyColumnIds":[1,13],"keySuffixColumnIds":[2,3],"compositeColumnIds":[13],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"service_latency_p99_seconds_idx","id":8,"version":3,"keyColumnNames":["aggregated_ts","service_latency_p99_seconds"],"keyColumnDirections":["ASC","DESC"],"keyColumnIds":[1,14],"keySuffixColumnIds":[2,3],"compositeColumnIds":[14],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":9,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"transaction_execution_insights","id":61,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"transaction_id","id":1,"type":{"family":"UuidFamily","oid":2950}},{"name":"transaction_fingerprint_id","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"query_summary","id":3,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"implicit_txn","id":4,"type":{"oid":16},"nullable":true},{"name":"session_id","id":5,"type":{"family":"StringFamily","oid":25}},{"name":"start_time","id":6,"type":{"family":"TimestampTZFamily","oid":1184},"nullable":true},{"name":"end_time","id":7,"type":{"family":"TimestampTZFamily","oid":1184},"nullable":true},{"name":"user_name","id":8,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"app_name","id":9,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"user_priority","id":10,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"retries","id":11,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"last_retry_reason","id":12,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"problems","id":13,"type":{"family":"ArrayFamily","width":64,"arrayElemType":"IntFamily","oid":1016,"arrayContents":{"family":"IntFamily","width":64,"oid":20}},"nullable":true},{"name":"causes","id":14,"type":{"family":"ArrayFamily","width":64,"arrayElemType":"IntFamily","oid":1016,"arrayContents":{"family":"IntFamily","width":64,"oid":20}},"nullable":true},{"name":"stmt_execution_ids","id":15,"type":{"family":"ArrayFamily","arrayElemType":"StringFamily","oid":1009,"arrayContents":{"family":"StringFamily","oid":25}},"nullable":true},{"name":"cpu_sql_nanos","id":16,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"last_error_code","id":17,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"status","id":18,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"contention_time","id":19,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}},"nullable":true},{"name":"contention_info","id":20,"type":{"family":"JsonFamily","oid":3802},"nullable":true},{"name":"details","id":21,"type":{"family":"JsonFamily","oid":3802},"nullable":true},{"name":"created","id":22,"type":{"family":"TimestampTZFamily","oid":1184},"defaultExpr":"now():::TIMESTAMPTZ"},{"name":"crdb_internal_end_time_start_time_shard_16","id":23,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(md5(crdb_internal.datums_to_bytes(end_time, start_time))), _:::INT8)","virtual":true}],"nextColumnId":24,"families":[{"name":"primary","columnNames":["transaction_id","transaction_fingerprint_id","query_summary","implicit_txn","session_id","start_time","end_time","user_name","app_name","user_priority","retries","last_retry_reason","problems","causes","stmt_execution_ids","cpu_sql_nanos","last_error_code","status","contention_time","contention_info","details","created"],"columnIds":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["transaction_id"],"keyColumnDirections":["ASC"],"storeColumnNames":["transaction_fingerprint_id","query_summary","implicit_txn","session_id","start_time","end_time","user_name","app_name","user_priority","retries","last_retry_reason","problems","causes","stmt_execution_ids","cpu_sql_nanos","last_error_code","status","contention_time","contention_info","details","created"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"transaction_fingerprint_id_idx","id":2,"version":3,"keyColumnNames":["transaction_fingerprint_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"time_range_idx","id":3,"version":3,"keyColumnNames":["crdb_internal_end_time_start_time_shard_16","start_time","end_time"],"keyColumnDirections":["ASC","DESC","DESC"],"keyColumnIds":[23,6,7],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{"isSharded":true,"name":"crdb_internal_end_time_start_time_shard_16","shardBuckets":16,"columnNames":["end_time","start_time"]},"geoConfig":{}}],"nextIndexId":4,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_end_time_start_time_shard_16 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_end_time_start_time_shard_16","columnIds":[23],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} {"table":{"name":"transaction_statistics","id":43,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"aggregated_ts","id":1,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"fingerprint_id","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"app_name","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"node_id","id":4,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"agg_interval","id":5,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}}},{"name":"metadata","id":6,"type":{"family":"JsonFamily","oid":3802}},{"name":"statistics","id":7,"type":{"family":"JsonFamily","oid":3802}},{"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","id":8,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id)), _:::INT8)"},{"name":"execution_count","id":9,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)::INT8"},{"name":"service_latency","id":10,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"cpu_sql_nanos","id":11,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"contention_time","id":12,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"total_estimated_execution_time","id":13,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8 * (((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8"},{"name":"p99_latency","id":14,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"}],"nextColumnId":15,"families":[{"name":"primary","columnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","aggregated_ts","fingerprint_id","app_name","node_id","agg_interval","metadata","statistics","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"columnIds":[8,1,2,3,4,5,6,7,9,10,11,12,13,14]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","aggregated_ts","fingerprint_id","app_name","node_id"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC"],"storeColumnNames":["agg_interval","metadata","statistics","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"keyColumnIds":[8,1,2,3,4],"storeColumnIds":[5,6,7,9,10,11,12,13,14],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{"isSharded":true,"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","shardBuckets":8,"columnNames":["aggregated_ts","app_name","fingerprint_id","node_id"]},"geoConfig":{},"constraintId":1},"indexes":[{"name":"fingerprint_stats_idx","id":2,"version":3,"keyColumnNames":["fingerprint_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[8,1,3,4],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"execution_count_idx","id":3,"version":3,"keyColumnNames":["aggregated_ts","app_name","execution_count"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,9],"keySuffixColumnIds":[8,2,4],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"service_latency_idx","id":4,"version":3,"keyColumnNames":["aggregated_ts","app_name","service_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,10],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[10],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"cpu_sql_nanos_idx","id":5,"version":3,"keyColumnNames":["aggregated_ts","app_name","cpu_sql_nanos"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,11],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[11],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"contention_time_idx","id":6,"version":3,"keyColumnNames":["aggregated_ts","app_name","contention_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,12],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[12],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"total_estimated_execution_time_idx","id":7,"version":3,"keyColumnNames":["aggregated_ts","app_name","total_estimated_execution_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,13],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[13],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"p99_latency_idx","id":8,"version":3,"keyColumnNames":["aggregated_ts","app_name","p99_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,14],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[14],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"}],"nextIndexId":9,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","columnIds":[8],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} {"table":{"name":"ui","id":14,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"key","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"value","id":2,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"lastUpdated","id":3,"type":{"family":"TimestampFamily","oid":1114}}],"nextColumnId":4,"families":[{"name":"primary","columnNames":["key"],"columnIds":[1]},{"name":"fam_2_value","id":2,"columnNames":["value"],"columnIds":[2],"defaultColumnId":2},{"name":"fam_3_lastUpdated","id":3,"columnNames":["lastUpdated"],"columnIds":[3],"defaultColumnId":3}],"nextFamilyId":4,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["key"],"keyColumnDirections":["ASC"],"storeColumnNames":["value","lastUpdated"],"keyColumnIds":[1],"storeColumnIds":[2,3],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} {"table":{"name":"users","id":4,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"username","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"hashedPassword","id":2,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"isRole","id":3,"type":{"oid":16},"defaultExpr":"false"},{"name":"user_id","id":4,"type":{"family":"OidFamily","oid":26}}],"nextColumnId":5,"families":[{"name":"primary","columnNames":["username","user_id"],"columnIds":[1,4],"defaultColumnId":4},{"name":"fam_2_hashedPassword","id":2,"columnNames":["hashedPassword"],"columnIds":[2],"defaultColumnId":2},{"name":"fam_3_isRole","id":3,"columnNames":["isRole"],"columnIds":[3],"defaultColumnId":3}],"nextFamilyId":4,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["username"],"keyColumnDirections":["ASC"],"storeColumnNames":["hashedPassword","isRole","user_id"],"keyColumnIds":[1],"storeColumnIds":[2,3,4],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":2},"indexes":[{"name":"users_user_id_idx","id":2,"unique":true,"version":3,"keyColumnNames":["user_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[4],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"constraintId":1}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} @@ -553,26 +629,26 @@ schema_telemetry schema_telemetry snapshot_id=7cd8a9ae-f35c-4cd2-970a-757174600874 max_records=10 ---- -{"table":{"name":"descriptor","id":3,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"descriptor","id":2,"type":{"family":"BytesFamily","oid":17},"nullable":true}],"nextColumnId":3,"families":[{"name":"primary","columnNames":["id"],"columnIds":[1]},{"name":"fam_2_descriptor","id":2,"columnNames":["descriptor"],"columnIds":[2],"defaultColumnId":2}],"nextFamilyId":3,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["descriptor"],"keyColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} -{"table":{"name":"role_options","id":33,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"username","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"option","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"value","id":3,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"user_id","id":4,"type":{"family":"OidFamily","oid":26}}],"nextColumnId":5,"families":[{"name":"primary","columnNames":["username","option","value","user_id"],"columnIds":[1,2,3,4]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["username","option"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["value","user_id"],"keyColumnIds":[1,2],"storeColumnIds":[3,4],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"users_user_id_idx","id":2,"version":3,"keyColumnNames":["user_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[4],"keySuffixColumnIds":[1,2],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"database":{"name":"defaultdb","id":100,"modificationTime":{"wallTime":"0"},"version":"1","privileges":{"users":[{"userProto":"admin","privileges":"2","withGrantOption":"2"},{"userProto":"public","privileges":"2048"},{"userProto":"root","privileges":"2","withGrantOption":"2"}],"ownerProto":"root","version":2},"schemas":{"public":{"id":101}},"defaultPrivileges":{}}} +{"table":{"name":"descriptor_id_seq","id":7,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"value","id":1,"type":{"family":"IntFamily","width":64,"oid":20}}],"families":[{"name":"primary","columnNames":["value"],"columnIds":[1],"defaultColumnId":1}],"primaryIndex":{"name":"primary","id":1,"version":4,"keyColumnNames":["value"],"keyColumnDirections":["ASC"],"keyColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{}},"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"formatVersion":3,"sequenceOpts":{"increment":"1","minValue":"1","maxValue":"9223372036854775807","start":"1","sequenceOwner":{},"cacheSize":"1"},"replacementOf":{"time":{}},"createAsOfTime":{}}} +{"table":{"name":"mvcc_statistics","id":60,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"created_at","id":1,"type":{"family":"TimestampTZFamily","oid":1184},"defaultExpr":"now():::TIMESTAMPTZ"},{"name":"database_id","id":2,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"table_id","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"index_id","id":4,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"statistics","id":5,"type":{"family":"JsonFamily","oid":3802}},{"name":"crdb_internal_created_at_database_id_index_id_table_id_shard_16","id":6,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(md5(crdb_internal.datums_to_bytes(created_at))), _:::INT8)","virtual":true}],"nextColumnId":7,"families":[{"name":"primary","columnNames":["created_at","database_id","table_id","index_id","statistics"],"columnIds":[1,2,3,4,5],"defaultColumnId":5}],"nextFamilyId":1,"primaryIndex":{"name":"mvcc_statistics_pkey","id":1,"unique":true,"version":4,"keyColumnNames":["crdb_internal_created_at_database_id_index_id_table_id_shard_16","created_at","database_id","table_id","index_id"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC"],"storeColumnNames":["statistics"],"keyColumnIds":[6,1,2,3,4],"storeColumnIds":[5],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{"isSharded":true,"name":"crdb_internal_created_at_database_id_index_id_table_id_shard_16","shardBuckets":16,"columnNames":["created_at","database_id","index_id","table_id"]},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_created_at_database_id_index_id_table_id_shard_16 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_created_at_database_id_index_id_table_id_shard_16","columnIds":[6],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} +{"table":{"name":"rangelog","id":13,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"timestamp","id":1,"type":{"family":"TimestampFamily","oid":1114}},{"name":"rangeID","id":2,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"storeID","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"eventType","id":4,"type":{"family":"StringFamily","oid":25}},{"name":"otherRangeID","id":5,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"info","id":6,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"uniqueID","id":7,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"}],"nextColumnId":8,"families":[{"name":"primary","columnNames":["timestamp","uniqueID"],"columnIds":[1,7]},{"name":"fam_2_rangeID","id":2,"columnNames":["rangeID"],"columnIds":[2],"defaultColumnId":2},{"name":"fam_3_storeID","id":3,"columnNames":["storeID"],"columnIds":[3],"defaultColumnId":3},{"name":"fam_4_eventType","id":4,"columnNames":["eventType"],"columnIds":[4],"defaultColumnId":4},{"name":"fam_5_otherRangeID","id":5,"columnNames":["otherRangeID"],"columnIds":[5],"defaultColumnId":5},{"name":"fam_6_info","id":6,"columnNames":["info"],"columnIds":[6],"defaultColumnId":6}],"nextFamilyId":7,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["timestamp","uniqueID"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["rangeID","storeID","eventType","otherRangeID","info"],"keyColumnIds":[1,7],"storeColumnIds":[2,3,4,5,6],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} {"table":{"name":"scheduled_jobs","id":37,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"schedule_id","id":1,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"schedule_name","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"created","id":3,"type":{"family":"TimestampTZFamily","oid":1184},"defaultExpr":"now():::TIMESTAMPTZ"},{"name":"owner","id":4,"type":{"family":"StringFamily","oid":25}},{"name":"next_run","id":5,"type":{"family":"TimestampTZFamily","oid":1184},"nullable":true},{"name":"schedule_state","id":6,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"schedule_expr","id":7,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"schedule_details","id":8,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"executor_type","id":9,"type":{"family":"StringFamily","oid":25}},{"name":"execution_args","id":10,"type":{"family":"BytesFamily","oid":17}}],"nextColumnId":11,"families":[{"name":"sched","columnNames":["schedule_id","next_run","schedule_state"],"columnIds":[1,5,6]},{"name":"other","id":1,"columnNames":["schedule_name","created","owner","schedule_expr","schedule_details","executor_type","execution_args"],"columnIds":[2,3,4,7,8,9,10]}],"nextFamilyId":2,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["schedule_id"],"keyColumnDirections":["ASC"],"storeColumnNames":["schedule_name","created","owner","next_run","schedule_state","schedule_expr","schedule_details","executor_type","execution_args"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7,8,9,10],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"next_run_idx","id":2,"version":3,"keyColumnNames":["next_run"],"keyColumnDirections":["ASC"],"keyColumnIds":[5],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} -{"table":{"name":"span_stats_buckets","id":55,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"UuidFamily","oid":2950},"defaultExpr":"gen_random_uuid()"},{"name":"sample_id","id":2,"type":{"family":"UuidFamily","oid":2950}},{"name":"start_key_id","id":3,"type":{"family":"UuidFamily","oid":2950}},{"name":"end_key_id","id":4,"type":{"family":"UuidFamily","oid":2950}},{"name":"requests","id":5,"type":{"family":"IntFamily","width":64,"oid":20}}],"nextColumnId":6,"families":[{"name":"primary","columnNames":["id","sample_id","start_key_id","end_key_id","requests"],"columnIds":[1,2,3,4,5]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["sample_id","start_key_id","end_key_id","requests"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"buckets_sample_id_idx","id":2,"version":3,"keyColumnNames":["sample_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} -{"table":{"name":"span_stats_samples","id":56,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"UuidFamily","oid":2950},"defaultExpr":"gen_random_uuid()"},{"name":"sample_time","id":2,"type":{"family":"TimestampFamily","oid":1114},"defaultExpr":"now():::TIMESTAMP"}],"nextColumnId":3,"families":[{"name":"primary","columnNames":["id","sample_time"],"columnIds":[1,2],"defaultColumnId":2}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["sample_time"],"keyColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":2},"indexes":[{"name":"samples_sample_time_idx","id":2,"unique":true,"version":3,"keyColumnNames":["sample_time"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"constraintId":1}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} -{"table":{"name":"span_stats_tenant_boundaries","id":57,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"tenant_id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"boundaries","id":2,"type":{"family":"BytesFamily","oid":17}}],"nextColumnId":3,"families":[{"name":"primary","columnNames":["tenant_id","boundaries"],"columnIds":[1,2],"defaultColumnId":2}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["tenant_id"],"keyColumnDirections":["ASC"],"storeColumnNames":["boundaries"],"keyColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} -{"table":{"name":"statement_diagnostics_requests","id":35,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"completed","id":2,"type":{"oid":16},"defaultExpr":"false"},{"name":"statement_fingerprint","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"statement_diagnostics_id","id":4,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"requested_at","id":5,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"min_execution_latency","id":6,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}},"nullable":true},{"name":"expires_at","id":7,"type":{"family":"TimestampTZFamily","oid":1184},"nullable":true},{"name":"sampling_probability","id":8,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true},{"name":"plan_gist","id":9,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"anti_plan_gist","id":10,"type":{"oid":16},"nullable":true}],"nextColumnId":11,"families":[{"name":"primary","columnNames":["id","completed","statement_fingerprint","statement_diagnostics_id","requested_at","min_execution_latency","expires_at","sampling_probability","plan_gist","anti_plan_gist"],"columnIds":[1,2,3,4,5,6,7,8,9,10]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["completed","statement_fingerprint","statement_diagnostics_id","requested_at","min_execution_latency","expires_at","sampling_probability","plan_gist","anti_plan_gist"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7,8,9,10],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"completed_idx_v2","id":2,"version":3,"keyColumnNames":["completed","id"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["statement_fingerprint","min_execution_latency","expires_at","sampling_probability","plan_gist","anti_plan_gist"],"keyColumnIds":[2,1],"storeColumnIds":[3,6,7,8,9,10],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"sampling_probability BETWEEN _:::FLOAT8 AND _:::FLOAT8","name":"check_sampling_probability","columnIds":[8],"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} -{"table":{"name":"table_statistics","id":20,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"tableID","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"statisticID","id":2,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"name","id":3,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"columnIDs","id":4,"type":{"family":"ArrayFamily","width":64,"arrayElemType":"IntFamily","oid":1016,"arrayContents":{"family":"IntFamily","width":64,"oid":20}}},{"name":"createdAt","id":5,"type":{"family":"TimestampFamily","oid":1114},"defaultExpr":"now():::TIMESTAMP"},{"name":"rowCount","id":6,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"distinctCount","id":7,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"nullCount","id":8,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"histogram","id":9,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"avgSize","id":10,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"_:::INT8"},{"name":"partialPredicate","id":11,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"fullStatisticID","id":12,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true}],"nextColumnId":13,"families":[{"name":"fam_0_tableID_statisticID_name_columnIDs_createdAt_rowCount_distinctCount_nullCount_histogram","columnNames":["tableID","statisticID","name","columnIDs","createdAt","rowCount","distinctCount","nullCount","histogram","avgSize","partialPredicate","fullStatisticID"],"columnIds":[1,2,3,4,5,6,7,8,9,10,11,12]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["tableID","statisticID"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["name","columnIDs","createdAt","rowCount","distinctCount","nullCount","histogram","avgSize","partialPredicate","fullStatisticID"],"keyColumnIds":[1,2],"storeColumnIds":[3,4,5,6,7,8,9,10,11,12],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} -{"table":{"name":"users","id":4,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"username","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"hashedPassword","id":2,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"isRole","id":3,"type":{"oid":16},"defaultExpr":"false"},{"name":"user_id","id":4,"type":{"family":"OidFamily","oid":26}}],"nextColumnId":5,"families":[{"name":"primary","columnNames":["username","user_id"],"columnIds":[1,4],"defaultColumnId":4},{"name":"fam_2_hashedPassword","id":2,"columnNames":["hashedPassword"],"columnIds":[2],"defaultColumnId":2},{"name":"fam_3_isRole","id":3,"columnNames":["isRole"],"columnIds":[3],"defaultColumnId":3}],"nextFamilyId":4,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["username"],"keyColumnDirections":["ASC"],"storeColumnNames":["hashedPassword","isRole","user_id"],"keyColumnIds":[1],"storeColumnIds":[2,3,4],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":2},"indexes":[{"name":"users_user_id_idx","id":2,"unique":true,"version":3,"keyColumnNames":["user_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[4],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"constraintId":1}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} -{"table":{"name":"zones","id":5,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"config","id":2,"type":{"family":"BytesFamily","oid":17},"nullable":true}],"nextColumnId":3,"families":[{"name":"primary","columnNames":["id"],"columnIds":[1]},{"name":"fam_2_config","id":2,"columnNames":["config"],"columnIds":[2],"defaultColumnId":2}],"nextFamilyId":3,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["config"],"keyColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"statement_bundle_chunks","id":34,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"description","id":2,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"data","id":3,"type":{"family":"BytesFamily","oid":17}}],"nextColumnId":4,"families":[{"name":"primary","columnNames":["id","description","data"],"columnIds":[1,2,3]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["description","data"],"keyColumnIds":[1],"storeColumnIds":[2,3],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"statement_diagnostics","id":36,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"statement_fingerprint","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"statement","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"collected_at","id":4,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"trace","id":5,"type":{"family":"JsonFamily","oid":3802},"nullable":true},{"name":"bundle_chunks","id":6,"type":{"family":"ArrayFamily","width":64,"arrayElemType":"IntFamily","oid":1016,"arrayContents":{"family":"IntFamily","width":64,"oid":20}},"nullable":true},{"name":"error","id":7,"type":{"family":"StringFamily","oid":25},"nullable":true}],"nextColumnId":8,"families":[{"name":"primary","columnNames":["id","statement_fingerprint","statement","collected_at","trace","bundle_chunks","error"],"columnIds":[1,2,3,4,5,6,7]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["statement_fingerprint","statement","collected_at","trace","bundle_chunks","error"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"statement_statistics","id":42,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"aggregated_ts","id":1,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"fingerprint_id","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"transaction_fingerprint_id","id":3,"type":{"family":"BytesFamily","oid":17}},{"name":"plan_hash","id":4,"type":{"family":"BytesFamily","oid":17}},{"name":"app_name","id":5,"type":{"family":"StringFamily","oid":25}},{"name":"node_id","id":6,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"agg_interval","id":7,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}}},{"name":"metadata","id":8,"type":{"family":"JsonFamily","oid":3802}},{"name":"statistics","id":9,"type":{"family":"JsonFamily","oid":3802}},{"name":"plan","id":10,"type":{"family":"JsonFamily","oid":3802}},{"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","id":11,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id, plan_hash, transaction_fingerprint_id)), _:::INT8)"},{"name":"index_recommendations","id":12,"type":{"family":"ArrayFamily","arrayElemType":"StringFamily","oid":1009,"arrayContents":{"family":"StringFamily","oid":25}},"defaultExpr":"ARRAY[]:::STRING[]"},{"name":"indexes_usage","id":13,"type":{"family":"JsonFamily","oid":3802},"nullable":true,"computeExpr":"(statistics-\u003e'_':::STRING)-\u003e'_':::STRING","virtual":true},{"name":"execution_count","id":14,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)::INT8"},{"name":"service_latency","id":15,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"cpu_sql_nanos","id":16,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"contention_time","id":17,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"total_estimated_execution_time","id":18,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8 * (((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8"},{"name":"p99_latency","id":19,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"}],"nextColumnId":20,"families":[{"name":"primary","columnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","aggregated_ts","fingerprint_id","transaction_fingerprint_id","plan_hash","app_name","node_id","agg_interval","metadata","statistics","plan","index_recommendations","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"columnIds":[11,1,2,3,4,5,6,7,8,9,10,12,14,15,16,17,18,19]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","aggregated_ts","fingerprint_id","transaction_fingerprint_id","plan_hash","app_name","node_id"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC","ASC","ASC"],"storeColumnNames":["agg_interval","metadata","statistics","plan","index_recommendations","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"keyColumnIds":[11,1,2,3,4,5,6],"storeColumnIds":[7,8,9,10,12,14,15,16,17,18,19],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{"isSharded":true,"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","shardBuckets":8,"columnNames":["aggregated_ts","app_name","fingerprint_id","node_id","plan_hash","transaction_fingerprint_id"]},"geoConfig":{},"constraintId":1},"indexes":[{"name":"fingerprint_stats_idx","id":2,"version":3,"keyColumnNames":["fingerprint_id","transaction_fingerprint_id"],"keyColumnDirections":["ASC","ASC"],"keyColumnIds":[2,3],"keySuffixColumnIds":[11,1,4,5,6],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"indexes_usage_idx","id":3,"version":3,"keyColumnNames":["indexes_usage"],"keyColumnDirections":["ASC"],"invertedColumnKinds":["DEFAULT"],"keyColumnIds":[13],"keySuffixColumnIds":[11,1,2,3,4,5,6],"foreignKey":{},"interleave":{},"partitioning":{},"type":"INVERTED","sharded":{},"geoConfig":{}},{"name":"execution_count_idx","id":4,"version":3,"keyColumnNames":["aggregated_ts","app_name","execution_count"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,14],"keySuffixColumnIds":[11,2,3,4,6],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"service_latency_idx","id":5,"version":3,"keyColumnNames":["aggregated_ts","app_name","service_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,15],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[15],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"cpu_sql_nanos_idx","id":6,"version":3,"keyColumnNames":["aggregated_ts","app_name","cpu_sql_nanos"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,16],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[16],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"contention_time_idx","id":7,"version":3,"keyColumnNames":["aggregated_ts","app_name","contention_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,17],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[17],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"total_estimated_execution_time_idx","id":8,"version":3,"keyColumnNames":["aggregated_ts","app_name","total_estimated_execution_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,18],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[18],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"p99_latency_idx","id":9,"version":3,"keyColumnNames":["aggregated_ts","app_name","p99_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,19],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[19],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"}],"nextIndexId":10,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","columnIds":[11],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} +{"table":{"name":"transaction_statistics","id":43,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"aggregated_ts","id":1,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"fingerprint_id","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"app_name","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"node_id","id":4,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"agg_interval","id":5,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}}},{"name":"metadata","id":6,"type":{"family":"JsonFamily","oid":3802}},{"name":"statistics","id":7,"type":{"family":"JsonFamily","oid":3802}},{"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","id":8,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id)), _:::INT8)"},{"name":"execution_count","id":9,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)::INT8"},{"name":"service_latency","id":10,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"cpu_sql_nanos","id":11,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"contention_time","id":12,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"total_estimated_execution_time","id":13,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8 * (((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8"},{"name":"p99_latency","id":14,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"}],"nextColumnId":15,"families":[{"name":"primary","columnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","aggregated_ts","fingerprint_id","app_name","node_id","agg_interval","metadata","statistics","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"columnIds":[8,1,2,3,4,5,6,7,9,10,11,12,13,14]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","aggregated_ts","fingerprint_id","app_name","node_id"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC"],"storeColumnNames":["agg_interval","metadata","statistics","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"keyColumnIds":[8,1,2,3,4],"storeColumnIds":[5,6,7,9,10,11,12,13,14],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{"isSharded":true,"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","shardBuckets":8,"columnNames":["aggregated_ts","app_name","fingerprint_id","node_id"]},"geoConfig":{},"constraintId":1},"indexes":[{"name":"fingerprint_stats_idx","id":2,"version":3,"keyColumnNames":["fingerprint_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[8,1,3,4],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"execution_count_idx","id":3,"version":3,"keyColumnNames":["aggregated_ts","app_name","execution_count"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,9],"keySuffixColumnIds":[8,2,4],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"service_latency_idx","id":4,"version":3,"keyColumnNames":["aggregated_ts","app_name","service_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,10],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[10],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"cpu_sql_nanos_idx","id":5,"version":3,"keyColumnNames":["aggregated_ts","app_name","cpu_sql_nanos"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,11],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[11],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"contention_time_idx","id":6,"version":3,"keyColumnNames":["aggregated_ts","app_name","contention_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,12],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[12],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"total_estimated_execution_time_idx","id":7,"version":3,"keyColumnNames":["aggregated_ts","app_name","total_estimated_execution_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,13],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[13],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"p99_latency_idx","id":8,"version":3,"keyColumnNames":["aggregated_ts","app_name","p99_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,14],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[14],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"}],"nextIndexId":9,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","columnIds":[8],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} +{"schema":{"name":"public","id":101,"modificationTime":{"wallTime":"0"},"version":"1","parentId":100,"privileges":{"users":[{"userProto":"admin","privileges":"2","withGrantOption":"2"},{"userProto":"public","privileges":"516"},{"userProto":"root","privileges":"2","withGrantOption":"2"}],"ownerProto":"admin","version":2}}} schema_telemetry snapshot_id=7cd8a9ae-f35c-4cd2-970a-757174600874 max_records=10 ---- -{"table":{"name":"descriptor","id":3,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"descriptor","id":2,"type":{"family":"BytesFamily","oid":17},"nullable":true}],"nextColumnId":3,"families":[{"name":"primary","columnNames":["id"],"columnIds":[1]},{"name":"fam_2_descriptor","id":2,"columnNames":["descriptor"],"columnIds":[2],"defaultColumnId":2}],"nextFamilyId":3,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["descriptor"],"keyColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} -{"table":{"name":"role_options","id":33,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"username","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"option","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"value","id":3,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"user_id","id":4,"type":{"family":"OidFamily","oid":26}}],"nextColumnId":5,"families":[{"name":"primary","columnNames":["username","option","value","user_id"],"columnIds":[1,2,3,4]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["username","option"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["value","user_id"],"keyColumnIds":[1,2],"storeColumnIds":[3,4],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"users_user_id_idx","id":2,"version":3,"keyColumnNames":["user_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[4],"keySuffixColumnIds":[1,2],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"database":{"name":"defaultdb","id":100,"modificationTime":{"wallTime":"0"},"version":"1","privileges":{"users":[{"userProto":"admin","privileges":"2","withGrantOption":"2"},{"userProto":"public","privileges":"2048"},{"userProto":"root","privileges":"2","withGrantOption":"2"}],"ownerProto":"root","version":2},"schemas":{"public":{"id":101}},"defaultPrivileges":{}}} +{"table":{"name":"descriptor_id_seq","id":7,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"value","id":1,"type":{"family":"IntFamily","width":64,"oid":20}}],"families":[{"name":"primary","columnNames":["value"],"columnIds":[1],"defaultColumnId":1}],"primaryIndex":{"name":"primary","id":1,"version":4,"keyColumnNames":["value"],"keyColumnDirections":["ASC"],"keyColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{}},"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"formatVersion":3,"sequenceOpts":{"increment":"1","minValue":"1","maxValue":"9223372036854775807","start":"1","sequenceOwner":{},"cacheSize":"1"},"replacementOf":{"time":{}},"createAsOfTime":{}}} +{"table":{"name":"mvcc_statistics","id":60,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"created_at","id":1,"type":{"family":"TimestampTZFamily","oid":1184},"defaultExpr":"now():::TIMESTAMPTZ"},{"name":"database_id","id":2,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"table_id","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"index_id","id":4,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"statistics","id":5,"type":{"family":"JsonFamily","oid":3802}},{"name":"crdb_internal_created_at_database_id_index_id_table_id_shard_16","id":6,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(md5(crdb_internal.datums_to_bytes(created_at))), _:::INT8)","virtual":true}],"nextColumnId":7,"families":[{"name":"primary","columnNames":["created_at","database_id","table_id","index_id","statistics"],"columnIds":[1,2,3,4,5],"defaultColumnId":5}],"nextFamilyId":1,"primaryIndex":{"name":"mvcc_statistics_pkey","id":1,"unique":true,"version":4,"keyColumnNames":["crdb_internal_created_at_database_id_index_id_table_id_shard_16","created_at","database_id","table_id","index_id"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC"],"storeColumnNames":["statistics"],"keyColumnIds":[6,1,2,3,4],"storeColumnIds":[5],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{"isSharded":true,"name":"crdb_internal_created_at_database_id_index_id_table_id_shard_16","shardBuckets":16,"columnNames":["created_at","database_id","index_id","table_id"]},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_created_at_database_id_index_id_table_id_shard_16 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_created_at_database_id_index_id_table_id_shard_16","columnIds":[6],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} +{"table":{"name":"rangelog","id":13,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"timestamp","id":1,"type":{"family":"TimestampFamily","oid":1114}},{"name":"rangeID","id":2,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"storeID","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"eventType","id":4,"type":{"family":"StringFamily","oid":25}},{"name":"otherRangeID","id":5,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"info","id":6,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"uniqueID","id":7,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"}],"nextColumnId":8,"families":[{"name":"primary","columnNames":["timestamp","uniqueID"],"columnIds":[1,7]},{"name":"fam_2_rangeID","id":2,"columnNames":["rangeID"],"columnIds":[2],"defaultColumnId":2},{"name":"fam_3_storeID","id":3,"columnNames":["storeID"],"columnIds":[3],"defaultColumnId":3},{"name":"fam_4_eventType","id":4,"columnNames":["eventType"],"columnIds":[4],"defaultColumnId":4},{"name":"fam_5_otherRangeID","id":5,"columnNames":["otherRangeID"],"columnIds":[5],"defaultColumnId":5},{"name":"fam_6_info","id":6,"columnNames":["info"],"columnIds":[6],"defaultColumnId":6}],"nextFamilyId":7,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["timestamp","uniqueID"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["rangeID","storeID","eventType","otherRangeID","info"],"keyColumnIds":[1,7],"storeColumnIds":[2,3,4,5,6],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} {"table":{"name":"scheduled_jobs","id":37,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"schedule_id","id":1,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"schedule_name","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"created","id":3,"type":{"family":"TimestampTZFamily","oid":1184},"defaultExpr":"now():::TIMESTAMPTZ"},{"name":"owner","id":4,"type":{"family":"StringFamily","oid":25}},{"name":"next_run","id":5,"type":{"family":"TimestampTZFamily","oid":1184},"nullable":true},{"name":"schedule_state","id":6,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"schedule_expr","id":7,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"schedule_details","id":8,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"executor_type","id":9,"type":{"family":"StringFamily","oid":25}},{"name":"execution_args","id":10,"type":{"family":"BytesFamily","oid":17}}],"nextColumnId":11,"families":[{"name":"sched","columnNames":["schedule_id","next_run","schedule_state"],"columnIds":[1,5,6]},{"name":"other","id":1,"columnNames":["schedule_name","created","owner","schedule_expr","schedule_details","executor_type","execution_args"],"columnIds":[2,3,4,7,8,9,10]}],"nextFamilyId":2,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["schedule_id"],"keyColumnDirections":["ASC"],"storeColumnNames":["schedule_name","created","owner","next_run","schedule_state","schedule_expr","schedule_details","executor_type","execution_args"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7,8,9,10],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"next_run_idx","id":2,"version":3,"keyColumnNames":["next_run"],"keyColumnDirections":["ASC"],"keyColumnIds":[5],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} -{"table":{"name":"span_stats_buckets","id":55,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"UuidFamily","oid":2950},"defaultExpr":"gen_random_uuid()"},{"name":"sample_id","id":2,"type":{"family":"UuidFamily","oid":2950}},{"name":"start_key_id","id":3,"type":{"family":"UuidFamily","oid":2950}},{"name":"end_key_id","id":4,"type":{"family":"UuidFamily","oid":2950}},{"name":"requests","id":5,"type":{"family":"IntFamily","width":64,"oid":20}}],"nextColumnId":6,"families":[{"name":"primary","columnNames":["id","sample_id","start_key_id","end_key_id","requests"],"columnIds":[1,2,3,4,5]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["sample_id","start_key_id","end_key_id","requests"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"buckets_sample_id_idx","id":2,"version":3,"keyColumnNames":["sample_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} -{"table":{"name":"span_stats_samples","id":56,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"UuidFamily","oid":2950},"defaultExpr":"gen_random_uuid()"},{"name":"sample_time","id":2,"type":{"family":"TimestampFamily","oid":1114},"defaultExpr":"now():::TIMESTAMP"}],"nextColumnId":3,"families":[{"name":"primary","columnNames":["id","sample_time"],"columnIds":[1,2],"defaultColumnId":2}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["sample_time"],"keyColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":2},"indexes":[{"name":"samples_sample_time_idx","id":2,"unique":true,"version":3,"keyColumnNames":["sample_time"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"constraintId":1}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} -{"table":{"name":"span_stats_tenant_boundaries","id":57,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"tenant_id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"boundaries","id":2,"type":{"family":"BytesFamily","oid":17}}],"nextColumnId":3,"families":[{"name":"primary","columnNames":["tenant_id","boundaries"],"columnIds":[1,2],"defaultColumnId":2}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["tenant_id"],"keyColumnDirections":["ASC"],"storeColumnNames":["boundaries"],"keyColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} -{"table":{"name":"statement_diagnostics_requests","id":35,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"completed","id":2,"type":{"oid":16},"defaultExpr":"false"},{"name":"statement_fingerprint","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"statement_diagnostics_id","id":4,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"requested_at","id":5,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"min_execution_latency","id":6,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}},"nullable":true},{"name":"expires_at","id":7,"type":{"family":"TimestampTZFamily","oid":1184},"nullable":true},{"name":"sampling_probability","id":8,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true},{"name":"plan_gist","id":9,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"anti_plan_gist","id":10,"type":{"oid":16},"nullable":true}],"nextColumnId":11,"families":[{"name":"primary","columnNames":["id","completed","statement_fingerprint","statement_diagnostics_id","requested_at","min_execution_latency","expires_at","sampling_probability","plan_gist","anti_plan_gist"],"columnIds":[1,2,3,4,5,6,7,8,9,10]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["completed","statement_fingerprint","statement_diagnostics_id","requested_at","min_execution_latency","expires_at","sampling_probability","plan_gist","anti_plan_gist"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7,8,9,10],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"completed_idx_v2","id":2,"version":3,"keyColumnNames":["completed","id"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["statement_fingerprint","min_execution_latency","expires_at","sampling_probability","plan_gist","anti_plan_gist"],"keyColumnIds":[2,1],"storeColumnIds":[3,6,7,8,9,10],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"sampling_probability BETWEEN _:::FLOAT8 AND _:::FLOAT8","name":"check_sampling_probability","columnIds":[8],"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} -{"table":{"name":"table_statistics","id":20,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"tableID","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"statisticID","id":2,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"name","id":3,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"columnIDs","id":4,"type":{"family":"ArrayFamily","width":64,"arrayElemType":"IntFamily","oid":1016,"arrayContents":{"family":"IntFamily","width":64,"oid":20}}},{"name":"createdAt","id":5,"type":{"family":"TimestampFamily","oid":1114},"defaultExpr":"now():::TIMESTAMP"},{"name":"rowCount","id":6,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"distinctCount","id":7,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"nullCount","id":8,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"histogram","id":9,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"avgSize","id":10,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"_:::INT8"},{"name":"partialPredicate","id":11,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"fullStatisticID","id":12,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true}],"nextColumnId":13,"families":[{"name":"fam_0_tableID_statisticID_name_columnIDs_createdAt_rowCount_distinctCount_nullCount_histogram","columnNames":["tableID","statisticID","name","columnIDs","createdAt","rowCount","distinctCount","nullCount","histogram","avgSize","partialPredicate","fullStatisticID"],"columnIds":[1,2,3,4,5,6,7,8,9,10,11,12]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["tableID","statisticID"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["name","columnIDs","createdAt","rowCount","distinctCount","nullCount","histogram","avgSize","partialPredicate","fullStatisticID"],"keyColumnIds":[1,2],"storeColumnIds":[3,4,5,6,7,8,9,10,11,12],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} -{"table":{"name":"users","id":4,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"username","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"hashedPassword","id":2,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"isRole","id":3,"type":{"oid":16},"defaultExpr":"false"},{"name":"user_id","id":4,"type":{"family":"OidFamily","oid":26}}],"nextColumnId":5,"families":[{"name":"primary","columnNames":["username","user_id"],"columnIds":[1,4],"defaultColumnId":4},{"name":"fam_2_hashedPassword","id":2,"columnNames":["hashedPassword"],"columnIds":[2],"defaultColumnId":2},{"name":"fam_3_isRole","id":3,"columnNames":["isRole"],"columnIds":[3],"defaultColumnId":3}],"nextFamilyId":4,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["username"],"keyColumnDirections":["ASC"],"storeColumnNames":["hashedPassword","isRole","user_id"],"keyColumnIds":[1],"storeColumnIds":[2,3,4],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":2},"indexes":[{"name":"users_user_id_idx","id":2,"unique":true,"version":3,"keyColumnNames":["user_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[4],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"constraintId":1}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} -{"table":{"name":"zones","id":5,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"config","id":2,"type":{"family":"BytesFamily","oid":17},"nullable":true}],"nextColumnId":3,"families":[{"name":"primary","columnNames":["id"],"columnIds":[1]},{"name":"fam_2_config","id":2,"columnNames":["config"],"columnIds":[2],"defaultColumnId":2}],"nextFamilyId":3,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["config"],"keyColumnIds":[1],"storeColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"statement_bundle_chunks","id":34,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"description","id":2,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"data","id":3,"type":{"family":"BytesFamily","oid":17}}],"nextColumnId":4,"families":[{"name":"primary","columnNames":["id","description","data"],"columnIds":[1,2,3]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["description","data"],"keyColumnIds":[1],"storeColumnIds":[2,3],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"statement_diagnostics","id":36,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"statement_fingerprint","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"statement","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"collected_at","id":4,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"trace","id":5,"type":{"family":"JsonFamily","oid":3802},"nullable":true},{"name":"bundle_chunks","id":6,"type":{"family":"ArrayFamily","width":64,"arrayElemType":"IntFamily","oid":1016,"arrayContents":{"family":"IntFamily","width":64,"oid":20}},"nullable":true},{"name":"error","id":7,"type":{"family":"StringFamily","oid":25},"nullable":true}],"nextColumnId":8,"families":[{"name":"primary","columnNames":["id","statement_fingerprint","statement","collected_at","trace","bundle_chunks","error"],"columnIds":[1,2,3,4,5,6,7]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["statement_fingerprint","statement","collected_at","trace","bundle_chunks","error"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":2}} +{"table":{"name":"statement_statistics","id":42,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"aggregated_ts","id":1,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"fingerprint_id","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"transaction_fingerprint_id","id":3,"type":{"family":"BytesFamily","oid":17}},{"name":"plan_hash","id":4,"type":{"family":"BytesFamily","oid":17}},{"name":"app_name","id":5,"type":{"family":"StringFamily","oid":25}},{"name":"node_id","id":6,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"agg_interval","id":7,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}}},{"name":"metadata","id":8,"type":{"family":"JsonFamily","oid":3802}},{"name":"statistics","id":9,"type":{"family":"JsonFamily","oid":3802}},{"name":"plan","id":10,"type":{"family":"JsonFamily","oid":3802}},{"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","id":11,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id, plan_hash, transaction_fingerprint_id)), _:::INT8)"},{"name":"index_recommendations","id":12,"type":{"family":"ArrayFamily","arrayElemType":"StringFamily","oid":1009,"arrayContents":{"family":"StringFamily","oid":25}},"defaultExpr":"ARRAY[]:::STRING[]"},{"name":"indexes_usage","id":13,"type":{"family":"JsonFamily","oid":3802},"nullable":true,"computeExpr":"(statistics-\u003e'_':::STRING)-\u003e'_':::STRING","virtual":true},{"name":"execution_count","id":14,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)::INT8"},{"name":"service_latency","id":15,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"cpu_sql_nanos","id":16,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"contention_time","id":17,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"total_estimated_execution_time","id":18,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8 * (((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8"},{"name":"p99_latency","id":19,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"}],"nextColumnId":20,"families":[{"name":"primary","columnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","aggregated_ts","fingerprint_id","transaction_fingerprint_id","plan_hash","app_name","node_id","agg_interval","metadata","statistics","plan","index_recommendations","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"columnIds":[11,1,2,3,4,5,6,7,8,9,10,12,14,15,16,17,18,19]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","aggregated_ts","fingerprint_id","transaction_fingerprint_id","plan_hash","app_name","node_id"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC","ASC","ASC"],"storeColumnNames":["agg_interval","metadata","statistics","plan","index_recommendations","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"keyColumnIds":[11,1,2,3,4,5,6],"storeColumnIds":[7,8,9,10,12,14,15,16,17,18,19],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{"isSharded":true,"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","shardBuckets":8,"columnNames":["aggregated_ts","app_name","fingerprint_id","node_id","plan_hash","transaction_fingerprint_id"]},"geoConfig":{},"constraintId":1},"indexes":[{"name":"fingerprint_stats_idx","id":2,"version":3,"keyColumnNames":["fingerprint_id","transaction_fingerprint_id"],"keyColumnDirections":["ASC","ASC"],"keyColumnIds":[2,3],"keySuffixColumnIds":[11,1,4,5,6],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"indexes_usage_idx","id":3,"version":3,"keyColumnNames":["indexes_usage"],"keyColumnDirections":["ASC"],"invertedColumnKinds":["DEFAULT"],"keyColumnIds":[13],"keySuffixColumnIds":[11,1,2,3,4,5,6],"foreignKey":{},"interleave":{},"partitioning":{},"type":"INVERTED","sharded":{},"geoConfig":{}},{"name":"execution_count_idx","id":4,"version":3,"keyColumnNames":["aggregated_ts","app_name","execution_count"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,14],"keySuffixColumnIds":[11,2,3,4,6],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"service_latency_idx","id":5,"version":3,"keyColumnNames":["aggregated_ts","app_name","service_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,15],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[15],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"cpu_sql_nanos_idx","id":6,"version":3,"keyColumnNames":["aggregated_ts","app_name","cpu_sql_nanos"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,16],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[16],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"contention_time_idx","id":7,"version":3,"keyColumnNames":["aggregated_ts","app_name","contention_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,17],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[17],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"total_estimated_execution_time_idx","id":8,"version":3,"keyColumnNames":["aggregated_ts","app_name","total_estimated_execution_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,18],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[18],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"p99_latency_idx","id":9,"version":3,"keyColumnNames":["aggregated_ts","app_name","p99_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,19],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[19],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"}],"nextIndexId":10,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","columnIds":[11],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} +{"table":{"name":"transaction_statistics","id":43,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"aggregated_ts","id":1,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"fingerprint_id","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"app_name","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"node_id","id":4,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"agg_interval","id":5,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}}},{"name":"metadata","id":6,"type":{"family":"JsonFamily","oid":3802}},{"name":"statistics","id":7,"type":{"family":"JsonFamily","oid":3802}},{"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","id":8,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id)), _:::INT8)"},{"name":"execution_count","id":9,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)::INT8"},{"name":"service_latency","id":10,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"cpu_sql_nanos","id":11,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"contention_time","id":12,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"total_estimated_execution_time","id":13,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8 * (((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8"},{"name":"p99_latency","id":14,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"}],"nextColumnId":15,"families":[{"name":"primary","columnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","aggregated_ts","fingerprint_id","app_name","node_id","agg_interval","metadata","statistics","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"columnIds":[8,1,2,3,4,5,6,7,9,10,11,12,13,14]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","aggregated_ts","fingerprint_id","app_name","node_id"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC"],"storeColumnNames":["agg_interval","metadata","statistics","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"keyColumnIds":[8,1,2,3,4],"storeColumnIds":[5,6,7,9,10,11,12,13,14],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{"isSharded":true,"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","shardBuckets":8,"columnNames":["aggregated_ts","app_name","fingerprint_id","node_id"]},"geoConfig":{},"constraintId":1},"indexes":[{"name":"fingerprint_stats_idx","id":2,"version":3,"keyColumnNames":["fingerprint_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[8,1,3,4],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"execution_count_idx","id":3,"version":3,"keyColumnNames":["aggregated_ts","app_name","execution_count"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,9],"keySuffixColumnIds":[8,2,4],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"service_latency_idx","id":4,"version":3,"keyColumnNames":["aggregated_ts","app_name","service_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,10],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[10],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"cpu_sql_nanos_idx","id":5,"version":3,"keyColumnNames":["aggregated_ts","app_name","cpu_sql_nanos"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,11],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[11],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"contention_time_idx","id":6,"version":3,"keyColumnNames":["aggregated_ts","app_name","contention_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,12],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[12],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"total_estimated_execution_time_idx","id":7,"version":3,"keyColumnNames":["aggregated_ts","app_name","total_estimated_execution_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,13],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[13],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"p99_latency_idx","id":8,"version":3,"keyColumnNames":["aggregated_ts","app_name","p99_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,14],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[14],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"}],"nextIndexId":9,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","columnIds":[8],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{},"nextConstraintId":3}} +{"schema":{"name":"public","id":101,"modificationTime":{"wallTime":"0"},"version":"1","parentId":100,"privileges":{"users":[{"userProto":"admin","privileges":"2","withGrantOption":"2"},{"userProto":"public","privileges":"516"},{"userProto":"root","privileges":"2","withGrantOption":"2"}],"ownerProto":"admin","version":2}}} diff --git a/pkg/sql/logictest/testdata/logic_test/cluster_locks b/pkg/sql/logictest/testdata/logic_test/cluster_locks index 5517f3f9b795..d33446df837f 100644 --- a/pkg/sql/logictest/testdata/logic_test/cluster_locks +++ b/pkg/sql/logictest/testdata/logic_test/cluster_locks @@ -21,7 +21,7 @@ query TTTI colnames,rowsort SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE t WITH DETAILS] ---- start_key end_key replicas lease_holder - …/1/"d" {1} 1 + …/1/"d" {1} 1 …/1/"d" …/1/"r" {1} 1 …/1/"r" {1} 1 diff --git a/pkg/sql/logictest/testdata/logic_test/crdb_internal_catalog b/pkg/sql/logictest/testdata/logic_test/crdb_internal_catalog index 4862e52b082c..0eab4d0b6a39 100644 --- a/pkg/sql/logictest/testdata/logic_test/crdb_internal_catalog +++ b/pkg/sql/logictest/testdata/logic_test/crdb_internal_catalog @@ -104,7 +104,7 @@ skipif config local-mixed-22.2-23.1 query IT SELECT id, strip_volatile(descriptor) FROM crdb_internal.kv_catalog_descriptor ORDER BY id ---- -1 {"database": {"id": 1, "name": "system", "privileges": {"ownerProto": "node", "users": [{"privileges": "2048", "userProto": "admin", "withGrantOption": "2048"}, {"privileges": "2048", "userProto": "root", "withGrantOption": "2048"}], "version": 2}, "systemDatabaseSchemaVersion": {"internal": 20, "majorVal": 1000023, "minorVal": 1}, "version": "1"}} +1 {"database": {"id": 1, "name": "system", "privileges": {"ownerProto": "node", "users": [{"privileges": "2048", "userProto": "admin", "withGrantOption": "2048"}, {"privileges": "2048", "userProto": "root", "withGrantOption": "2048"}], "version": 2}, "systemDatabaseSchemaVersion": {"internal": 32, "majorVal": 1000023, "minorVal": 1}, "version": "1"}} 3 {"table": {"columns": [{"id": 1, "name": "id", "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 2, "name": "descriptor", "nullable": true, "type": {"family": "BytesFamily", "oid": 17}}], "formatVersion": 3, "id": 3, "name": "descriptor", "nextColumnId": 3, "nextConstraintId": 2, "nextIndexId": 2, "nextMutationId": 1, "parentId": 1, "primaryIndex": {"constraintId": 1, "encodingType": 1, "foreignKey": {}, "geoConfig": {}, "id": 1, "interleave": {}, "keyColumnDirections": ["ASC"], "keyColumnIds": [1], "keyColumnNames": ["id"], "name": "primary", "partitioning": {}, "sharded": {}, "storeColumnIds": [2], "storeColumnNames": ["descriptor"], "unique": true, "version": 4}, "privileges": {"ownerProto": "node", "users": [{"privileges": "32", "userProto": "admin", "withGrantOption": "32"}, {"privileges": "32", "userProto": "root", "withGrantOption": "32"}], "version": 2}, "replacementOf": {"time": {}}, "unexposedParentSchemaId": 29, "version": "1"}} 4 {"table": {"columns": [{"id": 1, "name": "username", "type": {"family": "StringFamily", "oid": 25}}, {"id": 2, "name": "hashedPassword", "nullable": true, "type": {"family": "BytesFamily", "oid": 17}}, {"defaultExpr": "false", "id": 3, "name": "isRole", "type": {"oid": 16}}, {"id": 4, "name": "user_id", "type": {"family": "OidFamily", "oid": 26}}], "formatVersion": 3, "id": 4, "indexes": [{"constraintId": 1, "foreignKey": {}, "geoConfig": {}, "id": 2, "interleave": {}, "keyColumnDirections": ["ASC"], "keyColumnIds": [4], "keyColumnNames": ["user_id"], "keySuffixColumnIds": [1], "name": "users_user_id_idx", "partitioning": {}, "sharded": {}, "unique": true, "version": 3}], "name": "users", "nextColumnId": 5, "nextConstraintId": 3, "nextIndexId": 3, "nextMutationId": 1, "parentId": 1, "primaryIndex": {"constraintId": 2, "encodingType": 1, "foreignKey": {}, "geoConfig": {}, "id": 1, "interleave": {}, "keyColumnDirections": ["ASC"], "keyColumnIds": [1], "keyColumnNames": ["username"], "name": "primary", "partitioning": {}, "sharded": {}, "storeColumnIds": [2, 3, 4], "storeColumnNames": ["hashedPassword", "isRole", "user_id"], "unique": true, "version": 4}, "privileges": {"ownerProto": "node", "users": [{"privileges": "480", "userProto": "admin", "withGrantOption": "480"}, {"privileges": "480", "userProto": "root", "withGrantOption": "480"}], "version": 2}, "replacementOf": {"time": {}}, "unexposedParentSchemaId": 29, "version": "2"}} 5 {"table": {"columns": [{"id": 1, "name": "id", "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 2, "name": "config", "nullable": true, "type": {"family": "BytesFamily", "oid": 17}}], "formatVersion": 3, "id": 5, "name": "zones", "nextColumnId": 3, "nextConstraintId": 2, "nextIndexId": 2, "nextMutationId": 1, "parentId": 1, "primaryIndex": {"constraintId": 1, "encodingType": 1, "foreignKey": {}, "geoConfig": {}, "id": 1, "interleave": {}, "keyColumnDirections": ["ASC"], "keyColumnIds": [1], "keyColumnNames": ["id"], "name": "primary", "partitioning": {}, "sharded": {}, "storeColumnIds": [2], "storeColumnNames": ["config"], "unique": true, "version": 4}, "privileges": {"ownerProto": "node", "users": [{"privileges": "480", "userProto": "admin", "withGrantOption": "480"}, {"privileges": "480", "userProto": "root", "withGrantOption": "480"}], "version": 2}, "replacementOf": {"time": {}}, "unexposedParentSchemaId": 29, "version": "1"}} @@ -158,6 +158,9 @@ SELECT id, strip_volatile(descriptor) FROM crdb_internal.kv_catalog_descriptor O 60 {"table": {"columns": [{"id": 1, "name": "aggregated_ts", "type": {"family": "TimestampTZFamily", "oid": 1184}}, {"id": 2, "name": "fingerprint_id", "type": {"family": "BytesFamily", "oid": 17}}, {"id": 3, "name": "transaction_fingerprint_id", "type": {"family": "BytesFamily", "oid": 17}}, {"id": 4, "name": "plan_hash", "type": {"family": "BytesFamily", "oid": 17}}, {"id": 5, "name": "app_name", "type": {"family": "StringFamily", "oid": 25}}, {"id": 6, "name": "agg_interval", "type": {"family": "IntervalFamily", "intervalDurationField": {}, "oid": 1186}}, {"id": 7, "name": "metadata", "type": {"family": "JsonFamily", "oid": 3802}}, {"id": 8, "name": "statistics", "type": {"family": "JsonFamily", "oid": 3802}}, {"id": 9, "name": "plan", "type": {"family": "JsonFamily", "oid": 3802}}, {"defaultExpr": "ARRAY[]:::STRING[]", "id": 10, "name": "index_recommendations", "type": {"arrayContents": {"family": "StringFamily", "oid": 25}, "arrayElemType": "StringFamily", "family": "ArrayFamily", "oid": 1009}}, {"id": 11, "name": "execution_count", "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 12, "name": "execution_total_seconds", "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"id": 13, "name": "execution_total_cluster_seconds", "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"id": 14, "name": "contention_time_avg_seconds", "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"id": 15, "name": "cpu_sql_avg_nanos", "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"id": 16, "name": "service_latency_avg_seconds", "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"id": 17, "name": "service_latency_p99_seconds", "type": {"family": "FloatFamily", "oid": 701, "width": 64}}], "formatVersion": 3, "id": 60, "indexes": [{"foreignKey": {}, "geoConfig": {}, "id": 2, "interleave": {}, "keyColumnDirections": ["ASC", "ASC"], "keyColumnIds": [2, 3], "keyColumnNames": ["fingerprint_id", "transaction_fingerprint_id"], "keySuffixColumnIds": [1, 4, 5], "name": "fingerprint_id_idx", "partitioning": {}, "sharded": {}, "version": 3}, {"foreignKey": {}, "geoConfig": {}, "id": 3, "interleave": {}, "keyColumnDirections": ["ASC", "DESC"], "keyColumnIds": [1, 11], "keyColumnNames": ["aggregated_ts", "execution_count"], "keySuffixColumnIds": [2, 3, 4, 5], "name": "execution_count_idx", "partitioning": {}, "sharded": {}, "version": 3}, {"compositeColumnIds": [12], "foreignKey": {}, "geoConfig": {}, "id": 4, "interleave": {}, "keyColumnDirections": ["ASC", "DESC"], "keyColumnIds": [1, 12], "keyColumnNames": ["aggregated_ts", "execution_total_seconds"], "keySuffixColumnIds": [2, 3, 4, 5], "name": "execution_total_seconds_idx", "partitioning": {}, "sharded": {}, "version": 3}, {"compositeColumnIds": [14], "foreignKey": {}, "geoConfig": {}, "id": 5, "interleave": {}, "keyColumnDirections": ["ASC", "DESC"], "keyColumnIds": [1, 14], "keyColumnNames": ["aggregated_ts", "contention_time_avg_seconds"], "keySuffixColumnIds": [2, 3, 4, 5], "name": "contention_time_avg_seconds_idx", "partitioning": {}, "sharded": {}, "version": 3}, {"compositeColumnIds": [15], "foreignKey": {}, "geoConfig": {}, "id": 6, "interleave": {}, "keyColumnDirections": ["ASC", "DESC"], "keyColumnIds": [1, 15], "keyColumnNames": ["aggregated_ts", "cpu_sql_avg_nanos"], "keySuffixColumnIds": [2, 3, 4, 5], "name": "cpu_sql_avg_nanos_idx", "partitioning": {}, "sharded": {}, "version": 3}, {"compositeColumnIds": [16], "foreignKey": {}, "geoConfig": {}, "id": 7, "interleave": {}, "keyColumnDirections": ["ASC", "DESC"], "keyColumnIds": [1, 16], "keyColumnNames": ["aggregated_ts", "service_latency_avg_seconds"], "keySuffixColumnIds": [2, 3, 4, 5], "name": "service_latency_avg_seconds_idx", "partitioning": {}, "sharded": {}, "version": 3}, {"compositeColumnIds": [17], "foreignKey": {}, "geoConfig": {}, "id": 8, "interleave": {}, "keyColumnDirections": ["ASC", "DESC"], "keyColumnIds": [1, 17], "keyColumnNames": ["aggregated_ts", "service_latency_p99_seconds"], "keySuffixColumnIds": [2, 3, 4, 5], "name": "service_latency_p99_seconds_idx", "partitioning": {}, "sharded": {}, "version": 3}], "name": "statement_activity", "nextColumnId": 18, "nextConstraintId": 2, "nextIndexId": 9, "nextMutationId": 1, "parentId": 1, "primaryIndex": {"constraintId": 1, "encodingType": 1, "foreignKey": {}, "geoConfig": {}, "id": 1, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "ASC", "ASC", "ASC"], "keyColumnIds": [1, 2, 3, 4, 5], "keyColumnNames": ["aggregated_ts", "fingerprint_id", "transaction_fingerprint_id", "plan_hash", "app_name"], "name": "primary", "partitioning": {}, "sharded": {}, "storeColumnIds": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "storeColumnNames": ["agg_interval", "metadata", "statistics", "plan", "index_recommendations", "execution_count", "execution_total_seconds", "execution_total_cluster_seconds", "contention_time_avg_seconds", "cpu_sql_avg_nanos", "service_latency_avg_seconds", "service_latency_p99_seconds"], "unique": true, "version": 4}, "privileges": {"ownerProto": "node", "users": [{"privileges": "32", "userProto": "admin", "withGrantOption": "32"}, {"privileges": "32", "userProto": "root", "withGrantOption": "32"}], "version": 2}, "replacementOf": {"time": {}}, "unexposedParentSchemaId": 29, "version": "1"}} 61 {"table": {"columns": [{"id": 1, "name": "aggregated_ts", "type": {"family": "TimestampTZFamily", "oid": 1184}}, {"id": 2, "name": "fingerprint_id", "type": {"family": "BytesFamily", "oid": 17}}, {"id": 3, "name": "app_name", "type": {"family": "StringFamily", "oid": 25}}, {"id": 4, "name": "agg_interval", "type": {"family": "IntervalFamily", "intervalDurationField": {}, "oid": 1186}}, {"id": 5, "name": "metadata", "type": {"family": "JsonFamily", "oid": 3802}}, {"id": 6, "name": "statistics", "type": {"family": "JsonFamily", "oid": 3802}}, {"id": 7, "name": "query", "type": {"family": "StringFamily", "oid": 25}}, {"id": 8, "name": "execution_count", "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 9, "name": "execution_total_seconds", "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"id": 10, "name": "execution_total_cluster_seconds", "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"id": 11, "name": "contention_time_avg_seconds", "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"id": 12, "name": "cpu_sql_avg_nanos", "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"id": 13, "name": "service_latency_avg_seconds", "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"id": 14, "name": "service_latency_p99_seconds", "type": {"family": "FloatFamily", "oid": 701, "width": 64}}], "formatVersion": 3, "id": 61, "indexes": [{"foreignKey": {}, "geoConfig": {}, "id": 2, "interleave": {}, "keyColumnDirections": ["ASC"], "keyColumnIds": [2], "keyColumnNames": ["fingerprint_id"], "keySuffixColumnIds": [1, 3], "name": "fingerprint_id_idx", "partitioning": {}, "sharded": {}, "version": 3}, {"foreignKey": {}, "geoConfig": {}, "id": 3, "interleave": {}, "keyColumnDirections": ["ASC", "DESC"], "keyColumnIds": [1, 8], "keyColumnNames": ["aggregated_ts", "execution_count"], "keySuffixColumnIds": [2, 3], "name": "execution_count_idx", "partitioning": {}, "sharded": {}, "version": 3}, {"compositeColumnIds": [9], "foreignKey": {}, "geoConfig": {}, "id": 4, "interleave": {}, "keyColumnDirections": ["ASC", "DESC"], "keyColumnIds": [1, 9], "keyColumnNames": ["aggregated_ts", "execution_total_seconds"], "keySuffixColumnIds": [2, 3], "name": "execution_total_seconds_idx", "partitioning": {}, "sharded": {}, "version": 3}, {"compositeColumnIds": [11], "foreignKey": {}, "geoConfig": {}, "id": 5, "interleave": {}, "keyColumnDirections": ["ASC", "DESC"], "keyColumnIds": [1, 11], "keyColumnNames": ["aggregated_ts", "contention_time_avg_seconds"], "keySuffixColumnIds": [2, 3], "name": "contention_time_avg_seconds_idx", "partitioning": {}, "sharded": {}, "version": 3}, {"compositeColumnIds": [12], "foreignKey": {}, "geoConfig": {}, "id": 6, "interleave": {}, "keyColumnDirections": ["ASC", "DESC"], "keyColumnIds": [1, 12], "keyColumnNames": ["aggregated_ts", "cpu_sql_avg_nanos"], "keySuffixColumnIds": [2, 3], "name": "cpu_sql_avg_nanos_idx", "partitioning": {}, "sharded": {}, "version": 3}, {"compositeColumnIds": [13], "foreignKey": {}, "geoConfig": {}, "id": 7, "interleave": {}, "keyColumnDirections": ["ASC", "DESC"], "keyColumnIds": [1, 13], "keyColumnNames": ["aggregated_ts", "service_latency_avg_seconds"], "keySuffixColumnIds": [2, 3], "name": "service_latency_avg_seconds_idx", "partitioning": {}, "sharded": {}, "version": 3}, {"compositeColumnIds": [14], "foreignKey": {}, "geoConfig": {}, "id": 8, "interleave": {}, "keyColumnDirections": ["ASC", "DESC"], "keyColumnIds": [1, 14], "keyColumnNames": ["aggregated_ts", "service_latency_p99_seconds"], "keySuffixColumnIds": [2, 3], "name": "service_latency_p99_seconds_idx", "partitioning": {}, "sharded": {}, "version": 3}], "name": "transaction_activity", "nextColumnId": 15, "nextConstraintId": 2, "nextIndexId": 9, "nextMutationId": 1, "parentId": 1, "primaryIndex": {"constraintId": 1, "encodingType": 1, "foreignKey": {}, "geoConfig": {}, "id": 1, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "ASC"], "keyColumnIds": [1, 2, 3], "keyColumnNames": ["aggregated_ts", "fingerprint_id", "app_name"], "name": "primary", "partitioning": {}, "sharded": {}, "storeColumnIds": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "storeColumnNames": ["agg_interval", "metadata", "statistics", "query", "execution_count", "execution_total_seconds", "execution_total_cluster_seconds", "contention_time_avg_seconds", "cpu_sql_avg_nanos", "service_latency_avg_seconds", "service_latency_p99_seconds"], "unique": true, "version": 4}, "privileges": {"ownerProto": "node", "users": [{"privileges": "32", "userProto": "admin", "withGrantOption": "32"}, {"privileges": "32", "userProto": "root", "withGrantOption": "32"}], "version": 2}, "replacementOf": {"time": {}}, "unexposedParentSchemaId": 29, "version": "1"}} 62 {"table": {"columns": [{"id": 1, "name": "value", "type": {"family": "IntFamily", "oid": 20, "width": 64}}], "formatVersion": 3, "id": 62, "name": "tenant_id_seq", "parentId": 1, "primaryIndex": {"encodingType": 1, "foreignKey": {}, "geoConfig": {}, "id": 1, "interleave": {}, "keyColumnDirections": ["ASC"], "keyColumnIds": [1], "keyColumnNames": ["value"], "name": "primary", "partitioning": {}, "sharded": {}, "version": 4}, "privileges": {"ownerProto": "node", "users": [{"privileges": "32", "userProto": "admin", "withGrantOption": "32"}, {"privileges": "32", "userProto": "root", "withGrantOption": "32"}], "version": 2}, "replacementOf": {"time": {}}, "sequenceOpts": {"cacheSize": "1", "increment": "1", "maxValue": "9223372036854775807", "minValue": "1", "sequenceOwner": {}, "start": "1"}, "unexposedParentSchemaId": 29, "version": "1"}} +63 {"table": {"checks": [{"columnIds": [6], "constraintId": 2, "expr": "crdb_internal_created_at_database_id_index_id_table_id_shard_16 IN (0:::INT8, 1:::INT8, 2:::INT8, 3:::INT8, 4:::INT8, 5:::INT8, 6:::INT8, 7:::INT8, 8:::INT8, 9:::INT8, 10:::INT8, 11:::INT8, 12:::INT8, 13:::INT8, 14:::INT8, 15:::INT8)", "fromHashShardedColumn": true, "name": "check_crdb_internal_created_at_database_id_index_id_table_id_shard_16"}], "columns": [{"defaultExpr": "now():::TIMESTAMPTZ", "id": 1, "name": "created_at", "type": {"family": "TimestampTZFamily", "oid": 1184}}, {"id": 2, "name": "database_id", "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 3, "name": "table_id", "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 4, "name": "index_id", "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 5, "name": "statistics", "type": {"family": "JsonFamily", "oid": 3802}}, {"computeExpr": "mod(fnv32(md5(crdb_internal.datums_to_bytes(created_at))), 16:::INT8)", "hidden": true, "id": 6, "name": "crdb_internal_created_at_database_id_index_id_table_id_shard_16", "type": {"family": "IntFamily", "oid": 23, "width": 32}, "virtual": true}], "formatVersion": 3, "id": 63, "name": "mvcc_statistics", "nextColumnId": 7, "nextConstraintId": 3, "nextIndexId": 2, "nextMutationId": 1, "parentId": 1, "primaryIndex": {"constraintId": 1, "encodingType": 1, "foreignKey": {}, "geoConfig": {}, "id": 1, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "ASC", "ASC", "ASC"], "keyColumnIds": [6, 1, 2, 3, 4], "keyColumnNames": ["crdb_internal_created_at_database_id_index_id_table_id_shard_16", "created_at", "database_id", "table_id", "index_id"], "name": "mvcc_statistics_pkey", "partitioning": {}, "sharded": {"columnNames": ["created_at", "database_id", "index_id", "table_id"], "isSharded": true, "name": "crdb_internal_created_at_database_id_index_id_table_id_shard_16", "shardBuckets": 16}, "storeColumnIds": [5], "storeColumnNames": ["statistics"], "unique": true, "version": 4}, "privileges": {"ownerProto": "node", "users": [{"privileges": "480", "userProto": "admin", "withGrantOption": "480"}, {"privileges": "480", "userProto": "root", "withGrantOption": "480"}], "version": 2}, "replacementOf": {"time": {}}, "unexposedParentSchemaId": 29, "version": "1"}} +64 {"table": {"checks": [{"columnIds": [23], "constraintId": 2, "expr": "crdb_internal_end_time_start_time_shard_16 IN (0:::INT8, 1:::INT8, 2:::INT8, 3:::INT8, 4:::INT8, 5:::INT8, 6:::INT8, 7:::INT8, 8:::INT8, 9:::INT8, 10:::INT8, 11:::INT8, 12:::INT8, 13:::INT8, 14:::INT8, 15:::INT8)", "fromHashShardedColumn": true, "name": "check_crdb_internal_end_time_start_time_shard_16"}], "columns": [{"id": 1, "name": "transaction_id", "type": {"family": "UuidFamily", "oid": 2950}}, {"id": 2, "name": "transaction_fingerprint_id", "type": {"family": "BytesFamily", "oid": 17}}, {"id": 3, "name": "query_summary", "nullable": true, "type": {"family": "StringFamily", "oid": 25}}, {"id": 4, "name": "implicit_txn", "nullable": true, "type": {"oid": 16}}, {"id": 5, "name": "session_id", "type": {"family": "StringFamily", "oid": 25}}, {"id": 6, "name": "start_time", "nullable": true, "type": {"family": "TimestampTZFamily", "oid": 1184}}, {"id": 7, "name": "end_time", "nullable": true, "type": {"family": "TimestampTZFamily", "oid": 1184}}, {"id": 8, "name": "user_name", "nullable": true, "type": {"family": "StringFamily", "oid": 25}}, {"id": 9, "name": "app_name", "nullable": true, "type": {"family": "StringFamily", "oid": 25}}, {"id": 10, "name": "user_priority", "nullable": true, "type": {"family": "StringFamily", "oid": 25}}, {"id": 11, "name": "retries", "nullable": true, "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 12, "name": "last_retry_reason", "nullable": true, "type": {"family": "StringFamily", "oid": 25}}, {"id": 13, "name": "problems", "nullable": true, "type": {"arrayContents": {"family": "IntFamily", "oid": 20, "width": 64}, "arrayElemType": "IntFamily", "family": "ArrayFamily", "oid": 1016, "width": 64}}, {"id": 14, "name": "causes", "nullable": true, "type": {"arrayContents": {"family": "IntFamily", "oid": 20, "width": 64}, "arrayElemType": "IntFamily", "family": "ArrayFamily", "oid": 1016, "width": 64}}, {"id": 15, "name": "stmt_execution_ids", "nullable": true, "type": {"arrayContents": {"family": "StringFamily", "oid": 25}, "arrayElemType": "StringFamily", "family": "ArrayFamily", "oid": 1009}}, {"id": 16, "name": "cpu_sql_nanos", "nullable": true, "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 17, "name": "last_error_code", "nullable": true, "type": {"family": "StringFamily", "oid": 25}}, {"id": 18, "name": "status", "nullable": true, "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 19, "name": "contention_time", "nullable": true, "type": {"family": "IntervalFamily", "intervalDurationField": {}, "oid": 1186}}, {"id": 20, "name": "contention_info", "nullable": true, "type": {"family": "JsonFamily", "oid": 3802}}, {"id": 21, "name": "details", "nullable": true, "type": {"family": "JsonFamily", "oid": 3802}}, {"defaultExpr": "now():::TIMESTAMPTZ", "id": 22, "name": "created", "type": {"family": "TimestampTZFamily", "oid": 1184}}, {"computeExpr": "mod(fnv32(md5(crdb_internal.datums_to_bytes(end_time, start_time))), 16:::INT8)", "hidden": true, "id": 23, "name": "crdb_internal_end_time_start_time_shard_16", "type": {"family": "IntFamily", "oid": 23, "width": 32}, "virtual": true}], "formatVersion": 3, "id": 64, "indexes": [{"foreignKey": {}, "geoConfig": {}, "id": 2, "interleave": {}, "keyColumnDirections": ["ASC"], "keyColumnIds": [2], "keyColumnNames": ["transaction_fingerprint_id"], "keySuffixColumnIds": [1], "name": "transaction_fingerprint_id_idx", "partitioning": {}, "sharded": {}, "version": 3}, {"foreignKey": {}, "geoConfig": {}, "id": 3, "interleave": {}, "keyColumnDirections": ["ASC", "DESC", "DESC"], "keyColumnIds": [23, 6, 7], "keyColumnNames": ["crdb_internal_end_time_start_time_shard_16", "start_time", "end_time"], "keySuffixColumnIds": [1], "name": "time_range_idx", "partitioning": {}, "sharded": {"columnNames": ["end_time", "start_time"], "isSharded": true, "name": "crdb_internal_end_time_start_time_shard_16", "shardBuckets": 16}, "version": 3}], "name": "transaction_execution_insights", "nextColumnId": 24, "nextConstraintId": 3, "nextIndexId": 4, "nextMutationId": 1, "parentId": 1, "primaryIndex": {"constraintId": 1, "encodingType": 1, "foreignKey": {}, "geoConfig": {}, "id": 1, "interleave": {}, "keyColumnDirections": ["ASC"], "keyColumnIds": [1], "keyColumnNames": ["transaction_id"], "name": "primary", "partitioning": {}, "sharded": {}, "storeColumnIds": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "storeColumnNames": ["transaction_fingerprint_id", "query_summary", "implicit_txn", "session_id", "start_time", "end_time", "user_name", "app_name", "user_priority", "retries", "last_retry_reason", "problems", "causes", "stmt_execution_ids", "cpu_sql_nanos", "last_error_code", "status", "contention_time", "contention_info", "details", "created"], "unique": true, "version": 4}, "privileges": {"ownerProto": "node", "users": [{"privileges": "480", "userProto": "admin", "withGrantOption": "480"}, {"privileges": "480", "userProto": "root", "withGrantOption": "480"}], "version": 2}, "replacementOf": {"time": {}}, "unexposedParentSchemaId": 29, "version": "1"}} +65 {"table": {"checks": [{"columnIds": [29], "constraintId": 2, "expr": "crdb_internal_end_time_start_time_shard_16 IN (0:::INT8, 1:::INT8, 2:::INT8, 3:::INT8, 4:::INT8, 5:::INT8, 6:::INT8, 7:::INT8, 8:::INT8, 9:::INT8, 10:::INT8, 11:::INT8, 12:::INT8, 13:::INT8, 14:::INT8, 15:::INT8)", "fromHashShardedColumn": true, "name": "check_crdb_internal_end_time_start_time_shard_16"}], "columns": [{"id": 1, "name": "session_id", "type": {"family": "StringFamily", "oid": 25}}, {"id": 2, "name": "transaction_id", "type": {"family": "UuidFamily", "oid": 2950}}, {"id": 3, "name": "transaction_fingerprint_id", "type": {"family": "BytesFamily", "oid": 17}}, {"id": 4, "name": "statement_id", "type": {"family": "StringFamily", "oid": 25}}, {"id": 5, "name": "statement_fingerprint_id", "type": {"family": "BytesFamily", "oid": 17}}, {"id": 6, "name": "problem", "nullable": true, "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 7, "name": "causes", "nullable": true, "type": {"arrayContents": {"family": "IntFamily", "oid": 20, "width": 64}, "arrayElemType": "IntFamily", "family": "ArrayFamily", "oid": 1016, "width": 64}}, {"id": 8, "name": "query", "nullable": true, "type": {"family": "StringFamily", "oid": 25}}, {"id": 9, "name": "status", "nullable": true, "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 10, "name": "start_time", "nullable": true, "type": {"family": "TimestampTZFamily", "oid": 1184}}, {"id": 11, "name": "end_time", "nullable": true, "type": {"family": "TimestampTZFamily", "oid": 1184}}, {"id": 12, "name": "full_scan", "nullable": true, "type": {"oid": 16}}, {"id": 13, "name": "user_name", "nullable": true, "type": {"family": "StringFamily", "oid": 25}}, {"id": 14, "name": "app_name", "nullable": true, "type": {"family": "StringFamily", "oid": 25}}, {"id": 15, "name": "user_priority", "nullable": true, "type": {"family": "StringFamily", "oid": 25}}, {"id": 16, "name": "database_name", "nullable": true, "type": {"family": "StringFamily", "oid": 25}}, {"id": 17, "name": "plan_gist", "nullable": true, "type": {"family": "StringFamily", "oid": 25}}, {"id": 18, "name": "retries", "nullable": true, "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 19, "name": "last_retry_reason", "nullable": true, "type": {"family": "StringFamily", "oid": 25}}, {"id": 20, "name": "execution_node_ids", "nullable": true, "type": {"arrayContents": {"family": "IntFamily", "oid": 20, "width": 64}, "arrayElemType": "IntFamily", "family": "ArrayFamily", "oid": 1016, "width": 64}}, {"id": 21, "name": "index_recommendations", "nullable": true, "type": {"arrayContents": {"family": "StringFamily", "oid": 25}, "arrayElemType": "StringFamily", "family": "ArrayFamily", "oid": 1009}}, {"id": 22, "name": "implicit_txn", "nullable": true, "type": {"oid": 16}}, {"id": 23, "name": "cpu_sql_nanos", "nullable": true, "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 24, "name": "error_code", "nullable": true, "type": {"family": "StringFamily", "oid": 25}}, {"id": 25, "name": "contention_time", "nullable": true, "type": {"family": "IntervalFamily", "intervalDurationField": {}, "oid": 1186}}, {"id": 26, "name": "contention_info", "nullable": true, "type": {"family": "JsonFamily", "oid": 3802}}, {"id": 27, "name": "details", "nullable": true, "type": {"family": "JsonFamily", "oid": 3802}}, {"defaultExpr": "now():::TIMESTAMPTZ", "id": 28, "name": "created", "type": {"family": "TimestampTZFamily", "oid": 1184}}, {"computeExpr": "mod(fnv32(md5(crdb_internal.datums_to_bytes(end_time, start_time))), 16:::INT8)", "hidden": true, "id": 29, "name": "crdb_internal_end_time_start_time_shard_16", "type": {"family": "IntFamily", "oid": 23, "width": 32}, "virtual": true}], "formatVersion": 3, "id": 65, "indexes": [{"foreignKey": {}, "geoConfig": {}, "id": 2, "interleave": {}, "keyColumnDirections": ["ASC"], "keyColumnIds": [2], "keyColumnNames": ["transaction_id"], "keySuffixColumnIds": [4], "name": "transaction_id_idx", "partitioning": {}, "sharded": {}, "version": 3}, {"foreignKey": {}, "geoConfig": {}, "id": 3, "interleave": {}, "keyColumnDirections": ["ASC", "DESC", "DESC"], "keyColumnIds": [3, 10, 11], "keyColumnNames": ["transaction_fingerprint_id", "start_time", "end_time"], "keySuffixColumnIds": [4, 2], "name": "transaction_fingerprint_id_idx", "partitioning": {}, "sharded": {}, "version": 3}, {"foreignKey": {}, "geoConfig": {}, "id": 4, "interleave": {}, "keyColumnDirections": ["ASC", "DESC", "DESC"], "keyColumnIds": [5, 10, 11], "keyColumnNames": ["statement_fingerprint_id", "start_time", "end_time"], "keySuffixColumnIds": [4, 2], "name": "statement_fingerprint_id_idx", "partitioning": {}, "sharded": {}, "version": 3}, {"foreignKey": {}, "geoConfig": {}, "id": 5, "interleave": {}, "keyColumnDirections": ["ASC", "DESC", "DESC"], "keyColumnIds": [29, 10, 11], "keyColumnNames": ["crdb_internal_end_time_start_time_shard_16", "start_time", "end_time"], "keySuffixColumnIds": [4, 2], "name": "time_range_idx", "partitioning": {}, "sharded": {"columnNames": ["end_time", "start_time"], "isSharded": true, "name": "crdb_internal_end_time_start_time_shard_16", "shardBuckets": 16}, "version": 3}], "name": "statement_execution_insights", "nextColumnId": 30, "nextConstraintId": 3, "nextIndexId": 6, "nextMutationId": 1, "parentId": 1, "primaryIndex": {"constraintId": 1, "encodingType": 1, "foreignKey": {}, "geoConfig": {}, "id": 1, "interleave": {}, "keyColumnDirections": ["ASC", "ASC"], "keyColumnIds": [4, 2], "keyColumnNames": ["statement_id", "transaction_id"], "name": "primary", "partitioning": {}, "sharded": {}, "storeColumnIds": [1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "storeColumnNames": ["session_id", "transaction_fingerprint_id", "statement_fingerprint_id", "problem", "causes", "query", "status", "start_time", "end_time", "full_scan", "user_name", "app_name", "user_priority", "database_name", "plan_gist", "retries", "last_retry_reason", "execution_node_ids", "index_recommendations", "implicit_txn", "cpu_sql_nanos", "error_code", "contention_time", "contention_info", "details", "created"], "unique": true, "version": 4}, "privileges": {"ownerProto": "node", "users": [{"privileges": "480", "userProto": "admin", "withGrantOption": "480"}, {"privileges": "480", "userProto": "root", "withGrantOption": "480"}], "version": 2}, "replacementOf": {"time": {}}, "unexposedParentSchemaId": 29, "version": "1"}} 100 {"database": {"defaultPrivileges": {}, "id": 100, "name": "defaultdb", "privileges": {"ownerProto": "root", "users": [{"privileges": "2", "userProto": "admin", "withGrantOption": "2"}, {"privileges": "2048", "userProto": "public"}, {"privileges": "2", "userProto": "root", "withGrantOption": "2"}], "version": 2}, "schemas": {"public": {"id": 101}}, "version": "1"}} 101 {"schema": {"id": 101, "name": "public", "parentId": 100, "privileges": {"ownerProto": "admin", "users": [{"privileges": "2", "userProto": "admin", "withGrantOption": "2"}, {"privileges": "516", "userProto": "public"}, {"privileges": "2", "userProto": "root", "withGrantOption": "2"}], "version": 2}, "version": "1"}} 102 {"database": {"defaultPrivileges": {}, "id": 102, "name": "postgres", "privileges": {"ownerProto": "root", "users": [{"privileges": "2", "userProto": "admin", "withGrantOption": "2"}, {"privileges": "2048", "userProto": "public"}, {"privileges": "2", "userProto": "root", "withGrantOption": "2"}], "version": 2}, "schemas": {"public": {"id": 103}}, "version": "1"}} @@ -515,6 +518,7 @@ SELECT * FROM "".crdb_internal.kv_catalog_namespace 1 29 lease 11 1 29 locations 21 1 29 migrations 40 +1 29 mvcc_statistics 63 1 29 namespace 30 1 29 privileges 51 1 29 protected_ts_meta 31 @@ -541,6 +545,7 @@ SELECT * FROM "".crdb_internal.kv_catalog_namespace 1 29 statement_bundle_chunks 34 1 29 statement_diagnostics 36 1 29 statement_diagnostics_requests 35 +1 29 statement_execution_insights 65 1 29 statement_statistics 42 1 29 table_statistics 20 1 29 task_payloads 58 @@ -550,6 +555,7 @@ SELECT * FROM "".crdb_internal.kv_catalog_namespace 1 29 tenant_usage 45 1 29 tenants 8 1 29 transaction_activity 61 +1 29 transaction_execution_insights 64 1 29 transaction_statistics 43 1 29 ui 14 1 29 users 4 diff --git a/pkg/sql/logictest/testdata/logic_test/dist_vectorize b/pkg/sql/logictest/testdata/logic_test/dist_vectorize index 172c7a25d9b1..d88129927075 100644 --- a/pkg/sql/logictest/testdata/logic_test/dist_vectorize +++ b/pkg/sql/logictest/testdata/logic_test/dist_vectorize @@ -30,7 +30,7 @@ query TTTI rowsort SELECT start_key, end_key, replicas, lease_holder from [SHOW RANGES FROM TABLE kv WITH DETAILS] ORDER by 1 ---- - …/1/1 {1} 1 + …/1/1 {1} 1 …/1/1 …/1/2 {1} 1 …/1/2 …/1/3 {2} 2 …/1/3 …/1/4 {3} 3 diff --git a/pkg/sql/logictest/testdata/logic_test/distsql_agg b/pkg/sql/logictest/testdata/logic_test/distsql_agg index d6876fdffa2e..8ef6adbec049 100644 --- a/pkg/sql/logictest/testdata/logic_test/distsql_agg +++ b/pkg/sql/logictest/testdata/logic_test/distsql_agg @@ -26,7 +26,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE d ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/1 {1} 1 + …/1/1 {1} 1 …/1/1 …/1/2 {2} 2 …/1/2 …/1/3 {3} 3 …/1/3 …/1/4 {4} 4 diff --git a/pkg/sql/logictest/testdata/logic_test/distsql_crdb_internal b/pkg/sql/logictest/testdata/logic_test/distsql_crdb_internal index 2f1c33f12992..ddae905871f3 100644 --- a/pkg/sql/logictest/testdata/logic_test/distsql_crdb_internal +++ b/pkg/sql/logictest/testdata/logic_test/distsql_crdb_internal @@ -26,7 +26,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE d ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/1 {1} 1 + …/1/1 {1} 1 …/1/1 …/1/2 {2} 2 …/1/2 …/1/3 {3} 3 …/1/3 …/1/4 {4} 4 diff --git a/pkg/sql/logictest/testdata/logic_test/distsql_distinct_on b/pkg/sql/logictest/testdata/logic_test/distsql_distinct_on index 8339a1c40f5a..3f00bf3b00e1 100644 --- a/pkg/sql/logictest/testdata/logic_test/distsql_distinct_on +++ b/pkg/sql/logictest/testdata/logic_test/distsql_distinct_on @@ -66,7 +66,7 @@ SELECT start_key, end_key, replicas, lease_holder from [SHOW RANGES FROM TABLE x ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/2 {1} 1 + …/1/2 {1} 1 …/1/2 …/1/4 {2} 2 …/1/4 …/1/6 {3} 3 …/1/6 …/1/7 {4} 4 diff --git a/pkg/sql/logictest/testdata/logic_test/distsql_enum b/pkg/sql/logictest/testdata/logic_test/distsql_enum index 37dc8ad7f95e..e4535b221ef9 100644 --- a/pkg/sql/logictest/testdata/logic_test/distsql_enum +++ b/pkg/sql/logictest/testdata/logic_test/distsql_enum @@ -48,7 +48,7 @@ query TTTI colnames SELECT start_key, end_key, replicas, lease_holder from [SHOW RANGES FROM TABLE t1 WITH DETAILS] ORDER BY lease_holder, start_key ---- start_key end_key replicas lease_holder - …/1/0 {1} 1 + …/1/0 {1} 1 …/1/0 …/1/10 {1} 1 …/1/10 …/1/20 {2} 2 …/1/20 {3} 3 diff --git a/pkg/sql/logictest/testdata/logic_test/distsql_numtables b/pkg/sql/logictest/testdata/logic_test/distsql_numtables index da95c5c313d7..a846a453a9e1 100644 --- a/pkg/sql/logictest/testdata/logic_test/distsql_numtables +++ b/pkg/sql/logictest/testdata/logic_test/distsql_numtables @@ -30,14 +30,14 @@ query TTTI colnames SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE NumToSquare WITH DETAILS] ---- start_key end_key replicas lease_holder - {1} 1 + {1} 1 query TTTI colnames,rowsort SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE NumToStr WITH DETAILS] ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/2000 {1} 1 + …/1/2000 {1} 1 …/1/2000 …/1/4000 {2} 2 …/1/4000 …/1/6000 {3} 3 …/1/6000 …/1/8000 {4} 4 diff --git a/pkg/sql/logictest/testdata/logic_test/distsql_stats b/pkg/sql/logictest/testdata/logic_test/distsql_stats index f7148d9401cb..74473ee8d4e5 100644 --- a/pkg/sql/logictest/testdata/logic_test/distsql_stats +++ b/pkg/sql/logictest/testdata/logic_test/distsql_stats @@ -32,7 +32,7 @@ query TTTI colnames,rowsort SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE data WITH DETAILS] ---- start_key end_key replicas lease_holder - …/1/1 {1} 1 + …/1/1 {1} 1 …/1/1 …/1/2 {2} 2 …/1/2 …/1/3 {3} 3 …/1/3 …/1/4 {4} 4 diff --git a/pkg/sql/logictest/testdata/logic_test/distsql_subquery b/pkg/sql/logictest/testdata/logic_test/distsql_subquery index 89f0153b8be1..3dc80bfd804f 100644 --- a/pkg/sql/logictest/testdata/logic_test/distsql_subquery +++ b/pkg/sql/logictest/testdata/logic_test/distsql_subquery @@ -23,7 +23,7 @@ SELECT start_key, end_key, replicas, lease_holder from [SHOW RANGES FROM TABLE a ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/2 {1} 1 + …/1/2 {1} 1 …/1/2 {2} 2 query T diff --git a/pkg/sql/logictest/testdata/logic_test/distsql_union b/pkg/sql/logictest/testdata/logic_test/distsql_union index 220a6a78e9ac..2da7f6fea324 100644 --- a/pkg/sql/logictest/testdata/logic_test/distsql_union +++ b/pkg/sql/logictest/testdata/logic_test/distsql_union @@ -32,7 +32,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE x ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/2 {1} 1 + …/1/2 {1} 1 …/1/2 …/1/3 {2} 2 …/1/3 …/1/4 {3} 3 …/1/4 …/1/5 {4} 4 diff --git a/pkg/sql/logictest/testdata/logic_test/experimental_distsql_planning_5node b/pkg/sql/logictest/testdata/logic_test/experimental_distsql_planning_5node index 40bfa8a2501f..7515f97aa25a 100644 --- a/pkg/sql/logictest/testdata/logic_test/experimental_distsql_planning_5node +++ b/pkg/sql/logictest/testdata/logic_test/experimental_distsql_planning_5node @@ -23,7 +23,7 @@ SELECT start_key, end_key, replicas, lease_holder from [SHOW RANGES FROM TABLE k ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/1 {1} 1 + …/1/1 {1} 1 …/1/1 …/1/2 {1} 1 …/1/2 …/1/3 {2} 2 …/1/3 …/1/4 {3} 3 diff --git a/pkg/sql/logictest/testdata/logic_test/export b/pkg/sql/logictest/testdata/logic_test/export index b2849ca6894c..4ba069b5dab4 100644 --- a/pkg/sql/logictest/testdata/logic_test/export +++ b/pkg/sql/logictest/testdata/logic_test/export @@ -12,4 +12,4 @@ WITH cte AS (EXPORT INTO PARQUET 'nodelocal://1/export1/' FROM SELECT * FROM t) query T noticetrace WITH cte AS (EXPORT INTO CSV 'nodelocal://1/export1/' FROM SELECT * FROM t) SELECT filename FROM cte; ---- -NOTICE: EXPORT is not the recommended way to move data out of CockroachDB and may be deprecated in the future. Please consider exporting data with changefeeds instead: https://www.cockroachlabs.com/docs/stable/export-data-with-changefeeds \ No newline at end of file +NOTICE: EXPORT is not the recommended way to move data out of CockroachDB and may be deprecated in the future. Please consider exporting data with changefeeds instead: https://www.cockroachlabs.com/docs/stable/export-data-with-changefeeds diff --git a/pkg/sql/logictest/testdata/logic_test/gen_test_objects b/pkg/sql/logictest/testdata/logic_test/gen_test_objects index 6078d37a97ff..56b08b930d5c 100644 --- a/pkg/sql/logictest/testdata/logic_test/gen_test_objects +++ b/pkg/sql/logictest/testdata/logic_test/gen_test_objects @@ -179,17 +179,18 @@ query T SELECT table_name FROM [SHOW TABLES] ORDER BY table_name ---- -comments -join_tok\\x86ens -lease -protecte😠d_ts_records -ra ngelog +mig%prations +privileges +replication_constraint_stats replication_critical_localities -statement_bundle_chunks +s +t̾atement_diagnostics +schedulEd_jobs +statement_execution_insights +sta͌temenṭ_bundlẻ_chunks sta😣tement_statistics table_statistics tenant_id_seq -🙁role_members # Again, the column names are randomized. query TTT @@ -198,26 +199,26 @@ WHERE table_catalog = 'newdb2' AND table_schema = 'public' ORDER BY table_name, column_name LIMIT 20 ---- -comments "comm😷eNt" text -comments object_id bigint -comments rowid bigint -comments sub_id bigint -comments "type%q" bigint -"join_tok\\x86ens" " expiration" timestamp with time zone -"join_tok\\x86ens" rowid bigint -"join_tok\\x86ens" "secre%pt%q" bytea -"join_tok\\x86ens" "😺id " uuid -lease "crd%qb_region" bytea -lease "des\fcID" bigint -lease "expir(at\\xb6ion" timestamp without time zone -lease "nodeID̸" bigint -lease rowid bigint -lease version bigint -protecte😠d_ts_records _ts numeric -protecte😠d_ts_records "i'd" uuid -protecte😠d_ts_records "meta_typ e" text -protecte😠d_ts_records met😹a bytea -protecte😠d_ts_records num_spans bigint +"mig%prations" "%qm,inor" bigint +"mig%prations" completed_at timestamp with time zone +"mig%prations" internal bigint +"mig%prations" "major'" bigint +"mig%prations" patch bigint +"mig%prations" rowid bigint +privileges "gran t_options" ARRAY +privileges path😀 text +privileges privileges ARRAY +privileges rowid bigint +privileges "user%q_%qid" oid +privileges username text +replication_constraint_stats " ty*pe" text +replication_constraint_stats config text +replication_constraint_stats report_id bigint +replication_constraint_stats rowid bigint +replication_constraint_stats subzone_id bigint +replication_constraint_stats "viola!tion_start" timestamp with time zone +replication_constraint_stats violating_ranges bigint +replication_constraint_stats zon😂e_id bigint subtest templates/different_templates_in_each_db @@ -235,15 +236,15 @@ SELECT quote_ident(database_name), quote_ident(schema_name), quote_ident(name) FROM "".crdb_internal.tables WHERE database_name ILIKE '%d%b%t%' ORDER BY database_name, schema_name, name ---- -"d%qbt1" public privileges -"d%qbt1" public replication_stats -"d%qbt1" public "stat ement_diagnostics" -"d%qbt2" public eventlog -"d%qbt2" public "role_option's" -"d%qbt2" public "web_seSsions" -dbt3 public "%0eusers" -dbt3 public span_configurations -dbt3 public "transaction_ac'tivity" +"d%qbt1" public span_stats_samples +"d%qbt1" public "t abLe_statistics" +"d%qbt1" public "transaction_execut%ion_insights" +"d%qbt2" public "r\\x0fegion_liveness" +"d%qbt2" public span_stats_buckets +"d%qbt2" public "transaction_statisTics" +dbt3 public "extern'al_connections" +dbt3 public "te\\x64nant_i""d_se q" +dbt3 public "tenant_setting%vs" statement ok diff --git a/pkg/sql/logictest/testdata/logic_test/geospatial b/pkg/sql/logictest/testdata/logic_test/geospatial index 57ffa6568170..8ade18f32d98 100644 --- a/pkg/sql/logictest/testdata/logic_test/geospatial +++ b/pkg/sql/logictest/testdata/logic_test/geospatial @@ -6176,4 +6176,3 @@ WHERE null empty 1 empty 2 - diff --git a/pkg/sql/logictest/testdata/logic_test/grant_table b/pkg/sql/logictest/testdata/logic_test/grant_table index 20dc86ab94ff..21f4c040ddb1 100644 --- a/pkg/sql/logictest/testdata/logic_test/grant_table +++ b/pkg/sql/logictest/testdata/logic_test/grant_table @@ -973,6 +973,18 @@ system public tenant_tasks admin UPDATE system public statement_activity admin SELECT true system public transaction_activity admin SELECT true system public tenant_id_seq admin SELECT true +system public mvcc_statistics admin DELETE true +system public mvcc_statistics admin INSERT true +system public mvcc_statistics admin SELECT true +system public mvcc_statistics admin UPDATE true +system public transaction_execution_insights admin DELETE true +system public transaction_execution_insights admin INSERT true +system public transaction_execution_insights admin SELECT true +system public transaction_execution_insights admin UPDATE true +system public statement_execution_insights admin DELETE true +system public statement_execution_insights admin INSERT true +system public statement_execution_insights admin SELECT true +system public statement_execution_insights admin UPDATE true a public NULL admin ALL true defaultdb public NULL admin ALL true postgres public NULL admin ALL true @@ -1168,6 +1180,18 @@ system public tenant_tasks root UPDATE system public statement_activity root SELECT true system public transaction_activity root SELECT true system public tenant_id_seq root SELECT true +system public mvcc_statistics root DELETE true +system public mvcc_statistics root INSERT true +system public mvcc_statistics root SELECT true +system public mvcc_statistics root UPDATE true +system public transaction_execution_insights root DELETE true +system public transaction_execution_insights root INSERT true +system public transaction_execution_insights root SELECT true +system public transaction_execution_insights root UPDATE true +system public statement_execution_insights root DELETE true +system public statement_execution_insights root INSERT true +system public statement_execution_insights root SELECT true +system public statement_execution_insights root UPDATE true a pg_extension NULL public USAGE false a public NULL public CREATE false a public NULL public USAGE false @@ -1981,6 +2005,14 @@ system public migrations root DELETE system public migrations root INSERT true system public migrations root SELECT true system public migrations root UPDATE true +system public mvcc_statistics admin DELETE true +system public mvcc_statistics admin INSERT true +system public mvcc_statistics admin SELECT true +system public mvcc_statistics admin UPDATE true +system public mvcc_statistics root DELETE true +system public mvcc_statistics root INSERT true +system public mvcc_statistics root SELECT true +system public mvcc_statistics root UPDATE true system public namespace admin SELECT true system public namespace root SELECT true system public privileges admin DELETE true @@ -2163,6 +2195,14 @@ system public statement_diagnostics_requests root DELETE system public statement_diagnostics_requests root INSERT true system public statement_diagnostics_requests root SELECT true system public statement_diagnostics_requests root UPDATE true +system public statement_execution_insights admin DELETE true +system public statement_execution_insights admin INSERT true +system public statement_execution_insights admin SELECT true +system public statement_execution_insights admin UPDATE true +system public statement_execution_insights root DELETE true +system public statement_execution_insights root INSERT true +system public statement_execution_insights root SELECT true +system public statement_execution_insights root UPDATE true system public statement_statistics admin SELECT true system public statement_statistics root SELECT true system public table_statistics admin DELETE true @@ -2211,6 +2251,14 @@ system public tenants admin SELECT system public tenants root SELECT true system public transaction_activity admin SELECT true system public transaction_activity root SELECT true +system public transaction_execution_insights admin DELETE true +system public transaction_execution_insights admin INSERT true +system public transaction_execution_insights admin SELECT true +system public transaction_execution_insights admin UPDATE true +system public transaction_execution_insights root DELETE true +system public transaction_execution_insights root INSERT true +system public transaction_execution_insights root SELECT true +system public transaction_execution_insights root UPDATE true system public transaction_statistics admin SELECT true system public transaction_statistics root SELECT true system public ui admin DELETE true diff --git a/pkg/sql/logictest/testdata/logic_test/information_schema b/pkg/sql/logictest/testdata/logic_test/information_schema index 544a62160a68..22f2250ca563 100644 --- a/pkg/sql/logictest/testdata/logic_test/information_schema +++ b/pkg/sql/logictest/testdata/logic_test/information_schema @@ -1245,6 +1245,7 @@ system crdb_internal leases SYSTE system public locations BASE TABLE YES 1 system crdb_internal lost_descriptors_with_data SYSTEM VIEW NO 1 system public migrations BASE TABLE YES 1 +system public mvcc_statistics BASE TABLE YES 1 system public namespace BASE TABLE YES 1 system crdb_internal node_build_info SYSTEM VIEW NO 1 system crdb_internal node_contention_events SYSTEM VIEW NO 1 @@ -1452,6 +1453,7 @@ system public statement_activity BASE system public statement_bundle_chunks BASE TABLE YES 1 system public statement_diagnostics BASE TABLE YES 1 system public statement_diagnostics_requests BASE TABLE YES 1 +system public statement_execution_insights BASE TABLE YES 1 system crdb_internal statement_statistics SYSTEM VIEW NO 1 system public statement_statistics BASE TABLE YES 1 system crdb_internal statement_statistics_persisted SYSTEM VIEW NO 1 @@ -1481,6 +1483,7 @@ system public tenants BASE system crdb_internal transaction_activity SYSTEM VIEW NO 1 system public transaction_activity BASE TABLE YES 1 system crdb_internal transaction_contention_events SYSTEM VIEW NO 1 +system public transaction_execution_insights BASE TABLE YES 1 system crdb_internal transaction_statistics SYSTEM VIEW NO 1 system public transaction_statistics BASE TABLE YES 1 system crdb_internal transaction_statistics_persisted SYSTEM VIEW NO 1 @@ -1624,6 +1627,14 @@ system public 29_40_3_not_null system public 29_40_4_not_null system public migrations CHECK NO NO system public 29_40_5_not_null system public migrations CHECK NO NO system public primary system public migrations PRIMARY KEY NO NO +system public 29_63_1_not_null system public mvcc_statistics CHECK NO NO +system public 29_63_2_not_null system public mvcc_statistics CHECK NO NO +system public 29_63_3_not_null system public mvcc_statistics CHECK NO NO +system public 29_63_4_not_null system public mvcc_statistics CHECK NO NO +system public 29_63_5_not_null system public mvcc_statistics CHECK NO NO +system public 29_63_6_not_null system public mvcc_statistics CHECK NO NO +system public check_crdb_internal_created_at_database_id_index_id_table_id_shard_16 system public mvcc_statistics CHECK NO NO +system public mvcc_statistics_pkey system public mvcc_statistics PRIMARY KEY NO NO system public 29_30_1_not_null system public namespace CHECK NO NO system public 29_30_2_not_null system public namespace CHECK NO NO system public 29_30_3_not_null system public namespace CHECK NO NO @@ -1766,6 +1777,15 @@ system public 29_35_3_not_null system public 29_35_5_not_null system public statement_diagnostics_requests CHECK NO NO system public check_sampling_probability system public statement_diagnostics_requests CHECK NO NO system public primary system public statement_diagnostics_requests PRIMARY KEY NO NO +system public 29_65_1_not_null system public statement_execution_insights CHECK NO NO +system public 29_65_28_not_null system public statement_execution_insights CHECK NO NO +system public 29_65_29_not_null system public statement_execution_insights CHECK NO NO +system public 29_65_2_not_null system public statement_execution_insights CHECK NO NO +system public 29_65_3_not_null system public statement_execution_insights CHECK NO NO +system public 29_65_4_not_null system public statement_execution_insights CHECK NO NO +system public 29_65_5_not_null system public statement_execution_insights CHECK NO NO +system public check_crdb_internal_end_time_start_time_shard_16 system public statement_execution_insights CHECK NO NO +system public primary system public statement_execution_insights PRIMARY KEY NO NO system public 29_42_10_not_null system public statement_statistics CHECK NO NO system public 29_42_11_not_null system public statement_statistics CHECK NO NO system public 29_42_12_not_null system public statement_statistics CHECK NO NO @@ -1837,6 +1857,13 @@ system public 29_61_7_not_null system public 29_61_8_not_null system public transaction_activity CHECK NO NO system public 29_61_9_not_null system public transaction_activity CHECK NO NO system public primary system public transaction_activity PRIMARY KEY NO NO +system public 29_64_1_not_null system public transaction_execution_insights CHECK NO NO +system public 29_64_22_not_null system public transaction_execution_insights CHECK NO NO +system public 29_64_23_not_null system public transaction_execution_insights CHECK NO NO +system public 29_64_2_not_null system public transaction_execution_insights CHECK NO NO +system public 29_64_5_not_null system public transaction_execution_insights CHECK NO NO +system public check_crdb_internal_end_time_start_time_shard_16 system public transaction_execution_insights CHECK NO NO +system public primary system public transaction_execution_insights PRIMARY KEY NO NO system public 29_43_1_not_null system public transaction_statistics CHECK NO NO system public 29_43_2_not_null system public transaction_statistics CHECK NO NO system public 29_43_3_not_null system public transaction_statistics CHECK NO NO @@ -2109,6 +2136,21 @@ system public 29_61_7_not_null system public 29_61_8_not_null execution_count IS NOT NULL system public 29_61_9_not_null execution_total_seconds IS NOT NULL system public 29_62_1_not_null value IS NOT NULL +system public 29_63_1_not_null created_at IS NOT NULL +system public 29_63_2_not_null database_id IS NOT NULL +system public 29_63_3_not_null table_id IS NOT NULL +system public 29_63_4_not_null index_id IS NOT NULL +system public 29_63_5_not_null statistics IS NOT NULL +system public 29_64_1_not_null transaction_id IS NOT NULL +system public 29_64_22_not_null created IS NOT NULL +system public 29_64_2_not_null transaction_fingerprint_id IS NOT NULL +system public 29_64_5_not_null session_id IS NOT NULL +system public 29_65_1_not_null session_id IS NOT NULL +system public 29_65_28_not_null created IS NOT NULL +system public 29_65_2_not_null transaction_id IS NOT NULL +system public 29_65_3_not_null transaction_fingerprint_id IS NOT NULL +system public 29_65_4_not_null statement_id IS NOT NULL +system public 29_65_5_not_null statement_fingerprint_id IS NOT NULL system public 29_6_1_not_null name IS NOT NULL system public 29_6_2_not_null value IS NOT NULL system public 29_6_3_not_null lastUpdated IS NOT NULL @@ -2118,6 +2160,9 @@ system public 29_9_1_not_null system public check_bounds ((start_key < end_key)) system public check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8 ((crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8 IN (0:::INT8, 1:::INT8, 2:::INT8, 3:::INT8, 4:::INT8, 5:::INT8, 6:::INT8, 7:::INT8))) system public check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8 ((crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8 IN (0:::INT8, 1:::INT8, 2:::INT8, 3:::INT8, 4:::INT8, 5:::INT8, 6:::INT8, 7:::INT8))) +system public check_crdb_internal_created_at_database_id_index_id_table_id_shard_16 ((crdb_internal_created_at_database_id_index_id_table_id_shard_16 IN (0:::INT8, 1:::INT8, 2:::INT8, 3:::INT8, 4:::INT8, 5:::INT8, 6:::INT8, 7:::INT8, 8:::INT8, 9:::INT8, 10:::INT8, 11:::INT8, 12:::INT8, 13:::INT8, 14:::INT8, 15:::INT8))) +system public check_crdb_internal_end_time_start_time_shard_16 ((crdb_internal_end_time_start_time_shard_16 IN (0:::INT8, 1:::INT8, 2:::INT8, 3:::INT8, 4:::INT8, 5:::INT8, 6:::INT8, 7:::INT8, 8:::INT8, 9:::INT8, 10:::INT8, 11:::INT8, 12:::INT8, 13:::INT8, 14:::INT8, 15:::INT8))) +system public check_crdb_internal_end_time_start_time_shard_16 ((crdb_internal_end_time_start_time_shard_16 IN (0:::INT8, 1:::INT8, 2:::INT8, 3:::INT8, 4:::INT8, 5:::INT8, 6:::INT8, 7:::INT8, 8:::INT8, 9:::INT8, 10:::INT8, 11:::INT8, 12:::INT8, 13:::INT8, 14:::INT8, 15:::INT8))) system public check_sampling_probability ((sampling_probability BETWEEN 0.0:::FLOAT8 AND 1.0:::FLOAT8)) system public check_singleton ((singleton)) @@ -2156,6 +2201,12 @@ system public migrations internal system public migrations major system public primary system public migrations minor system public primary system public migrations patch system public primary +system public mvcc_statistics crdb_internal_created_at_database_id_index_id_table_id_shard_16 system public check_crdb_internal_created_at_database_id_index_id_table_id_shard_16 +system public mvcc_statistics crdb_internal_created_at_database_id_index_id_table_id_shard_16 system public mvcc_statistics_pkey +system public mvcc_statistics created_at system public mvcc_statistics_pkey +system public mvcc_statistics database_id system public mvcc_statistics_pkey +system public mvcc_statistics index_id system public mvcc_statistics_pkey +system public mvcc_statistics table_id system public mvcc_statistics_pkey system public namespace name system public primary system public namespace parentID system public primary system public namespace parentSchemaID system public primary @@ -2212,6 +2263,9 @@ system public statement_bundle_chunks id system public statement_diagnostics id system public primary system public statement_diagnostics_requests id system public primary system public statement_diagnostics_requests sampling_probability system public check_sampling_probability +system public statement_execution_insights crdb_internal_end_time_start_time_shard_16 system public check_crdb_internal_end_time_start_time_shard_16 +system public statement_execution_insights statement_id system public primary +system public statement_execution_insights transaction_id system public primary system public statement_statistics aggregated_ts system public primary system public statement_statistics app_name system public primary system public statement_statistics crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8 system public check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8 @@ -2236,6 +2290,8 @@ system public tenants name system public transaction_activity aggregated_ts system public primary system public transaction_activity app_name system public primary system public transaction_activity fingerprint_id system public primary +system public transaction_execution_insights crdb_internal_end_time_start_time_shard_16 system public check_crdb_internal_end_time_start_time_shard_16 +system public transaction_execution_insights transaction_id system public primary system public transaction_statistics aggregated_ts system public primary system public transaction_statistics app_name system public primary system public transaction_statistics crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8 system public check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8 @@ -2415,6 +2471,12 @@ system public migrations internal system public migrations major 1 system public migrations minor 2 system public migrations patch 3 +system public mvcc_statistics crdb_internal_created_at_database_id_index_id_table_id_shard_16 6 +system public mvcc_statistics created_at 1 +system public mvcc_statistics database_id 2 +system public mvcc_statistics index_id 4 +system public mvcc_statistics statistics 5 +system public mvcc_statistics table_id 3 system public namespace id 4 system public namespace name 3 system public namespace parentID 1 @@ -2557,6 +2619,35 @@ system public statement_diagnostics_requests requested_at system public statement_diagnostics_requests sampling_probability 8 system public statement_diagnostics_requests statement_diagnostics_id 4 system public statement_diagnostics_requests statement_fingerprint 3 +system public statement_execution_insights app_name 14 +system public statement_execution_insights causes 7 +system public statement_execution_insights contention_info 26 +system public statement_execution_insights contention_time 25 +system public statement_execution_insights cpu_sql_nanos 23 +system public statement_execution_insights crdb_internal_end_time_start_time_shard_16 29 +system public statement_execution_insights created 28 +system public statement_execution_insights database_name 16 +system public statement_execution_insights details 27 +system public statement_execution_insights end_time 11 +system public statement_execution_insights error_code 24 +system public statement_execution_insights execution_node_ids 20 +system public statement_execution_insights full_scan 12 +system public statement_execution_insights implicit_txn 22 +system public statement_execution_insights index_recommendations 21 +system public statement_execution_insights last_retry_reason 19 +system public statement_execution_insights plan_gist 17 +system public statement_execution_insights problem 6 +system public statement_execution_insights query 8 +system public statement_execution_insights retries 18 +system public statement_execution_insights session_id 1 +system public statement_execution_insights start_time 10 +system public statement_execution_insights statement_fingerprint_id 5 +system public statement_execution_insights statement_id 4 +system public statement_execution_insights status 9 +system public statement_execution_insights transaction_fingerprint_id 3 +system public statement_execution_insights transaction_id 2 +system public statement_execution_insights user_name 13 +system public statement_execution_insights user_priority 15 system public statement_statistics agg_interval 7 system public statement_statistics aggregated_ts 1 system public statement_statistics app_name 5 @@ -2642,6 +2733,29 @@ system public transaction_activity query system public transaction_activity service_latency_avg_seconds 13 system public transaction_activity service_latency_p99_seconds 14 system public transaction_activity statistics 6 +system public transaction_execution_insights app_name 9 +system public transaction_execution_insights causes 14 +system public transaction_execution_insights contention_info 20 +system public transaction_execution_insights contention_time 19 +system public transaction_execution_insights cpu_sql_nanos 16 +system public transaction_execution_insights crdb_internal_end_time_start_time_shard_16 23 +system public transaction_execution_insights created 22 +system public transaction_execution_insights details 21 +system public transaction_execution_insights end_time 7 +system public transaction_execution_insights implicit_txn 4 +system public transaction_execution_insights last_error_code 17 +system public transaction_execution_insights last_retry_reason 12 +system public transaction_execution_insights problems 13 +system public transaction_execution_insights query_summary 3 +system public transaction_execution_insights retries 11 +system public transaction_execution_insights session_id 5 +system public transaction_execution_insights start_time 6 +system public transaction_execution_insights status 18 +system public transaction_execution_insights stmt_execution_ids 15 +system public transaction_execution_insights transaction_fingerprint_id 2 +system public transaction_execution_insights transaction_id 1 +system public transaction_execution_insights user_name 8 +system public transaction_execution_insights user_priority 10 system public transaction_statistics agg_interval 5 system public transaction_statistics aggregated_ts 1 system public transaction_statistics app_name 3 @@ -3547,6 +3661,14 @@ NULL root system public migrations NULL root system public migrations INSERT YES NO NULL root system public migrations SELECT YES YES NULL root system public migrations UPDATE YES NO +NULL admin system public mvcc_statistics DELETE YES NO +NULL admin system public mvcc_statistics INSERT YES NO +NULL admin system public mvcc_statistics SELECT YES YES +NULL admin system public mvcc_statistics UPDATE YES NO +NULL root system public mvcc_statistics DELETE YES NO +NULL root system public mvcc_statistics INSERT YES NO +NULL root system public mvcc_statistics SELECT YES YES +NULL root system public mvcc_statistics UPDATE YES NO NULL admin system public namespace SELECT YES YES NULL root system public namespace SELECT YES YES NULL admin system public privileges DELETE YES NO @@ -3729,6 +3851,14 @@ NULL root system public statement_diagnostics_reque NULL root system public statement_diagnostics_requests INSERT YES NO NULL root system public statement_diagnostics_requests SELECT YES YES NULL root system public statement_diagnostics_requests UPDATE YES NO +NULL admin system public statement_execution_insights DELETE YES NO +NULL admin system public statement_execution_insights INSERT YES NO +NULL admin system public statement_execution_insights SELECT YES YES +NULL admin system public statement_execution_insights UPDATE YES NO +NULL root system public statement_execution_insights DELETE YES NO +NULL root system public statement_execution_insights INSERT YES NO +NULL root system public statement_execution_insights SELECT YES YES +NULL root system public statement_execution_insights UPDATE YES NO NULL admin system public statement_statistics SELECT YES YES NULL root system public statement_statistics SELECT YES YES NULL admin system public table_statistics DELETE YES NO @@ -3777,6 +3907,14 @@ NULL admin system public tenants NULL root system public tenants SELECT YES YES NULL admin system public transaction_activity SELECT YES YES NULL root system public transaction_activity SELECT YES YES +NULL admin system public transaction_execution_insights DELETE YES NO +NULL admin system public transaction_execution_insights INSERT YES NO +NULL admin system public transaction_execution_insights SELECT YES YES +NULL admin system public transaction_execution_insights UPDATE YES NO +NULL root system public transaction_execution_insights DELETE YES NO +NULL root system public transaction_execution_insights INSERT YES NO +NULL root system public transaction_execution_insights SELECT YES YES +NULL root system public transaction_execution_insights UPDATE YES NO NULL admin system public transaction_statistics SELECT YES YES NULL root system public transaction_statistics SELECT YES YES NULL admin system public ui DELETE YES NO @@ -4482,6 +4620,30 @@ NULL admin system public transaction_activity NULL root system public transaction_activity SELECT YES YES NULL admin system public tenant_id_seq SELECT YES YES NULL root system public tenant_id_seq SELECT YES YES +NULL admin system public mvcc_statistics DELETE YES NO +NULL admin system public mvcc_statistics INSERT YES NO +NULL admin system public mvcc_statistics SELECT YES YES +NULL admin system public mvcc_statistics UPDATE YES NO +NULL root system public mvcc_statistics DELETE YES NO +NULL root system public mvcc_statistics INSERT YES NO +NULL root system public mvcc_statistics SELECT YES YES +NULL root system public mvcc_statistics UPDATE YES NO +NULL admin system public transaction_execution_insights DELETE YES NO +NULL admin system public transaction_execution_insights INSERT YES NO +NULL admin system public transaction_execution_insights SELECT YES YES +NULL admin system public transaction_execution_insights UPDATE YES NO +NULL root system public transaction_execution_insights DELETE YES NO +NULL root system public transaction_execution_insights INSERT YES NO +NULL root system public transaction_execution_insights SELECT YES YES +NULL root system public transaction_execution_insights UPDATE YES NO +NULL admin system public statement_execution_insights DELETE YES NO +NULL admin system public statement_execution_insights INSERT YES NO +NULL admin system public statement_execution_insights SELECT YES YES +NULL admin system public statement_execution_insights UPDATE YES NO +NULL root system public statement_execution_insights DELETE YES NO +NULL root system public statement_execution_insights INSERT YES NO +NULL root system public statement_execution_insights SELECT YES YES +NULL root system public statement_execution_insights UPDATE YES NO statement ok USE other_db; diff --git a/pkg/sql/logictest/testdata/logic_test/inverted_filter_geospatial_dist b/pkg/sql/logictest/testdata/logic_test/inverted_filter_geospatial_dist index 2d913f067347..e8081b10b559 100644 --- a/pkg/sql/logictest/testdata/logic_test/inverted_filter_geospatial_dist +++ b/pkg/sql/logictest/testdata/logic_test/inverted_filter_geospatial_dist @@ -63,7 +63,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM INDEX g ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1152921574000000000 {1} 1 + …/1152921574000000000 {1} 1 …/1152921574000000000 {2} 2 # Distributed. @@ -92,7 +92,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM INDEX g ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1152921574000000000 {2} 2 + …/1152921574000000000 {2} 2 …/1152921574000000000 {2} 2 query I diff --git a/pkg/sql/logictest/testdata/logic_test/inverted_join_geospatial_dist b/pkg/sql/logictest/testdata/logic_test/inverted_join_geospatial_dist index 486378403e44..cbff82670ef9 100644 --- a/pkg/sql/logictest/testdata/logic_test/inverted_join_geospatial_dist +++ b/pkg/sql/logictest/testdata/logic_test/inverted_join_geospatial_dist @@ -39,7 +39,7 @@ query TTTI colnames SELECT start_key, end_key, replicas, lease_holder from [SHOW EXPERIMENTAL_RANGES FROM TABLE ltable WITH DETAILS] ORDER BY lease_holder ---- start_key end_key replicas lease_holder - …/1/2 {1} 1 + …/1/2 {1} 1 …/1/2 …/1/3 {2} 2 …/1/3 {3} 3 diff --git a/pkg/sql/logictest/testdata/logic_test/merge_join_dist b/pkg/sql/logictest/testdata/logic_test/merge_join_dist index 9bef13f747a8..75fdd5c48bf7 100644 --- a/pkg/sql/logictest/testdata/logic_test/merge_join_dist +++ b/pkg/sql/logictest/testdata/logic_test/merge_join_dist @@ -30,7 +30,7 @@ query TTTI colnames SELECT start_key, end_key, replicas, lease_holder from [SHOW RANGES FROM TABLE l WITH DETAILS] ORDER BY lease_holder ---- start_key end_key replicas lease_holder - …/1/2 {1} 1 + …/1/2 {1} 1 …/1/2 …/1/3 {2} 2 …/1/3 {3} 3 diff --git a/pkg/sql/logictest/testdata/logic_test/pg_catalog b/pkg/sql/logictest/testdata/logic_test/pg_catalog index 6951579dbc15..3f9413046175 100644 --- a/pkg/sql/logictest/testdata/logic_test/pg_catalog +++ b/pkg/sql/logictest/testdata/logic_test/pg_catalog @@ -1127,6 +1127,9 @@ FROM pg_catalog.pg_index ORDER BY indexrelid ---- indexrelid indrelid indnatts indisunique indnullsnotdistinct indisprimary indisexclusion indimmediate indisclustered indisvalid indcheckxmin indisready indislive indisreplident indkey indcollation indclass indoption indexprs indpred indnkeyatts +51576700 64 1 true false true false true false true false false true false 1 0 0 2 NULL NULL 1 +51576702 64 2 false false false false false false true false false true false 6 7 0 0 0 0 1 1 NULL NULL 2 +51576703 64 1 false false false false false false true false false true false 2 0 0 2 NULL NULL 1 144368028 32 1 true false true false true false true false false true false 1 0 0 2 NULL NULL 1 190763692 48 1 false false true false false false true false false true false 1 0 0 2 NULL NULL 1 404104296 39 2 true false true false true false true false false true false 3 1 0 0 0 0 2 2 NULL NULL 2 @@ -1152,7 +1155,7 @@ indexrelid indrelid indnatts indisunique indnullsnotdistinct indisprimary 803027558 26 3 true false true false true false true false false true false 1 2 3 0 0 3403232968 0 0 0 2 2 2 NULL NULL 3 923576837 41 1 true false true false true false true false false true false 1 0 0 2 NULL NULL 1 969972501 57 1 true false true false true false true false false true false 1 0 0 2 NULL NULL 1 -1016368165 9 1 true false true false true false true false false true false 1 0 0 2 NULL NULL 1 +1016368165 9 1 true false true false true false true false false true false 1 0 0 2 NULL NULL 1 1062763829 25 4 true false true false true false true false false true false 1 2 3 4 0 0 3403232968 3403232968 0 0 0 0 2 2 2 2 NULL NULL 4 1183313104 44 2 true false true false true false true false false true false 1 2 0 3403232968 0 0 2 2 NULL NULL 2 1183313107 44 3 true false false false true false true false false true false 1 4 3 0 0 0 0 2 2 NULL NULL 2 @@ -1193,6 +1196,7 @@ indexrelid indrelid indnatts indisunique indnullsnotdistinct indisprimary 2361445175 8 1 true false false false true false true false false true false 4 3403232968 0 2 NULL NULL 1 2407840836 24 3 true false true false true false true false false true false 1 2 3 0 0 0 0 0 0 2 2 2 NULL NULL 3 2528390115 47 1 true false true false true false true false false true false 1 0 0 2 NULL NULL 1 +2574785779 63 4 true false true false true false true false false true false 1 2 3 4 0 0 0 0 0 0 0 0 2 2 2 2 NULL NULL 4 2621181440 15 2 false false false false false false true false false true false 2 3 3403232968 0 0 0 2 2 NULL NULL 2 2621181441 15 3 false false false false false false true false false true false 6 7 2 3403232968 0 0 0 2 2 NULL NULL 2 2621181443 15 1 true false true false true false true false false true false 1 0 0 2 NULL NULL 1 @@ -1201,6 +1205,11 @@ indexrelid indrelid indnatts indisunique indnullsnotdistinct indisprimary 2667577107 31 1 true false true false true false true false false true false 1 0 0 2 NULL NULL 1 2834522046 34 1 true false true false true false true false false true false 1 0 0 2 NULL NULL 1 2880917710 50 2 true false true false true false true false false true false 1 2 0 3403232968 0 0 2 2 NULL NULL 2 +3001466984 65 3 false false false false false false true false false true false 5 10 11 0 0 0 0 0 0 2 1 1 NULL NULL 3 +3001466985 65 2 false false false false false false true false false true false 10 11 0 0 0 0 1 1 NULL NULL 2 +3001466989 65 2 true false true false true false true false false true false 4 2 3403232968 0 0 0 2 2 NULL NULL 2 +3001466990 65 1 false false false false false false true false false true false 2 0 0 2 NULL NULL 1 +3001466991 65 3 false false false false false false true false false true false 3 10 11 0 0 0 0 0 0 2 1 1 NULL NULL 3 3094258317 33 2 true false true false true false true false false true false 1 2 3403232968 3403232968 0 0 2 2 NULL NULL 2 3094258318 33 1 false false false false false false true false false true false 4 0 0 2 NULL NULL 1 3353994584 36 1 true false true false true false true false false true false 1 0 0 2 NULL NULL 1 @@ -1244,6 +1253,10 @@ FROM pg_index ORDER BY indexrelid, operator_argument_position ---- indexrelid operator_argument_type_oid operator_argument_position +51576700 0 1 +51576702 0 1 +51576702 0 2 +51576703 0 1 144368028 0 1 190763692 0 1 404104296 0 1 @@ -1362,6 +1375,10 @@ indexrelid operator_argument_type_oid operator_argument_position 2407840836 0 2 2407840836 0 3 2528390115 0 1 +2574785779 0 1 +2574785779 0 2 +2574785779 0 3 +2574785779 0 4 2621181440 0 1 2621181440 0 2 2621181441 0 1 @@ -1375,6 +1392,17 @@ indexrelid operator_argument_type_oid operator_argument_position 2834522046 0 1 2880917710 0 1 2880917710 0 2 +3001466984 0 1 +3001466984 0 2 +3001466984 0 3 +3001466985 0 1 +3001466985 0 2 +3001466989 0 1 +3001466989 0 2 +3001466990 0 1 +3001466991 0 1 +3001466991 0 2 +3001466991 0 3 3094258317 0 1 3094258317 0 2 3094258318 0 1 diff --git a/pkg/sql/logictest/testdata/logic_test/ranges b/pkg/sql/logictest/testdata/logic_test/ranges index aab4cc83333c..f5786cf9b1c8 100644 --- a/pkg/sql/logictest/testdata/logic_test/ranges +++ b/pkg/sql/logictest/testdata/logic_test/ranges @@ -14,7 +14,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE t ORDER BY 1 ---- start_key end_key replicas lease_holder - {1} 1 + {1} 1 statement ok ALTER TABLE t SPLIT AT VALUES (1), (10) @@ -24,7 +24,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE t ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/1 {1} 1 + …/1/1 {1} 1 …/1/1 …/1/10 {1} 1 …/1/10 {1} 1 @@ -39,7 +39,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE t ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/1 {1} 1 + …/1/1 {1} 1 …/1/1 …/1/10 {4} 4 …/1/10 {1} 1 @@ -51,7 +51,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE t ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/1 {1} 1 + …/1/1 {1} 1 …/1/1 …/1/5/1 {4} 4 …/1/10 {1} 1 …/1/5/1 …/1/5/2 {4} 4 @@ -72,7 +72,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE t ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/1 {1} 1 + …/1/1 {1} 1 …/1/1 …/1/5/1 {3,4} 3 …/1/10 {1} 1 …/1/5/1 …/1/5/2 {1,2,3} 1 @@ -226,7 +226,10 @@ c2 /Table/58 c3 /Table/ c3 /Table/59 c4 /Table/60 {1} 1 c4 /Table/60 c5 /Table/61 {1} 1 c5 /Table/61 c6 /Table/62 {1} 1 -c6 /Table/62 f28989 /Table/106/1/1 {1} 1 +c6 /Table/62 c7 /Table/63 {1} 1 +c7 /Table/63 c8 /Table/64 {1} 1 +c8 /Table/64 c9 /Table/65 {1} 1 +c9 /Table/65 f28989 /Table/106/1/1 {1} 1 f28989 /Table/106/1/1 f2898d89 /Table/106/1/5/1 {3,4} 3 f2898d89 /Table/106/1/5/1 f2898d8a /Table/106/1/5/2 {1,2,3} 1 f2898d8a /Table/106/1/5/2 f2898d8b /Table/106/1/5/3 {2,3,5} 5 @@ -309,7 +312,10 @@ c2 /Table/58 c3 /Table/ c3 /Table/59 c4 /Table/60 {1} 1 c4 /Table/60 c5 /Table/61 {1} 1 c5 /Table/61 c6 /Table/62 {1} 1 -c6 /Table/62 f28989 /Table/106/1/1 {1} 1 +c6 /Table/62 c7 /Table/63 {1} 1 +c7 /Table/63 c8 /Table/64 {1} 1 +c8 /Table/64 c9 /Table/65 {1} 1 +c9 /Table/65 f28989 /Table/106/1/1 {1} 1 f28989 /Table/106/1/1 f2898d89 /Table/106/1/5/1 {3,4} 3 f2898d89 /Table/106/1/5/1 f2898d8a /Table/106/1/5/2 {1,2,3} 1 f2898d8a /Table/106/1/5/2 f2898d8b /Table/106/1/5/3 {2,3,5} 5 diff --git a/pkg/sql/logictest/testdata/logic_test/schema_locked_in_cluster_before_23_1 b/pkg/sql/logictest/testdata/logic_test/schema_locked_in_cluster_before_23_1 index ba0fdf0030e3..3f00d6dda46e 100644 --- a/pkg/sql/logictest/testdata/logic_test/schema_locked_in_cluster_before_23_1 +++ b/pkg/sql/logictest/testdata/logic_test/schema_locked_in_cluster_before_23_1 @@ -27,4 +27,3 @@ ALTER TABLE t RESET (schema_locked); statement error pgcode 0A000 cannot set/reset storage parameter "schema_locked" until the cluster version is at least 23.1 ALTER TABLE t RESET (schema_locked, exclude_data_from_backup); - diff --git a/pkg/sql/logictest/testdata/logic_test/select_for_share b/pkg/sql/logictest/testdata/logic_test/select_for_share index a5b6a5a4a15f..0deafe826539 100644 --- a/pkg/sql/logictest/testdata/logic_test/select_for_share +++ b/pkg/sql/logictest/testdata/logic_test/select_for_share @@ -116,4 +116,3 @@ COMMIT # hooked up. - diff --git a/pkg/sql/logictest/testdata/logic_test/show_ranges b/pkg/sql/logictest/testdata/logic_test/show_ranges index f56a8fbc3122..6e2f0098ff34 100644 --- a/pkg/sql/logictest/testdata/logic_test/show_ranges +++ b/pkg/sql/logictest/testdata/logic_test/show_ranges @@ -197,11 +197,11 @@ SELECT start_key, end_key, range_id, split_enforced_until FROM [SHOW RANGES] ORDER BY range_id ---- start_key end_key range_id split_enforced_until -/Table/62 /Table/106/1/10 64 NULL -/Table/106/1/10 /Table/106/2/20 65 2262-04-11 23:47:16.854776 +0000 +0000 -/Table/106/2/20 /Table/106/2/30 66 2262-04-11 23:47:16.854776 +0000 +0000 -/Table/106/2/30 /Table/107/1/42 67 2262-04-11 23:47:16.854776 +0000 +0000 -/Table/107/1/42 /Max 68 2262-04-11 23:47:16.854776 +0000 +0000 +/Table/65 /Table/106/1/10 67 NULL +/Table/106/1/10 /Table/106/2/20 68 2262-04-11 23:47:16.854776 +0000 +0000 +/Table/106/2/20 /Table/106/2/30 69 2262-04-11 23:47:16.854776 +0000 +0000 +/Table/106/2/30 /Table/107/1/42 70 2262-04-11 23:47:16.854776 +0000 +0000 +/Table/107/1/42 /Max 71 2262-04-11 23:47:16.854776 +0000 +0000 # Ditto, verbose form. query TTIIT colnames @@ -209,11 +209,11 @@ SELECT start_key, end_key, range_id, lease_holder, split_enforced_until FROM [SH ORDER BY range_id ---- start_key end_key range_id lease_holder split_enforced_until -/Table/62 /Table/106/1/10 64 1 NULL -/Table/106/1/10 /Table/106/2/20 65 1 2262-04-11 23:47:16.854776 +0000 +0000 -/Table/106/2/20 /Table/106/2/30 66 1 2262-04-11 23:47:16.854776 +0000 +0000 -/Table/106/2/30 /Table/107/1/42 67 1 2262-04-11 23:47:16.854776 +0000 +0000 -/Table/107/1/42 /Max 68 1 2262-04-11 23:47:16.854776 +0000 +0000 +/Table/65 /Table/106/1/10 67 1 NULL +/Table/106/1/10 /Table/106/2/20 68 1 2262-04-11 23:47:16.854776 +0000 +0000 +/Table/106/2/20 /Table/106/2/30 69 1 2262-04-11 23:47:16.854776 +0000 +0000 +/Table/106/2/30 /Table/107/1/42 70 1 2262-04-11 23:47:16.854776 +0000 +0000 +/Table/107/1/42 /Max 71 1 2262-04-11 23:47:16.854776 +0000 +0000 # Show that the new tables shows up in the full range list. query TTITTTITITT colnames @@ -227,13 +227,13 @@ start_key end_key range_id database_name schema_name table_na /Table/25 /Table/26 28 system public replication_constraint_stats 25 primary 1 /Table/25/1 /Table/25/2 /Table/26 /Table/27 29 system public replication_critical_localities 26 primary 1 /Table/26/1 /Table/26/2 /Table/27 /Table/28 30 system public replication_stats 27 primary 1 /Table/27/1 /Table/27/2 -/Table/62 /Table/106/1/10 64 test public t 106 t_pkey 1 /Table/106/1 /Table/106/1/10 -/Table/106/1/10 /Table/106/2/20 65 test public t 106 t_pkey 1 /Table/106/1/10 /Table/106/2 -/Table/106/1/10 /Table/106/2/20 65 test public t 106 idx 2 /Table/106/2 /Table/106/2/20 -/Table/106/2/20 /Table/106/2/30 66 test public t 106 idx 2 /Table/106/2/20 /Table/106/2/30 -/Table/106/2/30 /Table/107/1/42 67 test public t 106 idx 2 /Table/106/2/30 /Table/106/3 -/Table/106/2/30 /Table/107/1/42 67 test public u 107 u_pkey 1 /Table/107/1 /Table/107/1/42 -/Table/107/1/42 /Max 68 test public u 107 u_pkey 1 /Table/107/1/42 /Table/107/2 +/Table/65 /Table/106/1/10 67 test public t 106 t_pkey 1 /Table/106/1 /Table/106/1/10 +/Table/106/1/10 /Table/106/2/20 68 test public t 106 t_pkey 1 /Table/106/1/10 /Table/106/2 +/Table/106/1/10 /Table/106/2/20 68 test public t 106 idx 2 /Table/106/2 /Table/106/2/20 +/Table/106/2/20 /Table/106/2/30 69 test public t 106 idx 2 /Table/106/2/20 /Table/106/2/30 +/Table/106/2/30 /Table/107/1/42 70 test public t 106 idx 2 /Table/106/2/30 /Table/106/3 +/Table/106/2/30 /Table/107/1/42 70 test public u 107 u_pkey 1 /Table/107/1 /Table/107/1/42 +/Table/107/1/42 /Max 71 test public u 107 u_pkey 1 /Table/107/1/42 /Table/107/2 subtest show_ranges_from_database/with_tables @@ -265,12 +265,12 @@ FROM [SHOW RANGES WITH TABLES] ORDER BY range_id ---- start_key end_key range_id schema_name table_name table_id table_start_key table_end_key -/Table/62 /Table/106/1/10 64 public t 106 /Table/106 /Table/106/1/10 -/Table/106/1/10 /Table/106/2/20 65 public t 106 /Table/106/1/10 /Table/106/2/20 -/Table/106/2/20 /Table/106/2/30 66 public t 106 /Table/106/2/20 /Table/106/2/30 -/Table/106/2/30 /Table/107/1/42 67 public t 106 /Table/106/2/30 /Table/107 -/Table/106/2/30 /Table/107/1/42 67 public u 107 /Table/107 /Table/107/1/42 -/Table/107/1/42 /Max 68 public u 107 /Table/107/1/42 /Table/108 +/Table/65 /Table/106/1/10 67 public t 106 /Table/106 /Table/106/1/10 +/Table/106/1/10 /Table/106/2/20 68 public t 106 /Table/106/1/10 /Table/106/2/20 +/Table/106/2/20 /Table/106/2/30 69 public t 106 /Table/106/2/20 /Table/106/2/30 +/Table/106/2/30 /Table/107/1/42 70 public t 106 /Table/106/2/30 /Table/107 +/Table/106/2/30 /Table/107/1/42 70 public u 107 /Table/107 /Table/107/1/42 +/Table/107/1/42 /Max 71 public u 107 /Table/107/1/42 /Table/108 subtest show_ranges_from_database/with_indexes @@ -303,13 +303,13 @@ FROM [SHOW RANGES WITH INDEXES] ORDER BY range_id, table_id, index_id ---- start_key end_key range_id schema_name table_name table_id index_name index_id index_start_key index_end_key -/Table/62 /Table/106/1/10 64 public t 106 t_pkey 1 /Table/106/1 /Table/106/1/10 -/Table/106/1/10 /Table/106/2/20 65 public t 106 t_pkey 1 /Table/106/1/10 /Table/106/2 -/Table/106/1/10 /Table/106/2/20 65 public t 106 idx 2 /Table/106/2 /Table/106/2/20 -/Table/106/2/20 /Table/106/2/30 66 public t 106 idx 2 /Table/106/2/20 /Table/106/2/30 -/Table/106/2/30 /Table/107/1/42 67 public t 106 idx 2 /Table/106/2/30 /Table/106/3 -/Table/106/2/30 /Table/107/1/42 67 public u 107 u_pkey 1 /Table/107/1 /Table/107/1/42 -/Table/107/1/42 /Max 68 public u 107 u_pkey 1 /Table/107/1/42 /Table/107/2 +/Table/65 /Table/106/1/10 67 public t 106 t_pkey 1 /Table/106/1 /Table/106/1/10 +/Table/106/1/10 /Table/106/2/20 68 public t 106 t_pkey 1 /Table/106/1/10 /Table/106/2 +/Table/106/1/10 /Table/106/2/20 68 public t 106 idx 2 /Table/106/2 /Table/106/2/20 +/Table/106/2/20 /Table/106/2/30 69 public t 106 idx 2 /Table/106/2/20 /Table/106/2/30 +/Table/106/2/30 /Table/107/1/42 70 public t 106 idx 2 /Table/106/2/30 /Table/106/3 +/Table/106/2/30 /Table/107/1/42 70 public u 107 u_pkey 1 /Table/107/1 /Table/107/1/42 +/Table/107/1/42 /Max 71 public u 107 u_pkey 1 /Table/107/1/42 /Table/107/2 subtest show_ranges_from_table @@ -341,10 +341,10 @@ SELECT start_key, end_key, range_id, split_enforced_until FROM [SHOW RANGES FROM ORDER BY range_id ---- start_key end_key range_id split_enforced_until - …/1/10 64 NULL -…/1/10 …/2/20 65 2262-04-11 23:47:16.854776 +0000 +0000 -…/2/20 …/2/30 66 2262-04-11 23:47:16.854776 +0000 +0000 -…/2/30 67 2262-04-11 23:47:16.854776 +0000 +0000 + …/1/10 67 NULL +…/1/10 …/2/20 68 2262-04-11 23:47:16.854776 +0000 +0000 +…/2/20 …/2/30 69 2262-04-11 23:47:16.854776 +0000 +0000 +…/2/30 70 2262-04-11 23:47:16.854776 +0000 +0000 # Ditto, verbose form. query TTIIT colnames @@ -352,10 +352,10 @@ SELECT start_key, end_key, range_id, lease_holder, split_enforced_until FROM [SH ORDER BY range_id ---- start_key end_key range_id lease_holder split_enforced_until - …/1/10 64 1 NULL -…/1/10 …/2/20 65 1 2262-04-11 23:47:16.854776 +0000 +0000 -…/2/20 …/2/30 66 1 2262-04-11 23:47:16.854776 +0000 +0000 -…/2/30 67 1 2262-04-11 23:47:16.854776 +0000 +0000 + …/1/10 67 1 NULL +…/1/10 …/2/20 68 1 2262-04-11 23:47:16.854776 +0000 +0000 +…/2/20 …/2/30 69 1 2262-04-11 23:47:16.854776 +0000 +0000 +…/2/30 70 1 2262-04-11 23:47:16.854776 +0000 +0000 # Let's inspect the other table for comparison. query TTIT colnames @@ -363,8 +363,8 @@ SELECT start_key, end_key, range_id, split_enforced_until FROM [SHOW RANGES FROM ORDER BY range_id ---- start_key end_key range_id split_enforced_until - …/1/42 67 2262-04-11 23:47:16.854776 +0000 +0000 -…/1/42 68 2262-04-11 23:47:16.854776 +0000 +0000 + …/1/42 70 2262-04-11 23:47:16.854776 +0000 +0000 +…/1/42 71 2262-04-11 23:47:16.854776 +0000 +0000 @@ -397,11 +397,11 @@ SELECT start_key, end_key, range_id, index_name, index_id, index_start_key, inde ORDER BY range_id, index_id ---- start_key end_key range_id index_name index_id index_start_key index_end_key - …/1/10 64 t_pkey 1 …/1 …/1/10 -…/1/10 …/2/20 65 t_pkey 1 …/1/10 …/2 -…/1/10 …/2/20 65 idx 2 …/2 …/2/20 -…/2/20 …/2/30 66 idx 2 …/2/20 …/2/30 -…/2/30 67 idx 2 …/2/30 …/3 + …/1/10 67 t_pkey 1 …/1 …/1/10 +…/1/10 …/2/20 68 t_pkey 1 …/1/10 …/2 +…/1/10 …/2/20 68 idx 2 …/2 …/2/20 +…/2/20 …/2/30 69 idx 2 …/2/20 …/2/30 +…/2/30 70 idx 2 …/2/30 …/3 @@ -433,18 +433,18 @@ query TTIT colnames SELECT start_key, end_key, range_id, split_enforced_until FROM [SHOW RANGES FROM INDEX t@idx] ORDER BY start_key ---- start_key end_key range_id split_enforced_until - …/20 65 2262-04-11 23:47:16.854776 +0000 +0000 -…/20 …/30 66 2262-04-11 23:47:16.854776 +0000 +0000 -…/30 67 2262-04-11 23:47:16.854776 +0000 +0000 + …/20 68 2262-04-11 23:47:16.854776 +0000 +0000 +…/20 …/30 69 2262-04-11 23:47:16.854776 +0000 +0000 +…/30 70 2262-04-11 23:47:16.854776 +0000 +0000 # Ditto, verbose form. query TTIIT colnames SELECT start_key, end_key, range_id, lease_holder, split_enforced_until FROM [SHOW RANGES FROM INDEX t@idx WITH DETAILS] ORDER BY start_key ---- start_key end_key range_id lease_holder split_enforced_until - …/20 65 1 2262-04-11 23:47:16.854776 +0000 +0000 -…/20 …/30 66 1 2262-04-11 23:47:16.854776 +0000 +0000 -…/30 67 1 2262-04-11 23:47:16.854776 +0000 +0000 + …/20 68 1 2262-04-11 23:47:16.854776 +0000 +0000 +…/20 …/30 69 1 2262-04-11 23:47:16.854776 +0000 +0000 +…/30 70 1 2262-04-11 23:47:16.854776 +0000 +0000 subtest cast_error diff --git a/pkg/sql/logictest/testdata/logic_test/show_source b/pkg/sql/logictest/testdata/logic_test/show_source index 45cc1826362a..3e97d9d51f38 100644 --- a/pkg/sql/logictest/testdata/logic_test/show_source +++ b/pkg/sql/logictest/testdata/logic_test/show_source @@ -293,6 +293,7 @@ public join_tokens table node NULL public lease table node NULL public locations table node NULL public migrations table node NULL +public mvcc_statistics table node NULL public namespace table node NULL public privileges table node NULL public protected_ts_meta table node NULL @@ -319,6 +320,7 @@ public statement_activity table node NULL public statement_bundle_chunks table node NULL public statement_diagnostics table node NULL public statement_diagnostics_requests table node NULL +public statement_execution_insights table node NULL public statement_statistics table node NULL public table_statistics table node NULL public task_payloads table node NULL @@ -328,6 +330,7 @@ public tenant_tasks table node NULL public tenant_usage table node NULL public tenants table node NULL public transaction_activity table node NULL +public transaction_execution_insights table node NULL public transaction_statistics table node NULL public ui table node NULL public users table node NULL @@ -351,6 +354,7 @@ public join_tokens table node NULL · public lease table node NULL · public locations table node NULL · public migrations table node NULL · +public mvcc_statistics table node NULL · public namespace table node NULL · public privileges table node NULL · public protected_ts_meta table node NULL · @@ -377,6 +381,7 @@ public statement_activity table node NULL · public statement_bundle_chunks table node NULL · public statement_diagnostics table node NULL · public statement_diagnostics_requests table node NULL · +public statement_execution_insights table node NULL · public statement_statistics table node NULL · public table_statistics table node NULL · public task_payloads table node NULL · @@ -386,6 +391,7 @@ public tenant_tasks table node NULL · public tenant_usage table node NULL · public tenants table node NULL · public transaction_activity table node NULL · +public transaction_execution_insights table node NULL · public transaction_statistics table node NULL · public ui table node NULL · public users table node NULL · @@ -497,7 +503,7 @@ query TTTI colnames SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM CURRENT_CATALOG WITH DETAILS] ---- start_key end_key replicas lease_holder -/Table/62 /Max {1} 1 +/Table/65 /Max {1} 1 query TTTI colnames SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE system.descriptor WITH DETAILS] diff --git a/pkg/sql/logictest/testdata/logic_test/split_at b/pkg/sql/logictest/testdata/logic_test/split_at index 2adea18726ad..e49d77c5092d 100644 --- a/pkg/sql/logictest/testdata/logic_test/split_at +++ b/pkg/sql/logictest/testdata/logic_test/split_at @@ -10,7 +10,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE t ORDER BY 1 ---- start_key end_key replicas lease_holder - {1} 1 + {1} 1 query TTT colnames,nosort ALTER TABLE t SPLIT AT VALUES (1), (10) @@ -24,7 +24,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE t ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/1 {1} 1 + …/1/1 {1} 1 …/1/1 …/1/10 {1} 1 …/1/10 {1} 1 diff --git a/pkg/sql/logictest/testdata/logic_test/system b/pkg/sql/logictest/testdata/logic_test/system index 308b95066c03..b83310bd6732 100644 --- a/pkg/sql/logictest/testdata/logic_test/system +++ b/pkg/sql/logictest/testdata/logic_test/system @@ -25,6 +25,7 @@ public join_tokens table node NULL public lease table node NULL public locations table node NULL public migrations table node NULL +public mvcc_statistics table node NULL public namespace table node NULL public privileges table node NULL public protected_ts_meta table node NULL @@ -51,6 +52,7 @@ public statement_activity table node NULL public statement_bundle_chunks table node NULL public statement_diagnostics table node NULL public statement_diagnostics_requests table node NULL +public statement_execution_insights table node NULL public statement_statistics table node NULL public table_statistics table node NULL public task_payloads table node NULL @@ -60,6 +62,7 @@ public tenant_tasks table node NULL public tenant_usage table node NULL public tenants table node NULL public transaction_activity table node NULL +public transaction_execution_insights table node NULL public transaction_statistics table node NULL public ui table node NULL public users table node NULL @@ -82,6 +85,7 @@ public join_tokens table node NULL public lease table node NULL public locations table node NULL public migrations table node NULL +public mvcc_statistics table node NULL public namespace table node NULL public privileges table node NULL public protected_ts_meta table node NULL @@ -108,9 +112,11 @@ public statement_activity table node NULL public statement_bundle_chunks table node NULL public statement_diagnostics table node NULL public statement_diagnostics_requests table node NULL +public statement_execution_insights table node NULL public statement_statistics table node NULL public table_statistics table node NULL public transaction_activity table node NULL +public transaction_execution_insights table node NULL public transaction_statistics table node NULL public ui table node NULL public users table node NULL @@ -178,6 +184,9 @@ SELECT id FROM system.descriptor ORDER BY 1 60 61 62 +63 +64 +65 100 101 102 @@ -236,6 +245,9 @@ SELECT id FROM system.descriptor ORDER BY 1 57 58 59 +60 +61 +62 100 101 102 @@ -486,6 +498,14 @@ system public migrations root DELETE true system public migrations root INSERT true system public migrations root SELECT true system public migrations root UPDATE true +system public mvcc_statistics admin DELETE true +system public mvcc_statistics admin INSERT true +system public mvcc_statistics admin SELECT true +system public mvcc_statistics admin UPDATE true +system public mvcc_statistics root DELETE true +system public mvcc_statistics root INSERT true +system public mvcc_statistics root SELECT true +system public mvcc_statistics root UPDATE true system public namespace admin SELECT true system public namespace root SELECT true system public privileges admin DELETE true @@ -668,6 +688,14 @@ system public statement_diagnostics_requests root DELETE true system public statement_diagnostics_requests root INSERT true system public statement_diagnostics_requests root SELECT true system public statement_diagnostics_requests root UPDATE true +system public statement_execution_insights admin DELETE true +system public statement_execution_insights admin INSERT true +system public statement_execution_insights admin SELECT true +system public statement_execution_insights admin UPDATE true +system public statement_execution_insights root DELETE true +system public statement_execution_insights root INSERT true +system public statement_execution_insights root SELECT true +system public statement_execution_insights root UPDATE true system public statement_statistics admin SELECT true system public statement_statistics root SELECT true system public table_statistics admin DELETE true @@ -716,6 +744,14 @@ system public tenants admin SELECT true system public tenants root SELECT true system public transaction_activity admin SELECT true system public transaction_activity root SELECT true +system public transaction_execution_insights admin DELETE true +system public transaction_execution_insights admin INSERT true +system public transaction_execution_insights admin SELECT true +system public transaction_execution_insights admin UPDATE true +system public transaction_execution_insights root DELETE true +system public transaction_execution_insights root INSERT true +system public transaction_execution_insights root SELECT true +system public transaction_execution_insights root UPDATE true system public transaction_statistics admin SELECT true system public transaction_statistics root SELECT true system public ui admin DELETE true @@ -840,6 +876,14 @@ system public migrations root DELETE true system public migrations root INSERT true system public migrations root SELECT true system public migrations root UPDATE true +system public mvcc_statistics admin DELETE true +system public mvcc_statistics admin INSERT true +system public mvcc_statistics admin SELECT true +system public mvcc_statistics admin UPDATE true +system public mvcc_statistics root DELETE true +system public mvcc_statistics root INSERT true +system public mvcc_statistics root SELECT true +system public mvcc_statistics root UPDATE true system public namespace admin SELECT true system public namespace root SELECT true system public privileges admin DELETE true @@ -1022,6 +1066,14 @@ system public statement_diagnostics_requests root DELETE true system public statement_diagnostics_requests root INSERT true system public statement_diagnostics_requests root SELECT true system public statement_diagnostics_requests root UPDATE true +system public statement_execution_insights admin DELETE true +system public statement_execution_insights admin INSERT true +system public statement_execution_insights admin SELECT true +system public statement_execution_insights admin UPDATE true +system public statement_execution_insights root DELETE true +system public statement_execution_insights root INSERT true +system public statement_execution_insights root SELECT true +system public statement_execution_insights root UPDATE true system public statement_statistics admin SELECT true system public statement_statistics root SELECT true system public table_statistics admin DELETE true @@ -1034,6 +1086,14 @@ system public table_statistics root SELECT true system public table_statistics root UPDATE true system public transaction_activity admin SELECT true system public transaction_activity root SELECT true +system public transaction_execution_insights admin DELETE true +system public transaction_execution_insights admin INSERT true +system public transaction_execution_insights admin SELECT true +system public transaction_execution_insights admin UPDATE true +system public transaction_execution_insights root DELETE true +system public transaction_execution_insights root INSERT true +system public transaction_execution_insights root SELECT true +system public transaction_execution_insights root UPDATE true system public transaction_statistics admin SELECT true system public transaction_statistics root SELECT true system public ui admin DELETE true diff --git a/pkg/sql/logictest/testdata/logic_test/system_namespace b/pkg/sql/logictest/testdata/logic_test/system_namespace index 6b9ace0efc3a..bec28281d72f 100644 --- a/pkg/sql/logictest/testdata/logic_test/system_namespace +++ b/pkg/sql/logictest/testdata/logic_test/system_namespace @@ -20,6 +20,7 @@ SELECT * FROM system.namespace 1 29 lease 11 1 29 locations 21 1 29 migrations 40 +1 29 mvcc_statistics 63 1 29 namespace 30 1 29 privileges 51 1 29 protected_ts_meta 31 @@ -46,6 +47,7 @@ SELECT * FROM system.namespace 1 29 statement_bundle_chunks 34 1 29 statement_diagnostics 36 1 29 statement_diagnostics_requests 35 +1 29 statement_execution_insights 65 1 29 statement_statistics 42 1 29 table_statistics 20 1 29 task_payloads 58 @@ -55,6 +57,7 @@ SELECT * FROM system.namespace 1 29 tenant_usage 45 1 29 tenants 8 1 29 transaction_activity 61 +1 29 transaction_execution_insights 64 1 29 transaction_statistics 43 1 29 ui 14 1 29 users 4 @@ -88,6 +91,7 @@ SELECT * FROM system.namespace 1 29 lease 11 1 29 locations 21 1 29 migrations 40 +1 29 mvcc_statistics 60 1 29 namespace 30 1 29 privileges 51 1 29 protected_ts_meta 31 @@ -114,9 +118,11 @@ SELECT * FROM system.namespace 1 29 statement_bundle_chunks 34 1 29 statement_diagnostics 36 1 29 statement_diagnostics_requests 35 +1 29 statement_execution_insights 62 1 29 statement_statistics 42 1 29 table_statistics 20 1 29 transaction_activity 59 +1 29 transaction_execution_insights 61 1 29 transaction_statistics 43 1 29 ui 14 1 29 users 4 diff --git a/pkg/sql/logictest/testdata/logic_test/zone_config_system_tenant b/pkg/sql/logictest/testdata/logic_test/zone_config_system_tenant index 2831a335edee..46cf964a15cb 100644 --- a/pkg/sql/logictest/testdata/logic_test/zone_config_system_tenant +++ b/pkg/sql/logictest/testdata/logic_test/zone_config_system_tenant @@ -130,8 +130,6 @@ FROM system.span_configurations WHERE end_key > (SELECT crdb_internal.table_span($t_id)[1]) ORDER BY start_key ---- -/Table/110 {"gcPolicy": {"ttlSeconds": 90001}, "numReplicas": 3, "rangeMaxBytes": "67108864", "rangeMinBytes": "1048576"} -/Table/111 {"gcPolicy": {"ttlSeconds": 90001}, "numReplicas": 3, "rangeMaxBytes": "1073741824", "rangeMinBytes": "67108864"} # Check that dropped relations can have their GC TTLs altered. subtest dropped_relation_gc_ttl diff --git a/pkg/sql/mvcc_statistics_update_job.go b/pkg/sql/mvcc_statistics_update_job.go new file mode 100644 index 000000000000..402b6fd88f8c --- /dev/null +++ b/pkg/sql/mvcc_statistics_update_job.go @@ -0,0 +1,77 @@ +// Copyright 2023 The Cockroach Authors. +// +// Use of this software is governed by the Business Source License +// included in the file licenses/BSL.txt. +// +// As of the Change Date specified in that file, in accordance with +// the Business Source License, use of this software will be governed +// by the Apache License, Version 2.0, included in the file +// licenses/APL.txt. + +// Package upgrades contains the implementation of upgrades. It is imported +// by the server library. +// +// This package registers the upgrades with the upgrade package. + +package sql + +import ( + "context" + + "github.com/cockroachdb/cockroach/pkg/jobs" + "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" + "github.com/cockroachdb/cockroach/pkg/settings/cluster" + "github.com/cockroachdb/cockroach/pkg/util/log" + "github.com/cockroachdb/errors" +) + +type mvccStatisticsUpdateJob struct { + job *jobs.Job +} + +var _ jobs.Resumer = (*mvccStatisticsUpdateJob)(nil) + +func (j *mvccStatisticsUpdateJob) Resume(ctx context.Context, execCtxI interface{}) (jobErr error) { + // TODO(zachlite): + // Delete samples older than configurable setting... + // Collect span stats for tenant descriptors... + // Write new samples... + execCtx := execCtxI.(JobExecContext) + stopper := execCtx.ExecCfg().DistSQLSrv.Stopper + j.job.MarkIdle(true) + + for { + select { + case <-ctx.Done(): + return nil + + case <-stopper.ShouldQuiesce(): + return nil + } + } +} + +func (j *mvccStatisticsUpdateJob) OnFailOrCancel( + ctx context.Context, _ interface{}, jobErr error, +) error { + if jobs.HasErrJobCanceled(jobErr) { + err := errors.NewAssertionErrorWithWrappedErrf( + jobErr, "mvcc statistics update job is not cancelable", + ) + log.Errorf(ctx, "%v", err) + } + return nil +} + +func (j *mvccStatisticsUpdateJob) CollectProfile(_ context.Context, _ interface{}) error { + return nil +} + +func init() { + jobs.RegisterConstructor(jobspb.TypeMVCCStatisticsUpdate, + func(job *jobs.Job, settings *cluster.Settings) jobs.Resumer { + return &mvccStatisticsUpdateJob{job: job} + }, + jobs.DisablesTenantCostControl, + ) +} diff --git a/pkg/sql/opt/exec/execbuilder/testdata/autocommit b/pkg/sql/opt/exec/execbuilder/testdata/autocommit index b35b3e1f9b31..df2e146a50be 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/autocommit +++ b/pkg/sql/opt/exec/execbuilder/testdata/autocommit @@ -44,7 +44,7 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%QueryTxn%' AND message NOT LIKE '%ResolveIntent%' ---- -dist sender send r64: sending batch 1 CPut, 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 1 CPut, 1 EndTxn to (n1,s1):1 # Multi-row insert should auto-commit. query B @@ -68,7 +68,7 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%QueryTxn%' AND message NOT LIKE '%ResolveIntent%' ---- -dist sender send r64: sending batch 2 CPut, 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 2 CPut, 1 EndTxn to (n1,s1):1 # No auto-commit inside a transaction. statement ok @@ -93,7 +93,7 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%QueryTxn%' AND message NOT LIKE '%ResolveIntent%' ---- -dist sender send r64: sending batch 2 CPut to (n1,s1):1 +dist sender send r67: sending batch 2 CPut to (n1,s1):1 statement ok ROLLBACK @@ -120,7 +120,7 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%QueryTxn%' AND message NOT LIKE '%ResolveIntent%' ---- -dist sender send r64: sending batch 2 CPut, 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 2 CPut, 1 EndTxn to (n1,s1):1 query B SELECT count(*) > 0 FROM [ @@ -144,7 +144,7 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%ResolveIntent%' AND operation NOT LIKE '%async%' ---- -dist sender send r64: sending batch 2 CPut, 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 2 CPut, 1 EndTxn to (n1,s1):1 # Insert with RETURNING statement with side-effects should not auto-commit. # In this case division can (in principle) error out. @@ -170,8 +170,8 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%ResolveIntent%' AND operation NOT LIKE '%async%' ---- -dist sender send r64: sending batch 2 CPut to (n1,s1):1 -dist sender send r64: sending batch 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 2 CPut to (n1,s1):1 +dist sender send r67: sending batch 1 EndTxn to (n1,s1):1 # Another way to test the scenario above: generate an error and ensure that the # mutation was not committed. @@ -209,7 +209,7 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%QueryTxn%' AND message NOT LIKE '%ResolveIntent%' ---- -dist sender send r64: sending batch 1 Put, 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 1 Put, 1 EndTxn to (n1,s1):1 # Multi-row upsert should auto-commit. query B @@ -233,7 +233,7 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%QueryTxn%' AND message NOT LIKE '%ResolveIntent%' ---- -dist sender send r64: sending batch 2 Put, 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 2 Put, 1 EndTxn to (n1,s1):1 # No auto-commit inside a transaction. statement ok @@ -258,7 +258,7 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%QueryTxn%' AND message NOT LIKE '%ResolveIntent%' ---- -dist sender send r64: sending batch 2 Put to (n1,s1):1 +dist sender send r67: sending batch 2 Put to (n1,s1):1 statement ok ROLLBACK @@ -285,7 +285,7 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%QueryTxn%' AND message NOT LIKE '%ResolveIntent%' ---- -dist sender send r64: sending batch 2 Put, 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 2 Put, 1 EndTxn to (n1,s1):1 # TODO(radu): allow non-side-effecting projections. query B @@ -310,8 +310,8 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%ResolveIntent%' AND operation NOT LIKE '%async%' ---- -dist sender send r64: sending batch 2 Put to (n1,s1):1 -dist sender send r64: sending batch 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 2 Put to (n1,s1):1 +dist sender send r67: sending batch 1 EndTxn to (n1,s1):1 # Upsert with RETURNING statement with side-effects should not auto-commit. # In this case division can (in principle) error out. @@ -337,8 +337,8 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%ResolveIntent%' AND operation NOT LIKE '%async%' ---- -dist sender send r64: sending batch 2 Put to (n1,s1):1 -dist sender send r64: sending batch 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 2 Put to (n1,s1):1 +dist sender send r67: sending batch 1 EndTxn to (n1,s1):1 # Another way to test the scenario above: generate an error and ensure that the # mutation was not committed. @@ -376,8 +376,8 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%QueryTxn%' AND message NOT LIKE '%ResolveIntent%' ---- -dist sender send r64: sending batch 1 Scan to (n1,s1):1 -dist sender send r64: sending batch 2 Put, 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 1 Scan to (n1,s1):1 +dist sender send r67: sending batch 2 Put, 1 EndTxn to (n1,s1):1 # No auto-commit inside a transaction. statement ok @@ -402,8 +402,8 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%QueryTxn%' AND message NOT LIKE '%ResolveIntent%' ---- -dist sender send r64: sending batch 1 Scan to (n1,s1):1 -dist sender send r64: sending batch 2 Put to (n1,s1):1 +dist sender send r67: sending batch 1 Scan to (n1,s1):1 +dist sender send r67: sending batch 2 Put to (n1,s1):1 statement ok ROLLBACK @@ -430,8 +430,8 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%QueryTxn%' AND message NOT LIKE '%ResolveIntent%' ---- -dist sender send r64: sending batch 1 Scan to (n1,s1):1 -dist sender send r64: sending batch 2 Put, 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 1 Scan to (n1,s1):1 +dist sender send r67: sending batch 2 Put, 1 EndTxn to (n1,s1):1 # TODO(radu): allow non-side-effecting projections. query B @@ -456,9 +456,9 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%ResolveIntent%' AND operation NOT LIKE '%async%' ---- -dist sender send r64: sending batch 1 Scan to (n1,s1):1 -dist sender send r64: sending batch 2 Put to (n1,s1):1 -dist sender send r64: sending batch 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 1 Scan to (n1,s1):1 +dist sender send r67: sending batch 2 Put to (n1,s1):1 +dist sender send r67: sending batch 1 EndTxn to (n1,s1):1 # Update with RETURNING statement with side-effects should not auto-commit. # In this case division can (in principle) error out. @@ -484,9 +484,9 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%ResolveIntent%' AND operation NOT LIKE '%async%' ---- -dist sender send r64: sending batch 1 Scan to (n1,s1):1 -dist sender send r64: sending batch 2 Put to (n1,s1):1 -dist sender send r64: sending batch 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 1 Scan to (n1,s1):1 +dist sender send r67: sending batch 2 Put to (n1,s1):1 +dist sender send r67: sending batch 1 EndTxn to (n1,s1):1 # Another way to test the scenario above: generate an error and ensure that the # mutation was not committed. @@ -524,7 +524,7 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%QueryTxn%' AND message NOT LIKE '%ResolveIntent%' ---- -dist sender send r64: sending batch 1 Del, 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 1 Del, 1 EndTxn to (n1,s1):1 # Multi-row delete should auto-commit. query B @@ -548,7 +548,7 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%QueryTxn%' AND message NOT LIKE '%ResolveIntent%' ---- -dist sender send r64: sending batch 1 DelRng, 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 1 DelRng, 1 EndTxn to (n1,s1):1 # No auto-commit inside a transaction. statement ok @@ -573,7 +573,7 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%QueryTxn%' AND message NOT LIKE '%ResolveIntent%' ---- -dist sender send r64: sending batch 1 DelRng to (n1,s1):1 +dist sender send r67: sending batch 1 DelRng to (n1,s1):1 statement ok ROLLBACK @@ -600,8 +600,8 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%QueryTxn%' AND message NOT LIKE '%ResolveIntent%' ---- -dist sender send r64: sending batch 1 Scan to (n1,s1):1 -dist sender send r64: sending batch 2 Del, 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 1 Scan to (n1,s1):1 +dist sender send r67: sending batch 2 Del, 1 EndTxn to (n1,s1):1 # TODO(radu): allow non-side-effecting projections. query B @@ -626,9 +626,9 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%ResolveIntent%' AND operation NOT LIKE '%async%' ---- -dist sender send r64: sending batch 1 Scan to (n1,s1):1 -dist sender send r64: sending batch 2 Del to (n1,s1):1 -dist sender send r64: sending batch 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 1 Scan to (n1,s1):1 +dist sender send r67: sending batch 2 Del to (n1,s1):1 +dist sender send r67: sending batch 1 EndTxn to (n1,s1):1 # Insert with RETURNING statement with side-effects should not auto-commit. # In this case division can (in principle) error out. @@ -654,9 +654,9 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%ResolveIntent%' AND operation NOT LIKE '%async%' ---- -dist sender send r64: sending batch 1 Scan to (n1,s1):1 -dist sender send r64: sending batch 2 Del to (n1,s1):1 -dist sender send r64: sending batch 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 1 Scan to (n1,s1):1 +dist sender send r67: sending batch 2 Del to (n1,s1):1 +dist sender send r67: sending batch 1 EndTxn to (n1,s1):1 statement ok INSERT INTO ab VALUES (12, 0); @@ -706,9 +706,9 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%ResolveIntent%' AND operation NOT LIKE '%async%' ---- -dist sender send r64: sending batch 2 CPut to (n1,s1):1 -dist sender send r64: sending batch 2 Get to (n1,s1):1 -dist sender send r64: sending batch 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 2 CPut to (n1,s1):1 +dist sender send r67: sending batch 2 Get to (n1,s1):1 +dist sender send r67: sending batch 1 EndTxn to (n1,s1):1 query B SELECT count(*) > 0 FROM [ @@ -732,10 +732,10 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%ResolveIntent%' AND operation NOT LIKE '%async%' ---- -dist sender send r64: sending batch 1 Scan to (n1,s1):1 -dist sender send r64: sending batch 1 Put to (n1,s1):1 -dist sender send r64: sending batch 1 Scan to (n1,s1):1 -dist sender send r64: sending batch 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 1 Scan to (n1,s1):1 +dist sender send r67: sending batch 1 Put to (n1,s1):1 +dist sender send r67: sending batch 1 Scan to (n1,s1):1 +dist sender send r67: sending batch 1 EndTxn to (n1,s1):1 query B SELECT count(*) > 0 FROM [ @@ -760,10 +760,10 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%ResolveIntent%' AND operation NOT LIKE '%async%' ---- -dist sender send r64: sending batch 1 Get to (n1,s1):1 -dist sender send r64: sending batch 1 Del to (n1,s1):1 -dist sender send r64: sending batch 1 Scan to (n1,s1):1 -dist sender send r64: sending batch 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 1 Get to (n1,s1):1 +dist sender send r67: sending batch 1 Del to (n1,s1):1 +dist sender send r67: sending batch 1 Scan to (n1,s1):1 +dist sender send r67: sending batch 1 EndTxn to (n1,s1):1 # Test with a single cascade, which should use autocommit. statement ok @@ -794,9 +794,9 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%ResolveIntent%' AND operation NOT LIKE '%async%' ---- -dist sender send r64: sending batch 1 Del to (n1,s1):1 -dist sender send r64: sending batch 1 Scan to (n1,s1):1 -dist sender send r64: sending batch 1 Del, 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 1 Del to (n1,s1):1 +dist sender send r67: sending batch 1 Scan to (n1,s1):1 +dist sender send r67: sending batch 1 Del, 1 EndTxn to (n1,s1):1 # ----------------------- # Multiple mutation tests @@ -827,9 +827,9 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%ResolveIntent%' AND operation NOT LIKE '%async%' ---- -dist sender send r64: sending batch 2 CPut to (n1,s1):1 -dist sender send r64: sending batch 2 CPut to (n1,s1):1 -dist sender send r64: sending batch 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 2 CPut to (n1,s1):1 +dist sender send r67: sending batch 2 CPut to (n1,s1):1 +dist sender send r67: sending batch 1 EndTxn to (n1,s1):1 query B SELECT count(*) > 0 FROM [ @@ -855,9 +855,9 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%ResolveIntent%' AND operation NOT LIKE '%async%' ---- -dist sender send r64: sending batch 2 CPut to (n1,s1):1 -dist sender send r64: sending batch 2 CPut to (n1,s1):1 -dist sender send r64: sending batch 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 2 CPut to (n1,s1):1 +dist sender send r67: sending batch 2 CPut to (n1,s1):1 +dist sender send r67: sending batch 1 EndTxn to (n1,s1):1 # Check that the statement can still be auto-committed when the txn rows written # erring guardrail is enabled. @@ -891,7 +891,7 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%QueryTxn%' AND message NOT LIKE '%ResolveIntent%' ---- -dist sender send r64: sending batch 1 CPut, 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 1 CPut, 1 EndTxn to (n1,s1):1 query error pq: txn has written 2 rows, which is above the limit INSERT INTO guardrails VALUES (2), (3) diff --git a/pkg/sql/opt/exec/execbuilder/testdata/delete b/pkg/sql/opt/exec/execbuilder/testdata/delete index 26dc39543147..e201115922f1 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/delete +++ b/pkg/sql/opt/exec/execbuilder/testdata/delete @@ -231,9 +231,9 @@ SELECT operation, message FROM [SHOW KV TRACE FOR SESSION] WHERE message LIKE '%DelRange%' OR message LIKE '%DelRng%' ---- delete range DelRange /Table/110/1 - /Table/110/2 -dist sender send r64: sending batch 1 DelRng to (n1,s1):1 +dist sender send r67: sending batch 1 DelRng to (n1,s1):1 delete range DelRange /Table/110/1/601/0 - /Table/110/2 -dist sender send r64: sending batch 1 DelRng to (n1,s1):1 +dist sender send r67: sending batch 1 DelRng to (n1,s1):1 # Ensure that DelRange requests are autocommitted when DELETE FROM happens on a # chunk of fewer than 600 keys. @@ -252,7 +252,7 @@ SELECT operation, message FROM [SHOW KV TRACE FOR SESSION] WHERE message LIKE '%Del%' OR message LIKE '%sending batch%' ---- delete range Del /Table/110/1/5/0 -dist sender send r64: sending batch 1 Del, 1 EndTxn to (n1,s1):1 +dist sender send r67: sending batch 1 Del, 1 EndTxn to (n1,s1):1 # Ensure that we send DelRanges when doing a point delete operation on a table # that has multiple column families. @@ -271,7 +271,7 @@ SELECT operation, message FROM [SHOW KV TRACE FOR SESSION] WHERE message LIKE '%Del%' OR message LIKE '%sending batch%' ---- delete range DelRange /Table/111/1/5 - /Table/111/1/6 -dist sender send r64: sending batch 1 DelRng to (n1,s1):1 +dist sender send r67: sending batch 1 DelRng to (n1,s1):1 statement ok CREATE TABLE xyz ( diff --git a/pkg/sql/opt/exec/execbuilder/testdata/dist_vectorize b/pkg/sql/opt/exec/execbuilder/testdata/dist_vectorize index d7242373a0b9..75c44c3355af 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/dist_vectorize +++ b/pkg/sql/opt/exec/execbuilder/testdata/dist_vectorize @@ -30,7 +30,7 @@ query TTTI rowsort SELECT start_key, end_key, replicas, lease_holder from [SHOW RANGES FROM TABLE kv WITH DETAILS] ORDER BY 1 ---- - …/1/1 {1} 1 + …/1/1 {1} 1 …/1/1 …/1/2 {1} 1 …/1/2 …/1/3 {2} 2 …/1/3 …/1/4 {3} 3 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/distsql_agg b/pkg/sql/opt/exec/execbuilder/testdata/distsql_agg index 20b244781d88..417b9320d5e6 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/distsql_agg +++ b/pkg/sql/opt/exec/execbuilder/testdata/distsql_agg @@ -18,7 +18,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE d ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/1 {1} 1 + …/1/1 {1} 1 …/1/1 …/1/2 {2} 2 …/1/2 …/1/3 {3} 3 …/1/3 …/1/4 {4} 4 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/distsql_distinct_on b/pkg/sql/opt/exec/execbuilder/testdata/distsql_distinct_on index 0f18d7dd1ced..c070f44e4e1e 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/distsql_distinct_on +++ b/pkg/sql/opt/exec/execbuilder/testdata/distsql_distinct_on @@ -48,7 +48,7 @@ SELECT start_key, end_key, replicas, lease_holder from [SHOW RANGES FROM TABLE x ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/2 {1} 1 + …/1/2 {1} 1 …/1/2 …/1/4 {2} 2 …/1/4 …/1/6 {3} 3 …/1/6 …/1/7 {4} 4 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/distsql_group_join b/pkg/sql/opt/exec/execbuilder/testdata/distsql_group_join index 2212215812b8..8258a977c14e 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/distsql_group_join +++ b/pkg/sql/opt/exec/execbuilder/testdata/distsql_group_join @@ -18,7 +18,7 @@ SELECT start_key, end_key, replicas, lease_holder from [SHOW RANGES FROM TABLE d ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/1 {1} 1 + …/1/1 {1} 1 …/1/1 …/1/2 {2} 2 …/1/2 …/1/3 {3} 3 …/1/3 …/1/4 {4} 4 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/distsql_indexjoin b/pkg/sql/opt/exec/execbuilder/testdata/distsql_indexjoin index 82dc98e4e286..77e8da23374b 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/distsql_indexjoin +++ b/pkg/sql/opt/exec/execbuilder/testdata/distsql_indexjoin @@ -17,7 +17,7 @@ SELECT start_key, end_key, replicas, lease_holder from [SHOW RANGES FROM INDEX t ORDER BY 1 ---- start_key end_key replicas lease_holder - …/10 {1} 1 + …/10 {1} 1 …/10 …/20 {2} 2 …/20 …/30 {3} 3 …/30 …/40 {4} 4 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/distsql_inverted_index b/pkg/sql/opt/exec/execbuilder/testdata/distsql_inverted_index index 9bf08e27de58..4f1721c33455 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/distsql_inverted_index +++ b/pkg/sql/opt/exec/execbuilder/testdata/distsql_inverted_index @@ -65,7 +65,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM INDEX json_tab@primary WITH DETAILS] ORDER BY lease_holder, start_key ---- start_key end_key replicas lease_holder - …/10 {1} 1 + …/10 {1} 1 …/10 …/20 {2} 2 …/20 …/ {3} 3 @@ -74,7 +74,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE json_tab WITH DETAILS] ORDER BY lease_holder, start_key ---- start_key end_key replicas lease_holder - …/1/10 {1} 1 + …/1/10 {1} 1 …/2 {1} 1 …/1/10 …/1/20 {2} 2 …/1/20 …/2 {3} 3 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/distsql_join b/pkg/sql/opt/exec/execbuilder/testdata/distsql_join index 1600cfd44788..6c379ac4ae9f 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/distsql_join +++ b/pkg/sql/opt/exec/execbuilder/testdata/distsql_join @@ -18,7 +18,7 @@ SELECT start_key, end_key, replicas, lease_holder from [SHOW RANGES FROM TABLE d ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/1 {1} 1 + …/1/1 {1} 1 …/1/1 …/1/2 {2} 2 …/1/2 …/1/3 {3} 3 …/1/3 …/1/4 {4} 4 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/distsql_merge_join b/pkg/sql/opt/exec/execbuilder/testdata/distsql_merge_join index b99f716d1efb..9c240191458e 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/distsql_merge_join +++ b/pkg/sql/opt/exec/execbuilder/testdata/distsql_merge_join @@ -107,7 +107,7 @@ SELECT start_key, end_key, replicas, lease_holder from [SHOW RANGES FROM TABLE p ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/8 {1} 1 + …/1/8 {1} 1 …/1/16 …/1/24 {1} 1 …/1/24 …/1/32 {1} 1 …/1/32 {1} 1 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/distsql_misc b/pkg/sql/opt/exec/execbuilder/testdata/distsql_misc index bc8a322431cf..9385c162665b 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/distsql_misc +++ b/pkg/sql/opt/exec/execbuilder/testdata/distsql_misc @@ -73,7 +73,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE d ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/1 {1} 1 + …/1/1 {1} 1 …/1/1 …/1/2 {2} 2 …/1/2 …/1/3 {3} 3 …/1/3 …/1/4 {4} 4 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/distsql_numtables b/pkg/sql/opt/exec/execbuilder/testdata/distsql_numtables index 487b0577c085..b90916757442 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/distsql_numtables +++ b/pkg/sql/opt/exec/execbuilder/testdata/distsql_numtables @@ -28,14 +28,14 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE N ORDER BY 1 ---- start_key end_key replicas lease_holder - {1} 1 + {1} 1 query TTTI colnames,rowsort SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE NumToStr WITH DETAILS] ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/2000 {1} 1 + …/1/2000 {1} 1 …/1/2000 …/1/4000 {2} 2 …/1/4000 …/1/6000 {3} 3 …/1/6000 …/1/8000 {4} 4 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/distsql_ordinality b/pkg/sql/opt/exec/execbuilder/testdata/distsql_ordinality index dae194849a06..447f9bfc107c 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/distsql_ordinality +++ b/pkg/sql/opt/exec/execbuilder/testdata/distsql_ordinality @@ -25,7 +25,7 @@ SELECT start_key, end_key, replicas, lease_holder from [SHOW RANGES FROM TABLE x ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/2 {1} 1 + …/1/2 {1} 1 …/1/2 …/1/4 {2} 2 …/1/4 …/1/6 {3} 3 …/1/6 …/1/7 {4} 4 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/distsql_tighten_spans b/pkg/sql/opt/exec/execbuilder/testdata/distsql_tighten_spans index a1d493a1c7c2..69dfeecd7d6e 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/distsql_tighten_spans +++ b/pkg/sql/opt/exec/execbuilder/testdata/distsql_tighten_spans @@ -97,7 +97,7 @@ SELECT start_key, end_key, replicas, lease_holder from [SHOW RANGES FROM TABLE p ORDER BY lease_holder, start_key ---- start_key end_key replicas lease_holder - …/1/2 {1} 1 + …/1/2 {1} 1 …/1/2 …/2/0 {3} 3 …/2/0 …/2/2 {4} 4 …/2/2 {5} 5 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/distsql_union b/pkg/sql/opt/exec/execbuilder/testdata/distsql_union index ce61ead43844..d00b013a23d4 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/distsql_union +++ b/pkg/sql/opt/exec/execbuilder/testdata/distsql_union @@ -23,7 +23,7 @@ SELECT start_key, end_key, replicas, lease_holder from [SHOW RANGES FROM TABLE x ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/2 {1} 1 + …/1/2 {1} 1 …/1/2 …/1/3 {2} 2 …/1/3 …/1/4 {3} 3 …/1/4 …/1/5 {4} 4 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/distsql_window b/pkg/sql/opt/exec/execbuilder/testdata/distsql_window index 870b735724fa..5cffab0191e4 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/distsql_window +++ b/pkg/sql/opt/exec/execbuilder/testdata/distsql_window @@ -18,7 +18,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE d ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/1 {1} 1 + …/1/1 {1} 1 …/1/1 …/1/2 {2} 2 …/1/2 …/1/3 {3} 3 …/1/3 …/1/4 {4} 4 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/experimental_distsql_planning_5node b/pkg/sql/opt/exec/execbuilder/testdata/experimental_distsql_planning_5node index 2a29182cc760..241b3ccee342 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/experimental_distsql_planning_5node +++ b/pkg/sql/opt/exec/execbuilder/testdata/experimental_distsql_planning_5node @@ -23,7 +23,7 @@ SELECT start_key, end_key, replicas, lease_holder from [SHOW RANGES FROM TABLE k ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/1 {1} 1 + …/1/1 {1} 1 …/1/1 …/1/2 {1} 1 …/1/2 …/1/3 {2} 2 …/1/3 …/1/4 {3} 3 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/explain_analyze_plans b/pkg/sql/opt/exec/execbuilder/testdata/explain_analyze_plans index c210458b6fdc..3a67ade395ff 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/explain_analyze_plans +++ b/pkg/sql/opt/exec/execbuilder/testdata/explain_analyze_plans @@ -37,7 +37,7 @@ SELECT start_key, end_key, replicas, lease_holder from [SHOW RANGES FROM TABLE k ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/1 {1} 1 + …/1/1 {1} 1 …/1/1 …/1/2 {1} 1 …/1/2 …/1/3 {2} 2 …/1/3 …/1/4 {3} 3 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/inverted_filter_geospatial_dist b/pkg/sql/opt/exec/execbuilder/testdata/inverted_filter_geospatial_dist index ed8c725e5257..dbab748249c5 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/inverted_filter_geospatial_dist +++ b/pkg/sql/opt/exec/execbuilder/testdata/inverted_filter_geospatial_dist @@ -104,7 +104,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM INDEX g ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1152921574000000000 {1} 1 + …/1152921574000000000 {1} 1 …/1152921574000000000 {2} 2 # Distributed. TODO(treilly): This claims to be distributed, but it isn't. What gives? @@ -174,7 +174,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM INDEX g ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1152921574000000000 {2} 2 + …/1152921574000000000 {2} 2 …/1152921574000000000 {2} 2 # Filtering is placed at node 2. We need a retry here to account for possibly @@ -246,7 +246,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM INDEX g ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1152921574000000000 {2} 2 + …/1152921574000000000 {2} 2 …/1152921574000000000 {2} 2 query ITTTI colnames,rowsort @@ -254,7 +254,7 @@ SELECT range_id, start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FR ORDER BY lease_holder, start_key ---- range_id start_key end_key replicas lease_holder -64 {2} 2 +67 {2} 2 # We should see a distributed execution (though need to retry to purge possibly # stale dist sender caches). diff --git a/pkg/sql/opt/exec/execbuilder/testdata/inverted_join_geospatial_dist b/pkg/sql/opt/exec/execbuilder/testdata/inverted_join_geospatial_dist index 425a95fe4b44..5579292610b2 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/inverted_join_geospatial_dist +++ b/pkg/sql/opt/exec/execbuilder/testdata/inverted_join_geospatial_dist @@ -39,7 +39,7 @@ query TTTI colnames SELECT start_key, end_key, replicas, lease_holder from [SHOW EXPERIMENTAL_RANGES FROM TABLE ltable WITH DETAILS] ORDER BY lease_holder ---- start_key end_key replicas lease_holder - …/1/2 {1} 1 + …/1/2 {1} 1 …/1/2 …/1/3 {2} 2 …/1/3 {3} 3 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/inverted_join_geospatial_dist_vec b/pkg/sql/opt/exec/execbuilder/testdata/inverted_join_geospatial_dist_vec index 47fb903871c3..d5e0d8da897b 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/inverted_join_geospatial_dist_vec +++ b/pkg/sql/opt/exec/execbuilder/testdata/inverted_join_geospatial_dist_vec @@ -39,7 +39,7 @@ query TTTI colnames SELECT start_key, end_key, replicas, lease_holder from [SHOW EXPERIMENTAL_RANGES FROM TABLE ltable WITH DETAILS] ORDER BY lease_holder ---- start_key end_key replicas lease_holder - …/1/2 {1} 1 + …/1/2 {1} 1 …/1/2 …/1/3 {2} 2 …/1/3 {3} 3 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/inverted_join_json_array_dist b/pkg/sql/opt/exec/execbuilder/testdata/inverted_join_json_array_dist index 74898106f444..70b57e390012 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/inverted_join_json_array_dist +++ b/pkg/sql/opt/exec/execbuilder/testdata/inverted_join_json_array_dist @@ -65,7 +65,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM INDEX json_tab@primary WITH DETAILS] ORDER BY lease_holder, start_key ---- start_key end_key replicas lease_holder - …/10 {1} 1 + …/10 {1} 1 …/10 …/20 {2} 2 …/20 …/ {3} 3 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/inverted_join_multi_column_dist b/pkg/sql/opt/exec/execbuilder/testdata/inverted_join_multi_column_dist index 9b511738632c..838719121c44 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/inverted_join_multi_column_dist +++ b/pkg/sql/opt/exec/execbuilder/testdata/inverted_join_multi_column_dist @@ -81,7 +81,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW EXPERIMENTAL_RANGES FROM TABLE j2 WITH DETAILS] ORDER BY lease_holder ---- start_key end_key replicas lease_holder - …/1/44 {1} 1 + …/1/44 {1} 1 …/1/44 …/1/88 {2} 2 …/1/88 {3} 3 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/lookup_join b/pkg/sql/opt/exec/execbuilder/testdata/lookup_join index 291e6c0a4b97..f4fb5c58c47b 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/lookup_join +++ b/pkg/sql/opt/exec/execbuilder/testdata/lookup_join @@ -429,7 +429,7 @@ SELECT start_key, end_key, replicas, lease_holder from [SHOW RANGES FROM TABLE d ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/1 {1} 1 + …/1/1 {1} 1 …/1/1 …/1/2 {2} 2 …/1/2 …/1/3 {3} 3 …/1/3 …/1/4 {4} 4 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/merge_join_dist_vec b/pkg/sql/opt/exec/execbuilder/testdata/merge_join_dist_vec index b94225d30de1..e551196d8dd1 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/merge_join_dist_vec +++ b/pkg/sql/opt/exec/execbuilder/testdata/merge_join_dist_vec @@ -30,7 +30,7 @@ query TTTI colnames SELECT start_key, end_key, replicas, lease_holder from [SHOW EXPERIMENTAL_RANGES FROM TABLE l WITH DETAILS] ORDER BY lease_holder ---- start_key end_key replicas lease_holder - …/1/2 {1} 1 + …/1/2 {1} 1 …/1/2 …/1/3 {2} 2 …/1/3 {3} 3 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/scan_parallel b/pkg/sql/opt/exec/execbuilder/testdata/scan_parallel index 72dd3ad7351a..d25ee1f49e90 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/scan_parallel +++ b/pkg/sql/opt/exec/execbuilder/testdata/scan_parallel @@ -18,7 +18,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE d ORDER BY 1 ---- start_key end_key replicas lease_holder - …/1/1 {1} 1 + …/1/1 {1} 1 …/1/1 …/1/2 {2} 2 …/1/2 …/1/3 {3} 3 …/1/3 …/1/4 {4} 4 diff --git a/pkg/sql/opt/exec/execbuilder/testdata/show_trace b/pkg/sql/opt/exec/execbuilder/testdata/show_trace index ceaf64813d97..987e25cc970c 100644 --- a/pkg/sql/opt/exec/execbuilder/testdata/show_trace +++ b/pkg/sql/opt/exec/execbuilder/testdata/show_trace @@ -228,7 +228,7 @@ SET tracing = off query T SELECT message FROM [SHOW TRACE FOR SESSION] WHERE message LIKE e'%1 CPut, 1 EndTxn%' AND message NOT LIKE e'%proposing command%' ---- -r65: sending batch 1 CPut, 1 EndTxn to (n1,s1):1 +r68: sending batch 1 CPut, 1 EndTxn to (n1,s1):1 node received request: 1 CPut, 1 EndTxn # Check that we can run set tracing regardless of the current tracing state. @@ -312,9 +312,9 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%PushTxn%' AND message NOT LIKE '%QueryTxn%' ---- -dist sender send r65: sending batch 1 CPut to (n1,s1):1 -dist sender send r65: sending batch 1 EndTxn to (n1,s1):1 -dist sender send r65: sending batch 2 CPut, 1 EndTxn to (n1,s1):1 +dist sender send r68: sending batch 1 CPut to (n1,s1):1 +dist sender send r68: sending batch 1 EndTxn to (n1,s1):1 +dist sender send r68: sending batch 2 CPut, 1 EndTxn to (n1,s1):1 # Make another session trace. statement ok @@ -343,9 +343,9 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%PushTxn%' AND message NOT LIKE '%QueryTxn%' ---- -dist sender send r65: sending batch 4 CPut, 1 EndTxn to (n1,s1):1 -dist sender send r65: sending batch 5 CPut to (n1,s1):1 -dist sender send r65: sending batch 1 EndTxn to (n1,s1):1 +dist sender send r68: sending batch 4 CPut, 1 EndTxn to (n1,s1):1 +dist sender send r68: sending batch 5 CPut to (n1,s1):1 +dist sender send r68: sending batch 1 EndTxn to (n1,s1):1 # make a table with some big strings in it. statement ok @@ -366,11 +366,11 @@ WHERE message LIKE '%r$rangeid: sending batch%' AND message NOT LIKE '%PushTxn%' AND message NOT LIKE '%QueryTxn%' ---- -dist sender send r65: sending batch 6 CPut to (n1,s1):1 -dist sender send r65: sending batch 6 CPut to (n1,s1):1 -dist sender send r65: sending batch 6 CPut to (n1,s1):1 -dist sender send r65: sending batch 6 CPut to (n1,s1):1 -dist sender send r65: sending batch 1 EndTxn to (n1,s1):1 +dist sender send r68: sending batch 6 CPut to (n1,s1):1 +dist sender send r68: sending batch 6 CPut to (n1,s1):1 +dist sender send r68: sending batch 6 CPut to (n1,s1):1 +dist sender send r68: sending batch 6 CPut to (n1,s1):1 +dist sender send r68: sending batch 1 EndTxn to (n1,s1):1 statement ok CREATE TABLE streamer (pk INT PRIMARY KEY, attribute INT, blob TEXT, INDEX(attribute), FAMILY (pk, attribute, blob)); @@ -399,4 +399,4 @@ WHERE message LIKE '%r$rangeid: sending batch 42 Get%' AND message NOT LIKE '%PushTxn%' AND message NOT LIKE '%QueryTxn%' ---- -dist sender send r65: sending batch 42 Get to (n1,s1):1 +dist sender send r68: sending batch 42 Get to (n1,s1):1 diff --git a/pkg/sql/opt/testutils/testcat/vtable.go b/pkg/sql/opt/testutils/testcat/vtable.go index 65ad3ee5faef..8cb7f7a0cbea 100644 --- a/pkg/sql/opt/testutils/testcat/vtable.go +++ b/pkg/sql/opt/testutils/testcat/vtable.go @@ -135,6 +135,9 @@ var systemTables = []string{ systemschema.TenantSettingsTableSchema, systemschema.SpanCountTableSchema, systemschema.SystemPrivilegeTableSchema, + systemschema.SystemMVCCStatisticsSchema, + systemschema.TxnExecutionStatsTableSchema, + systemschema.StatementExecutionStatsTableSchema, } func init() { diff --git a/pkg/sql/sem/catconstants/constants.go b/pkg/sql/sem/catconstants/constants.go index 53c86a2b5fbc..5c4b59c2b472 100644 --- a/pkg/sql/sem/catconstants/constants.go +++ b/pkg/sql/sem/catconstants/constants.go @@ -98,6 +98,9 @@ const ( SpanStatsSamples SystemTableName = "span_stats_samples" SpanStatsTenantBoundaries SystemTableName = "span_stats_tenant_boundaries" RegionalLiveness SystemTableName = "region_liveness" + MVCCStatistics SystemTableName = "mvcc_statistics" + StmtExecInsightsTableName SystemTableName = "statement_execution_insights" + TxnExecInsightsTableName SystemTableName = "transaction_execution_insights" ) // Oid for virtual database and table. diff --git a/pkg/sql/tests/testdata/initial_keys b/pkg/sql/tests/testdata/initial_keys index fb8c67c684e3..70b695d9c544 100644 --- a/pkg/sql/tests/testdata/initial_keys +++ b/pkg/sql/tests/testdata/initial_keys @@ -1,6 +1,6 @@ initial-keys tenant=system ---- -122 keys: +128 keys: /System/"desc-idgen" /Table/3/1/1/2/1 /Table/3/1/3/2/1 @@ -55,6 +55,9 @@ initial-keys tenant=system /Table/3/1/60/2/1 /Table/3/1/61/2/1 /Table/3/1/62/2/1 + /Table/3/1/63/2/1 + /Table/3/1/64/2/1 + /Table/3/1/65/2/1 /Table/5/1/0/2/1 /Table/5/1/1/2/1 /Table/5/1/16/2/1 @@ -81,6 +84,7 @@ initial-keys tenant=system /NamespaceTable/30/1/1/29/"lease"/4/1 /NamespaceTable/30/1/1/29/"locations"/4/1 /NamespaceTable/30/1/1/29/"migrations"/4/1 + /NamespaceTable/30/1/1/29/"mvcc_statistics"/4/1 /NamespaceTable/30/1/1/29/"namespace"/4/1 /NamespaceTable/30/1/1/29/"privileges"/4/1 /NamespaceTable/30/1/1/29/"protected_ts_meta"/4/1 @@ -107,6 +111,7 @@ initial-keys tenant=system /NamespaceTable/30/1/1/29/"statement_bundle_chunks"/4/1 /NamespaceTable/30/1/1/29/"statement_diagnostics"/4/1 /NamespaceTable/30/1/1/29/"statement_diagnostics_requests"/4/1 + /NamespaceTable/30/1/1/29/"statement_execution_insights"/4/1 /NamespaceTable/30/1/1/29/"statement_statistics"/4/1 /NamespaceTable/30/1/1/29/"table_statistics"/4/1 /NamespaceTable/30/1/1/29/"task_payloads"/4/1 @@ -116,6 +121,7 @@ initial-keys tenant=system /NamespaceTable/30/1/1/29/"tenant_usage"/4/1 /NamespaceTable/30/1/1/29/"tenants"/4/1 /NamespaceTable/30/1/1/29/"transaction_activity"/4/1 + /NamespaceTable/30/1/1/29/"transaction_execution_insights"/4/1 /NamespaceTable/30/1/1/29/"transaction_statistics"/4/1 /NamespaceTable/30/1/1/29/"ui"/4/1 /NamespaceTable/30/1/1/29/"users"/4/1 @@ -123,7 +129,7 @@ initial-keys tenant=system /NamespaceTable/30/1/1/29/"zones"/4/1 /Table/48/1/0/0 /Table/62/1/0/0 -58 splits: +61 splits: /Table/3 /Table/4 /Table/5 @@ -182,10 +188,13 @@ initial-keys tenant=system /Table/60 /Table/61 /Table/62 + /Table/63 + /Table/64 + /Table/65 initial-keys tenant=5 ---- -98 keys: +104 keys: /Tenant/5/Table/3/1/1/2/1 /Tenant/5/Table/3/1/3/2/1 /Tenant/5/Table/3/1/4/2/1 @@ -233,6 +242,9 @@ initial-keys tenant=5 /Tenant/5/Table/3/1/57/2/1 /Tenant/5/Table/3/1/58/2/1 /Tenant/5/Table/3/1/59/2/1 + /Tenant/5/Table/3/1/60/2/1 + /Tenant/5/Table/3/1/61/2/1 + /Tenant/5/Table/3/1/62/2/1 /Tenant/5/Table/5/1/0/2/1 /Tenant/5/Table/7/1/0/0 /Tenant/5/NamespaceTable/30/1/0/0/"system"/4/1 @@ -249,6 +261,7 @@ initial-keys tenant=5 /Tenant/5/NamespaceTable/30/1/1/29/"lease"/4/1 /Tenant/5/NamespaceTable/30/1/1/29/"locations"/4/1 /Tenant/5/NamespaceTable/30/1/1/29/"migrations"/4/1 + /Tenant/5/NamespaceTable/30/1/1/29/"mvcc_statistics"/4/1 /Tenant/5/NamespaceTable/30/1/1/29/"namespace"/4/1 /Tenant/5/NamespaceTable/30/1/1/29/"privileges"/4/1 /Tenant/5/NamespaceTable/30/1/1/29/"protected_ts_meta"/4/1 @@ -275,9 +288,11 @@ initial-keys tenant=5 /Tenant/5/NamespaceTable/30/1/1/29/"statement_bundle_chunks"/4/1 /Tenant/5/NamespaceTable/30/1/1/29/"statement_diagnostics"/4/1 /Tenant/5/NamespaceTable/30/1/1/29/"statement_diagnostics_requests"/4/1 + /Tenant/5/NamespaceTable/30/1/1/29/"statement_execution_insights"/4/1 /Tenant/5/NamespaceTable/30/1/1/29/"statement_statistics"/4/1 /Tenant/5/NamespaceTable/30/1/1/29/"table_statistics"/4/1 /Tenant/5/NamespaceTable/30/1/1/29/"transaction_activity"/4/1 + /Tenant/5/NamespaceTable/30/1/1/29/"transaction_execution_insights"/4/1 /Tenant/5/NamespaceTable/30/1/1/29/"transaction_statistics"/4/1 /Tenant/5/NamespaceTable/30/1/1/29/"ui"/4/1 /Tenant/5/NamespaceTable/30/1/1/29/"users"/4/1 @@ -290,7 +305,7 @@ initial-keys tenant=5 initial-keys tenant=999 ---- -98 keys: +104 keys: /Tenant/999/Table/3/1/1/2/1 /Tenant/999/Table/3/1/3/2/1 /Tenant/999/Table/3/1/4/2/1 @@ -338,6 +353,9 @@ initial-keys tenant=999 /Tenant/999/Table/3/1/57/2/1 /Tenant/999/Table/3/1/58/2/1 /Tenant/999/Table/3/1/59/2/1 + /Tenant/999/Table/3/1/60/2/1 + /Tenant/999/Table/3/1/61/2/1 + /Tenant/999/Table/3/1/62/2/1 /Tenant/999/Table/5/1/0/2/1 /Tenant/999/Table/7/1/0/0 /Tenant/999/NamespaceTable/30/1/0/0/"system"/4/1 @@ -354,6 +372,7 @@ initial-keys tenant=999 /Tenant/999/NamespaceTable/30/1/1/29/"lease"/4/1 /Tenant/999/NamespaceTable/30/1/1/29/"locations"/4/1 /Tenant/999/NamespaceTable/30/1/1/29/"migrations"/4/1 + /Tenant/999/NamespaceTable/30/1/1/29/"mvcc_statistics"/4/1 /Tenant/999/NamespaceTable/30/1/1/29/"namespace"/4/1 /Tenant/999/NamespaceTable/30/1/1/29/"privileges"/4/1 /Tenant/999/NamespaceTable/30/1/1/29/"protected_ts_meta"/4/1 @@ -380,9 +399,11 @@ initial-keys tenant=999 /Tenant/999/NamespaceTable/30/1/1/29/"statement_bundle_chunks"/4/1 /Tenant/999/NamespaceTable/30/1/1/29/"statement_diagnostics"/4/1 /Tenant/999/NamespaceTable/30/1/1/29/"statement_diagnostics_requests"/4/1 + /Tenant/999/NamespaceTable/30/1/1/29/"statement_execution_insights"/4/1 /Tenant/999/NamespaceTable/30/1/1/29/"statement_statistics"/4/1 /Tenant/999/NamespaceTable/30/1/1/29/"table_statistics"/4/1 /Tenant/999/NamespaceTable/30/1/1/29/"transaction_activity"/4/1 + /Tenant/999/NamespaceTable/30/1/1/29/"transaction_execution_insights"/4/1 /Tenant/999/NamespaceTable/30/1/1/29/"transaction_statistics"/4/1 /Tenant/999/NamespaceTable/30/1/1/29/"ui"/4/1 /Tenant/999/NamespaceTable/30/1/1/29/"users"/4/1 diff --git a/pkg/upgrade/upgradebase/testing_knobs.go b/pkg/upgrade/upgradebase/testing_knobs.go index d52147390bb5..908e8ade8082 100644 --- a/pkg/upgrade/upgradebase/testing_knobs.go +++ b/pkg/upgrade/upgradebase/testing_knobs.go @@ -76,6 +76,8 @@ type TestingKnobs struct { // clusterversion.V23_1AddSystemActivityTables upgrade, which prevents a // job from being created. SkipUpdateSQLActivityJobBootstrap bool + + SkipMVCCStatisticsJobBootstrap bool } // ModuleTestingKnobs makes TestingKnobs a base.ModuleTestingKnobs. diff --git a/pkg/upgrade/upgrades/BUILD.bazel b/pkg/upgrade/upgrades/BUILD.bazel index 8124bd863d96..98b78b037d51 100644 --- a/pkg/upgrade/upgrades/BUILD.bazel +++ b/pkg/upgrade/upgrades/BUILD.bazel @@ -22,6 +22,7 @@ go_library( "first_upgrade.go", "grant_execute_to_public.go", "key_visualizer_migration.go", + "mvcc_statistics_migration.go", "permanent_upgrades.go", "plan_gist_stmt_diagnostics_requests.go", "role_members_ids_migration.go", @@ -29,6 +30,7 @@ go_library( "schemachanger_elements.go", "sql_stats_ttl.go", "system_activity_update_job.go", + "system_exec_insights.go", "system_job_info.go", "system_privileges_index_migration.go", "system_privileges_user_id_migration.go", @@ -56,6 +58,7 @@ go_library( "//pkg/security/username", "//pkg/settings", "//pkg/settings/cluster", + "//pkg/sql", "//pkg/sql/catalog", "//pkg/sql/catalog/catalogkeys", "//pkg/sql/catalog/catenumpb", @@ -120,6 +123,7 @@ go_test( "json_forward_indexes_test.go", "key_visualizer_migration_test.go", "main_test.go", + "mvcc_statistics_migration_test.go", "plan_gist_stmt_diagnostics_requests_test.go", "role_members_ids_migration_test.go", "schema_changes_external_test.go", @@ -127,6 +131,7 @@ go_test( "schemachanger_elements_test.go", "sql_stats_ttl_test.go", "system_activity_update_job_test.go", + "system_exec_insights_test.go", "system_job_info_test.go", "system_privileges_index_migration_test.go", "system_privileges_user_id_migration_test.go", diff --git a/pkg/upgrade/upgrades/mvcc_statistics_migration.go b/pkg/upgrade/upgrades/mvcc_statistics_migration.go new file mode 100644 index 000000000000..bf4d404736cc --- /dev/null +++ b/pkg/upgrade/upgrades/mvcc_statistics_migration.go @@ -0,0 +1,64 @@ +// Copyright 2023 The Cockroach Authors. +// +// Use of this software is governed by the Business Source License +// included in the file licenses/BSL.txt. +// +// As of the Change Date specified in that file, in accordance with +// the Business Source License, use of this software will be governed +// by the Apache License, Version 2.0, included in the file +// licenses/APL.txt. + +// Package upgrades contains the implementation of upgrades. It is imported +// by the server library. +// +// This package registers the upgrades with the upgrade package. + +package upgrades + +import ( + "context" + + "github.com/cockroachdb/cockroach/pkg/clusterversion" + "github.com/cockroachdb/cockroach/pkg/jobs" + "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" + "github.com/cockroachdb/cockroach/pkg/security/username" + // Import for the side effect of registering the MVCC statistics update job. + _ "github.com/cockroachdb/cockroach/pkg/sql" + "github.com/cockroachdb/cockroach/pkg/sql/catalog/systemschema" + "github.com/cockroachdb/cockroach/pkg/sql/isql" + "github.com/cockroachdb/cockroach/pkg/upgrade" +) + +func createMVCCStatisticsTableAndJobMigration( + ctx context.Context, _ clusterversion.ClusterVersion, d upgrade.TenantDeps, +) error { + + // Create the table. + err := createSystemTable( + ctx, + d.DB.KV(), + d.Settings, + d.Codec, + systemschema.SystemMVCCStatisticsTable, + ) + if err != nil { + return err + } + + // Bake the job. + if d.TestingKnobs != nil && d.TestingKnobs.SkipMVCCStatisticsJobBootstrap { + return nil + } + + record := jobs.Record{ + JobID: jobs.MVCCStatisticsJobID, + Description: "mvcc statistics update job", + Username: username.NodeUserName(), + Details: jobspb.MVCCStatisticsJobDetails{}, + Progress: jobspb.MVCCStatisticsJobProgress{}, + NonCancelable: true, // The job can't be canceled, but it can be paused. + } + return d.DB.Txn(ctx, func(ctx context.Context, txn isql.Txn) error { + return d.JobRegistry.CreateIfNotExistAdoptableJobWithTxn(ctx, record, txn) + }) +} diff --git a/pkg/upgrade/upgrades/mvcc_statistics_migration_test.go b/pkg/upgrade/upgrades/mvcc_statistics_migration_test.go new file mode 100644 index 000000000000..17c97be3332b --- /dev/null +++ b/pkg/upgrade/upgrades/mvcc_statistics_migration_test.go @@ -0,0 +1,80 @@ +// Copyright 2023 The Cockroach Authors. +// +// Use of this software is governed by the Business Source License +// included in the file licenses/BSL.txt. +// +// As of the Change Date specified in that file, in accordance with +// the Business Source License, use of this software will be governed +// by the Apache License, Version 2.0, included in the file +// licenses/APL.txt. + +package upgrades_test + +import ( + "context" + "testing" + + "github.com/cockroachdb/cockroach/pkg/base" + "github.com/cockroachdb/cockroach/pkg/clusterversion" + "github.com/cockroachdb/cockroach/pkg/server" + "github.com/cockroachdb/cockroach/pkg/sql" + "github.com/cockroachdb/cockroach/pkg/testutils/testcluster" + "github.com/cockroachdb/cockroach/pkg/upgrade/upgrades" + "github.com/cockroachdb/cockroach/pkg/util/leaktest" + "github.com/cockroachdb/cockroach/pkg/util/log" + "github.com/stretchr/testify/require" +) + +func TestMVCCStatisticsMigration(t *testing.T) { + defer leaktest.AfterTest(t)() + defer log.Scope(t).Close(t) + + clusterArgs := base.TestClusterArgs{ + ServerArgs: base.TestServerArgs{ + Knobs: base.TestingKnobs{ + Server: &server.TestingKnobs{ + DisableAutomaticVersionUpgrade: make(chan struct{}), + BinaryVersionOverride: clusterversion.ByKey(clusterversion.BinaryMinSupportedVersionKey), + BootstrapVersionKeyOverride: clusterversion.BinaryMinSupportedVersionKey, + }, + }, + }, + } + + var ( + ctx = context.Background() + + tc = testcluster.StartTestCluster(t, 1, clusterArgs) + s = tc.Server(0) + sqlDB = tc.ServerConn(0) + ) + defer tc.Stopper().Stop(ctx) + require.True(t, s.ExecutorConfig().(sql.ExecutorConfig).Codec.ForSystemTenant()) + + // Introduce the sequence. + upgrades.Upgrade( + t, + sqlDB, + clusterversion.V23_2_MVCCStatisticsTable, + nil, + false, + ) + + db := tc.ServerConn(0) + defer db.Close() + + t.Run("mvcc_statistics_table", func(t *testing.T) { + _, err := sqlDB.Exec("SELECT * FROM system.mvcc_statistics") + require.NoError(t, err, "system.public.mvcc_statistics exists") + }) + + t.Run("mvcc_stats_job", func(t *testing.T) { + row := db.QueryRow("SELECT count(*) FROM system.public.jobs WHERE id = 104") + require.NotNil(t, row) + require.NoError(t, row.Err()) + var count int + err := row.Scan(&count) + require.NoError(t, err) + require.Equal(t, 1, count) + }) +} diff --git a/pkg/upgrade/upgrades/system_exec_insights.go b/pkg/upgrade/upgrades/system_exec_insights.go new file mode 100644 index 000000000000..925102542079 --- /dev/null +++ b/pkg/upgrade/upgrades/system_exec_insights.go @@ -0,0 +1,32 @@ +// Copyright 2023 The Cockroach Authors. +// +// Use of this software is governed by the Business Source License +// included in the file licenses/BSL.txt. +// +// As of the Change Date specified in that file, in accordance with +// the Business Source License, use of this software will be governed +// by the Apache License, Version 2.0, included in the file +// licenses/APL.txt. + +package upgrades + +import ( + "context" + + "github.com/cockroachdb/cockroach/pkg/clusterversion" + "github.com/cockroachdb/cockroach/pkg/sql/catalog/systemschema" + "github.com/cockroachdb/cockroach/pkg/upgrade" +) + +// systemExecInsightsTableMigration creates the system.insights table. +func systemExecInsightsTableMigration( + ctx context.Context, _ clusterversion.ClusterVersion, d upgrade.TenantDeps, +) error { + if err := createSystemTable(ctx, d.DB.KV(), d.Settings, d.Codec, systemschema.TransactionExecInsightsTable); err != nil { + return err + } + if err := createSystemTable(ctx, d.DB.KV(), d.Settings, d.Codec, systemschema.StatementExecInsightsTable); err != nil { + return err + } + return nil +} diff --git a/pkg/upgrade/upgrades/system_exec_insights_test.go b/pkg/upgrade/upgrades/system_exec_insights_test.go new file mode 100644 index 000000000000..d106e6badfaa --- /dev/null +++ b/pkg/upgrade/upgrades/system_exec_insights_test.go @@ -0,0 +1,69 @@ +// Copyright 2023 The Cockroach Authors. +// +// Use of this software is governed by the Business Source License +// included in the file licenses/BSL.txt. +// +// As of the Change Date specified in that file, in accordance with +// the Business Source License, use of this software will be governed +// by the Apache License, Version 2.0, included in the file +// licenses/APL.txt. + +package upgrades_test + +import ( + "context" + "testing" + + "github.com/cockroachdb/cockroach/pkg/base" + "github.com/cockroachdb/cockroach/pkg/clusterversion" + "github.com/cockroachdb/cockroach/pkg/server" + "github.com/cockroachdb/cockroach/pkg/sql" + "github.com/cockroachdb/cockroach/pkg/testutils/testcluster" + "github.com/cockroachdb/cockroach/pkg/upgrade/upgrades" + "github.com/cockroachdb/cockroach/pkg/util/leaktest" + "github.com/cockroachdb/cockroach/pkg/util/log" + "github.com/stretchr/testify/require" +) + +func TestExecSystemInsights(t *testing.T) { + defer leaktest.AfterTest(t)() + defer log.Scope(t).Close(t) + + clusterArgs := base.TestClusterArgs{ + ServerArgs: base.TestServerArgs{ + Knobs: base.TestingKnobs{ + Server: &server.TestingKnobs{ + DisableAutomaticVersionUpgrade: make(chan struct{}), + BinaryVersionOverride: clusterversion.ByKey(clusterversion.BinaryMinSupportedVersionKey), + BootstrapVersionKeyOverride: clusterversion.BinaryMinSupportedVersionKey, + }, + }, + }, + } + + var ( + ctx = context.Background() + + tc = testcluster.StartTestCluster(t, 1, clusterArgs) + s = tc.Server(0) + sqlDB = tc.ServerConn(0) + ) + defer tc.Stopper().Stop(ctx) + require.True(t, s.ExecutorConfig().(sql.ExecutorConfig).Codec.ForSystemTenant()) + + // Introduce the sequence. + upgrades.Upgrade( + t, + sqlDB, + clusterversion.V23_2_AddSystemExecInsightsTable, + nil, + false, + ) + + _, err := sqlDB.Exec("SELECT * FROM system.public.statement_execution_insights") + require.NoError(t, err, "system.public.statement_execution_insights exists") + + _, err = sqlDB.Exec("SELECT * FROM system.public.transaction_execution_insights") + require.NoError(t, err, "system.public.transaction_execution_insights exists") + +} diff --git a/pkg/upgrade/upgrades/upgrades.go b/pkg/upgrade/upgrades/upgrades.go index 0ab81d608543..f7ff3a9ec1bc 100644 --- a/pkg/upgrade/upgrades/upgrades.go +++ b/pkg/upgrade/upgrades/upgrades.go @@ -322,6 +322,18 @@ var upgrades = []upgradebase.Upgrade{ upgrade.NoPrecondition, grantExecuteToPublicOnAllFunctions, ), + upgrade.NewPermanentTenantUpgrade( + "create system.mvcc_statistics table and job", + toCV(clusterversion.V23_2_MVCCStatisticsTable), + createMVCCStatisticsTableAndJobMigration, + "create system.mvcc_statistics table and job", + ), + upgrade.NewTenantUpgrade( + "create transaction_execution_insights and statement_execution_insights tables", + toCV(clusterversion.V23_2_AddSystemExecInsightsTable), + upgrade.NoPrecondition, + systemExecInsightsTableMigration, + ), } var ( diff --git a/pkg/util/rangedesc/testdata/scoped_iteration b/pkg/util/rangedesc/testdata/scoped_iteration index 163613ce96bd..2149d180243a 100644 --- a/pkg/util/rangedesc/testdata/scoped_iteration +++ b/pkg/util/rangedesc/testdata/scoped_iteration @@ -63,35 +63,38 @@ scan - r61:/Table/{59-60} - r62:/Table/6{0-1} - r63:/Table/6{1-2} -- r64:/{Table/62-Max} -scan through /M{in-ax} (page-size=1) found 64/64 descriptors +- r64:/Table/6{2-3} +- r65:/Table/6{3-4} +- r66:/Table/6{4-5} +- r67:/{Table/65-Max} +scan through /M{in-ax} (page-size=1) found 67/67 descriptors scan scope=1 ---- - r2:/System/NodeLiveness{-Max} -scan through /System/NodeLiveness{-Max} (page-size=1) found 1/64 descriptors +scan through /System/NodeLiveness{-Max} (page-size=1) found 1/67 descriptors scan scope=2 ---- - r4:/System{/tsd-tse} -scan through /System{/tsd-tse} (page-size=1) found 1/64 descriptors +scan through /System{/tsd-tse} (page-size=1) found 1/67 descriptors scan scope=3 ---- - r1:/{Meta1-System/NodeLiveness} -scan through /M{in-eta2} (page-size=1) found 1/64 descriptors +scan through /M{in-eta2} (page-size=1) found 1/67 descriptors scan scope=4 ---- - r1:/{Meta1-System/NodeLiveness} -scan through /{Meta1-System} (page-size=1) found 1/64 descriptors +scan through /{Meta1-System} (page-size=1) found 1/67 descriptors scan scope=5 ---- - r7:/Table/{3-4} - r8:/Table/{4-5} - r9:/Table/{5-6} -scan through /Table/{3-6} (page-size=1) found 3/64 descriptors +scan through /Table/{3-6} (page-size=1) found 3/67 descriptors scan scope=6 ---- @@ -105,7 +108,7 @@ scan scope=6 - r48:/Table/4{5-6} - r49:/Table/4{6-7} - r50:/Table/4{7-8} -scan through /Table/{38-48} (page-size=1) found 10/64 descriptors +scan through /Table/{38-48} (page-size=1) found 10/67 descriptors scan scope=7 ---- @@ -167,5 +170,8 @@ scan scope=7 - r61:/Table/{59-60} - r62:/Table/6{0-1} - r63:/Table/6{1-2} -- r64:/{Table/62-Max} -scan through /Table/{0-Max} (page-size=1) found 59/64 descriptors +- r64:/Table/6{2-3} +- r65:/Table/6{3-4} +- r66:/Table/6{4-5} +- r67:/{Table/65-Max} +scan through /Table/{0-Max} (page-size=1) found 62/67 descriptors diff --git a/pkg/util/rangedesc/testdata/scoped_iteration_with_page_size b/pkg/util/rangedesc/testdata/scoped_iteration_with_page_size index df50ea28ce68..7afda079417a 100644 --- a/pkg/util/rangedesc/testdata/scoped_iteration_with_page_size +++ b/pkg/util/rangedesc/testdata/scoped_iteration_with_page_size @@ -63,18 +63,21 @@ scan page-size=3 - r61:/Table/{59-60} - r62:/Table/6{0-1} - r63:/Table/6{1-2} -- r64:/{Table/62-Max} -scan through /M{in-ax} (page-size=3) found 64/64 descriptors +- r64:/Table/6{2-3} +- r65:/Table/6{3-4} +- r66:/Table/6{4-5} +- r67:/{Table/65-Max} +scan through /M{in-ax} (page-size=3) found 67/67 descriptors scan scope=1 page-size=5 ---- - r2:/System/NodeLiveness{-Max} -scan through /System/NodeLiveness{-Max} (page-size=5) found 1/64 descriptors +scan through /System/NodeLiveness{-Max} (page-size=5) found 1/67 descriptors scan scope=1 page-size=500 ---- - r2:/System/NodeLiveness{-Max} -scan through /System/NodeLiveness{-Max} (page-size=500) found 1/64 descriptors +scan through /System/NodeLiveness{-Max} (page-size=500) found 1/67 descriptors scan scope=6 page-size=4 ---- @@ -88,4 +91,4 @@ scan scope=6 page-size=4 - r48:/Table/4{5-6} - r49:/Table/4{6-7} - r50:/Table/4{7-8} -scan through /Table/{38-48} (page-size=4) found 10/64 descriptors +scan through /Table/{38-48} (page-size=4) found 10/67 descriptors diff --git a/pkg/util/rangedesc/testdata/scoped_iteration_with_splits b/pkg/util/rangedesc/testdata/scoped_iteration_with_splits index 9fbf2f5fee50..c94a5d5eb256 100644 --- a/pkg/util/rangedesc/testdata/scoped_iteration_with_splits +++ b/pkg/util/rangedesc/testdata/scoped_iteration_with_splits @@ -7,8 +7,8 @@ splitting at /Meta2/"middle" scan ---- - r1:/Meta{1-2} -- r65:/Meta2{-/middle} -- r66:/{Meta2/middle-System/NodeLiveness} +- r68:/Meta2{-/middle} +- r69:/{Meta2/middle-System/NodeLiveness} - r2:/System/NodeLiveness{-Max} - r3:/System/{NodeLivenessMax-tsd} - r4:/System{/tsd-tse} @@ -71,19 +71,22 @@ scan - r61:/Table/{59-60} - r62:/Table/6{0-1} - r63:/Table/6{1-2} -- r64:/{Table/62-Max} -scan through /M{in-ax} (page-size=1) found 66/66 descriptors +- r64:/Table/6{2-3} +- r65:/Table/6{3-4} +- r66:/Table/6{4-5} +- r67:/{Table/65-Max} +scan through /M{in-ax} (page-size=1) found 69/69 descriptors # Scanning through just meta1 is unnaffected by these splits. scan scope=3 ---- - r1:/Meta{1-2} -scan through /M{in-eta2} (page-size=1) found 1/66 descriptors +scan through /M{in-eta2} (page-size=1) found 1/69 descriptors # Scanning through both meta{1,2} does surface these descriptors. scan scope=4 page-size=2 ---- - r1:/Meta{1-2} -- r65:/Meta2{-/middle} -- r66:/{Meta2/middle-System/NodeLiveness} -scan through /{Meta1-System} (page-size=2) found 3/66 descriptors +- r68:/Meta2{-/middle} +- r69:/{Meta2/middle-System/NodeLiveness} +scan through /{Meta1-System} (page-size=2) found 3/69 descriptors