Skip to content

Commit 07c2452

Browse files
- Unit tests pass.
1 parent fbf1ed6 commit 07c2452

File tree

3 files changed

+26
-26
lines changed

3 files changed

+26
-26
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ require (
1616
github.com/spf13/cobra v1.4.0
1717
github.com/spf13/pflag v1.0.5
1818
github.com/spf13/viper v1.10.1
19-
github.com/stackql/any-sdk v0.2.2-alpha16
19+
github.com/stackql/any-sdk v0.2.2-alpha20
2020
github.com/stackql/go-suffix-map v0.0.1-alpha01
2121
github.com/stackql/psql-wire v0.1.1-beta23
2222
github.com/stackql/stackql-parser v0.0.15-alpha06

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -461,8 +461,8 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
461461
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
462462
github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk=
463463
github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU=
464-
github.com/stackql/any-sdk v0.2.2-alpha16 h1:M+k6XyRfjzcQo7mXK59LlobNuFEYhg9KRRPHDC5tpC0=
465-
github.com/stackql/any-sdk v0.2.2-alpha16/go.mod h1:m1o5TCfyKkdt2bREB3itwPv1MhM+lk4eu24KpPohFoY=
464+
github.com/stackql/any-sdk v0.2.2-alpha20 h1:2IhyktdpUY4pcBJOPsU+YtFM6qZD8vfZGS4XBzkIUsQ=
465+
github.com/stackql/any-sdk v0.2.2-alpha20/go.mod h1:m1o5TCfyKkdt2bREB3itwPv1MhM+lk4eu24KpPohFoY=
466466
github.com/stackql/go-suffix-map v0.0.1-alpha01 h1:TDUDS8bySu41Oo9p0eniUeCm43mnRM6zFEd6j6VUaz8=
467467
github.com/stackql/go-suffix-map v0.0.1-alpha01/go.mod h1:QAi+SKukOyf4dBtWy8UMy+hsXXV+yyEE4vmBkji2V7g=
468468
github.com/stackql/psql-wire v0.1.1-beta23 h1:1ayYMjZArfDcIMyEOKnm+Bp1zRCISw8pguvTFuUhhVQ=

internal/stackql/drm/drm_cfg.go

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
"strings"
1010

1111
"github.com/stackql/any-sdk/anysdk"
12-
"github.com/stackql/any-sdk/pkg/client"
1312
"github.com/stackql/any-sdk/pkg/constants"
1413
"github.com/stackql/any-sdk/pkg/db/sqlcontrol"
1514
"github.com/stackql/any-sdk/pkg/logging"
@@ -474,22 +473,8 @@ func (dc *staticDRMConfig) genRelationalTable(
474473
tableName,
475474
tabAnn.GetInputTableName(),
476475
)
477-
schemaAnalyzer := util.NewTableSchemaAnalyzer(tabAnn.GetTabulation().GetSchema(), m, isNilResponseAlloed)
478-
tableColumns, err := schemaAnalyzer.GetColumns()
479-
if err != nil {
480-
return nil, err
481-
}
482-
for _, col := range tableColumns {
483-
colName := col.GetName()
484-
colType := dc.inferColType(col)
485-
// relationalType := dc.GetRelationalType(colType)
486-
// TODO: add drm logic to infer / transform width as suplied by openapi doc
487-
colWidth := col.GetWidth()
488-
relationalColumn := typing.NewRelationalColumn(colName, colType).WithWidth(colWidth)
489-
relationalTable.PushBackColumn(relationalColumn)
490-
}
491-
protocolType, _ := prov.GetProtocolType()
492-
if protocolType == client.HTTP {
476+
addressSpace, hasAddressSpace := m.GetAddressSpace()
477+
if !hasAddressSpace {
493478
addressSpaceFormulator := radix_tree_address_space.NewAddressSpaceFormulator(
494479
radix_tree_address_space.NewAddressSpaceGrammar(),
495480
prov,
@@ -503,15 +488,29 @@ func (dc *staticDRMConfig) genRelationalTable(
503488
return nil, addressSpaceErr
504489
}
505490
// TODO: use address space
506-
addressSpace := addressSpaceFormulator.GetAddressSpace()
491+
addressSpace = addressSpaceFormulator.GetAddressSpace()
507492
if addressSpace == nil {
508493
return nil, fmt.Errorf("failed to obtain address space")
509494
}
510495
}
511-
// analyzer, analyzerErr := methodAnalyzerFactory.CreateMethodAggregateStaticAnalyzer(
512-
// path.Join(dc.registryAPI.GetLocalProviderDocPath("", ""),
513-
514-
// )
496+
inferredRelation, inferredRelationErr := addressSpace.ToRelation(
497+
radix_tree_address_space.NewStandardAddressSpaceExpansionConfig(
498+
true, // TODO: switch this off at the appropriate time
499+
isNilResponseAlloed,
500+
))
501+
if inferredRelationErr != nil {
502+
return nil, inferredRelationErr
503+
}
504+
tableColumns := inferredRelation.GetColumns()
505+
for _, col := range tableColumns {
506+
colName := col.GetName()
507+
colType := dc.inferColType(col)
508+
// relationalType := dc.GetRelationalType(colType)
509+
// TODO: add drm logic to infer / transform width as suplied by openapi doc
510+
colWidth := col.GetWidth()
511+
relationalColumn := typing.NewRelationalColumn(colName, colType).WithWidth(colWidth)
512+
relationalTable.PushBackColumn(relationalColumn)
513+
}
515514
return relationalTable, nil
516515
}
517516

@@ -525,7 +524,8 @@ func (dc *staticDRMConfig) GenerateDDL(
525524
dropTable bool,
526525
isNilResponseAlloed bool,
527526
) ([]string, error) {
528-
relationalTable, err := dc.genRelationalTable(tabAnn, prov, svc, resource, m, discoveryGenerationID, isNilResponseAlloed)
527+
relationalTable, err := dc.genRelationalTable(
528+
tabAnn, prov, svc, resource, m, discoveryGenerationID, isNilResponseAlloed)
529529
if err != nil {
530530
return nil, err
531531
}

0 commit comments

Comments
 (0)