Skip to content

Commit 8ce602c

Browse files
- Method analyser removed.
1 parent 79dfd37 commit 8ce602c

File tree

5 files changed

+47
-195
lines changed

5 files changed

+47
-195
lines changed

internal/stackql/drm/drm_cfg.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@ func (dc *staticDRMConfig) getParserTableName(
431431
}
432432
}
433433

434-
func (dc *staticDRMConfig) inferColType(col util.Column) string {
434+
func (dc *staticDRMConfig) inferColType(col anysdk.Column) string {
435435
schema := col.GetSchema()
436436
return dc.inferColTypeFromSchema(schema)
437437
}
@@ -488,7 +488,6 @@ func (dc *staticDRMConfig) obtainAddressSpace(
488488
if addressSpaceErr != nil {
489489
return nil, addressSpaceErr
490490
}
491-
// TODO: use address space
492491
addressSpace := addressSpaceFormulator.GetAddressSpace()
493492
if addressSpace == nil {
494493
return nil, fmt.Errorf("failed to obtain address space")

internal/stackql/primitivegenerator/unary_selection.go

Lines changed: 38 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"strings"
66

77
"github.com/stackql/any-sdk/anysdk"
8+
"github.com/stackql/any-sdk/public/radix_tree_address_space"
89
"github.com/stackql/stackql/internal/stackql/astvisit"
910
"github.com/stackql/stackql/internal/stackql/docparser"
1011
"github.com/stackql/stackql/internal/stackql/handler"
@@ -175,12 +176,45 @@ func (pb *standardPrimitiveGenerator) analyzeUnarySelection(
175176
if itemObjS == nil {
176177
return fmt.Errorf(unsuitableSchemaMsg)
177178
}
179+
resource, err := tbl.GetResource()
180+
if err != nil {
181+
return err
182+
}
183+
prov, err := tbl.GetProviderObject()
184+
if err != nil {
185+
return err
186+
}
187+
svc, err := tbl.GetService()
188+
if err != nil {
189+
return err
190+
}
178191
if len(cols) == 0 {
179-
tsa := util.NewTableSchemaAnalyzer(schema, method, methodAnalysisOutput.IsNilResponseAllowed())
180-
colz, localErr := tsa.GetColumns()
181-
if localErr != nil {
182-
return localErr
192+
addressSpaceFormulator := radix_tree_address_space.NewAddressSpaceFormulator(
193+
radix_tree_address_space.NewAddressSpaceGrammar(),
194+
prov,
195+
svc,
196+
resource,
197+
method,
198+
method.GetProjections(),
199+
methodAnalysisOutput.IsAwait(),
200+
)
201+
addressSpaceErr := addressSpaceFormulator.Formulate()
202+
if addressSpaceErr != nil {
203+
return addressSpaceErr
204+
}
205+
addressSpace := addressSpaceFormulator.GetAddressSpace()
206+
if addressSpace == nil {
207+
return fmt.Errorf("failed to obtain address space")
208+
}
209+
inferredRelation, inferredRelationErr := addressSpace.ToRelation(
210+
radix_tree_address_space.NewStandardAddressSpaceExpansionConfig(
211+
true, // TODO: switch this off at the appropriate time
212+
false,
213+
))
214+
if inferredRelationErr != nil {
215+
return inferredRelationErr
183216
}
217+
colz := inferredRelation.GetColumns()
184218
for _, v := range colz {
185219
cols = append(cols, parserutil.NewUnaliasedColumnHandle(v.GetName()))
186220
}

internal/stackql/util/column.go

Lines changed: 0 additions & 44 deletions
This file was deleted.

internal/stackql/util/table_schema.go

Lines changed: 0 additions & 145 deletions
This file was deleted.

internal/stackql/util/utility.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,11 @@ func MaxMapKey(numbers map[int]interface{}) int {
3333
}
3434
return maxNumber
3535
}
36+
37+
func TrimSelectItemsKey(selectItemsKey string) string {
38+
splitSet := strings.Split(selectItemsKey, "/")
39+
if len(splitSet) == 0 {
40+
return ""
41+
}
42+
return splitSet[len(splitSet)-1]
43+
}

0 commit comments

Comments
 (0)