diff --git a/pkg/ccl/logictestccl/testdata/logic_test/crdb_internal b/pkg/ccl/logictestccl/testdata/logic_test/crdb_internal index f15cda324af9..9a78d5d36380 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/crdb_internal +++ b/pkg/ccl/logictestccl/testdata/logic_test/crdb_internal @@ -36,13 +36,13 @@ CREATE table t2 (a STRING PRIMARY KEY) PARTITION BY LIST (a) ( query IITTI SELECT * FROM crdb_internal.partitions ORDER BY table_id, index_id, name ---- -51 1 NULL p12 1 -51 1 p12 p12p3 1 -51 1 p12p3 p12p3p8 1 -51 1 NULL p6 1 -51 1 p6 p6p7 1 -51 1 p6 p6p8 1 -51 1 p6 p6px 1 -51 1 p12 pd 1 -51 2 NULL p00 2 -52 1 NULL pfoo 1 +53 1 NULL p12 1 +53 1 p12 p12p3 1 +53 1 p12p3 p12p3p8 1 +53 1 NULL p6 1 +53 1 p6 p6p7 1 +53 1 p6 p6p8 1 +53 1 p6 p6px 1 +53 1 p12 pd 1 +53 2 NULL p00 2 +54 1 NULL pfoo 1 diff --git a/pkg/cli/sql.go b/pkg/cli/sql.go index e613ab196beb..3b45d6851588 100644 --- a/pkg/cli/sql.go +++ b/pkg/cli/sql.go @@ -549,6 +549,12 @@ func (c *cliState) refreshDatabaseName() (string, bool) { return "", false } + if dbVal == "" { + // Attempt to be helpful to new users. + fmt.Fprintln(stderr, "warning: no current database set."+ + " Use SET database = to change, CREATE DATABASE to make a new database.") + } + dbName := formatVal(dbVal.(string), false /* showPrintableUnicode */, false /* shownewLinesAndTabs */) @@ -570,12 +576,6 @@ func preparePrompts(dbURL string) (promptPrefix, fullPrompt, continuePrompt stri username = parsedURL.User.Username() } promptPrefix = fmt.Sprintf("%s@%s", username, parsedURL.Host) - - if parsedURL.Path == "" { - // Attempt to be helpful to new users. - fmt.Fprintln(stderr, "warning: no current database set."+ - " Use SET database = to change, CREATE DATABASE to make a new database.") - } } if len(promptPrefix) == 0 { diff --git a/pkg/sql/conn_executor.go b/pkg/sql/conn_executor.go index d2376ee79182..ab4a3cbc786c 100644 --- a/pkg/sql/conn_executor.go +++ b/pkg/sql/conn_executor.go @@ -411,6 +411,11 @@ func (s *Server) ServeConn( settings := &s.cfg.Settings.SV distSQLMode := sessiondata.DistSQLExecMode(DistSQLClusterExecMode.Get(settings)) + curDb := args.Database + if curDb == "" { + curDb = sessiondata.DefaultDatabaseName + } + ex := connExecutor{ server: s, stmtBuf: stmtBuf, @@ -418,7 +423,7 @@ func (s *Server) ServeConn( mon: &sessionRootMon, sessionMon: &sessionMon, sessionData: sessiondata.SessionData{ - Database: args.Database, + Database: curDb, DistSQLMode: distSQLMode, SearchPath: sqlbase.DefaultSearchPath, Location: time.UTC, @@ -464,7 +469,7 @@ func (s *Server) ServeConn( data: &ex.sessionData, defaults: sessionDefaults{ applicationName: args.ApplicationName, - database: args.Database, + database: curDb, }, settings: s.cfg.Settings, curTxnReadOnly: &ex.state.readOnly, diff --git a/pkg/sql/logictest/testdata/logic_test/crdb_internal b/pkg/sql/logictest/testdata/logic_test/crdb_internal index 4ee561f2cff1..22dc53d82d22 100644 --- a/pkg/sql/logictest/testdata/logic_test/crdb_internal +++ b/pkg/sql/logictest/testdata/logic_test/crdb_internal @@ -200,8 +200,8 @@ statement ok INSERT INTO system.zones (id, config) VALUES (17, (SELECT config_proto FROM crdb_internal.zones WHERE id = 0)), (18, (SELECT config_proto FROM crdb_internal.zones WHERE id = 0)), - (51, (SELECT config_proto FROM crdb_internal.zones WHERE id = 0)), - (52, (SELECT config_proto FROM crdb_internal.zones WHERE id = 0)) + (53, (SELECT config_proto FROM crdb_internal.zones WHERE id = 0)), + (54, (SELECT config_proto FROM crdb_internal.zones WHERE id = 0)) query IT SELECT id, cli_specifier FROM crdb_internal.zones ORDER BY id @@ -212,8 +212,8 @@ SELECT id, cli_specifier FROM crdb_internal.zones ORDER BY id 17 .system 18 .timeseries 22 .liveness -51 testdb -52 testdb.foo +53 testdb +54 testdb.foo query error pq: foo SELECT crdb_internal.force_error('', 'foo') diff --git a/pkg/sql/logictest/testdata/logic_test/database b/pkg/sql/logictest/testdata/logic_test/database index 56c4c2d1ae41..672636a268c1 100644 --- a/pkg/sql/logictest/testdata/logic_test/database +++ b/pkg/sql/logictest/testdata/logic_test/database @@ -17,6 +17,8 @@ SHOW DATABASES ---- Database a +default +postgres system test @@ -85,6 +87,8 @@ b4 b5 b6 c +default +postgres system test @@ -132,6 +136,8 @@ SHOW DATABASES Database a c +default +postgres system test diff --git a/pkg/sql/logictest/testdata/logic_test/deep_interleaving b/pkg/sql/logictest/testdata/logic_test/deep_interleaving index 20cae74738a7..1e7b7876b9d9 100644 --- a/pkg/sql/logictest/testdata/logic_test/deep_interleaving +++ b/pkg/sql/logictest/testdata/logic_test/deep_interleaving @@ -111,7 +111,7 @@ EXPLAIN SELECT * FROM level4 WHERE k1 > 1 AND k1 < 3 ---- scan · · · table level4@primary -· spans /2/#/52/1/#/53/1-/2/#/52/1/#/53/2 +· spans /2/#/54/1/#/55/1-/2/#/54/1/#/55/2 query III rowsort SELECT * FROM level4 WHERE k1 > 1 AND k1 < 3 @@ -131,7 +131,7 @@ EXPLAIN SELECT * FROM level4 WHERE k1 = 2 AND k2 > 10 AND k2 < 30 ---- scan · · · table level4@primary -· spans /2/#/52/1/#/53/1/11-/2/#/52/1/#/53/1/30 +· spans /2/#/54/1/#/55/1/11-/2/#/54/1/#/55/1/30 query III rowsort SELECT * FROM level4 WHERE k1 = 2 AND k2 > 10 AND k2 < 30 @@ -145,7 +145,7 @@ EXPLAIN SELECT * FROM level4 WHERE k1 = 2 AND k2 = 20 AND k3 > 100 AND k3 < 300 ---- scan · · · table level4@primary -· spans /2/#/52/1/#/53/1/20/101/#/54/1-/2/#/52/1/#/53/1/20/299/#/54/1/# +· spans /2/#/54/1/#/55/1/20/101/#/56/1-/2/#/54/1/#/55/1/20/299/#/56/1/# query III SELECT * FROM level4 WHERE k1 = 2 AND k2 = 20 AND k3 > 100 AND k3 < 300 @@ -157,7 +157,7 @@ EXPLAIN SELECT * FROM level4 WHERE k1 = 2 AND k2 = 20 AND k3 = 200 ---- scan · · · table level4@primary -· spans /2/#/52/1/#/53/1/20/200/#/54/1-/2/#/52/1/#/53/1/20/200/#/54/1/# +· spans /2/#/54/1/#/55/1/20/200/#/56/1-/2/#/54/1/#/55/1/20/200/#/56/1/# query III SELECT * FROM level4 WHERE k1 = 2 AND k2 = 20 AND k3 = 200 diff --git a/pkg/sql/logictest/testdata/logic_test/dependencies b/pkg/sql/logictest/testdata/logic_test/dependencies index 40e4a72f0e51..606338b26e93 100644 --- a/pkg/sql/logictest/testdata/logic_test/dependencies +++ b/pkg/sql/logictest/testdata/logic_test/dependencies @@ -18,89 +18,89 @@ query ITITTBTB colnames SELECT * FROM crdb_internal.table_columns WHERE descriptor_name LIKE 'test_%' ORDER BY descriptor_id, column_id ---- descriptor_id descriptor_name column_id column_name column_type nullable default_expr hidden -51 test_kv 1 k semantic_type:INT width:0 precision:0 visible_type:NONE false NULL false -51 test_kv 2 v semantic_type:INT width:0 precision:0 visible_type:NONE true NULL false -51 test_kv 3 w semantic_type:DECIMAL width:0 precision:0 visible_type:NONE true NULL false -52 test_kvr1 1 k semantic_type:INT width:0 precision:0 visible_type:NONE false NULL false -53 test_kvr2 1 k semantic_type:INT width:0 precision:0 visible_type:NONE true NULL false -53 test_kvr2 2 v semantic_type:INT width:0 precision:0 visible_type:NONE true NULL false -53 test_kvr2 3 rowid semantic_type:INT width:0 precision:0 visible_type:NONE false unique_rowid() true -54 test_kvr3 1 k semantic_type:INT width:0 precision:0 visible_type:NONE true NULL false -54 test_kvr3 2 v semantic_type:INT width:0 precision:0 visible_type:NONE true NULL false -54 test_kvr3 3 rowid semantic_type:INT width:0 precision:0 visible_type:NONE false unique_rowid() true -55 test_kvi1 1 k semantic_type:INT width:0 precision:0 visible_type:NONE false NULL false -56 test_kvi2 1 k semantic_type:INT width:0 precision:0 visible_type:NONE false NULL false -56 test_kvi2 2 v semantic_type:INT width:0 precision:0 visible_type:NONE true NULL false -57 test_v1 1 v semantic_type:INT width:0 precision:0 visible_type:NONE false NULL false -59 test_v2 1 v semantic_type:INT width:0 precision:0 visible_type:NONE false NULL false +53 test_kv 1 k semantic_type:INT width:0 precision:0 visible_type:NONE false NULL false +53 test_kv 2 v semantic_type:INT width:0 precision:0 visible_type:NONE true NULL false +53 test_kv 3 w semantic_type:DECIMAL width:0 precision:0 visible_type:NONE true NULL false +54 test_kvr1 1 k semantic_type:INT width:0 precision:0 visible_type:NONE false NULL false +55 test_kvr2 1 k semantic_type:INT width:0 precision:0 visible_type:NONE true NULL false +55 test_kvr2 2 v semantic_type:INT width:0 precision:0 visible_type:NONE true NULL false +55 test_kvr2 3 rowid semantic_type:INT width:0 precision:0 visible_type:NONE false unique_rowid() true +56 test_kvr3 1 k semantic_type:INT width:0 precision:0 visible_type:NONE true NULL false +56 test_kvr3 2 v semantic_type:INT width:0 precision:0 visible_type:NONE true NULL false +56 test_kvr3 3 rowid semantic_type:INT width:0 precision:0 visible_type:NONE false unique_rowid() true +57 test_kvi1 1 k semantic_type:INT width:0 precision:0 visible_type:NONE false NULL false +58 test_kvi2 1 k semantic_type:INT width:0 precision:0 visible_type:NONE false NULL false +58 test_kvi2 2 v semantic_type:INT width:0 precision:0 visible_type:NONE true NULL false +59 test_v1 1 v semantic_type:INT width:0 precision:0 visible_type:NONE false NULL false +61 test_v2 1 v semantic_type:INT width:0 precision:0 visible_type:NONE false NULL false query ITITTB colnames SELECT * FROM crdb_internal.table_indexes WHERE descriptor_name LIKE 'test_%' ORDER BY descriptor_id, index_id ---- descriptor_id descriptor_name index_id index_name index_type is_unique -51 test_kv 1 primary primary true -51 test_kv 2 test_v_idx secondary true -51 test_kv 3 test_v_idx2 secondary false -51 test_kv 4 test_v_idx3 secondary false -52 test_kvr1 1 primary primary true -53 test_kvr2 1 primary primary true -53 test_kvr2 2 test_kvr2_v_key secondary true -54 test_kvr3 1 primary primary true -54 test_kvr3 2 test_kvr3_v_key secondary true -55 test_kvi1 1 primary primary true -56 test_kvi2 1 primary primary true -56 test_kvi2 2 test_kvi2_idx secondary true -57 test_v1 0 · primary false -59 test_v2 0 · primary false +53 test_kv 1 primary primary true +53 test_kv 2 test_v_idx secondary true +53 test_kv 3 test_v_idx2 secondary false +53 test_kv 4 test_v_idx3 secondary false +54 test_kvr1 1 primary primary true +55 test_kvr2 1 primary primary true +55 test_kvr2 2 test_kvr2_v_key secondary true +56 test_kvr3 1 primary primary true +56 test_kvr3 2 test_kvr3_v_key secondary true +57 test_kvi1 1 primary primary true +58 test_kvi2 1 primary primary true +58 test_kvi2 2 test_kvi2_idx secondary true +59 test_v1 0 · primary false +61 test_v2 0 · primary false query ITITTITT colnames SELECT * FROM crdb_internal.index_columns WHERE descriptor_name LIKE 'test_%' ORDER BY descriptor_id, index_id, column_type, column_id ---- descriptor_id descriptor_name index_id index_name column_type column_id column_name column_direction -51 test_kv 1 primary key 1 k ASC -51 test_kv 2 test_v_idx extra 1 NULL NULL -51 test_kv 2 test_v_idx key 2 v ASC -51 test_kv 3 test_v_idx2 extra 1 NULL NULL -51 test_kv 3 test_v_idx2 key 2 v DESC -51 test_kv 4 test_v_idx3 composite 3 NULL NULL -51 test_kv 4 test_v_idx3 extra 1 NULL NULL -51 test_kv 4 test_v_idx3 key 3 w ASC -51 test_kv 4 test_v_idx3 storing 2 NULL NULL -52 test_kvr1 1 primary key 1 k ASC -53 test_kvr2 1 primary key 3 rowid ASC -53 test_kvr2 2 test_kvr2_v_key extra 3 NULL NULL -53 test_kvr2 2 test_kvr2_v_key key 2 v ASC -54 test_kvr3 1 primary key 3 rowid ASC -54 test_kvr3 2 test_kvr3_v_key extra 3 NULL NULL -54 test_kvr3 2 test_kvr3_v_key key 2 v ASC -55 test_kvi1 1 primary key 1 k ASC -56 test_kvi2 1 primary key 1 k ASC -56 test_kvi2 2 test_kvi2_idx extra 1 NULL NULL -56 test_kvi2 2 test_kvi2_idx key 2 v ASC +53 test_kv 1 primary key 1 k ASC +53 test_kv 2 test_v_idx extra 1 NULL NULL +53 test_kv 2 test_v_idx key 2 v ASC +53 test_kv 3 test_v_idx2 extra 1 NULL NULL +53 test_kv 3 test_v_idx2 key 2 v DESC +53 test_kv 4 test_v_idx3 composite 3 NULL NULL +53 test_kv 4 test_v_idx3 extra 1 NULL NULL +53 test_kv 4 test_v_idx3 key 3 w ASC +53 test_kv 4 test_v_idx3 storing 2 NULL NULL +54 test_kvr1 1 primary key 1 k ASC +55 test_kvr2 1 primary key 3 rowid ASC +55 test_kvr2 2 test_kvr2_v_key extra 3 NULL NULL +55 test_kvr2 2 test_kvr2_v_key key 2 v ASC +56 test_kvr3 1 primary key 3 rowid ASC +56 test_kvr3 2 test_kvr3_v_key extra 3 NULL NULL +56 test_kvr3 2 test_kvr3_v_key key 2 v ASC +57 test_kvi1 1 primary key 1 k ASC +58 test_kvi2 1 primary key 1 k ASC +58 test_kvi2 2 test_kvi2_idx extra 1 NULL NULL +58 test_kvi2 2 test_kvi2_idx key 2 v ASC query ITIIITITT colnames SELECT * FROM crdb_internal.backward_dependencies WHERE descriptor_name LIKE 'test_%' ORDER BY descriptor_id, index_id, dependson_type, dependson_id, dependson_index_id ---- descriptor_id descriptor_name index_id column_id dependson_id dependson_type dependson_index_id dependson_name dependson_details -52 test_kvr1 1 NULL 51 fk 1 fk_k_ref_test_kv SharedPrefixLen: 1 -53 test_kvr2 2 NULL 51 fk 1 fk_v_ref_test_kv SharedPrefixLen: 1 -54 test_kvr3 2 NULL 51 fk 2 fk_v_ref_test_kv SharedPrefixLen: 1 -55 test_kvi1 1 NULL 51 interleave 1 NULL SharedPrefixLen: 1 -56 test_kvi2 2 NULL 51 interleave 1 NULL SharedPrefixLen: 1 -57 test_v1 NULL NULL 51 view NULL NULL NULL -59 test_v2 NULL NULL 57 view NULL NULL NULL +54 test_kvr1 1 NULL 53 fk 1 fk_k_ref_test_kv SharedPrefixLen: 1 +55 test_kvr2 2 NULL 53 fk 1 fk_v_ref_test_kv SharedPrefixLen: 1 +56 test_kvr3 2 NULL 53 fk 2 fk_v_ref_test_kv SharedPrefixLen: 1 +57 test_kvi1 1 NULL 53 interleave 1 NULL SharedPrefixLen: 1 +58 test_kvi2 2 NULL 53 interleave 1 NULL SharedPrefixLen: 1 +59 test_v1 NULL NULL 53 view NULL NULL NULL +61 test_v2 NULL NULL 59 view NULL NULL NULL query ITIITITT colnames SELECT * FROM crdb_internal.forward_dependencies WHERE descriptor_name LIKE 'test_%' ORDER BY descriptor_id, index_id, dependedonby_type, dependedonby_id, dependedonby_index_id ---- descriptor_id descriptor_name index_id dependedonby_id dependedonby_type dependedonby_index_id dependedonby_name dependedonby_details -51 test_kv NULL 57 view 0 NULL Columns: [1 2 3] -51 test_kv 1 52 fk 1 · SharedPrefixLen: 0 -51 test_kv 1 53 fk 2 · SharedPrefixLen: 0 -51 test_kv 1 55 interleave 1 NULL SharedPrefixLen: 0 -51 test_kv 1 56 interleave 2 NULL SharedPrefixLen: 0 -51 test_kv 2 54 fk 2 · SharedPrefixLen: 0 -57 test_v1 NULL 59 view 0 NULL Columns: [1] +53 test_kv NULL 59 view 0 NULL Columns: [1 2 3] +53 test_kv 1 54 fk 1 · SharedPrefixLen: 0 +53 test_kv 1 55 fk 2 · SharedPrefixLen: 0 +53 test_kv 1 57 interleave 1 NULL SharedPrefixLen: 0 +53 test_kv 1 58 interleave 2 NULL SharedPrefixLen: 0 +53 test_kv 2 56 fk 2 · SharedPrefixLen: 0 +59 test_v1 NULL 61 view 0 NULL Columns: [1] # Checks view dependencies (#17306) statement ok @@ -111,13 +111,13 @@ query ITIIITITT colnames SELECT * FROM crdb_internal.backward_dependencies WHERE descriptor_name LIKE 'moretest_%' ORDER BY descriptor_id, index_id, dependson_type, dependson_id, dependson_index_id ---- descriptor_id descriptor_name index_id column_id dependson_id dependson_type dependson_index_id dependson_name dependson_details -62 moretest_v NULL NULL 60 view NULL NULL NULL +64 moretest_v NULL NULL 62 view NULL NULL NULL query ITIITITT colnames SELECT * FROM crdb_internal.forward_dependencies WHERE descriptor_name LIKE 'moretest_%' ORDER BY descriptor_id, index_id, dependedonby_type, dependedonby_id, dependedonby_index_id ---- descriptor_id descriptor_name index_id dependedonby_id dependedonby_type dependedonby_index_id dependedonby_name dependedonby_details -60 moretest_t NULL 62 view 0 NULL Columns: [1 2 3] +62 moretest_t NULL 64 view 0 NULL Columns: [1 2 3] # Check sequence dependencies. @@ -131,13 +131,13 @@ query ITIIITITT colnames SELECT * FROM crdb_internal.backward_dependencies WHERE descriptor_name LIKE 'blog_posts' ---- descriptor_id descriptor_name index_id column_id dependson_id dependson_type dependson_index_id dependson_name dependson_details -64 blog_posts NULL 1 63 sequence NULL NULL NULL +66 blog_posts NULL 1 65 sequence NULL NULL NULL query ITIITITT colnames SELECT * FROM crdb_internal.forward_dependencies WHERE descriptor_name LIKE 'blog_posts%' ---- descriptor_id descriptor_name index_id dependedonby_id dependedonby_type dependedonby_index_id dependedonby_name dependedonby_details -63 blog_posts_id_seq NULL 64 sequence 0 NULL Columns: [0] +65 blog_posts_id_seq NULL 66 sequence 0 NULL Columns: [0] # Verify that we report a dependency on a column that is being mutated. #CREATE VIEW v AS WITH a AS (UPDATE kv SET v = 444 RETURNING k) SELECT k FROM a; @@ -170,4 +170,4 @@ query ITIITITT colnames SELECT * FROM crdb_internal.forward_dependencies WHERE descriptor_name = 'kv' ---- descriptor_id descriptor_name index_id dependedonby_id dependedonby_type dependedonby_index_id dependedonby_name dependedonby_details -65 kv NULL 66 view 0 NULL Columns: [1 2 3] +67 kv NULL 68 view 0 NULL Columns: [1 2 3] diff --git a/pkg/sql/logictest/testdata/logic_test/drop_database b/pkg/sql/logictest/testdata/logic_test/drop_database index 4af00c7bd968..c540e51b6890 100644 --- a/pkg/sql/logictest/testdata/logic_test/drop_database +++ b/pkg/sql/logictest/testdata/logic_test/drop_database @@ -6,7 +6,9 @@ CREATE DATABASE "foo-bar" query T SHOW DATABASES ---- +default foo-bar +postgres system test @@ -22,11 +24,13 @@ DROP DATABASE "foo-bar" CASCADE query TTT SELECT name, database_name, state FROM crdb_internal.tables WHERE name = 't' ---- -t [51] DROP +t [53] DROP query T SHOW DATABASES ---- +default +postgres system test @@ -36,7 +40,9 @@ CREATE DATABASE "foo bar" query T SHOW DATABASES ---- +default foo bar +postgres system test @@ -46,6 +52,8 @@ DROP DATABASE "foo bar" CASCADE query T SHOW DATABASES ---- +default +postgres system test @@ -130,6 +138,8 @@ SHOW DATABASES ---- d1 d2 +default +postgres system test @@ -140,6 +150,8 @@ query T SHOW DATABASES ---- d2 +default +postgres system test @@ -165,6 +177,8 @@ DROP DATABASE d2 CASCADE query T SHOW DATABASES ---- +default +postgres system test @@ -196,6 +210,8 @@ DROP DATABASE constraint_db CASCADE query T SHOW DATABASES ---- +default +postgres system test diff --git a/pkg/sql/logictest/testdata/logic_test/event_log b/pkg/sql/logictest/testdata/logic_test/event_log index 6697bb315572..7affc76f567a 100644 --- a/pkg/sql/logictest/testdata/logic_test/event_log +++ b/pkg/sql/logictest/testdata/logic_test/event_log @@ -25,8 +25,8 @@ query II rowsort SELECT "targetID", "reportingID" FROM system.eventlog WHERE "eventType" = 'create_table' ---- -51 1 -52 1 +53 1 +54 1 # Verify the contents of the 'Info' field of each log message using a LIKE # statement. @@ -38,7 +38,7 @@ FROM system.eventlog WHERE "eventType" = 'create_table' AND info::JSONB->>'Statement' LIKE 'CREATE TABLE a%' ---- -51 1 test.public.a +53 1 test.public.a query IIT SELECT "targetID", "reportingID", info::JSONB->>'TableName' @@ -46,7 +46,7 @@ FROM system.eventlog WHERE "eventType" = 'create_table' AND info::JSONB->>'Statement' LIKE 'CREATE TABLE IF NOT EXISTS b%' ---- -52 1 test.public.b +54 1 test.public.b # Sanity check - check for a non-matching info value. ################## @@ -75,15 +75,15 @@ query IIT rowsort SELECT "targetID", "reportingID", info::JSONB->>'TableName' FROM system.eventlog WHERE "eventType" = 'alter_table' ---- -4 1 system.public.users -51 1 test.public.a +4 1 system.public.users +53 1 test.public.a query II rowsort SELECT "targetID", "reportingID" FROM system.eventlog WHERE "eventType" = 'finish_schema_change' ---- -4 1 -51 1 +4 1 +53 1 query II SELECT "targetID", "reportingID" FROM system.eventlog @@ -98,7 +98,7 @@ SELECT "targetID", "reportingID", info::JSONB->>'TableName' FROM system.eventlog WHERE "eventType" = 'alter_table' AND info::JSONB->>'Statement' LIKE 'ALTER TABLE a%' ---- -51 1 test.public.a +53 1 test.public.a # Add a UNIQUE constraint to the table in a way that will ensure the schema # change is reversed. @@ -114,29 +114,29 @@ query IIT rowsort SELECT "targetID", "reportingID", info::JSONB->>'TableName' FROM system.eventlog WHERE "eventType" = 'alter_table' ---- -4 1 system.public.users -51 1 test.public.a -51 1 test.public.a +4 1 system.public.users +53 1 test.public.a +53 1 test.public.a query II rowsort SELECT "targetID", "reportingID" FROM system.eventlog WHERE "eventType" = 'finish_schema_change' ---- -4 1 -51 1 +4 1 +53 1 query II rowsort SELECT "targetID", "reportingID" FROM system.eventlog WHERE "eventType" = 'reverse_schema_change' ---- -51 1 +53 1 query II rowsort SELECT "targetID", "reportingID" FROM system.eventlog WHERE "eventType" = 'finish_schema_change_rollback' ---- -51 1 +53 1 # Create an Index on the table ################# @@ -149,15 +149,15 @@ SELECT "targetID", "reportingID", info::JSONB->>'TableName' FROM system.eventlog WHERE "eventType" = 'create_index' AND info::JSONB->>'Statement' LIKE 'CREATE INDEX a_foo%' ---- -51 1 test.public.a +53 1 test.public.a query II rowsort SELECT "targetID", "reportingID" FROM system.eventlog WHERE "eventType" = 'finish_schema_change' ---- -4 1 -51 1 -51 1 +4 1 +53 1 +53 1 # Drop the index ################# @@ -170,16 +170,16 @@ SELECT "targetID", "reportingID", info::JSONB->>'TableName' FROM system.eventlog WHERE "eventType" = 'drop_index' AND info::JSONB->>'Statement' LIKE 'DROP INDEX%a_foo' ---- -51 1 test.public.a +53 1 test.public.a query II rowsort SELECT "targetID", "reportingID" FROM system.eventlog WHERE "eventType" = 'finish_schema_change' ---- -4 1 -51 1 -51 1 -51 1 +4 1 +53 1 +53 1 +53 1 # Drop both tables + superfluous "IF EXISTS" ################## @@ -203,8 +203,8 @@ SELECT "targetID", "reportingID", info::JSONB->>'TableName' FROM system.eventlog WHERE "eventType" = 'drop_table' ---- -51 1 test.public.a -52 1 test.public.b +53 1 test.public.a +54 1 test.public.b # Verify the contents of the 'info' field of each event. ################## @@ -215,7 +215,7 @@ FROM system.eventlog WHERE "eventType" = 'drop_table' AND info::JSONB->>'Statement' LIKE 'DROP TABLE a%' ---- -51 1 test.public.a +53 1 test.public.a query IIT SELECT "targetID", "reportingID", info::JSONB->>'TableName' @@ -223,7 +223,7 @@ FROM system.eventlog WHERE "eventType" = 'drop_table' AND info::JSONB->>'Statement' LIKE 'DROP TABLE IF EXISTS b%' ---- -52 1 test.public.b +54 1 test.public.b ################## @@ -252,7 +252,7 @@ FROM system.eventlog WHERE "eventType" = 'create_database' AND info::JSONB->>'Statement' LIKE 'CREATE DATABASE eventlogtest%' ---- -53 1 +55 1 query II SELECT "targetID", "reportingID" @@ -260,7 +260,7 @@ FROM system.eventlog WHERE "eventType" = 'create_database' AND info::JSONB->>'Statement' LIKE 'CREATE DATABASE IF NOT EXISTS othereventlogtest%' ---- -54 1 +56 1 # Add some tables to eventlogtest. ################## @@ -297,7 +297,7 @@ FROM system.eventlog WHERE "eventType" = 'drop_database' AND info::JSONB->>'Statement' LIKE 'DROP DATABASE eventlogtest%' ---- -53 1 ["eventlogtest.public.anothertesttable", "eventlogtest.public.testtable"] +55 1 ["eventlogtest.public.anothertesttable", "eventlogtest.public.testtable"] query IIT SELECT "targetID", "reportingID", info::JSONB->>'DroppedTablesAndViews' @@ -305,7 +305,7 @@ FROM system.eventlog WHERE "eventType" = 'drop_database' AND info::JSONB->>'Statement' LIKE 'DROP DATABASE IF EXISTS othereventlogtest%' ---- -54 1 [] +56 1 [] statement ok SET DATABASE = test @@ -353,9 +353,9 @@ SELECT "eventType", "targetID", "reportingID", info::JSONB->>'SequenceName' FROM system.eventlog WHERE "eventType" in ('create_sequence', 'alter_sequence', 'drop_sequence') ---- -create_sequence 57 1 test.public.s -alter_sequence 57 1 test.public.s -drop_sequence 57 1 test.public.s +create_sequence 59 1 test.public.s +alter_sequence 59 1 test.public.s +drop_sequence 59 1 test.public.s # Views @@ -370,5 +370,5 @@ SELECT "eventType", "targetID", "reportingID", info::JSONB->>'ViewName' FROM system.eventlog WHERE "eventType" in ('create_view', 'drop_view') ---- -drop_view 58 1 test.public.v -create_view 58 1 test.public.v +create_view 60 1 test.public.v +drop_view 60 1 test.public.v diff --git a/pkg/sql/logictest/testdata/logic_test/explain b/pkg/sql/logictest/testdata/logic_test/explain index 7ddb9137a1f4..b18d0bf67938 100644 --- a/pkg/sql/logictest/testdata/logic_test/explain +++ b/pkg/sql/logictest/testdata/logic_test/explain @@ -157,7 +157,7 @@ distinct · · │ order +"Database" └── render · · └── values · · -· size 4 columns, 12 rows +· size 4 columns, 20 rows query TTT EXPLAIN SHOW TABLES diff --git a/pkg/sql/logictest/testdata/logic_test/grant_table b/pkg/sql/logictest/testdata/logic_test/grant_table index f18cc57dad4a..2f120364de81 100644 --- a/pkg/sql/logictest/testdata/logic_test/grant_table +++ b/pkg/sql/logictest/testdata/logic_test/grant_table @@ -69,10 +69,26 @@ a pg_catalog NULL root ALL a public NULL admin ALL a public NULL readwrite ALL a public NULL root ALL -system crdb_internal NULL admin SELECT +default crdb_internal NULL admin ALL +default crdb_internal NULL root ALL +default information_schema NULL admin ALL +default information_schema NULL root ALL +default pg_catalog NULL admin ALL +default pg_catalog NULL root ALL +default public NULL admin ALL +default public NULL root ALL +postgres crdb_internal NULL admin ALL +postgres crdb_internal NULL root ALL +postgres information_schema NULL admin ALL +postgres information_schema NULL root ALL +postgres pg_catalog NULL admin ALL +postgres pg_catalog NULL root ALL +postgres public NULL admin ALL +postgres public NULL root ALL system crdb_internal NULL admin GRANT -system crdb_internal NULL root GRANT +system crdb_internal NULL admin SELECT system crdb_internal NULL root SELECT +system crdb_internal NULL root GRANT system information_schema NULL admin GRANT system information_schema NULL admin SELECT system information_schema NULL root GRANT @@ -81,138 +97,138 @@ system pg_catalog NULL admin GRANT system pg_catalog NULL admin SELECT system pg_catalog NULL root GRANT system pg_catalog NULL root SELECT -system public NULL admin GRANT system public NULL admin SELECT -system public NULL root GRANT +system public NULL admin GRANT system public NULL root SELECT +system public NULL root GRANT system public descriptor admin GRANT system public descriptor admin SELECT -system public descriptor root SELECT system public descriptor root GRANT +system public descriptor root SELECT system public eventlog admin UPDATE -system public eventlog admin INSERT system public eventlog admin DELETE system public eventlog admin GRANT system public eventlog admin SELECT +system public eventlog admin INSERT +system public eventlog root GRANT system public eventlog root INSERT -system public eventlog root UPDATE system public eventlog root SELECT -system public eventlog root GRANT +system public eventlog root UPDATE system public eventlog root DELETE system public jobs admin UPDATE -system public jobs admin INSERT system public jobs admin SELECT +system public jobs admin INSERT system public jobs admin DELETE system public jobs admin GRANT +system public jobs root GRANT system public jobs root DELETE system public jobs root SELECT -system public jobs root INSERT -system public jobs root GRANT system public jobs root UPDATE +system public jobs root INSERT +system public lease admin DELETE +system public lease admin GRANT system public lease admin UPDATE system public lease admin SELECT -system public lease admin GRANT -system public lease admin DELETE system public lease admin INSERT -system public lease root DELETE -system public lease root GRANT system public lease root SELECT -system public lease root UPDATE +system public lease root DELETE system public lease root INSERT -system public locations admin DELETE -system public locations admin GRANT +system public lease root UPDATE +system public lease root GRANT system public locations admin SELECT -system public locations admin UPDATE system public locations admin INSERT +system public locations admin DELETE +system public locations admin UPDATE +system public locations admin GRANT +system public locations root UPDATE system public locations root SELECT +system public locations root INSERT system public locations root DELETE system public locations root GRANT -system public locations root UPDATE -system public locations root INSERT system public namespace admin SELECT system public namespace admin GRANT -system public namespace root SELECT system public namespace root GRANT +system public namespace root SELECT system public rangelog admin GRANT -system public rangelog admin DELETE +system public rangelog admin INSERT system public rangelog admin UPDATE system public rangelog admin SELECT -system public rangelog admin INSERT -system public rangelog root GRANT -system public rangelog root INSERT +system public rangelog admin DELETE system public rangelog root DELETE system public rangelog root UPDATE +system public rangelog root GRANT system public rangelog root SELECT -system public role_members admin DELETE +system public rangelog root INSERT system public role_members admin GRANT system public role_members admin INSERT system public role_members admin SELECT system public role_members admin UPDATE -system public role_members root GRANT -system public role_members root SELECT +system public role_members admin DELETE system public role_members root DELETE -system public role_members root UPDATE +system public role_members root SELECT system public role_members root INSERT +system public role_members root GRANT +system public role_members root UPDATE system public settings admin INSERT -system public settings admin UPDATE system public settings admin GRANT -system public settings admin SELECT system public settings admin DELETE -system public settings root INSERT -system public settings root SELECT +system public settings admin UPDATE +system public settings admin SELECT system public settings root UPDATE -system public settings root GRANT +system public settings root SELECT +system public settings root INSERT system public settings root DELETE +system public settings root GRANT +system public table_statistics admin GRANT system public table_statistics admin UPDATE -system public table_statistics admin DELETE -system public table_statistics admin INSERT system public table_statistics admin SELECT -system public table_statistics admin GRANT -system public table_statistics root UPDATE -system public table_statistics root SELECT +system public table_statistics admin INSERT +system public table_statistics admin DELETE +system public table_statistics root INSERT system public table_statistics root DELETE system public table_statistics root GRANT -system public table_statistics root INSERT +system public table_statistics root UPDATE +system public table_statistics root SELECT system public ui admin GRANT system public ui admin UPDATE +system public ui admin SELECT system public ui admin DELETE system public ui admin INSERT -system public ui admin SELECT +system public ui root GRANT system public ui root DELETE system public ui root UPDATE system public ui root SELECT system public ui root INSERT -system public ui root GRANT system public users admin DELETE system public users admin INSERT -system public users admin GRANT system public users admin UPDATE +system public users admin GRANT system public users admin SELECT -system public users root SELECT -system public users root UPDATE system public users root GRANT -system public users root DELETE system public users root INSERT -system public web_sessions admin UPDATE -system public web_sessions admin DELETE +system public users root DELETE +system public users root UPDATE +system public users root SELECT system public web_sessions admin SELECT system public web_sessions admin GRANT +system public web_sessions admin UPDATE +system public web_sessions admin DELETE system public web_sessions admin INSERT -system public web_sessions root INSERT -system public web_sessions root SELECT -system public web_sessions root UPDATE system public web_sessions root DELETE +system public web_sessions root UPDATE +system public web_sessions root SELECT +system public web_sessions root INSERT system public web_sessions root GRANT system public zones admin SELECT -system public zones admin GRANT +system public zones admin INSERT system public zones admin DELETE +system public zones admin GRANT system public zones admin UPDATE -system public zones admin INSERT +system public zones root DELETE +system public zones root GRANT system public zones root UPDATE system public zones root SELECT system public zones root INSERT -system public zones root GRANT -system public zones root DELETE test crdb_internal NULL admin ALL test crdb_internal NULL root ALL test information_schema NULL admin ALL @@ -230,10 +246,18 @@ a crdb_internal NULL root ALL a information_schema NULL root ALL a pg_catalog NULL root ALL a public NULL root ALL +default crdb_internal NULL root ALL +default information_schema NULL root ALL +default pg_catalog NULL root ALL +default public NULL root ALL +postgres crdb_internal NULL root ALL +postgres information_schema NULL root ALL +postgres pg_catalog NULL root ALL +postgres public NULL root ALL system crdb_internal NULL root GRANT system crdb_internal NULL root SELECT -system information_schema NULL root GRANT system information_schema NULL root SELECT +system information_schema NULL root GRANT system pg_catalog NULL root GRANT system pg_catalog NULL root SELECT system public NULL root SELECT @@ -241,66 +265,66 @@ system public NULL root GRANT system public descriptor root SELECT system public descriptor root GRANT system public eventlog root SELECT -system public eventlog root INSERT system public eventlog root UPDATE system public eventlog root DELETE system public eventlog root GRANT -system public jobs root GRANT +system public eventlog root INSERT system public jobs root UPDATE +system public jobs root DELETE system public jobs root SELECT system public jobs root INSERT -system public jobs root DELETE -system public lease root UPDATE -system public lease root SELECT -system public lease root INSERT +system public jobs root GRANT system public lease root DELETE +system public lease root SELECT +system public lease root UPDATE system public lease root GRANT -system public locations root GRANT -system public locations root DELETE +system public lease root INSERT system public locations root INSERT system public locations root UPDATE +system public locations root GRANT +system public locations root DELETE system public locations root SELECT system public namespace root SELECT system public namespace root GRANT -system public rangelog root GRANT system public rangelog root INSERT -system public rangelog root DELETE system public rangelog root UPDATE +system public rangelog root DELETE +system public rangelog root GRANT system public rangelog root SELECT -system public role_members root UPDATE system public role_members root SELECT system public role_members root INSERT -system public role_members root GRANT +system public role_members root UPDATE system public role_members root DELETE -system public settings root GRANT +system public role_members root GRANT system public settings root INSERT +system public settings root GRANT system public settings root SELECT -system public settings root UPDATE system public settings root DELETE -system public table_statistics root INSERT +system public settings root UPDATE system public table_statistics root GRANT -system public table_statistics root SELECT system public table_statistics root DELETE system public table_statistics root UPDATE -system public ui root UPDATE +system public table_statistics root SELECT +system public table_statistics root INSERT system public ui root SELECT system public ui root DELETE system public ui root GRANT system public ui root INSERT +system public ui root UPDATE system public users root GRANT system public users root UPDATE system public users root DELETE system public users root SELECT system public users root INSERT -system public web_sessions root DELETE system public web_sessions root GRANT system public web_sessions root INSERT system public web_sessions root SELECT system public web_sessions root UPDATE -system public zones root INSERT +system public web_sessions root DELETE +system public zones root GRANT system public zones root UPDATE system public zones root SELECT -system public zones root GRANT +system public zones root INSERT system public zones root DELETE test crdb_internal NULL root ALL test information_schema NULL root ALL diff --git a/pkg/sql/logictest/testdata/logic_test/information_schema b/pkg/sql/logictest/testdata/logic_test/information_schema index 1ed557a4169d..5eca30263fe9 100644 --- a/pkg/sql/logictest/testdata/logic_test/information_schema +++ b/pkg/sql/logictest/testdata/logic_test/information_schema @@ -110,6 +110,8 @@ TRUNCATE TABLE information_schema.tables query T SHOW DATABASES ---- +default +postgres system test diff --git a/pkg/sql/logictest/testdata/logic_test/interleaved b/pkg/sql/logictest/testdata/logic_test/interleaved index 2848e67d3a51..004dcec76cdf 100644 --- a/pkg/sql/logictest/testdata/logic_test/interleaved +++ b/pkg/sql/logictest/testdata/logic_test/interleaved @@ -312,7 +312,7 @@ EXPLAIN SELECT * FROM orders WHERE customer = 1 AND id = 1000 ---- scan · · · table orders@primary -· spans /1/#/66/1/1000-/1/#/66/1/1000/# +· spans /1/#/68/1/1000-/1/#/68/1/1000/# # Check that interleaving can occur across databases statement ok diff --git a/pkg/sql/logictest/testdata/logic_test/join b/pkg/sql/logictest/testdata/logic_test/join index 456fb7e14a25..df779413f582 100644 --- a/pkg/sql/logictest/testdata/logic_test/join +++ b/pkg/sql/logictest/testdata/logic_test/join @@ -806,7 +806,7 @@ SELECT "Level", "Type", "Field", "Description" FROM [EXPLAIN (VERBOSE) SELECT 10 · type inner 10 · equality (refobjid) = (oid) 11 filter · · -11 · filter (dep.classid = 4061301040) AND (dep.refclassid = 2431470471) +11 · filter (dep.classid = 139623798) AND (dep.refclassid = 1411792157) 11 filter · · 11 · filter pkic.relkind = 'i' diff --git a/pkg/sql/logictest/testdata/logic_test/pg_catalog b/pkg/sql/logictest/testdata/logic_test/pg_catalog index c11878b17a68..3353732b298b 100644 --- a/pkg/sql/logictest/testdata/logic_test/pg_catalog +++ b/pkg/sql/logictest/testdata/logic_test/pg_catalog @@ -184,10 +184,10 @@ query OTOT colnames SELECT * FROM pg_catalog.pg_namespace ---- oid nspname nspowner nspacl -2770537123 crdb_internal NULL NULL -711679804 information_schema NULL NULL -1809486327 pg_catalog NULL NULL -1692868363 public NULL NULL +2810313165 crdb_internal NULL NULL +2902531810 information_schema NULL NULL +1462631877 pg_catalog NULL NULL +2397796629 public NULL NULL ## pg_catalog.pg_database @@ -198,8 +198,10 @@ ORDER BY oid ---- oid datname datdba encoding datcollate datctype datistemplate datallowconn 381876367 system NULL 6 en_US.utf8 en_US.utf8 false true -437457361 constraint_db NULL 6 en_US.utf8 en_US.utf8 false true -1965331359 test NULL 6 en_US.utf8 en_US.utf8 false true +2069902775 constraint_db NULL 6 en_US.utf8 en_US.utf8 false true +2326011399 postgres NULL 6 en_US.utf8 en_US.utf8 false true +2479022338 default NULL 6 en_US.utf8 en_US.utf8 false true +3819194709 test NULL 6 en_US.utf8 en_US.utf8 false true query OTIOIIOT colnames SELECT oid, datname, datconnlimit, datlastsysoid, datfrozenxid, datminmxid, dattablespace, datacl @@ -208,8 +210,10 @@ ORDER BY oid ---- oid datname datconnlimit datlastsysoid datfrozenxid datminmxid dattablespace datacl 381876367 system -1 NULL NULL NULL 0 NULL -437457361 constraint_db -1 NULL NULL NULL 0 NULL -1965331359 test -1 NULL NULL NULL 0 NULL +2069902775 constraint_db -1 NULL NULL NULL 0 NULL +2326011399 postgres -1 NULL NULL NULL 0 NULL +2479022338 default -1 NULL NULL NULL 0 NULL +3819194709 test -1 NULL NULL NULL 0 NULL ## pg_catalog.pg_tables @@ -258,17 +262,17 @@ JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid WHERE n.nspname = 'public' ---- oid relname relnamespace reltype relowner relam relfilenode reltablespace -1509766457 t1 3969441927 0 NULL NULL 0 0 -3075386613 primary 3969441927 0 NULL NULL 0 0 -3075386614 t1_a_key 3969441927 0 NULL NULL 0 0 -3075386615 index_key 3969441927 0 NULL NULL 0 0 -1275321073 t2 3969441927 0 NULL NULL 0 0 -4026878981 primary 3969441927 0 NULL NULL 0 0 -4026878982 t2_t1_id_idx 3969441927 0 NULL NULL 0 0 -1308729185 t3 3969441927 0 NULL NULL 0 0 -126881509 primary 3969441927 0 NULL NULL 0 0 -126881510 t3_a_b_idx 3969441927 0 NULL NULL 0 0 -1543910075 v1 3969441927 0 NULL NULL 0 0 +4183203597 t1 393119649 0 NULL NULL 0 0 +586319997 primary 393119649 0 NULL NULL 0 0 +586319998 t1_a_key 393119649 0 NULL NULL 0 0 +586319999 index_key 393119649 0 NULL NULL 0 0 +192646233 t2 393119649 0 NULL NULL 0 0 +2761941313 primary 393119649 0 NULL NULL 0 0 +2761941314 t2_t1_id_idx 393119649 0 NULL NULL 0 0 +226054345 t3 393119649 0 NULL NULL 0 0 +4084598993 primary 393119649 0 NULL NULL 0 0 +4084598994 t3_a_b_idx 393119649 0 NULL NULL 0 0 +4218730311 v1 393119649 0 NULL NULL 0 0 query TIRIOBBT colnames SELECT relname, relpages, reltuples, relallvisible, reltoastrelid, relhasindex, relisshared, relpersistence @@ -337,25 +341,25 @@ JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid WHERE n.nspname = 'public' ---- attrelid relname attname atttypid attstattarget attlen attnum attndims attcacheoff -1509766457 t1 p 701 0 8 1 0 -1 -1509766457 t1 a 20 0 8 2 0 -1 -1509766457 t1 b 20 0 8 3 0 -1 -1509766457 t1 c 20 0 8 4 0 -1 -3075386613 primary p 701 0 8 1 0 -1 -3075386614 t1_a_key a 20 0 8 1 0 -1 -3075386615 index_key b 20 0 8 1 0 -1 -3075386615 index_key c 20 0 8 2 0 -1 -1275321073 t2 t1_id 20 0 8 1 0 -1 -4026878982 t2_t1_id_idx t1_id 20 0 8 1 0 -1 -1308729185 t3 a 20 0 8 1 0 -1 -1308729185 t3 b 20 0 8 2 0 -1 -1308729185 t3 c 25 0 -1 3 0 -1 -126881510 t3_a_b_idx a 20 0 8 1 0 -1 -126881510 t3_a_b_idx b 20 0 8 2 0 -1 -1543910075 v1 p 701 0 8 1 0 -1 -1543910075 v1 a 20 0 8 2 0 -1 -1543910075 v1 b 20 0 8 3 0 -1 -1543910075 v1 c 20 0 8 4 0 -1 +4183203597 t1 p 701 0 8 1 0 -1 +4183203597 t1 a 20 0 8 2 0 -1 +4183203597 t1 b 20 0 8 3 0 -1 +4183203597 t1 c 20 0 8 4 0 -1 +586319997 primary p 701 0 8 1 0 -1 +586319998 t1_a_key a 20 0 8 1 0 -1 +586319999 index_key b 20 0 8 1 0 -1 +586319999 index_key c 20 0 8 2 0 -1 +192646233 t2 t1_id 20 0 8 1 0 -1 +2761941314 t2_t1_id_idx t1_id 20 0 8 1 0 -1 +226054345 t3 a 20 0 8 1 0 -1 +226054345 t3 b 20 0 8 2 0 -1 +226054345 t3 c 25 0 -1 3 0 -1 +4084598994 t3_a_b_idx a 20 0 8 1 0 -1 +4084598994 t3_a_b_idx b 20 0 8 2 0 -1 +4218730311 v1 p 701 0 8 1 0 -1 +4218730311 v1 a 20 0 8 2 0 -1 +4218730311 v1 b 20 0 8 3 0 -1 +4218730311 v1 c 20 0 8 4 0 -1 query TTIBTTBB colnames SELECT c.relname, attname, atttypmod, attbyval, attstorage, attalign, attnotnull, atthasdef @@ -484,8 +488,8 @@ JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid WHERE n.nspname = 'public' ---- oid relname adrelid adnum adbin adsrc -2546105486 t1 1509766457 4 12:::INT 12:::INT -2449897171 t3 1308729185 3 'FOO':::STRING 'FOO':::STRING +1371742922 t1 4183203597 4 12:::INT 12:::INT +1821466931 t3 226054345 3 'FOO':::STRING 'FOO':::STRING ## pg_catalog.pg_indexes @@ -495,13 +499,13 @@ FROM pg_catalog.pg_indexes WHERE schemaname = 'public' ---- crdb_oid schemaname tablename indexname tablespace -3075386613 public t1 primary NULL -3075386614 public t1 t1_a_key NULL -3075386615 public t1 index_key NULL -4026878981 public t2 primary NULL -4026878982 public t2 t2_t1_id_idx NULL -126881509 public t3 primary NULL -126881510 public t3 t3_a_b_idx NULL +586319997 public t1 primary NULL +586319998 public t1 t1_a_key NULL +586319999 public t1 index_key NULL +2761941313 public t2 primary NULL +2761941314 public t2 t2_t1_id_idx NULL +4084598993 public t3 primary NULL +4084598994 public t3 t3_a_b_idx NULL query OTTT colnames SELECT crdb_oid, tablename, indexname, indexdef @@ -509,13 +513,13 @@ FROM pg_catalog.pg_indexes WHERE schemaname = 'public' ---- crdb_oid tablename indexname indexdef -3075386613 t1 primary CREATE UNIQUE INDEX "primary" ON constraint_db.public.t1 (p ASC) -3075386614 t1 t1_a_key CREATE UNIQUE INDEX t1_a_key ON constraint_db.public.t1 (a ASC) -3075386615 t1 index_key CREATE UNIQUE INDEX index_key ON constraint_db.public.t1 (b ASC, c ASC) -4026878981 t2 primary CREATE UNIQUE INDEX "primary" ON constraint_db.public.t2 (rowid ASC) -4026878982 t2 t2_t1_id_idx CREATE INDEX t2_t1_id_idx ON constraint_db.public.t2 (t1_id ASC) -126881509 t3 primary CREATE UNIQUE INDEX "primary" ON constraint_db.public.t3 (rowid ASC) -126881510 t3 t3_a_b_idx CREATE INDEX t3_a_b_idx ON constraint_db.public.t3 (a ASC, b DESC) STORING (c) +586319997 t1 primary CREATE UNIQUE INDEX "primary" ON constraint_db.public.t1 (p ASC) +586319998 t1 t1_a_key CREATE UNIQUE INDEX t1_a_key ON constraint_db.public.t1 (a ASC) +586319999 t1 index_key CREATE UNIQUE INDEX index_key ON constraint_db.public.t1 (b ASC, c ASC) +2761941313 t2 primary CREATE UNIQUE INDEX "primary" ON constraint_db.public.t2 (rowid ASC) +2761941314 t2 t2_t1_id_idx CREATE INDEX t2_t1_id_idx ON constraint_db.public.t2 (t1_id ASC) +4084598993 t3 primary CREATE UNIQUE INDEX "primary" ON constraint_db.public.t3 (rowid ASC) +4084598994 t3 t3_a_b_idx CREATE INDEX t3_a_b_idx ON constraint_db.public.t3 (a ASC, b DESC) STORING (c) ## pg_catalog.pg_index @@ -525,8 +529,8 @@ from pg_catalog.pg_index WHERE indnatts = 2 ---- indexrelid indrelid indnatts indisunique indisprimary indisexclusion -3075386615 1509766457 2 true false false -126881510 1308729185 2 false false false +586319999 4183203597 2 true false false +4084598994 226054345 2 false false false query OBBBBB colnames SELECT indexrelid, indimmediate, indisclustered, indisvalid, indcheckxmin, indisready @@ -534,8 +538,8 @@ from pg_catalog.pg_index WHERE indnatts = 2 ---- indexrelid indimmediate indisclustered indisvalid indcheckxmin indisready -3075386615 true false true false false -126881510 false false true false false +586319999 true false true false false +4084598994 false false true false false query OOBBTIIITT colnames SELECT indexrelid, indrelid, indislive, indisreplident, indkey, indcollation, indclass, indoption, indexprs, indpred @@ -543,8 +547,8 @@ from pg_catalog.pg_index WHERE indnatts = 2 ---- indexrelid indrelid indislive indisreplident indkey indcollation indclass indoption indexprs indpred -3075386615 1509766457 true false 3 4 0 0 0 NULL NULL -126881510 1308729185 true false 1 2 0 0 0 NULL NULL +586319999 4183203597 true false 3 4 0 0 0 NULL NULL +4084598994 226054345 true false 1 2 0 0 0 NULL NULL ## pg_catalog.pg_collation @@ -553,7 +557,7 @@ SELECT * FROM pg_collation WHERE collname='en-US' ---- oid collname collnamespace collowner collencoding collcollate collctype -1661428263 en-US 3969441927 NULL 6 NULL NULL +1661428263 en-US 393119649 NULL 6 NULL NULL ## pg_catalog.pg_constraint ## @@ -568,12 +572,12 @@ WHERE n.nspname = 'public' ORDER BY con.oid ---- oid conname connamespace contype -302390735 check_b 3969441927 c -378079884 index_key 3969441927 u -378079885 t1_a_key 3969441927 u -2517385387 fk 3969441927 f -2704194502 fk 3969441927 f -3077848825 primary 3969441927 p +706565544 index_key 393119649 u +706565545 t1_a_key 393119649 u +1705475931 check_b 393119649 c +1968296057 fk 393119649 f +2304211364 fk 393119649 f +2922443201 primary 393119649 p query TTBBBOOO colnames SELECT conname, contype, condeferrable, condeferred, convalidated, conrelid, contypid, conindid @@ -583,12 +587,12 @@ WHERE n.nspname = 'public' ORDER BY con.oid ---- conname contype condeferrable condeferred convalidated conrelid contypid conindid -check_b c false false true 1308729185 0 0 -index_key u false false true 1509766457 0 3075386615 -t1_a_key u false false true 1509766457 0 3075386614 -fk f false false true 1275321073 0 3075386614 -fk f false false true 1308729185 0 3075386615 -primary p false false true 1509766457 0 3075386613 +index_key u false false true 4183203597 0 586319999 +t1_a_key u false false true 4183203597 0 586319998 +check_b c false false true 226054345 0 0 +fk f false false true 192646233 0 586319998 +fk f false false true 226054345 0 586319999 +primary p false false true 4183203597 0 586319997 query T SELECT conname @@ -606,9 +610,9 @@ WHERE n.nspname = 'public' AND contype IN ('c', 'p', 'u') ORDER BY con.oid ---- conname confrelid confupdtype confdeltype confmatchtype -check_b 0 NULL NULL NULL index_key 0 NULL NULL NULL t1_a_key 0 NULL NULL NULL +check_b 0 NULL NULL NULL primary 0 NULL NULL NULL query TOTTT colnames @@ -619,8 +623,8 @@ WHERE n.nspname = 'public' AND contype = 'f' ORDER BY con.oid ---- conname confrelid confupdtype confdeltype confmatchtype -fk 1509766457 a a s -fk 1509766457 a a s +fk 4183203597 a a s +fk 4183203597 a a s query TBIBT colnames SELECT conname, conislocal, coninhcount, connoinherit, conkey @@ -630,9 +634,9 @@ WHERE n.nspname = 'public' ORDER BY con.oid ---- conname conislocal coninhcount connoinherit conkey -check_b true 0 true {2} index_key true 0 true {3,4} t1_a_key true 0 true {2} +check_b true 0 true {2} fk true 0 true {1} fk true 0 true {1,2} primary true 0 true {1} @@ -645,9 +649,9 @@ WHERE n.nspname = 'public' AND contype IN ('c', 'p', 'u') ORDER BY con.oid ---- conname confkey conpfeqop conppeqop conffeqop conexclop conbin consrc -check_b NULL NULL NULL NULL NULL b > 11 b > 11 index_key NULL NULL NULL NULL NULL NULL NULL t1_a_key NULL NULL NULL NULL NULL NULL NULL +check_b NULL NULL NULL NULL NULL b > 11 b > 11 primary NULL NULL NULL NULL NULL NULL NULL query TTTTTTTT colnames @@ -668,9 +672,9 @@ SELECT classid, objid, objsubid, refclassid, refobjid, refobjsubid, deptype FROM pg_catalog.pg_depend ORDER BY objid ---- -classid objid objsubid refclassid refobjid refobjsubid deptype -1539915808 2517385387 0 2523326295 3075386614 0 n -1539915808 2704194502 0 2523326295 3075386615 0 n +classid objid objsubid refclassid refobjid refobjsubid deptype +2416812286 1968296057 0 2990889189 586319998 0 n +2416812286 2304211364 0 2990889189 586319999 0 n # All entries in pg_depend are dependency links from the pg_constraint system # table to the pg_class system table. @@ -682,7 +686,7 @@ JOIN pg_class cla ON classid=cla.oid JOIN pg_class refcla ON refclassid=refcla.oid ---- classid refclassid tablename reftablename -1539915808 2523326295 pg_constraint pg_class +2416812286 2990889189 pg_constraint pg_class # All entries in pg_depend are foreign key constraints that reference an index # in pg_class. @@ -717,55 +721,55 @@ FROM pg_catalog.pg_type ORDER BY oid ---- oid typname typnamespace typowner typlen typbyval typtype -16 bool 3572887043 NULL 1 true b -17 bytea 3572887043 NULL -1 false b -19 name 3572887043 NULL -1 false b -20 int8 3572887043 NULL 8 true b -21 int2 3572887043 NULL 8 true b -22 int2vector 3572887043 NULL -1 false b -23 int4 3572887043 NULL 8 true b -24 regproc 3572887043 NULL 8 true b -25 text 3572887043 NULL -1 false b -26 oid 3572887043 NULL 8 true b -30 oidvector 3572887043 NULL -1 false b -700 float4 3572887043 NULL 8 true b -701 float8 3572887043 NULL 8 true b -869 inet 3572887043 NULL 24 true b -1000 _bool 3572887043 NULL -1 false b -1001 _bytea 3572887043 NULL -1 false b -1003 _name 3572887043 NULL -1 false b -1005 _int2 3572887043 NULL -1 false b -1007 _int4 3572887043 NULL -1 false b -1009 _text 3572887043 NULL -1 false b -1015 _varchar 3572887043 NULL -1 false b -1016 _int8 3572887043 NULL -1 false b -1021 _float4 3572887043 NULL -1 false b -1022 _float8 3572887043 NULL -1 false b -1028 _oid 3572887043 NULL -1 false b -1041 _inet 3572887043 NULL -1 false b -1043 varchar 3572887043 NULL -1 false b -1082 date 3572887043 NULL 8 true b -1083 time 3572887043 NULL 8 true b -1114 timestamp 3572887043 NULL 24 true b -1115 _timestamp 3572887043 NULL -1 false b -1182 _date 3572887043 NULL -1 false b -1183 _time 3572887043 NULL -1 false b -1184 timestamptz 3572887043 NULL 24 true b -1185 _timestamptz 3572887043 NULL -1 false b -1186 interval 3572887043 NULL 24 true b -1187 _interval 3572887043 NULL -1 false b -1231 _numeric 3572887043 NULL -1 false b -1700 numeric 3572887043 NULL -1 false b -2202 regprocedure 3572887043 NULL 8 true b -2205 regclass 3572887043 NULL 8 true b -2206 regtype 3572887043 NULL 8 true b -2249 record 3572887043 NULL 0 true p -2277 anyarray 3572887043 NULL -1 false p -2283 anyelement 3572887043 NULL -1 false p -2950 uuid 3572887043 NULL 16 true b -2951 _uuid 3572887043 NULL -1 false b -3802 jsonb 3572887043 NULL -1 false b -4089 regnamespace 3572887043 NULL 8 true b +16 bool 2980797153 NULL 1 true b +17 bytea 2980797153 NULL -1 false b +19 name 2980797153 NULL -1 false b +20 int8 2980797153 NULL 8 true b +21 int2 2980797153 NULL 8 true b +22 int2vector 2980797153 NULL -1 false b +23 int4 2980797153 NULL 8 true b +24 regproc 2980797153 NULL 8 true b +25 text 2980797153 NULL -1 false b +26 oid 2980797153 NULL 8 true b +30 oidvector 2980797153 NULL -1 false b +700 float4 2980797153 NULL 8 true b +701 float8 2980797153 NULL 8 true b +869 inet 2980797153 NULL 24 true b +1000 _bool 2980797153 NULL -1 false b +1001 _bytea 2980797153 NULL -1 false b +1003 _name 2980797153 NULL -1 false b +1005 _int2 2980797153 NULL -1 false b +1007 _int4 2980797153 NULL -1 false b +1009 _text 2980797153 NULL -1 false b +1015 _varchar 2980797153 NULL -1 false b +1016 _int8 2980797153 NULL -1 false b +1021 _float4 2980797153 NULL -1 false b +1022 _float8 2980797153 NULL -1 false b +1028 _oid 2980797153 NULL -1 false b +1041 _inet 2980797153 NULL -1 false b +1043 varchar 2980797153 NULL -1 false b +1082 date 2980797153 NULL 8 true b +1083 time 2980797153 NULL 8 true b +1114 timestamp 2980797153 NULL 24 true b +1115 _timestamp 2980797153 NULL -1 false b +1182 _date 2980797153 NULL -1 false b +1183 _time 2980797153 NULL -1 false b +1184 timestamptz 2980797153 NULL 24 true b +1185 _timestamptz 2980797153 NULL -1 false b +1186 interval 2980797153 NULL 24 true b +1187 _interval 2980797153 NULL -1 false b +1231 _numeric 2980797153 NULL -1 false b +1700 numeric 2980797153 NULL -1 false b +2202 regprocedure 2980797153 NULL 8 true b +2205 regclass 2980797153 NULL 8 true b +2206 regtype 2980797153 NULL 8 true b +2249 record 2980797153 NULL 0 true p +2277 anyarray 2980797153 NULL -1 false p +2283 anyelement 2980797153 NULL -1 false p +2950 uuid 2980797153 NULL 16 true b +2951 _uuid 2980797153 NULL -1 false b +3802 jsonb 2980797153 NULL -1 false b +4089 regnamespace 2980797153 NULL 8 true b query OTTBBTOOO colnames SELECT oid, typname, typcategory, typispreferred, typisdefined, typdelim, typrelid, typelem, typarray @@ -999,10 +1003,10 @@ FROM pg_catalog.pg_proc WHERE proname='substring' ---- proname pronamespace proowner prolang procost prorows provariadic -substring 3572887043 NULL 0 NULL NULL 0 -substring 3572887043 NULL 0 NULL NULL 0 -substring 3572887043 NULL 0 NULL NULL 0 -substring 3572887043 NULL 0 NULL NULL 0 +substring 2980797153 NULL 0 NULL NULL 0 +substring 2980797153 NULL 0 NULL NULL 0 +substring 2980797153 NULL 0 NULL NULL 0 +substring 2980797153 NULL 0 NULL NULL 0 query TTBBBB colnames SELECT proname, protransform, proisagg, proiswindow, prosecdef, proleakproof @@ -1252,8 +1256,8 @@ query OOIIIIIB colnames SELECT * FROM pg_catalog.pg_sequence ---- seqrelid seqtypid seqstart seqincrement seqmax seqmin seqcache seqcycle -1244912846 20 1 1 9223372036854775807 1 1 false -758146164 20 6 2 10 5 1 false +162412526 20 1 1 9223372036854775807 1 1 false +2864600840 20 6 2 10 5 1 false statement ok DROP DATABASE seq @@ -1272,7 +1276,7 @@ query OTOOTBBOOOOOOOO colnames SELECT * FROM pg_catalog.pg_operator where oprname='+' and oprleft='float8'::regtype ---- oid oprname oprnamespace oprowner oprkind oprcanmerge oprcanhash oprleft oprright oprresult oprcom oprnegate oprcode oprrest oprjoin -3695865198 + 3572887043 NULL b false false 701 701 701 NULL NULL NULL NULL NULL +3695865198 + 2980797153 NULL b false false 701 701 701 NULL NULL NULL NULL NULL # Verify proper functionality of system information functions. @@ -1296,8 +1300,8 @@ JOIN pg_catalog.pg_class c ON def.adrelid = c.oid JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid WHERE n.nspname = 'public' ---- -2546105486 t1 12:::INT -2449897171 t3 'FOO':::STRING +1371742922 t1 12:::INT +1821466931 t3 'FOO':::STRING # Verify that a set database shows tables from that database for a non-root # user, when that user has permissions. diff --git a/pkg/sql/logictest/testdata/logic_test/pgoidtype b/pkg/sql/logictest/testdata/logic_test/pgoidtype index 895fcd644e27..f8fe81c926e7 100644 --- a/pkg/sql/logictest/testdata/logic_test/pgoidtype +++ b/pkg/sql/logictest/testdata/logic_test/pgoidtype @@ -68,19 +68,19 @@ pg_constraint pg_constraint query OO SELECT 'pg_constraint '::REGCLASS, '"pg_constraint"'::REGCLASS::OID ---- -pg_constraint 4061301040 +pg_constraint 139623798 query O SELECT 4061301040::REGCLASS ---- -pg_constraint +4061301040 query OOIOT SELECT oid, oid::regclass, oid::regclass::int, oid::regclass::int::regclass, oid::regclass::text FROM pg_class WHERE relname = 'pg_constraint' ---- -4061301040 pg_constraint 4061301040 pg_constraint pg_constraint +139623798 pg_constraint 139623798 pg_constraint pg_constraint query OOOO SELECT 'upper'::REGPROC, 'upper'::REGPROCEDURE, 'pg_catalog.upper'::REGPROCEDURE, 'upper'::REGPROC::OID @@ -126,7 +126,7 @@ array_in array_in array_in array_in query OO SELECT 'public'::REGNAMESPACE, 'public'::REGNAMESPACE::OID ---- -public 1692868363 +public 2397796629 query OO SELECT 'bool'::REGTYPE, 'bool'::REGTYPE::OID @@ -167,7 +167,7 @@ pg_constraint query OO SELECT ('pg_constraint')::REGCLASS, ('pg_constraint')::REGCLASS::OID ---- -pg_constraint 4061301040 +pg_constraint 139623798 ## Test visibility of pg_* via oid casts. diff --git a/pkg/sql/logictest/testdata/logic_test/rename_database b/pkg/sql/logictest/testdata/logic_test/rename_database index 3da4eb65fe8d..f8908e00e923 100644 --- a/pkg/sql/logictest/testdata/logic_test/rename_database +++ b/pkg/sql/logictest/testdata/logic_test/rename_database @@ -3,6 +3,8 @@ query T SHOW DATABASES ---- +default +postgres system test @@ -54,6 +56,8 @@ SHOW GRANTS ON DATABASE test query T SHOW DATABASES ---- +default +postgres system u diff --git a/pkg/sql/logictest/testdata/logic_test/sequences b/pkg/sql/logictest/testdata/logic_test/sequences index 8dd3a2c8fa8e..4faaad81445d 100644 --- a/pkg/sql/logictest/testdata/logic_test/sequences +++ b/pkg/sql/logictest/testdata/logic_test/sequences @@ -122,7 +122,7 @@ query ITTITTTT colnames SELECT * FROM crdb_internal.create_statements WHERE descriptor_name = 'show_create_test' ---- database_id database_name schema_name descriptor_id descriptor_type descriptor_name create_statement state -50 test public 64 sequence show_create_test CREATE SEQUENCE show_create_test MINVALUE 1 MAXVALUE 9223372036854775807 INCREMENT 1 START 1 PUBLIC +52 test public 66 sequence show_create_test CREATE SEQUENCE show_create_test MINVALUE 1 MAXVALUE 9223372036854775807 INCREMENT 1 START 1 PUBLIC query TT colnames SHOW CREATE SEQUENCE show_create_test diff --git a/pkg/sql/logictest/testdata/logic_test/show_source b/pkg/sql/logictest/testdata/logic_test/show_source index ba4767eb041f..431e6298d20b 100644 --- a/pkg/sql/logictest/testdata/logic_test/show_source +++ b/pkg/sql/logictest/testdata/logic_test/show_source @@ -78,6 +78,8 @@ query T colnames SELECT * FROM [SHOW DATABASES] ---- Database +default +postgres system test diff --git a/pkg/sql/logictest/testdata/logic_test/show_trace b/pkg/sql/logictest/testdata/logic_test/show_trace index c04ba2c31d5d..c0b6f1e976ff 100644 --- a/pkg/sql/logictest/testdata/logic_test/show_trace +++ b/pkg/sql/logictest/testdata/logic_test/show_trace @@ -65,8 +65,8 @@ SELECT span, operation, message FROM [SHOW KV TRACE FOR SESSION] WHERE message N 3 dist sender r1: sending batch 1 Get to (n1,s1):1 5 dist sender querying next range at /System/"desc-idgen" 5 dist sender r1: sending batch 1 Inc to (n1,s1):1 -2 sql txn CPut /Table/2/1/0/"t"/3/1 -> 51 -2 sql txn CPut /Table/3/1/51/2/1 -> database: users: > > +2 sql txn CPut /Table/2/1/0/"t"/3/1 -> 53 +2 sql txn CPut /Table/3/1/53/2/1 -> database: users: > > 7 dist sender querying next range at /Table/SystemConfigSpan/Start 7 dist sender r1: sending batch 2 CPut, 1 BeginTxn to (n1,s1):1 10 dist sender querying next range at /Table/2/1/0/"system"/3/1 @@ -95,21 +95,21 @@ SELECT span, operation, regexp_replace(message, 'wall_time:\d+', 'wall_time:...' ---- 3 dist sender querying next range at /Table/2/1/0/"test"/3/1 3 dist sender r1: sending batch 1 Get to (n1,s1):1 -5 dist sender querying next range at /Table/3/1/50/2/1 +5 dist sender querying next range at /Table/3/1/52/2/1 5 dist sender r1: sending batch 1 Get to (n1,s1):1 7 dist sender querying next range at /Table/2/1/0/"t"/3/1 7 dist sender r1: sending batch 1 Get to (n1,s1):1 -9 dist sender querying next range at /Table/3/1/51/2/1 +9 dist sender querying next range at /Table/3/1/53/2/1 9 dist sender r1: sending batch 1 Get to (n1,s1):1 -11 dist sender querying next range at /Table/2/1/51/"kv"/3/1 +11 dist sender querying next range at /Table/2/1/53/"kv"/3/1 11 dist sender r1: sending batch 1 Get to (n1,s1):1 13 dist sender querying next range at /System/"desc-idgen" 13 dist sender r1: sending batch 1 Inc to (n1,s1):1 -2 sql txn CPut /Table/2/1/51/"kv"/3/1 -> 52 -2 sql txn CPut /Table/3/1/52/2/1 -> table: columns: nullable:false hidden:false > columns: nullable:true hidden:false > next_column_id:3 families: next_family_id:1 primary_index: interleave:<> partitioning: type:FORWARD > next_index_id:2 privileges: users: > next_mutation_id:1 format_version:3 state:PUBLIC view_query:"" drop_time:0 replacement_of: > audit_mode:DISABLED > +2 sql txn CPut /Table/2/1/53/"kv"/3/1 -> 54 +2 sql txn CPut /Table/3/1/54/2/1 -> table: columns: nullable:false hidden:false > columns: nullable:true hidden:false > next_column_id:3 families: next_family_id:1 primary_index: interleave:<> partitioning: type:FORWARD > next_index_id:2 privileges: users: > next_mutation_id:1 format_version:3 state:PUBLIC view_query:"" drop_time:0 replacement_of: > audit_mode:DISABLED > 15 dist sender querying next range at /Table/SystemConfigSpan/Start 15 dist sender r1: sending batch 2 CPut, 1 BeginTxn to (n1,s1):1 -18 dist sender querying next range at /Table/3/1/51/2/1 +18 dist sender querying next range at /Table/3/1/53/2/1 18 dist sender r1: sending batch 1 Get to (n1,s1):1 20 dist sender querying next range at /Table/2/1/0/"system"/3/1 20 dist sender r1: sending batch 1 Get to (n1,s1):1 @@ -147,8 +147,8 @@ SELECT span, operation, regexp_replace(regexp_replace(message, 'mutationJobs:<[^ 10 dist sender r1: sending batch 1 Get to (n1,s1):1 12 dist sender querying next range at /Table/SystemConfigSpan/Start 12 dist sender r1: sending batch 1 CPut, 1 BeginTxn, 1 InitPut to (n1,s1):1 -1 starting plan Put /Table/3/1/52/2/1 -> table: columns: nullable:false hidden:false > columns: nullable:true hidden:false > next_column_id:3 families: next_family_id:1 primary_index: interleave:<> partitioning: type:FORWARD > next_index_id:3 privileges: users: > mutations: interleave:<> partitioning: type:FORWARD > state:DELETE_ONLY direction:ADD mutation_id:1 rollback:false > next_mutation_id:2 format_version:3 state:PUBLIC view_query:"" mutationJobs:<...> drop_time:0 replacement_of: > audit_mode:DISABLED > -15 dist sender querying next range at /Table/3/1/52/2/1 +1 starting plan Put /Table/3/1/54/2/1 -> table: columns: nullable:false hidden:false > columns: nullable:true hidden:false > next_column_id:3 families: next_family_id:1 primary_index: interleave:<> partitioning: type:FORWARD > next_index_id:3 privileges: users: > mutations: interleave:<> partitioning: type:FORWARD > state:DELETE_ONLY direction:ADD mutation_id:1 rollback:false > next_mutation_id:2 format_version:3 state:PUBLIC view_query:"" mutationJobs:<...> drop_time:0 replacement_of: > audit_mode:DISABLED > +15 dist sender querying next range at /Table/3/1/54/2/1 15 dist sender r1: sending batch 1 Put to (n1,s1):1 17 dist sender querying next range at /Table/2/1/0/"system"/3/1 17 dist sender r1: sending batch 1 Get to (n1,s1):1 @@ -168,8 +168,8 @@ INSERT INTO t.kv(k, v) VALUES (1,2); SET tracing=off; SELECT span, operation, message FROM [SHOW KV TRACE FOR SESSION] ---- -2 sql txn CPut /Table/52/1/1/0 -> /TUPLE/2:2:Int/2 -3 dist sender querying next range at /Table/52/1/1/0 +2 sql txn CPut /Table/54/1/1/0 -> /TUPLE/2:2:Int/2 +3 dist sender querying next range at /Table/54/1/1/0 3 dist sender r1: sending batch 1 CPut, 1 BeginTxn, 1 EndTxn, 1 InitPut to (n1,s1):1 @@ -177,18 +177,18 @@ SELECT span, operation, message FROM [SHOW KV TRACE FOR SESSION] query ITT SELECT span, operation, message FROM [SHOW KV TRACE FOR INSERT INTO t.kv(k, v) VALUES (1,2)] ---- -0 sql txn CPut /Table/52/1/1/0 -> /TUPLE/2:2:Int/2 +0 sql txn CPut /Table/54/1/1/0 -> /TUPLE/2:2:Int/2 2 consuming rows output row: [] -3 dist sender querying next range at /Table/52/1/1/0 +3 dist sender querying next range at /Table/54/1/1/0 3 dist sender r1: sending batch 1 CPut, 1 BeginTxn, 1 InitPut to (n1,s1):1 2 consuming rows execution failed: duplicate key value (k)=(1) violates unique constraint "primary" query ITT SELECT span, operation, message FROM [SHOW KV TRACE FOR INSERT INTO t.kv(k, v) VALUES (2,2)] ---- -0 sql txn CPut /Table/52/1/2/0 -> /TUPLE/2:2:Int/2 +0 sql txn CPut /Table/54/1/2/0 -> /TUPLE/2:2:Int/2 2 consuming rows output row: [] -3 dist sender querying next range at /Table/52/1/2/0 +3 dist sender querying next range at /Table/54/1/2/0 3 dist sender r1: sending batch 1 CPut, 1 BeginTxn, 1 InitPut to (n1,s1):1 2 consuming rows execution failed: duplicate key value (v)=(2) violates unique constraint "woo" @@ -198,11 +198,11 @@ UPSERT INTO t.kv(k, v) VALUES (2,3); SET tracing=off; SELECT span, operation, message FROM [SHOW KV TRACE FOR SESSION] ---- -2 sql txn Scan /Table/52/1/{2-3} -3 dist sender querying next range at /Table/52/1/2 +2 sql txn Scan /Table/54/1/{2-3} +3 dist sender querying next range at /Table/54/1/2 3 dist sender r1: sending batch 1 Scan to (n1,s1):1 -2 sql txn CPut /Table/52/1/2/0 -> /TUPLE/2:2:Int/3 -5 dist sender querying next range at /Table/52/1/2/0 +2 sql txn CPut /Table/54/1/2/0 -> /TUPLE/2:2:Int/3 +5 dist sender querying next range at /Table/54/1/2/0 5 dist sender r1: sending batch 1 CPut, 1 BeginTxn, 1 EndTxn, 1 InitPut to (n1,s1):1 query ITT @@ -211,12 +211,12 @@ UPSERT INTO t.kv(k, v) VALUES (1,2); SET tracing=off; SELECT span, operation, message FROM [SHOW KV TRACE FOR SESSION] ---- -2 sql txn Scan /Table/52/1/{1-2} -3 dist sender querying next range at /Table/52/1/1 +2 sql txn Scan /Table/54/1/{1-2} +3 dist sender querying next range at /Table/54/1/1 3 dist sender r1: sending batch 1 Scan to (n1,s1):1 2 sql txn fetched: /kv/primary/1/v -> /2 -2 sql txn Put /Table/52/1/1/0 -> /TUPLE/2:2:Int/2 -5 dist sender querying next range at /Table/52/1/1/0 +2 sql txn Put /Table/54/1/1/0 -> /TUPLE/2:2:Int/2 +5 dist sender querying next range at /Table/54/1/1/0 5 dist sender r1: sending batch 1 Put, 1 BeginTxn, 1 EndTxn to (n1,s1):1 statement error duplicate key value @@ -227,14 +227,14 @@ query ITT set tracing=off; SELECT span, operation, message FROM [SHOW KV TRACE FOR SESSION] ---- -2 sql txn Scan /Table/52/1/{2-3} -3 dist sender querying next range at /Table/52/1/2 +2 sql txn Scan /Table/54/1/{2-3} +3 dist sender querying next range at /Table/54/1/2 3 dist sender r1: sending batch 1 Scan to (n1,s1):1 2 sql txn fetched: /kv/primary/2/v -> /3 -2 sql txn Put /Table/52/1/2/0 -> /TUPLE/2:2:Int/2 -2 sql txn Del /Table/52/2/3/0 -2 sql txn CPut /Table/52/2/2/0 -> /BYTES/Š -5 dist sender querying next range at /Table/52/1/2/0 +2 sql txn Put /Table/54/1/2/0 -> /TUPLE/2:2:Int/2 +2 sql txn Del /Table/54/2/3/0 +2 sql txn CPut /Table/54/2/2/0 -> /BYTES/Š +5 dist sender querying next range at /Table/54/1/2/0 5 dist sender r1: sending batch 1 Put, 1 CPut, 1 Del, 1 BeginTxn, 1 EndTxn to (n1,s1):1 query ITT @@ -246,21 +246,21 @@ SELECT span, operation, regexp_replace(regexp_replace(message, 'wall_time:\d+', ---- 3 dist sender querying next range at /Table/2/1/0/"test"/3/1 3 dist sender r1: sending batch 1 Get to (n1,s1):1 -5 dist sender querying next range at /Table/3/1/50/2/1 +5 dist sender querying next range at /Table/3/1/52/2/1 5 dist sender r1: sending batch 1 Get to (n1,s1):1 7 dist sender querying next range at /Table/2/1/0/"t"/3/1 7 dist sender r1: sending batch 1 Get to (n1,s1):1 -9 dist sender querying next range at /Table/3/1/51/2/1 +9 dist sender querying next range at /Table/3/1/53/2/1 9 dist sender r1: sending batch 1 Get to (n1,s1):1 -11 dist sender querying next range at /Table/2/1/51/"kv2"/3/1 +11 dist sender querying next range at /Table/2/1/53/"kv2"/3/1 11 dist sender r1: sending batch 1 Get to (n1,s1):1 13 dist sender querying next range at /System/"desc-idgen" 13 dist sender r1: sending batch 1 Inc to (n1,s1):1 -2 sql txn CPut /Table/2/1/51/"kv2"/3/1 -> 53 -2 sql txn CPut /Table/3/1/53/2/1 -> table: columns: nullable:true hidden:false > columns: nullable:true hidden:false > columns: nullable:false default_expr:"unique_rowid()" hidden:true > next_column_id:4 families: next_family_id:1 primary_index: interleave:<> partitioning: type:FORWARD > next_index_id:2 privileges: users: > next_mutation_id:1 format_version:3 state:PUBLIC view_query:"" drop_time:0 replacement_of: > audit_mode:DISABLED > +2 sql txn CPut /Table/2/1/53/"kv2"/3/1 -> 55 +2 sql txn CPut /Table/3/1/55/2/1 -> table: columns: nullable:true hidden:false > columns: nullable:true hidden:false > columns: nullable:false default_expr:"unique_rowid()" hidden:true > next_column_id:4 families: next_family_id:1 primary_index: interleave:<> partitioning: type:FORWARD > next_index_id:2 privileges: users: > next_mutation_id:1 format_version:3 state:PUBLIC view_query:"" drop_time:0 replacement_of: > audit_mode:DISABLED > 15 dist sender querying next range at /Table/SystemConfigSpan/Start 15 dist sender r1: sending batch 2 CPut, 1 BeginTxn to (n1,s1):1 -18 dist sender querying next range at /Table/3/1/51/2/1 +18 dist sender querying next range at /Table/3/1/53/2/1 18 dist sender r1: sending batch 1 Get to (n1,s1):1 20 dist sender querying next range at /Table/2/1/0/"system"/3/1 20 dist sender r1: sending batch 1 Get to (n1,s1):1 @@ -273,13 +273,13 @@ SELECT span, operation, regexp_replace(regexp_replace(message, 'wall_time:\d+', 28 dist sender querying next range at /Table/3/1/1/2/1 28 dist sender r1: sending batch 1 Get to (n1,s1):1 30 dist sender r1: sending batch 5 CPut to (n1,s1):1 -2 sql txn Scan /Table/52/{1-2} -32 dist sender querying next range at /Table/52/1 +2 sql txn Scan /Table/54/{1-2} +32 dist sender querying next range at /Table/54/1 32 dist sender r1: sending batch 1 Scan to (n1,s1):1 2 sql txn fetched: /kv/primary/1/v -> /2 -2 sql txn CPut /Table/53/1/...PK.../0 -> /TUPLE/1:1:Int/1/1:2:Int/2 +2 sql txn CPut /Table/55/1/...PK.../0 -> /TUPLE/1:1:Int/1/1:2:Int/2 2 sql txn fetched: /kv/primary/2/v -> /3 -2 sql txn CPut /Table/53/1/...PK.../0 -> /TUPLE/1:1:Int/2/1:2:Int/3 +2 sql txn CPut /Table/55/1/...PK.../0 -> /TUPLE/1:1:Int/2/1:2:Int/3 34 dist sender querying next range at /Table/SystemConfigSpan/Start 34 dist sender r1: sending batch 2 CPut, 1 EndTxn to (n1,s1):1 @@ -290,9 +290,9 @@ SET tracing=off; SELECT span, operation, regexp_replace(message, '(\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.)?\d\d\d\d\d+', '...PK...') as message FROM [SHOW KV TRACE FOR SESSION] WHERE message NOT LIKE '%Z/%' ---- -3 dist sender querying next range at /Table/2/1/51/"kv2"/3/1 +3 dist sender querying next range at /Table/2/1/53/"kv2"/3/1 3 dist sender r1: sending batch 1 Get to (n1,s1):1 -5 dist sender querying next range at /Table/3/1/53/2/1 +5 dist sender querying next range at /Table/3/1/55/2/1 5 dist sender r1: sending batch 1 Get to (n1,s1):1 7 dist sender querying next range at /Table/2/1/0/"system"/3/1 7 dist sender r1: sending batch 1 Get to (n1,s1):1 @@ -306,14 +306,14 @@ SELECT span, operation, regexp_replace(message, '(\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\ 15 dist sender r1: sending batch 1 Get to (n1,s1):1 17 dist sender r1: sending batch 1 CPut, 1 BeginTxn to (n1,s1):1 20 dist sender r1: sending batch 1 EndTxn to (n1,s1):1 -2 sql txn Scan /Table/53/{1-2} -22 dist sender querying next range at /Table/53/1 +2 sql txn Scan /Table/55/{1-2} +22 dist sender querying next range at /Table/55/1 22 dist sender r1: sending batch 1 Scan to (n1,s1):1 2 sql txn fetched: /kv2/primary/...PK.../k/v -> /1/2 -2 sql txn Put /Table/53/1/...PK.../0 -> /TUPLE/1:1:Int/1/1:2:Int/4 +2 sql txn Put /Table/55/1/...PK.../0 -> /TUPLE/1:1:Int/1/1:2:Int/4 2 sql txn fetched: /kv2/primary/...PK.../k/v -> /2/3 -2 sql txn Put /Table/53/1/...PK.../0 -> /TUPLE/1:1:Int/2/1:2:Int/5 -24 dist sender querying next range at /Table/53/1/...PK.../0 +2 sql txn Put /Table/55/1/...PK.../0 -> /TUPLE/1:1:Int/2/1:2:Int/5 +24 dist sender querying next range at /Table/55/1/...PK.../0 24 dist sender r1: sending batch 2 Put, 1 BeginTxn, 1 EndTxn to (n1,s1):1 query ITT @@ -322,11 +322,11 @@ DELETE FROM t.kv2; SET tracing=off; SELECT span, operation, message FROM [SHOW KV TRACE FOR SESSION] ---- -2 sql txn Scan /Table/53/{1-2} -3 dist sender querying next range at /Table/53/1 +2 sql txn Scan /Table/55/{1-2} +3 dist sender querying next range at /Table/55/1 3 dist sender r1: sending batch 1 Scan to (n1,s1):1 -2 sql txn DelRange /Table/53/1 - /Table/53/2 -5 dist sender querying next range at /Table/53/1 +2 sql txn DelRange /Table/55/1 - /Table/55/2 +5 dist sender querying next range at /Table/55/1 5 dist sender r1: sending batch 1 DelRng, 1 BeginTxn, 1 EndTxn to (n1,s1):1 # Like for CREATE UNIQUE INDEX ABOVE, we use SHOW KV TRACE FOR @@ -336,17 +336,17 @@ query ITT SELECT span, operation, regexp_replace(regexp_replace(message, 'wall_time:\d+', 'wall_time:...'), 'drop_time:\d+', 'drop_time:...') as message FROM [SHOW KV TRACE FOR DROP TABLE t.kv2] WHERE message NOT LIKE '%Z/%' ---- -2 dist sender querying next range at /Table/5/1/53/2/1 +2 dist sender querying next range at /Table/5/1/55/2/1 2 dist sender r1: sending batch 1 Get to (n1,s1):1 -4 dist sender querying next range at /Table/3/1/53/2/1 +4 dist sender querying next range at /Table/3/1/55/2/1 4 dist sender r1: sending batch 1 Get to (n1,s1):1 -6 dist sender querying next range at /Table/5/1/51/2/1 +6 dist sender querying next range at /Table/5/1/53/2/1 6 dist sender r1: sending batch 1 Get to (n1,s1):1 -8 dist sender querying next range at /Table/3/1/51/2/1 +8 dist sender querying next range at /Table/3/1/53/2/1 8 dist sender r1: sending batch 1 Get to (n1,s1):1 10 dist sender querying next range at /Table/5/1/0/2/1 10 dist sender r1: sending batch 1 Get to (n1,s1):1 -1 starting plan Put /Table/3/1/53/2/1 -> table: columns: nullable:true hidden:false > columns: nullable:true hidden:false > columns: nullable:false default_expr:"unique_rowid()" hidden:true > next_column_id:4 families: next_family_id:1 primary_index: interleave:<> partitioning: type:FORWARD > next_index_id:2 privileges: users: > next_mutation_id:1 format_version:3 state:DROP draining_names: view_query:"" drop_time:... replacement_of: > audit_mode:DISABLED > +1 starting plan Put /Table/3/1/55/2/1 -> table: columns: nullable:true hidden:false > columns: nullable:true hidden:false > columns: nullable:false default_expr:"unique_rowid()" hidden:true > next_column_id:4 families: next_family_id:1 primary_index: interleave:<> partitioning: type:FORWARD > next_index_id:2 privileges: users: > next_mutation_id:1 format_version:3 state:DROP draining_names: view_query:"" drop_time:... replacement_of: > audit_mode:DISABLED > 12 dist sender querying next range at /Table/SystemConfigSpan/Start 12 dist sender r1: sending batch 1 Put, 1 BeginTxn to (n1,s1):1 15 dist sender querying next range at /Table/2/1/0/"system"/3/1 @@ -367,16 +367,16 @@ DELETE FROM t.kv; SET tracing=off; SELECT span, operation, message FROM [SHOW KV TRACE FOR SESSION] ---- -2 sql txn Scan /Table/52/{1-2} -3 dist sender querying next range at /Table/52/1 +2 sql txn Scan /Table/54/{1-2} +3 dist sender querying next range at /Table/54/1 3 dist sender r1: sending batch 1 Scan to (n1,s1):1 2 sql txn fetched: /kv/primary/1/v -> /2 -2 sql txn Del /Table/52/2/2/0 -2 sql txn Del /Table/52/1/1/0 +2 sql txn Del /Table/54/2/2/0 +2 sql txn Del /Table/54/1/1/0 2 sql txn fetched: /kv/primary/2/v -> /3 -2 sql txn Del /Table/52/2/3/0 -2 sql txn Del /Table/52/1/2/0 -5 dist sender querying next range at /Table/52/1/1/0 +2 sql txn Del /Table/54/2/3/0 +2 sql txn Del /Table/54/1/2/0 +5 dist sender querying next range at /Table/54/1/1/0 5 dist sender r1: sending batch 4 Del, 1 BeginTxn, 1 EndTxn to (n1,s1):1 # Like for CREATE UNIQUE INDEX ABOVE, we use SHOW KV TRACE FOR @@ -388,15 +388,15 @@ SELECT span, operation, regexp_replace(regexp_replace(message, 'mutationJobs:<[^ ---- 2 dist sender querying next range at /Table/2/1/0/"t"/3/1 2 dist sender r1: sending batch 1 Get to (n1,s1):1 -4 dist sender querying next range at /Table/3/1/51/2/1 +4 dist sender querying next range at /Table/3/1/53/2/1 4 dist sender r1: sending batch 1 Get to (n1,s1):1 -6 dist sender querying next range at /Table/2/1/51/"kv"/3/1 +6 dist sender querying next range at /Table/2/1/53/"kv"/3/1 6 dist sender r1: sending batch 1 Get to (n1,s1):1 -8 dist sender querying next range at /Table/3/1/52/2/1 +8 dist sender querying next range at /Table/3/1/54/2/1 8 dist sender r1: sending batch 1 Get to (n1,s1):1 -10 dist sender querying next range at /Table/3/1/51/2/1 +10 dist sender querying next range at /Table/3/1/53/2/1 10 dist sender r1: sending batch 1 Get to (n1,s1):1 -12 dist sender querying next range at /Table/3/1/51/2/1 +12 dist sender querying next range at /Table/3/1/53/2/1 12 dist sender r1: sending batch 1 Get to (n1,s1):1 14 dist sender querying next range at /Table/2/1/0/"system"/3/1 14 dist sender r1: sending batch 1 Get to (n1,s1):1 @@ -410,8 +410,8 @@ SELECT span, operation, regexp_replace(regexp_replace(message, 'mutationJobs:<[^ 22 dist sender r1: sending batch 1 Get to (n1,s1):1 24 dist sender querying next range at /Table/SystemConfigSpan/Start 24 dist sender r1: sending batch 1 CPut, 1 BeginTxn, 1 InitPut to (n1,s1):1 -1 starting plan Put /Table/3/1/52/2/1 -> table: columns: nullable:false hidden:false > columns: nullable:true hidden:false > next_column_id:3 families: next_family_id:1 primary_index: interleave:<> partitioning: type:FORWARD > next_index_id:3 privileges: users: > mutations: interleave:<> partitioning: type:FORWARD > state:DELETE_AND_WRITE_ONLY direction:DROP mutation_id:2 rollback:false > next_mutation_id:3 format_version:3 state:PUBLIC view_query:"" mutationJobs:<...> drop_time:0 replacement_of: > audit_mode:DISABLED > -27 dist sender querying next range at /Table/3/1/52/2/1 +1 starting plan Put /Table/3/1/54/2/1 -> table: columns: nullable:false hidden:false > columns: nullable:true hidden:false > next_column_id:3 families: next_family_id:1 primary_index: interleave:<> partitioning: type:FORWARD > next_index_id:3 privileges: users: > mutations: interleave:<> partitioning: type:FORWARD > state:DELETE_AND_WRITE_ONLY direction:DROP mutation_id:2 rollback:false > next_mutation_id:3 format_version:3 state:PUBLIC view_query:"" mutationJobs:<...> drop_time:0 replacement_of: > audit_mode:DISABLED > +27 dist sender querying next range at /Table/3/1/54/2/1 27 dist sender r1: sending batch 1 Put to (n1,s1):1 29 dist sender querying next range at /Table/2/1/0/"system"/3/1 29 dist sender r1: sending batch 1 Get to (n1,s1):1 @@ -432,17 +432,17 @@ query ITT SELECT span, operation, regexp_replace(regexp_replace(regexp_replace(message, 'mutationJobs:<[^>]*>', 'mutationJobs:<...>'), 'wall_time:\d+', 'wall_time:...'), 'drop_time:\d+', 'drop_time:...') as message FROM [SHOW KV TRACE FOR DROP TABLE t.kv] WHERE message NOT LIKE '%Z/%' ---- -2 dist sender querying next range at /Table/5/1/52/2/1 +2 dist sender querying next range at /Table/5/1/54/2/1 2 dist sender r1: sending batch 1 Get to (n1,s1):1 -4 dist sender querying next range at /Table/3/1/52/2/1 +4 dist sender querying next range at /Table/3/1/54/2/1 4 dist sender r1: sending batch 1 Get to (n1,s1):1 -6 dist sender querying next range at /Table/5/1/51/2/1 +6 dist sender querying next range at /Table/5/1/53/2/1 6 dist sender r1: sending batch 1 Get to (n1,s1):1 -8 dist sender querying next range at /Table/3/1/51/2/1 +8 dist sender querying next range at /Table/3/1/53/2/1 8 dist sender r1: sending batch 1 Get to (n1,s1):1 10 dist sender querying next range at /Table/5/1/0/2/1 10 dist sender r1: sending batch 1 Get to (n1,s1):1 -1 starting plan Put /Table/3/1/52/2/1 -> table: columns: nullable:false hidden:false > columns: nullable:true hidden:false > next_column_id:3 families: next_family_id:1 primary_index: interleave:<> partitioning: type:FORWARD > next_index_id:3 privileges: users: > next_mutation_id:3 format_version:3 state:DROP draining_names: view_query:"" drop_time:... replacement_of: > audit_mode:DISABLED > +1 starting plan Put /Table/3/1/54/2/1 -> table: columns: nullable:false hidden:false > columns: nullable:true hidden:false > next_column_id:3 families: next_family_id:1 primary_index: interleave:<> partitioning: type:FORWARD > next_index_id:3 privileges: users: > next_mutation_id:3 format_version:3 state:DROP draining_names: view_query:"" drop_time:... replacement_of: > audit_mode:DISABLED > 12 dist sender querying next range at /Table/SystemConfigSpan/Start 12 dist sender r1: sending batch 1 Put, 1 BeginTxn to (n1,s1):1 15 dist sender querying next range at /Table/2/1/0/"system"/3/1 diff --git a/pkg/sql/logictest/testdata/logic_test/system b/pkg/sql/logictest/testdata/logic_test/system index 036b2a5fc4e1..c581f8822cdb 100644 --- a/pkg/sql/logictest/testdata/logic_test/system +++ b/pkg/sql/logictest/testdata/logic_test/system @@ -3,6 +3,8 @@ query T SHOW DATABASES ---- +default +postgres system test @@ -28,10 +30,14 @@ query T SELECT message FROM [SHOW KV TRACE FOR SELECT * FROM system.namespace] WHERE message LIKE 'fetched:%' OR message LIKE 'output row%' ---- +fetched: /namespace/primary/0/'default'/id -> 50 +output row: [0 'default' 50] +fetched: /namespace/primary/0/'postgres'/id -> 51 +output row: [0 'postgres' 51] fetched: /namespace/primary/0/'system'/id -> 1 output row: [0 'system' 1] -fetched: /namespace/primary/0/'test'/id -> 50 -output row: [0 'test' 50] +fetched: /namespace/primary/0/'test'/id -> 52 +output row: [0 'test' 52] fetched: /namespace/primary/1/'descriptor'/id -> 3 output row: [1 'descriptor' 3] fetched: /namespace/primary/1/'eventlog'/id -> 12 @@ -64,8 +70,10 @@ output row: [1 'zones' 5] query ITI rowsort SELECT * FROM system.namespace ---- +0 default 50 +0 postgres 51 0 system 1 -0 test 50 +0 test 52 1 descriptor 3 1 eventlog 12 1 jobs 15 @@ -100,6 +108,8 @@ SELECT id FROM system.descriptor 21 23 50 +51 +52 # Verify we can read "protobuf" columns. query I diff --git a/pkg/sql/sessiondata/search_path.go b/pkg/sql/sessiondata/search_path.go index 2da35d0b9d5a..105b488894dc 100644 --- a/pkg/sql/sessiondata/search_path.go +++ b/pkg/sql/sessiondata/search_path.go @@ -18,7 +18,14 @@ import ( "strings" ) -// PgCatalogName is the name of the pg_catalog system database. +// PgDatabaseName is the name of the default postgres system database. +const PgDatabaseName = "postgres" + +// DefaultDatabaseName is the name ofthe default CockroachDB database used +// for connections without a current db set. +const DefaultDatabaseName = "default" + +// PgCatalogName is the name of the pg_catalog system schema. const PgCatalogName = "pg_catalog" // SearchPath represents a list of namespaces to search builtins in. diff --git a/pkg/sql/vars.go b/pkg/sql/vars.go index 210b3c0cec52..15212f8e2e22 100644 --- a/pkg/sql/vars.go +++ b/pkg/sql/vars.go @@ -129,8 +129,6 @@ var varGen = map[string]sessionVar{ }, // CockroachDB extension. - // TODO(knz): may need to be replaced by 1st element of search_path for - // pg compatibility. `database`: { Set: func( ctx context.Context, m *sessionDataMutator, @@ -141,6 +139,10 @@ var varGen = map[string]sessionVar{ return err } + if len(dbName) == 0 && evalCtx.SessionData.SafeUpdates { + return pgerror.NewDangerousStatementErrorf("SET database to empty string") + } + if len(dbName) != 0 { // Verify database descriptor exists. if _, err := evalCtx.schemaAccessors.logical.GetDatabaseDesc(dbName, diff --git a/pkg/sqlmigrations/migrations.go b/pkg/sqlmigrations/migrations.go index 9a6736ba880f..c8c2195b6730 100644 --- a/pkg/sqlmigrations/migrations.go +++ b/pkg/sqlmigrations/migrations.go @@ -31,6 +31,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/settings/cluster" "github.com/cockroachdb/cockroach/pkg/sql" "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" + "github.com/cockroachdb/cockroach/pkg/sql/sessiondata" "github.com/cockroachdb/cockroach/pkg/sql/sqlbase" "github.com/cockroachdb/cockroach/pkg/util/envutil" "github.com/cockroachdb/cockroach/pkg/util/hlc" @@ -186,6 +187,11 @@ var backwardCompatibleMigrations = []migrationDescriptor{ name: "ensure admin role privileges in all descriptors", workFn: ensureMaxPrivileges, }, + { + // Introduced in v2.0. + name: "create default databases", + workFn: createDefaultDbs, + }, } // migrationDescriptor describes a single migration hook that's used to modify @@ -957,3 +963,33 @@ func addDefaultSystemJobsZoneConfig(ctx context.Context, r runner) error { } return upsertZoneConfig(ctx, r, keys.JobsTableID, jobsZone) } + +func createDefaultDbs(ctx context.Context, r runner) error { + session := r.newRootSession(ctx) + defer session.Finish(r.sqlExecutor) + + // Create the default databases. These are plain databases with + // default permissions. Nothing special happens if they exist + // already. + const createDbStmt = `CREATE DATABASE IF NOT EXISTS "%s"` + + var err error + for retry := retry.Start(retry.Options{MaxRetries: 5}); retry.Next(); { + for _, dbName := range []string{sessiondata.DefaultDatabaseName, sessiondata.PgDatabaseName} { + stmt := fmt.Sprintf(createDbStmt, dbName) + var res sql.StatementResults + res, err = r.sqlExecutor.ExecuteStatementsBuffered(session, stmt, nil, 1) + if err == nil { + res.Close(ctx) + } + if err != nil { + log.Warningf(ctx, "failed attempt to add database %q: %s", dbName, err) + break + } + } + if err == nil { + break + } + } + return err +}