Skip to content

Commit

Permalink
address steven comments
Browse files Browse the repository at this point in the history
  • Loading branch information
msbutler committed Mar 21, 2024
1 parent 72a431f commit a4e3a7e
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1034,7 +1034,6 @@ func TestTenantStreamingShowTenant(t *testing.T) {
id int
dest string
status string
serviceMode string
source string
sourceUri string
replicationLag string
Expand All @@ -1043,12 +1042,10 @@ func TestTenantStreamingShowTenant(t *testing.T) {
cutoverTime []byte // should be nil
)
row := c.DestSysSQL.QueryRow(t, fmt.Sprintf("SHOW TENANT %s WITH REPLICATION STATUS", args.DestTenantName))
row.Scan(&id, &dest, &status, &serviceMode, &source, &sourceUri, &protectedTime, &maxReplTime, &replicationLag, &cutoverTime)
row.Scan(&id, &dest, &source, &sourceUri, &protectedTime, &maxReplTime, &replicationLag, &cutoverTime, &status)
require.Equal(t, 2, id)
require.Equal(t, "destination", dest)
require.Equal(t, "replicating", status)
require.Equal(t, "none", serviceMode)
require.Equal(t, "source", source)
expectedURI, err := streamclient.RedactSourceURI(c.SrcURL.String())
require.NoError(t, err)
require.Equal(t, expectedURI, sourceUri)
Expand Down
8 changes: 4 additions & 4 deletions pkg/ccl/streamingccl/streamingest/testdata/simple
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ repstream job id=$_producerJobID
query-sql as=source-system
SHOW TENANT source WITH REPLICATION STATUS
----
10 source ready shared <nil> <nil> <nil> <nil> <nil> <nil>
10 source <nil> <nil> <nil> <nil> <nil> <nil> ready

exec-sql as=source-tenant
CREATE TABLE d.x (id INT PRIMARY KEY, n INT);
Expand All @@ -67,10 +67,10 @@ SHOW TENANTS
2 destination replicating none

query-sql as=destination-system
SELECT id, name, data_state, service_mode, source_tenant_name, cutover_time FROM [SHOW TENANTS WITH REPLICATION STATUS]
SELECT id, name, source_tenant_name, cutover_time, status FROM [SHOW TENANTS WITH REPLICATION STATUS]
----
1 system ready shared <nil> <nil>
2 destination replicating none source <nil>
1 system <nil> <nil> ready
2 destination source <nil> replicating

let $ts as=source-system
SELECT clock_timestamp()::timestamptz::string
Expand Down
20 changes: 14 additions & 6 deletions pkg/sql/catalog/colinfo/result_columns.go
Original file line number Diff line number Diff line change
Expand Up @@ -295,12 +295,17 @@ func init() {
var TenantColumns = ResultColumns{
{Name: "id", Typ: types.Int},
{Name: "name", Typ: types.String},
}

// TenantColumnsNoReplication appear in all SHOW VIRTUAL CLUSTER queries, except
// for SHOW VIRTUAL CLUSTER ... WITH REPLICATION STATUS.
var TenantColumnsNoReplication = ResultColumns{
{Name: "data_state", Typ: types.String},
{Name: "service_mode", Typ: types.String},
}

// TenantColumnsWithReplication is appended to TenantColumns for
// SHOW VIRTUAL CLUSTER ... WITH REPLICATION STATUS queries.
// TenantColumnsWithReplication is appended to TenantColumns for SHOW VIRTUAL
// CLUSTER ... WITH REPLICATION STATUS queries.
var TenantColumnsWithReplication = ResultColumns{
{Name: "source_tenant_name", Typ: types.String},
{Name: "source_cluster_uri", Typ: types.String},
Expand All @@ -311,17 +316,20 @@ var TenantColumnsWithReplication = ResultColumns{
{Name: "replicated_time", Typ: types.TimestampTZ},
{Name: "replication_lag", Typ: types.Interval},
{Name: "cutover_time", Typ: types.Decimal},
{Name: "status", Typ: types.String},
}

// TenantColumnsWithPriorReplication is appended to TenantColumns for
// SHOW VIRTUAL CLUSTER ... WITH PRIOR REPLICATION DETAILS queries.
// TenantColumnsWithPriorReplication is appended to TenantColumns and
// TenantColumnsNoReplication for SHOW VIRTUAL CLUSTER ... WITH PRIOR
// REPLICATION DETAILS queries.
var TenantColumnsWithPriorReplication = ResultColumns{
{Name: "source_id", Typ: types.String},
{Name: "activation_time", Typ: types.Decimal},
}

// TenantColumnsWithCapabilities is appended to TenantColumns for
// SHOW VIRTUAL CLUSTER ... WITH CAPABILITIES queries.
// TenantColumnsWithCapabilities is appended to TenantColumns and
// TenantColumnsNoReplication for SHOW VIRTUAL CLUSTER ... WITH CAPABILITIES
// queries.
var TenantColumnsWithCapabilities = ResultColumns{
{Name: "capability_name", Typ: types.String},
{Name: "capability_value", Typ: types.String},
Expand Down
13 changes: 9 additions & 4 deletions pkg/sql/show_tenant.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ func (p *planner) ShowTenant(ctx context.Context, n *tree.ShowTenant) (planNode,
node.columns = colinfo.TenantColumns
if n.WithReplication {
node.columns = append(node.columns, colinfo.TenantColumnsWithReplication...)
} else {
node.columns = append(node.columns, colinfo.TenantColumnsNoReplication...)
}
if n.WithPriorReplication {
node.columns = append(node.columns, colinfo.TenantColumnsWithPriorReplication...)
Expand Down Expand Up @@ -220,11 +222,13 @@ func (n *showTenantNode) Values() tree.Datums {
result := tree.Datums{
tree.NewDInt(tree.DInt(tenantInfo.ID)),
tree.NewDString(string(tenantInfo.Name)),
tree.NewDString(v.dataState),
tree.NewDString(tenantInfo.ServiceMode.String()),
}

if n.withReplication {
if !n.withReplication {
result = append(result,
tree.NewDString(v.dataState),
tree.NewDString(tenantInfo.ServiceMode.String()),
)
} else {
// This is a 'SHOW VIRTUAL CLUSTER name WITH REPLICATION STATUS' command.
sourceTenantName := tree.DNull
sourceClusterUri := tree.DNull
Expand Down Expand Up @@ -271,6 +275,7 @@ func (n *showTenantNode) Values() tree.Datums {
replicatedTimestamp,
replicationLag,
cutoverTimestamp,
tree.NewDString(v.dataState),
)
}
if n.withPriorReplication {
Expand Down

0 comments on commit a4e3a7e

Please sign in to comment.