Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ require (
github.com/spf13/cobra v1.4.0
github.com/spf13/pflag v1.0.5
github.com/spf13/viper v1.10.1
github.com/stackql/any-sdk v0.5.1-alpha03
github.com/stackql/any-sdk v0.5.1-alpha07
github.com/stackql/go-suffix-map v0.0.1-alpha01
github.com/stackql/psql-wire v0.1.2-alpha01
github.com/stackql/stackql-parser v0.0.16-alpha01
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -467,8 +467,8 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk=
github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU=
github.com/stackql/any-sdk v0.5.1-alpha03 h1:zYVr/ysJ26Tb1JCl/49MymMsHH+5dC2iGircAJhGbIg=
github.com/stackql/any-sdk v0.5.1-alpha03/go.mod h1:ZRTGrcDKFLaC+5yWo4OqXVs1HTNxgYM9nQsQDlq0Fe0=
github.com/stackql/any-sdk v0.5.1-alpha07 h1:CfWos4QmtETs9UNXv36JXT9vK7DR/PiNOWhvlTi6aDg=
github.com/stackql/any-sdk v0.5.1-alpha07/go.mod h1:ZRTGrcDKFLaC+5yWo4OqXVs1HTNxgYM9nQsQDlq0Fe0=
github.com/stackql/go-suffix-map v0.0.1-alpha01 h1:TDUDS8bySu41Oo9p0eniUeCm43mnRM6zFEd6j6VUaz8=
github.com/stackql/go-suffix-map v0.0.1-alpha01/go.mod h1:QAi+SKukOyf4dBtWy8UMy+hsXXV+yyEE4vmBkji2V7g=
github.com/stackql/psql-wire v0.1.2-alpha01 h1:RMBRURGspmSNqm2/sgoEc+D6Sri2y/3drjl4nKlOOi4=
Expand Down
2 changes: 1 addition & 1 deletion internal/stackql/planbuilder/plan_builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -1276,7 +1276,7 @@ func (pgb *standardPlanGraphBuilder) handleShow(pbi planbuilderinput.PlanBuilder
}
case "METHODS":
//nolint:wastedassign // TODO: fix this
tbl, err = primitiveGenerator.GetPrimitiveComposer().GetTable(node.OnTable) //nolint:ineffassign,staticcheck,lll // TODO: fix this
tbl, err = primitiveGenerator.GetPrimitiveComposer().GetTable(node) //nolint:ineffassign,staticcheck,lll // TODO: fix this
}
prov := primitiveGenerator.GetPrimitiveComposer().GetProvider()
pr := primitive.NewMetaDataPrimitive(
Expand Down
16 changes: 15 additions & 1 deletion internal/stackql/primitivebuilder/shortcuts.go
Original file line number Diff line number Diff line change
Expand Up @@ -204,11 +204,25 @@ func NewShowInstructionExecutor(
return util.PrepareResultSet(internaldto.NewPrepareResultSetDTO(nil, keys, columnOrder, nil, mErr, nil,
handlerCtx.GetTypingConfig()))
}
views, hasViews := rsc.GetViewsForSqlDialect(
handlerCtx.GetSQLSystem().GetName(),
)
methodKeys := make(map[string]map[string]interface{})
j := 0
if hasViews {
for i, v := range views {
vMap := v.ToPresentationMap(extended)
if i == 0 {
methodKeys[fmt.Sprintf("%06d", i)] = vMap
j++
columnOrder = v.GetColumnOrder(extended)
}
}
}
for i, k := range mOrd {
method := k
methMap := method.ToPresentationMap(extended)
methodKeys[fmt.Sprintf("%06d", i)] = methMap
methodKeys[fmt.Sprintf("%06d", j+i)] = methMap
columnOrder = method.GetColumnOrder(extended)
}
keys = methodKeys
Expand Down
37 changes: 37 additions & 0 deletions test/robot/functional/stackql_from_cmd_line.robot
Original file line number Diff line number Diff line change
Expand Up @@ -655,6 +655,43 @@ Show Methods including server params AWS
... show methods in aws.ec2.vpcs;
... ${outputStr}

Show Methods including view
${outputStr} = Catenate SEPARATOR=\n
... |------------|----------------|---------|
... |${SPACE}MethodName${SPACE}|${SPACE}RequiredParams${SPACE}|${SPACE}SQLVerb${SPACE}|
... |------------|----------------|---------|
... |${SPACE}__view__${SPACE}${SPACE}${SPACE}|${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}|${SPACE}SELECT${SPACE}${SPACE}|
... |------------|----------------|---------|
Should StackQL Current Exec Equal
... show methods in aws.pseudo_s3.s3_bucket_listing;
... ${outputStr}

Show Methods including view and others
${outputStr} = Catenate SEPARATOR=\n
... |-----------------|----------------|---------|
... |${SPACE}${SPACE}${SPACE}MethodName${SPACE}${SPACE}${SPACE}${SPACE}|${SPACE}RequiredParams${SPACE}|${SPACE}SQLVerb${SPACE}|
... |-----------------|----------------|---------|
... |${SPACE}__view__${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}|${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}|${SPACE}SELECT${SPACE}${SPACE}|
... |-----------------|----------------|---------|
... |${SPACE}create_resource${SPACE}|${SPACE}region${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}|${SPACE}INSERT${SPACE}${SPACE}|
... |-----------------|----------------|---------|
Should StackQL Current Exec Equal
... show methods in aws.pseudo_s3.s3_bucket_detail_defaulted;
... ${outputStr}

Show Methods including required params view and others
${outputStr} = Catenate SEPARATOR=\n
... |-----------------|--------------------------|---------|
... |${SPACE}${SPACE}${SPACE}MethodName${SPACE}${SPACE}${SPACE}${SPACE}|${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}RequiredParams${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}|${SPACE}SQLVerb${SPACE}|
... |-----------------|--------------------------|---------|
... |${SPACE}__view__${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}|${SPACE}data__Identifier,${SPACE}region${SPACE}|${SPACE}SELECT${SPACE}${SPACE}|
... |-----------------|--------------------------|---------|
... |${SPACE}create_resource${SPACE}|${SPACE}region${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}|${SPACE}INSERT${SPACE}${SPACE}|
... |-----------------|--------------------------|---------|
Should StackQL Current Exec Equal
... show methods in aws.pseudo_s3.s3_bucket_polymorphic;
... ${outputStr}

Show Insert Google Container Clusters
Should StackQL Exec Contain
... SHOW INSERT INTO google.container."projects.zones.clusters";
Expand Down
2 changes: 2 additions & 0 deletions test/robot/functional/stackql_mocked_from_cmd_line.robot
Original file line number Diff line number Diff line change
Expand Up @@ -460,6 +460,8 @@ AWS Hybrid Service Cloud Control S3 Bucket Show Methods
... |-----------------|----------------------------|---------|
... |${SPACE}${SPACE}${SPACE}MethodName${SPACE}${SPACE}${SPACE}${SPACE}|${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}RequiredParams${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}|${SPACE}SQLVerb${SPACE}|
... |-----------------|----------------------------|---------|
... |${SPACE}__view__${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}|${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}|${SPACE}SELECT${SPACE}${SPACE}|
... |-----------------|----------------------------|---------|
... |${SPACE}create_resource${SPACE}|${SPACE}data__DesiredState,${SPACE}region${SPACE}|${SPACE}INSERT${SPACE}${SPACE}|
... |-----------------|----------------------------|---------|
Should StackQL Exec Inline Equal Both Streams
Expand Down
Loading