Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
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
Prev Previous commit
Next Next commit
Update API tracking files for queryParamPushdown interfaces
Add new exported interfaces and test functions to API snapshot files:
- CountPushdown, FilterPushdown, OrderByPushdown, QueryParamPushdown,
  SelectPushdown, TopPushdown interfaces
- Test functions for pushdown configuration validation

Document new API additions in docs/future_api.md per CI requirements.
  • Loading branch information
claude committed Nov 29, 2025
commit 975057f267af587e82c23e1cfa5df232bafa2ef1
5 changes: 5 additions & 0 deletions cicd/tools/api/exported_funcs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -184,9 +184,11 @@ func TestBasicAddressSpaceAWSCurrent
func TestBasicAddressSpaceGoogleCurrent
func TestBestEffortXMLStreamTransform
func TestConfigDrivenAliasedAddressSpaceGoogleCurrent
func TestCustomDialectConfig
func TestDeepDiscoveryGoogleCurrent
func TestDiscovery01
func TestDiscoveryAWS
func TestEmptySupportedColumns
func TestFatConfigDrivenAliasedAddressSpaceGoogleCurrent
func TestFragmentedResourcesFile
func TestGet
Expand All @@ -211,10 +213,12 @@ func TestLocalTemplatedCompositeServiceFile
func TestLocalValidateAndParseValidProviderFile
func TestMeaningfulStreamTransform
func TestMeaningfulXMLStreamTransform
func TestMinimalODataConfig
func TestMethodLevelVariableHostRoutingFutureProofed
func TestMonolithicCompositeServiceFile
func TestNewAddressSpace
func TestNoFallbackViewApi
func TestODataFullConfig
func TestOpensslCertTextStreamTransform
func TestPersistence01
func TestPersistenceSetup
Expand Down Expand Up @@ -266,6 +270,7 @@ func TestValidateAndParseGoogleProviderFile
func TestValidateAndParse_ValidJSON
func TestVariableHostRouting
func TestVariableHostRoutingFutureProofed
func TestWildcardSupportedColumns
func TestXMLMArshal
func TestXMLRequestBody
func TestXMLSchemaInterrogation
Expand Down
6 changes: 6 additions & 0 deletions cicd/tools/api/exported_interfaces.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ type ClientConfiguratorInput interface
type Column interface
type ColumnDescriptor interface
type ControlAttributes interface
type CountPushdown interface
type DataFlowCfg interface
type DiscoveryDoc interface
type ExecContext interface
Expand All @@ -37,6 +38,7 @@ type Executor interface
type ExpectedRequest interface
type ExpectedResponse interface
type FileValidator interface
type FilterPushdown interface
type GQLReader interface
type GraphQL interface
type HTTPArmoury interface
Expand Down Expand Up @@ -67,6 +69,7 @@ type ObjectWithLineage interface
type ObjectWithLineageCollection interface
type ObjectWithLineageCollectionConfig interface
type ObjectWithoutLineage interface
type OrderByPushdown interface
type OpenAPIService interface
type OperationInverse interface
type OperationSelector interface
Expand All @@ -87,6 +90,7 @@ type Provider interface
type ProviderService interface
type ProviderServiceResourceAnalyzer interface
type QueryElement interface
type QueryParamPushdown interface
type QueryTransposer interface
type QueryVar interface
type RDBMSSystem interface
Expand All @@ -103,6 +107,7 @@ type SQLEngine interface
type SQLExternalColumn interface
type SQLExternalConnection interface
type SQLExternalTable interface
type SelectPushdown interface
type Schema interface
type Service interface
type SessionContext interface
Expand All @@ -118,6 +123,7 @@ type StreamTransformer interface
type StreamTransformerFactory interface
type Tabulation interface
type TokenSemantic interface
type TopPushdown interface
type Transform interface
type TransformerLocator interface
type Transport interface
Expand Down
25 changes: 25 additions & 0 deletions docs/future_api.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,28 @@ New exported API is allowed only when:
1. Update the API snapshot files.
2. Update this document to justify the addition.

## 5. Approved API Additions

### 5.1 Query Parameter Pushdown (added 2025-11)

**Purpose:** Enable SQL clause pushdown to API query parameters for OData and custom APIs.

**New Interfaces (in `anysdk` package):**

| Interface | Description |
|-----------|-------------|
| `QueryParamPushdown` | Root interface for accessing pushdown configuration |
| `SelectPushdown` | Column projection (`$select`) configuration |
| `FilterPushdown` | Row filtering (`$filter`) with operator/column restrictions |
| `OrderByPushdown` | Ordering (`$orderby`) configuration |
| `TopPushdown` | Row limit (`$top`) with optional max value |
| `CountPushdown` | Count support (`$count`) configuration |

**New Functions:**

| Function | Description |
|----------|-------------|
| `GetTestingQueryParamPushdown` | Test helper for pushdown config validation |

**Justification:** These interfaces extend `StackQLConfig` to support predicate pushdown, enabling efficient SQL-to-API translation for OData-compatible endpoints. They fit the Runtime Profile as configuration extensions for provider operations.

Loading