anysdk

package
v0.5.3-alpha07 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 28, 2026 License: MIT Imports: 62 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MethodDescription string = "description"
	MethodName        string = "MethodName"
	RequiredParams    string = "RequiredParams"
	SQLVerb           string = "SQLVerb"
	ViewMethodName    string = "__view__"
)
View Source
const (
	LocationRequestBody string = "requestBody"
	LocationPath        string = "path"
	LocationQuery       string = "query"
	LocationHeader      string = "header"
	LocationCookie      string = "cookie"
	LocationServer      string = "server"
	LocationContext     string = "context"
)
View Source
const (
	ExtensionKeyAlwaysRequired string = "x-alwaysRequired"
	ExtensionKeyGraphQL        string = "x-stackQL-graphQL"
	ExtensionKeyConfig         string = "x-stackQL-config"
	ExtensionKeyProvider       string = "x-stackql-provider"
	ExtensionKeyResources      string = "x-stackQL-resources"
	ExtensionKeyStringOnly     string = "x-stackQL-stringOnly"
	ExtensionKeyAlias          string = "x-stackQL-alias"
)
View Source
const (
	ODataDialect            = "odata"
	CustomDialect           = "custom"
	DefaultSelectParamName  = "$select"
	DefaultSelectDelimiter  = ","
	DefaultFilterParamName  = "$filter"
	DefaultFilterSyntax     = "odata"
	DefaultOrderByParamName = "$orderby"
	DefaultOrderBySyntax    = "odata"
	DefaultTopParamName     = "$top"
	DefaultCountParamName   = "$count"
	DefaultCountParamValue  = "true"
	DefaultCountResponseKey = "@odata.count"
)

OData default values

View Source
const (
	ConfigFilesMode fs.FileMode = 0664
)
View Source
const (
	// PaginationAlgorithmPageNumber identifies the page-number + total-pages
	// pagination strategy: termination is by comparing the current page number
	// in the response against a page-count field (`responseTerminator`).
	PaginationAlgorithmPageNumber = "page_number"
)
View Source
const (
	ParamEncodeDelimiter string = "%"
)
View Source
const (
	RetryAlgorithmExponential = "exponential"
)
View Source
const (
	ViewKeyResourceLevelSelect string = "select"
)

Variables

View Source
var (
	IgnoreEmbedded  bool
	OpenapiFileRoot string
)
View Source
var (
	AnonymousColumnName string = defaultAnonymousColumnName
)

Functions

func CallFromSignature

func CallFromSignature(
	cc client.AnySdkClientConfigurator,
	runtimeCtx dto.RuntimeCtx,
	authCtx *dto.AuthCtx,
	authTypeRequested string,
	enforceRevokeFirst bool,
	outErrFile io.Writer,
	prov Provider,
	designation client.AnySdkDesignation,
	argList client.AnySdkArgList,
) (client.AnySdkResponse, error)

func DefaultLinkHeaderTransformer

func DefaultLinkHeaderTransformer(input interface{}) (interface{}, error)

func GetDescribeHeader

func GetDescribeHeader(extended bool) []string

func GetMonitorRequest

func GetMonitorRequest(urlStr string) (client.AnySdkArgList, error)

func GetProviderDocBytes

func GetProviderDocBytes(prov string, fileRoot string) ([]byte, error)

func GetResourcesHeader

func GetResourcesHeader(extended bool) []string

func GetResourcesRegisterDocBytes

func GetResourcesRegisterDocBytes(url string, fileRoot string) ([]byte, error)

func GetServiceDocBytes

func GetServiceDocBytes(url string, fileRoot string) ([]byte, error)

func GetServicesHeader

func GetServicesHeader(extended bool) []string

func GetTestingPagination

func GetTestingPagination() standardPagination

GetTestingPagination returns a zero-value Pagination for testing. Mirrors the GetTestingQueryParamPushdown helper convention.

func GetTestingQueryParamPushdown

func GetTestingQueryParamPushdown() standardQueryParamPushdown

GetTestingQueryParamPushdown returns a zero-value struct for testing

func GetTestingView

func GetTestingView() standardViewContainer

func InterfaceToSQLType

func InterfaceToSQLType(val interface{}) (sqltypes.Value, error)

func NewAnySdkArgList

func NewAnySdkArgList(argList any) (client.AnySdkArgList, error)

func NewAnySdkClientConfigurator

func NewAnySdkClientConfigurator(
	rtCtx dto.RuntimeCtx,
	provName string,
	defaultClient *http.Client,
) client.AnySdkClientConfigurator

func NewAnySdkOpStoreDesignation

func NewAnySdkOpStoreDesignation(method OperationStore) client.AnySdkDesignation

func NewHttpClientConfiguratorInput

func NewHttpClientConfiguratorInput(
	authCtx *dto.AuthCtx,
	authType string,
	enforceRevokeFirst bool,
) client.ClientConfiguratorInput

func NewwHTTPAnySdkArgList

func NewwHTTPAnySdkArgList(req *http.Request) client.AnySdkArgList

func ObtainServerURLsFromServers

func ObtainServerURLsFromServers(svs []*openapi3.Server, vars map[string]string) ([]string, error)

func ProviderTypeConditionIsValid

func ProviderTypeConditionIsValid(providerType string, lhs string, rhs interface{}) bool

func ResourceConditionIsValid

func ResourceConditionIsValid(lhs string, rhs interface{}) bool

func ResourceKeyExists

func ResourceKeyExists(key string) bool

func ServiceConditionIsValid

func ServiceConditionIsValid(lhs string, rhs interface{}) bool

func ServiceKeyExists

func ServiceKeyExists(key string) bool

Types

type AddressSpace

type AddressSpace interface {
	GetGlobalSelectSchemas() map[string]Schema
	DereferenceAddress(address string) (any, bool)
	WriteToAddress(address string, val any) error
	ReadFromAddress(address string) (any, bool)
	ResolveSignature(map[string]any) (bool, map[string]any)
	Invoke(...any) error
	ToMap(AddressSpaceExpansionConfig) (map[string]any, error)
	ToRelation(AddressSpaceExpansionConfig) (Relation, error)
}

type AddressSpaceExpansionConfig

type AddressSpaceExpansionConfig interface {
	IsAsync() bool
	IsLegacy() bool
	IsAllowNilResponse() bool
}

type Addressable

type Addressable interface {
	ConditionIsValid(lhs string, rhs interface{}) bool
	GetLocation() string
	GetName() string
	GetAlias() string
	GetSchema() (Schema, bool)
	GetType() string
	IsRequired() bool
}

func NewOptionalAddressableRequestBodyProperty

func NewOptionalAddressableRequestBodyProperty(name string, s Schema) Addressable

func NewParameter

func NewParameter(param *openapi3.Parameter, svc OpenAPIService) Addressable

func NewRequiredAddressableRequestBodyProperty

func NewRequiredAddressableRequestBodyProperty(name string, s Schema) Addressable

type AuthDTO

type AuthDTO interface {
	JSONLookup(token string) (interface{}, error)
	GetInlineBasicCredentials() string
	GetType() string
	GetKeyID() string
	GetKeyIDEnvVar() string
	GetKeyFilePath() string
	GetKeyFilePathEnvVar() string
	GetKeyEnvVar() string
	GetScopes() []string
	GetValuePrefix() string
	GetEnvVarUsername() string
	GetEnvVarPassword() string
	GetEnvVarAPIKeyStr() string
	GetEnvVarAPISecretStr() string
	GetSuccessor() (AuthDTO, bool)
	GetLocation() string
	GetSubject() string
	GetName() string
	GetClientID() string
	GetClientIDEnvVar() string
	GetClientSecret() string
	GetClientSecretEnvVar() string
	GetTokenURL() string
	GetGrantType() string
	GetValues() url.Values
	GetAuthStyle() int
	GetAccountID() string
	GetAccountIDEnvVar() string
}

type AuthMetadata

type AuthMetadata struct {
	Principal string `json:"principal"`
	Type      string `json:"type"`
	Source    string `json:"source"`
}

func (*AuthMetadata) GetHeaders

func (am *AuthMetadata) GetHeaders() []string

func (*AuthMetadata) ToMap

func (am *AuthMetadata) ToMap() map[string]interface{}

type BodyMap

type BodyMap map[string]interface{}

type BodyParamPair

type BodyParamPair interface {
	GetKey() string
	GetVal() interface{}
}

type Column

type Column interface {
	GetName() string
	GetSchema() Schema
	GetWidth() int
}

type ColumnDescriptor

type ColumnDescriptor interface {
	GetAlias() string
	GetDecoratedCol() string
	GetIdentifier() string
	GetName() string
	GetNode() sqlparser.SQLNode
	GetQualifier() string
	GetRepresentativeSchema() Schema
	GetSchema() Schema
	GetVal() *sqlparser.SQLVal
	// contains filtered or unexported methods
}

func NewColumnDescriptor

func NewColumnDescriptor(alias string, name string, qualifier string, decoratedCol string, node sqlparser.SQLNode, schema Schema, val *sqlparser.SQLVal) ColumnDescriptor

type CountPushdown

type CountPushdown interface {
	GetDialect() string
	GetParamName() string
	GetParamValue() string
	GetResponseKey() string
}

CountPushdown represents configuration for SELECT COUNT(*) pushdown

type DiscoveryDoc

type DiscoveryDoc interface {
	// contains filtered or unexported methods
}

type EncodableString

type EncodableString string

type ExecContext

type ExecContext interface {
	GetExecPayload() internaldto.ExecPayload
	GetResource() Resource
}

func NewExecContext

func NewExecContext(payload internaldto.ExecPayload, rsc Resource) ExecContext

type ExpectedRequest

type ExpectedRequest interface {
	GetBodyMediaType() string
	GetSchema() Schema
	GetFinalSchema() Schema
	GetRequired() []string
	GetDefault() string
	GetBase() string
	GetXMLDeclaration() string
	GetXMLTransform() string

	GetTransform() (Transform, bool)
	// contains filtered or unexported methods
}

type ExpectedResponse

type ExpectedResponse interface {
	GetBodyMediaType() string
	GetOverrrideBodyMediaType() string
	GetOpenAPIDocKey() string
	GetObjectKey() string
	GetSchema() Schema
	GetProjectionMap() map[string]string
	GetProjection(string) (string, bool)

	GetTransform() (Transform, bool)
	GetRawSchema() Schema // base schema before any override
	// contains filtered or unexported methods
}

type FilterPushdown

type FilterPushdown interface {
	GetDialect() string
	GetParamName() string
	GetSyntax() string
	GetSupportedOperators() []string
	GetSupportedColumns() []string
	IsOperatorSupported(operator string) bool
	IsColumnSupported(column string) bool
}

FilterPushdown represents configuration for WHERE clause filter pushdown

type GraphQL

type GraphQL interface {
	JSONLookup(token string) (interface{}, error)
	GetCursorJSONPath() (string, bool)
	GetResponseJSONPath() (string, bool)
	GetID() string
	GetQuery() string
	GetURL() string
	GetHTTPVerb() string
	GetCursor() GraphQLElement
	GetResponseSelection() GraphQLElement
	GetCursorStrategy() (string, bool)
	GetCursorFormat() (string, bool)
	GetCursorTerminateOnJSONPath() (string, bool)
	GetCursorPageSize() (int, bool)
}

type GraphQLElement

type GraphQLElement map[string]interface{}

func (GraphQLElement) GetCursorFormat

func (gqc GraphQLElement) GetCursorFormat() (string, bool)

GetCursorFormat returns the configured cursor.format template, or "" if absent.

func (GraphQLElement) GetCursorPageSize

func (gqc GraphQLElement) GetCursorPageSize() (int, bool)

GetCursorPageSize returns the configured cursor.pageSize, or 0 if absent. Only the offset strategy consumes this; non-positive values are treated as "no short-page termination".

func (GraphQLElement) GetCursorStrategy

func (gqc GraphQLElement) GetCursorStrategy() (string, bool)

GetCursorStrategy returns the configured cursor.strategy, or "" if absent. Callers should treat "" as the legacy cursor_after default.

func (GraphQLElement) GetCursorTerminateOnJSONPath

func (gqc GraphQLElement) GetCursorTerminateOnJSONPath() (string, bool)

GetCursorTerminateOnJSONPath returns the configured cursor.terminateOnJsonPath, or "" if absent. Only the page_info strategy consumes this.

type HTTPArmoury

type HTTPArmoury interface {
	AddRequestParams(HTTPArmouryParameters)
	GetRequestParams() []HTTPArmouryParameters
	GetRequestSchema() Schema
	GetResponseSchema() Schema
	SetRequestParams([]HTTPArmouryParameters)
	SetRequestSchema(Schema)
	SetResponseSchema(Schema)
	MergeLateBindingMaps(map[int]map[string]any) (HTTPArmoury, error)
}

func NewHTTPArmoury

func NewHTTPArmoury(parentPreparator HTTPPreparator, prepCfg HTTPPreparatorConfig) HTTPArmoury

type HTTPArmouryParameters

type HTTPArmouryParameters interface {
	Encode() string
	GetBodyBytes() []byte
	GetHeader() http.Header
	GetParameters() HttpParameters
	GetQuery() url.Values
	GetRequest() *http.Request
	GetArgList() client.AnySdkArgList
	SetBodyBytes(b []byte)
	SetHeaderKV(k string, v []string)
	SetNextPage(ops OperationStore, token string, tokenKey internaldto.HTTPElement) (*http.Request, error)
	SetParameters(HttpParameters)
	SetRawQuery(string)
	SetRequest(*http.Request)
	SetRequestBodyMap(BodyMap)
	ToFlatMap() (map[string]interface{}, error)
}

func NewHTTPArmouryParameters

func NewHTTPArmouryParameters() HTTPArmouryParameters

type HTTPPreparator

type HTTPPreparator interface {
	BuildHTTPRequestCtx(HTTPPreparatorConfig) (HTTPArmoury, error)
	MergeParams(map[int]map[string]any) (HTTPPreparator, error)
}

func NewHTTPPreparator

func NewHTTPPreparator(
	prov Provider,
	svc Service,
	m OperationStore,
	paramMap map[int]map[string]any,
	parameters streaming.MapStream,
	execContext ExecContext,
	logger *logrus.Logger,
) HTTPPreparator

type HTTPPreparatorConfig

type HTTPPreparatorConfig interface {
	IsFromAnnotation() bool
}

func NewHTTPPreparatorConfig

func NewHTTPPreparatorConfig(isFromAnnotation bool) HTTPPreparatorConfig

type HttpParameters

type HttpParameters interface {
	Encode() string
	IngestMap(map[string]interface{}) error
	StoreParameter(Addressable, interface{})
	ToFlatMap() (map[string]interface{}, error)
	GetParameter(paramName, paramIn string) (ParameterBinding, bool)
	GetRemainingQueryParamsFlatMap(keysRemaining map[string]interface{}) (map[string]interface{}, error)
	GetServerParameterFlatMap() (map[string]interface{}, error)
	GetContextParameterFlatMap() (map[string]interface{}, error)
	SetResponseBodyParam(key string, val interface{})
	SetServerParam(key string, svc OpenAPIService, val interface{})
	SetRequestBodyParam(key string, val interface{})
	SetRequestBody(map[string]interface{})
	GetRequestBody() map[string]interface{}
	GetInlineParameterFlatMap() (map[string]interface{}, error)
}

func NewHttpParameters

func NewHttpParameters(method StandardOperationStore) HttpParameters

type HttpPreparatorStream

type HttpPreparatorStream interface {
	Write(HTTPPreparator) error
	Next() (HTTPPreparator, bool)
}

func NewHttpPreparatorStream

func NewHttpPreparatorStream() HttpPreparatorStream

type ITable

type ITable interface {
	GetName() string
	KeyExists(string) bool
	GetKey(string) (interface{}, error)
	GetKeyAsSqlVal(string) (sqltypes.Value, error)
	GetRequiredParameters() map[string]Addressable
	FilterBy(func(interface{}) (ITable, error)) (ITable, error)
}

type IntrospectedField

type IntrospectedField interface {
	GetName() string
	GetType() string
	GetParamType() ParamType
	GetShape() string
	GetDescription() string
}

IntrospectedField is one row of a DESCRIBE METHOD result. Consumers read fields through accessors; the concrete implementation is package-private so the wire shape can evolve without breaking dependents.

GetShape returns a JSON Schema subset (text). It is empty for scalar fields; for object/array fields it carries the nested structure the caller needs to construct a payload or interpret a response without making further round trips. The subset includes type, format, properties, items, required, enum, default, description, and the OpenAPI booleans readOnly/writeOnly/deprecated. Polymorphism (oneOf/anyOf/allOf) is preserved when present in the source document — providers in this registry usually fatten it at generation time, but if any survives it is rendered.

type LocalSchemaRef

type LocalSchemaRef struct {
	Ref   string `json:"$ref" yaml:"$ref"`
	Value *standardSchema
}

type MetadataStore

type MetadataStore struct {
	Store map[string]OpenAPIService
}

func (*MetadataStore) GetResource

func (ms *MetadataStore) GetResource(serviceName string, resourceName string) (Resource, error)

func (*MetadataStore) GetResources

func (ms *MetadataStore) GetResources(serviceName string) (map[string]Resource, error)

func (*MetadataStore) GetServices

func (ms *MetadataStore) GetServices() ([]OpenAPIService, error)

type MethodAnalysisInput

type MethodAnalysisInput interface {
	GetService() Service
	GetMethod() OperationStore
	IsAwait() bool
	IsNilResponseAllowed() bool
	GetColumns() []ColumnDescriptor
}

func NewMethodAnalysisInput

func NewMethodAnalysisInput(
	method OperationStore,
	service Service,
	isNilResponseAllowed bool,
	columns []ColumnDescriptor,
	isAwait bool,
) MethodAnalysisInput

type MethodAnalysisOutput

type MethodAnalysisOutput interface {
	GetMethod() OperationStore
	GetSelectItemsKey() string
	GetInsertTabulation() Tabulation
	GetSelectTabulation() Tabulation
	GetColumns() []ColumnDescriptor
	GetStarColumns() (Schemas, error)
	GetOrderedStarColumnsNames() ([]string, error)
	GetItemSchema() (Schema, bool)
	GetResponseSchema() (Schema, bool)
	IsNilResponseAllowed() bool
	IsAwait() bool
}

type MethodAnalyzer

type MethodAnalyzer interface {
	AnalyzeUnaryAction(MethodAnalysisInput) (MethodAnalysisOutput, error)
}

func NewMethodAnalyzer

func NewMethodAnalyzer() MethodAnalyzer

type MethodIntrospection

type MethodIntrospection interface {
	GetProvider() string
	GetService() string
	GetResource() string
	GetMethod() string
	GetFields() []IntrospectedField
}

MethodIntrospection is the structured form of one DESCRIBE METHOD result. Consumers read provenance plus the row slice through accessors. The grammar-side caller will flatten GetFields() into a SQL result set.

func IntrospectMethod

func IntrospectMethod(rsc Resource, methodName string, extended bool) (MethodIntrospection, error)

IntrospectMethod returns input and output field metadata for a single method on a resource. It is the any-sdk side of the `DESCRIBE METHOD` SQL primitive. The function is intentionally a free function so it does not mutate any existing interface: callers obtain a Resource through the usual hierarchy lookup and pass it in.

The extended flag controls whether the per-row description is populated; the description that lives *inside* the shape JSON is always present (it is small, useful, and would cost an extra query to fetch separately).

Empty-response methods (e.g. 204 No Content) produce zero output rows. Input rows are always produced when the method has any input parameter.

type MethodSet

type MethodSet []StandardOperationStore

func (MethodSet) GetFirst

func (ms MethodSet) GetFirst() (StandardOperationStore, string, bool)

func (MethodSet) GetFirstMatch

func (ms MethodSet) GetFirstMatch(params map[string]interface{}) (StandardOperationStore, map[string]interface{}, bool)

func (MethodSet) GetFirstNamespaceMatch

func (ms MethodSet) GetFirstNamespaceMatch(params map[string]any) (StandardOperationStore, map[string]any, bool)

type Methods

type Methods map[string]standardOpenAPIOperationStore

func (Methods) FindFromSelector

func (ms Methods) FindFromSelector(sel OperationSelector) (StandardOperationStore, error)

func (Methods) FindMethod

func (ms Methods) FindMethod(key string) (StandardOperationStore, error)

func (Methods) OrderMethods

func (ms Methods) OrderMethods() ([]StandardOperationStore, error)

func (Methods) Put

type ObjectWithLineage

type ObjectWithLineage interface {
	ObjectWithoutLineage
	GetParentKey() string
}

type ObjectWithLineageCollection

type ObjectWithLineageCollection interface {
	Merge() error
	GetFlatObjects() []ObjectWithoutLineage
	PushBack(ObjectWithLineage)
}

type ObjectWithLineageCollectionConfig

type ObjectWithLineageCollectionConfig interface {
	GetStringifiedPaths() map[string]struct{}
	GetEncoding() string
}

type ObjectWithoutLineage

type ObjectWithoutLineage interface {
	GetKey() string
	GetValue() interface{}
}

type OpenAPIOperationStoreRef

type OpenAPIOperationStoreRef struct {
	Ref   string `json:"$ref" yaml:"$ref"`
	Value *standardOpenAPIOperationStore
}

func (OpenAPIOperationStoreRef) JSONLookup

func (value OpenAPIOperationStoreRef) JSONLookup(token string) (interface{}, error)

func (*OpenAPIOperationStoreRef) MarshalJSON

func (value *OpenAPIOperationStoreRef) MarshalJSON() ([]byte, error)

func (*OpenAPIOperationStoreRef) UnmarshalJSON

func (value *OpenAPIOperationStoreRef) UnmarshalJSON(data []byte) error

type OpenAPIService

type OpenAPIService interface {
	Service

	GetT() *openapi3.T
	// contains filtered or unexported methods
}

func LoadServiceSubsetDocFromBytes

func LoadServiceSubsetDocFromBytes(rr ResourceRegister, resourceKey string, bytes []byte) (OpenAPIService, error)

func NewService

func NewService(t *openapi3.T) OpenAPIService

type OperationInverse

type OperationInverse interface {
	JSONLookup(token string) (interface{}, error)
	GetOperationStore() (StandardOperationStore, bool)
	GetTokens() (OperationTokens, bool)
	GetParamMap(response.Response) (map[string]interface{}, error)
}

type OperationRef

type OperationRef struct {
	Ref    string `json:"$ref" yaml:"$ref"`
	Value  *openapi3.Operation
	Inline []string `json:"inline" yaml:"inline"`
}

func (OperationRef) ExtractMethodItem

func (opr OperationRef) ExtractMethodItem() string

func (OperationRef) ExtractPathItem

func (opr OperationRef) ExtractPathItem() string

func (OperationRef) ExtractServiceDocPath

func (opr OperationRef) ExtractServiceDocPath() string

func (OperationRef) GetInline

func (opr OperationRef) GetInline() []string

func (OperationRef) JSONLookup

func (value OperationRef) JSONLookup(token string) (interface{}, error)

func (*OperationRef) MarshalJSON

func (value *OperationRef) MarshalJSON() ([]byte, error)

func (*OperationRef) UnmarshalJSON

func (value *OperationRef) UnmarshalJSON(data []byte) error

func (*OperationRef) Validate

func (value *OperationRef) Validate(ctx context.Context) error

type OperationSelector

type OperationSelector interface {
	GetSQLVerb() string
	GetParameters() map[string]interface{}
}

func NewOperationSelector

func NewOperationSelector(slqVerb string, params map[string]interface{}) OperationSelector

type OperationStore

type OperationStore interface {
	ITable
	GetMethodKey() string
	GetSQLVerb() string
	GetGraphQL() GraphQL
	GetInverse() (OperationInverse, bool)
	GetStackQLConfig() StackQLConfig
	GetQueryParamPushdown() (QueryParamPushdown, bool)
	GetRetryPolicy() RetryPolicy
	GetParameters() map[string]Addressable
	GetPathItem() *openapi3.PathItem
	GetAPIMethod() string
	GetInline() []string
	GetOperationRef() *OperationRef
	GetPathRef() *PathItemRef
	GetRequest() (ExpectedRequest, bool)
	GetResponse() (ExpectedResponse, bool)
	GetServers() (openapi3.Servers, bool)
	GetParameterizedPath() string
	GetProviderService() ProviderService
	GetProvider() Provider
	GetService() OpenAPIService
	SetAddressSpace(AddressSpace)
	GetAddressSpace() (AddressSpace, bool)
	GetResource() Resource
	GetProjections() map[string]string

	GetOperationParameter(key string) (Addressable, bool)
	GetSelectSchemaAndObjectPath() (Schema, string, error)
	GetFinalSelectSchemaAndObjectPath() (Schema, string, error)
	ProcessResponse(*http.Response) (ProcessedOperationResponse, error) // to be removed

	GetSelectItemsKey() string
	GetResponseBodySchemaAndMediaType() (Schema, string, error)
	GetFinalResponseBodySchemaAndMediaType() (Schema, string, error)
	GetRequiredParameters() map[string]Addressable
	GetOptionalParameters() map[string]Addressable
	GetParameter(paramKey string) (Addressable, bool)
	GetUnionRequiredParameters() (map[string]Addressable, error)
	GetPaginationAlgorithm() string
	GetPaginationResponseTokenSemantic() (TokenSemantic, bool)
	GetPaginationResponseTerminatorTokenSemantic() (TokenSemantic, bool)
	MarshalBody(body interface{}, expectedRequest ExpectedRequest) dto.MarshalledBody
	GetRequestBodySchema() (Schema, error)
	GetNonBodyParameters() map[string]Addressable
	GetRequestBodyAttributesNoRename() (map[string]Addressable, error)
	IsAwaitable() bool
	DeprecatedProcessResponse(response *http.Response) (map[string]interface{}, error)
	GetRequestTranslateAlgorithm() string
	IsRequiredRequestBodyProperty(key string) bool
	GetPaginationRequestTokenSemantic() (TokenSemantic, bool)
	IsNullary() bool
	ToPresentationMap(extended bool) map[string]interface{}
	GetColumnOrder(extended bool) []string
	RenameRequestBodyAttribute(string) (string, error)
	RevertRequestBodyAttributeRename(string) (string, error)
	IsRequestBodyAttributeRenamed(string) bool
	GetRequiredNonBodyParameters() map[string]Addressable
	ShouldBeSelectable() bool
	GetServiceNameForProvider() string
	// contains filtered or unexported methods
}

type OperationTokens

type OperationTokens interface {
	JSONLookup(token string) (interface{}, error)
	GetTokenSemantic(key string) (TokenSemantic, bool)
}

type OrderByPushdown

type OrderByPushdown interface {
	GetDialect() string
	GetParamName() string
	GetSyntax() string
	GetSupportedColumns() []string
	IsColumnSupported(column string) bool
}

OrderByPushdown represents configuration for ORDER BY clause pushdown

type Pagination

type Pagination interface {
	JSONLookup(token string) (interface{}, error)
	GetAlgorithm() string
	GetRequestToken() TokenSemantic
	GetResponseToken() TokenSemantic
	GetResponseTerminator() TokenSemantic
}

type ParamInputStrem

type ParamInputStrem interface {
	Read() ([]HttpParameters, error)
}

func NewStandardParamInputStrem

func NewStandardParamInputStrem() ParamInputStrem

type ParamMap

type ParamMap map[string]ParameterBinding

type ParamPair

type ParamPair interface {
	GetKey() string
	GetParamBinding() ParameterBinding
}

type ParamType

type ParamType string

ParamType classifies a row produced by IntrospectMethod. The classification is the only thing a caller needs to understand whether a field is something they supply or something the provider returns. Whether an input param goes in the path, query, header or body is intentionally hidden — stackql treats methods as a single uniform input surface.

const (
	ParamTypeInputRequired ParamType = "input_required"
	ParamTypeInputOptional ParamType = "input_optional"
	ParamTypeOutput        ParamType = "output"
)

type ParameterBinding

type ParameterBinding interface {
	GetParam() Addressable
	GetVal() interface{}
}

func NewParameterBinding

func NewParameterBinding(param Addressable, val interface{}) ParameterBinding

type ParameterSuffixMap

type ParameterSuffixMap struct {
	// contains filtered or unexported fields
}

func MakeSuffixMapFromParameterMap

func MakeSuffixMapFromParameterMap(m map[string]Addressable) *ParameterSuffixMap

func NewParameterSuffixMap

func NewParameterSuffixMap() *ParameterSuffixMap

func (*ParameterSuffixMap) Delete

func (psm *ParameterSuffixMap) Delete(k string) bool

func (*ParameterSuffixMap) Get

func (psm *ParameterSuffixMap) Get(k string) (Addressable, bool)

func (*ParameterSuffixMap) GetAll

func (psm *ParameterSuffixMap) GetAll() map[string]Addressable

func (*ParameterSuffixMap) Put

func (psm *ParameterSuffixMap) Put(k string, v Addressable)

func (*ParameterSuffixMap) Size

func (psm *ParameterSuffixMap) Size() int

type Params

type Params interface {
	GetParameter(key string) (Addressable, bool)
}

func NewParameters

func NewParameters(params openapi3.Parameters, svc OpenAPIService) Params

type PathItemRef

type PathItemRef struct {
	Ref   string `json:"$ref" yaml:"$ref"`
	Value *openapi3.PathItem
}

type ProcessedOperationResponse

type ProcessedOperationResponse interface {
	GetResponse() (response.Response, bool)
	GetReversal() (HTTPPreparator, bool)
	GetReversalError() (error, bool)
	// contains filtered or unexported methods
}

type Provider

type Provider interface {
	GetMinStackQLVersion() string
	GetProtocolType() (client.ClientProtocolType, error)
	GetProtocolTypeString() string
	Debug() string
	GetAuth() (authsurface.AuthDTO, bool)
	GetDeleteItemsKey() string
	GetName() string
	GetProviderServices() map[string]ProviderService
	GetPaginationAlgorithm() string
	GetPaginationRequestTokenSemantic() (TokenSemantic, bool)
	GetPaginationResponseTokenSemantic() (TokenSemantic, bool)
	GetPaginationResponseTerminatorTokenSemantic() (TokenSemantic, bool)
	GetQueryParamPushdown() (QueryParamPushdown, bool)
	GetRetryPolicy() (RetryPolicy, bool)
	GetProviderService(key string) (ProviderService, error)

	GetRequestTranslateAlgorithm() string
	GetResourcesShallow(serviceKey string) (ResourceRegister, error)
	GetStackQLConfig() (StackQLConfig, bool)
	JSONLookup(token string) (interface{}, error)
	MarshalJSON() ([]byte, error)
	UnmarshalJSON(data []byte) error
	// contains filtered or unexported methods
}

func LoadProviderByName

func LoadProviderByName(prov, version string, fileRoot string) (Provider, error)

func LoadProviderDocFromBytes

func LoadProviderDocFromBytes(bytes []byte) (Provider, error)

func LoadProviderDocFromFile

func LoadProviderDocFromFile(fileName string) (Provider, error)

func NewProvider

func NewProvider(id, name, title, version string) Provider

type ProviderDescription

type ProviderDescription struct {
	Versions []string `json:"versions" yaml: "versions"`
	// contains filtered or unexported fields
}

func (ProviderDescription) GetLatestVersion

func (pd ProviderDescription) GetLatestVersion() (string, error)

type ProviderInfo

type ProviderInfo struct {
	Name    string
	Version string
}

type ProviderService

type ProviderService interface {
	ITable

	GetProvider() (Provider, bool)
	GetProtocolType() (client.ClientProtocolType, error)
	GetService() (Service, error)
	GetRequestTranslateAlgorithm() string
	GetResourcesShallow() (ResourceRegister, error)
	GetPaginationAlgorithm() string
	GetPaginationRequestTokenSemantic() (TokenSemantic, bool)

	GetQueryParamPushdown() (QueryParamPushdown, bool)
	GetRetryPolicy() (RetryPolicy, bool)
	ConditionIsValid(lhs string, rhs interface{}) bool
	GetID() string
	GetServiceFragment(resourceKey string) (Service, error)
	GetResourcesRefRef() string
	PeekServiceFragment(resourceKey string) (Service, bool)
	SetServiceRefVal(Service) bool
	IsPreferred() bool
	GetTitle() string
	GetVersion() string
	GetDescription() string
	GetServiceRefRef() string
	// contains filtered or unexported methods
}

func NewEmptyProviderService

func NewEmptyProviderService() ProviderService

type ProvidersList

type ProvidersList struct {
	Providers map[string]ProviderDescription `json:"providers" yaml: "providers"`
	// contains filtered or unexported fields
}

func NewProvidersList

func NewProvidersList() ProvidersList

func (ProvidersList) GetLatestList

func (pl ProvidersList) GetLatestList() (ProvidersList, error)

func (ProvidersList) GetSingleProviderList

func (pl ProvidersList) GetSingleProviderList(prov string) ProvidersList

type QueryParamPushdown

type QueryParamPushdown interface {
	JSONLookup(token string) (interface{}, error)
	GetSelect() (SelectPushdown, bool)
	GetFilter() (FilterPushdown, bool)
	GetOrderBy() (OrderByPushdown, bool)
	GetTop() (TopPushdown, bool)
	GetCount() (CountPushdown, bool)
}

QueryParamPushdown represents the top-level configuration for query parameter pushdown

type Registry

type Registry struct {
	// contains filtered or unexported fields
}

func (*Registry) ClearProviderCache

func (r *Registry) ClearProviderCache(providerId string) error

ClearProviderCache clears the cache for a specific provider e.g) ClearProviderCache("aws")

func (*Registry) GetDocBytes

func (r *Registry) GetDocBytes(docPath string) ([]byte, error)

func (*Registry) GetLatestAvailableVersion

func (r *Registry) GetLatestAvailableVersion(providerName string) (string, error)

func (*Registry) GetLatestPublishedVersion

func (r *Registry) GetLatestPublishedVersion(providerName string) (string, error)

func (*Registry) GetLocalDocRoot

func (r *Registry) GetLocalDocRoot() string

func (*Registry) GetLocalDocTrunk

func (r *Registry) GetLocalDocTrunk() string

func (*Registry) GetLocalProviderDocPath

func (r *Registry) GetLocalProviderDocPath(prov string, version string) string

func (*Registry) GetResourcesRegisterDocBytes

func (r *Registry) GetResourcesRegisterDocBytes(url string) ([]byte, error)

func (*Registry) GetResourcesShallowFromProvider

func (r *Registry) GetResourcesShallowFromProvider(pr Provider, serviceKey string) (ResourceRegister, error)

func (*Registry) GetResourcesShallowFromProviderService

func (r *Registry) GetResourcesShallowFromProviderService(pr ProviderService) (ResourceRegister, error)

func (*Registry) GetResourcesShallowFromURL

func (r *Registry) GetResourcesShallowFromURL(ps ProviderService) (ResourceRegister, error)

func (*Registry) GetService

func (r *Registry) GetService(ps ProviderService) (Service, error)

func (*Registry) GetServiceDocBytes

func (r *Registry) GetServiceDocBytes(url string) ([]byte, error)

func (*Registry) GetServiceFragment

func (r *Registry) GetServiceFragment(ps ProviderService, resourceKey string) (Service, error)

func (*Registry) GetServiceFromProviderService

func (r *Registry) GetServiceFromProviderService(ps ProviderService) (Service, error)

func (*Registry) ListAllAvailableProviders

func (r *Registry) ListAllAvailableProviders() (map[string]ProviderDescription, error)

func (*Registry) ListAllProviderVersions

func (r *Registry) ListAllProviderVersions(prov string) (map[string]ProviderDescription, error)

func (*Registry) ListLocallyAvailableProviders

func (r *Registry) ListLocallyAvailableProviders() map[string]ProviderDescription

func (*Registry) LoadProviderByName

func (r *Registry) LoadProviderByName(prov string, version string) (Provider, error)

func (*Registry) PullAndPersistProviderArchive

func (r *Registry) PullAndPersistProviderArchive(prov string, version string) error

func (*Registry) PullProviderArchive

func (r *Registry) PullProviderArchive(prov string, version string) (io.ReadCloser, error)

func (*Registry) RemoveProviderVersion

func (r *Registry) RemoveProviderVersion(providerId string, version string) error

RemoveProviderVersion removes a specific version of a provider e.g) RemoveProviderVersion("okta", "v23.09.00169")

type RegistryAPI

type RegistryAPI interface {
	PullAndPersistProviderArchive(string, string) error
	PullProviderArchive(string, string) (io.ReadCloser, error)
	ListAllAvailableProviders() (map[string]ProviderDescription, error)
	ListAllProviderVersions(string) (map[string]ProviderDescription, error)
	ListLocallyAvailableProviders() map[string]ProviderDescription
	GetDocBytes(string) ([]byte, error)
	GetLatestAvailableVersion(string) (string, error)
	GetLatestPublishedVersion(string) (string, error)
	GetResourcesShallowFromProvider(Provider, string) (ResourceRegister, error)
	GetResourcesShallowFromProviderService(ProviderService) (ResourceRegister, error)
	GetResourcesShallowFromURL(ps ProviderService) (ResourceRegister, error)
	GetService(ps ProviderService) (Service, error)
	GetServiceFragment(ProviderService, string) (Service, error)
	GetServiceFromProviderService(ProviderService) (Service, error)
	GetServiceDocBytes(string) ([]byte, error)
	GetResourcesRegisterDocBytes(string) ([]byte, error)
	LoadProviderByName(string, string) (Provider, error)
	RemoveProviderVersion(string, string) error
	ClearProviderCache(string) error
	GetLocalDocRoot() string
	GetLocalDocTrunk() string
	GetLocalProviderDocPath(prov string, version string) string
}

func GetMockLocalRegistry

func GetMockLocalRegistry(vc RegistryConfig) (RegistryAPI, error)

func GetMockRegistry

func GetMockRegistry(vc RegistryConfig) (RegistryAPI, error)

func NewRegistry

func NewRegistry(registryCfg RegistryConfig, transport http.RoundTripper) (RegistryAPI, error)

type RegistryConfig

type RegistryConfig struct {
	RegistryURL      string                   `json:"url" yaml:"url"`
	SrcPrefix        *string                  `json:"srcPrefix" yaml:"srcPrefix"`
	DistPrefix       *string                  `json:"distPrefix" yaml:"distPrefix"`
	AllowSrcDownload bool                     `json:"allowSrcDownload" yaml:"allowSrcDownload"`
	LocalDocRoot     string                   `json:"localDocRoot" yaml:"localDocRoot"`
	VerifyConfig     *edcrypto.VerifierConfig `json:"verifyConfig" yaml:"verifyConfig"`
}

type Relation

type Relation interface {
	GetColumns() []Column
	GetColumnDescriptors() []ColumnDescriptor
}

type Resource

type Resource interface {
	ITable

	GetID() string
	GetTitle() string
	GetDescription() string
	GetSelectorAlgorithm() string
	GetMethods() Methods
	GetServiceDocPath() *ServiceRef
	GetRequestTranslateAlgorithm() string
	GetPaginationAlgorithm() string
	GetPaginationRequestTokenSemantic() (TokenSemantic, bool)
	GetPaginationResponseTokenSemantic() (TokenSemantic, bool)
	GetPaginationResponseTerminatorTokenSemantic() (TokenSemantic, bool)
	GetQueryParamPushdown() (QueryParamPushdown, bool)
	GetRetryPolicy() (RetryPolicy, bool)
	FindMethod(key string) (StandardOperationStore, error)
	GetFirstMethodFromSQLVerb(sqlVerb string) (StandardOperationStore, string, bool)
	GetFirstNamespaceMethodMatchFromSQLVerb(sqlVerb string, parameters map[string]interface{}) (StandardOperationStore, map[string]interface{}, bool)
	GetService() (OpenAPIService, bool)
	GetProvider() (Provider, bool)
	GetViewsForSqlDialect(sqlDialect string) ([]View, bool)
	GetMethodsMatched() Methods
	ToMap(extended bool) map[string]interface{}

	SetProvider(p Provider)
	SetService(s OpenAPIService)
	SetProviderService(ps ProviderService)
	// contains filtered or unexported methods
}

func NewEmptyResource

func NewEmptyResource() Resource

type ResourceRegister

type ResourceRegister interface {
	//
	GetServiceDocPath() *ServiceRef
	ObtainServiceDocUrl(resourceKey string) string
	SetProviderService(ps ProviderService)
	SetProvider(p Provider)
	GetResources() map[string]Resource
	GetResource(string) (Resource, bool)
	// contains filtered or unexported methods
}

func LoadResourcesShallow

func LoadResourcesShallow(ps ProviderService, bt []byte) (ResourceRegister, error)

func NewResourceRegister

func NewResourceRegister() ResourceRegister

type ResourcesRef

type ResourcesRef struct {
	Ref   string `json:"$ref" yaml:"$ref"`
	Value *standardResourceRegister
}

type ResponseKeys

type ResponseKeys struct {
	SelectItemsKey string `json:"selectItemsKey,omitempty" yaml:"selectItemsKey,omitempty"`
	DeleteItemsKey string `json:"deleteItemsKey,omitempty" yaml:"deleteItemsKey,omitempty"`
}

type RetryConditions

type RetryConditions interface {
	GetStatusCodes() []int
	IsStatusRetryable(statusCode int) bool
}

RetryConditions enumerates the per-response signals that mark a result as retryable. Currently only HTTP status codes are checked, but the type is modelled as an extensible bag so future signals (header probes, body shape, error class) can be added without rewriting specs.

type RetryPolicy

type RetryPolicy interface {
	GetAlgorithm() string
	GetMaxAttempts() int
	GetInitialDelay() time.Duration
	GetMaxDelay() time.Duration
	GetMultiplier() float64
	GetJitterFraction() float64
	GetRetryableConditions() RetryConditions
	GetRetryableMethods() []string
	IsStatusRetryable(statusCode int) bool
	IsMethodRetryable(method string) bool
	BackoffFor(attempt int) time.Duration
}

RetryPolicy describes how a remote call should be retried on transient failure. Algorithm is a string so we can introduce alternative strategies without breaking existing specs; the only currently supported value is "exponential".

func DefaultRetryPolicy

func DefaultRetryPolicy() RetryPolicy

DefaultRetryPolicy returns the policy applied when no x-stackQL-config retry block is present anywhere in the inheritance chain.

type SQLExternalColumn

type SQLExternalColumn interface {
	GetName() string
	GetType() string
	GetOid() uint32
	GetWidth() int
	GetPrecision() int
}

type SQLExternalConnection

type SQLExternalConnection interface {
	GetConnectionName() string
	GetTables() map[string]SQLExternalTable
}

type SQLExternalTable

type SQLExternalTable interface {
	GetCatalogName() string
	GetSchemaName() string
	GetName() string
	GetColumns() []SQLExternalColumn
}

type Schema

type Schema interface {
	SetDefaultColName(string)

	ConditionIsValid(lhs string, rhs interface{}) bool
	DeprecatedProcessHttpResponse(response *http.Response, path string) (map[string]interface{}, error)
	FindByPath(path string, visited map[string]bool) Schema
	GetAdditionalProperties() (Schema, bool)
	GetAllColumns(string) []string
	GetItemProperty(k string) (Schema, bool)
	GetItems() (Schema, error)
	GetItemsSchema() (Schema, error)
	GetName() string
	GetDescription() string
	GetPath() string
	GetProperties() (Schemas, error)
	GetProperty(propertyKey string) (Schema, bool)
	GetSelectionName() string
	GetSelectListItems(key string) (Schema, string)
	GetTitle() string
	GetType() string
	GetPropertySchema(key string) (Schema, error)
	GetRequired() []string
	GetAlias() string
	GetSelectSchema(itemsKey, mediaType string) (Schema, string, error)
	IsArrayRef() bool
	IsBoolean() bool
	IsFloat() bool
	IsIntegral() bool
	IsReadOnly() bool
	IsRequired(key string) bool
	ProcessHttpResponseTesting(r *http.Response, path string, defaultMediaType string, overrideMediaType string) (response.Response, error)
	SetProperties(openapi3.Schemas)
	SetType(string)
	SetKey(string)
	Tabulate(bool, string) Tabulation
	ToDescriptionMap(extended bool) map[string]interface{}

	GetXMLALiasOrName() string

	ExtractMediaTypeSynonym(mediaType string) string

	GetSchemaAtPath(key string, mediaType string) (Schema, error)
	// contains filtered or unexported methods
}

func NewStringSchema

func NewStringSchema(svc OpenAPIService, key string, path string) Schema

func NewTestSchema

func NewTestSchema(sc *openapi3.Schema, svc Service, key string, path string) Schema

type Schemas

type Schemas map[string]Schema

type SelectPushdown

type SelectPushdown interface {
	GetDialect() string
	GetParamName() string
	GetDelimiter() string
	GetSupportedColumns() []string
	IsColumnSupported(column string) bool
}

SelectPushdown represents configuration for SELECT clause column projection pushdown

type Service

type Service interface {
	IsPreferred() bool
	GetServers() (openapi3.Servers, bool) // Difficult to remove, not impossible.
	GetResources() (map[string]Resource, error)
	GetName() string
	GetResource(resourceName string) (Resource, error)
	GetSchema(key string) (Schema, error)
	IsOpenapi() bool
	// contains filtered or unexported methods
}

func LoadProviderAndServiceFromPaths

func LoadProviderAndServiceFromPaths(
	provFilePath string,
	svcFilePath string,
) (Service, error)

func LoadServiceDocFromBytes

func LoadServiceDocFromBytes(ps ProviderService, bytes []byte) (Service, error)

func LoadServiceDocFromFile

func LoadServiceDocFromFile(ps ProviderService, fileName string) (Service, error)

func ReadService

func ReadService(b []byte) (Service, error)

type ServiceRef

type ServiceRef struct {
	Ref   string `json:"$ref" yaml:"$ref"`
	Value *standardService
}

type SimpleMockRegistryRoundTripper

type SimpleMockRegistryRoundTripper struct {
	// contains filtered or unexported fields
}

func NewSimpleMockRegistryRoundTripper

func NewSimpleMockRegistryRoundTripper(fileRoot string, registryRoot *url.URL) *SimpleMockRegistryRoundTripper

func (*SimpleMockRegistryRoundTripper) RoundTrip

type StackQLConfig

type StackQLConfig interface {
	GetAuth() (authsurface.AuthDTO, bool)
	GetViewsForSqlDialect(sqlDialect string, viewName string) ([]View, bool)
	GetQueryTranspose() (Transform, bool)
	GetRequestTranslate() (Transform, bool)
	GetRequestBodyTranslate() (Transform, bool)
	GetPagination() (Pagination, bool)
	GetVariations() (Variations, bool)
	GetViews() map[string]View
	GetExternalTables() map[string]SQLExternalTable
	GetQueryParamPushdown() (QueryParamPushdown, bool)
	GetRetryPolicy() (RetryPolicy, bool)
	GetMinStackQLVersion() string
	// contains filtered or unexported methods
}

type StandardOperationStore

type StandardOperationStore interface {
	OperationStore
	// Assist analysis
	GetSchemaAtPath(key string) (Schema, error)
	GetSelectItemsKeySimple() string
	LookupSelectItemsKey() string

	GetRequestBodyMediaType() string

	GetRequestBodyMediaTypeNormalised() string

	GetXMLDeclaration() string

	GetXMLRootAnnotation() string
	GetXMLTransform() string
	// contains filtered or unexported methods
}

func NewEmptyOperationStore

func NewEmptyOperationStore() StandardOperationStore

type StandardTransformerLocator

type StandardTransformerLocator struct{}

func (*StandardTransformerLocator) GetTransformer

func (stl *StandardTransformerLocator) GetTransformer(tokenSemantic TokenSemantic) (TokenTransformer, error)

type Tabulation

type Tabulation interface {
	GetColumns() []ColumnDescriptor
	GetSchema() Schema
	PushBackColumn(col ColumnDescriptor)
	GetName() string
	RenameColumnsToXml() Tabulation
}

func GetTabulation

func GetTabulation(name, arrayType string) Tabulation

type TokenSemantic

type TokenSemantic interface {
	JSONLookup(token string) (interface{}, error)
	GetAlgorithm() string
	GetArgs() TokenSemanticArgs
	GetKey() string
	GetLocation() string
	GetTransformer() (TokenTransformer, error)
	GetProcessedToken(res response.Response) (interface{}, error)
}

type TokenSemanticArgs

type TokenSemanticArgs map[string]interface{}

func (TokenSemanticArgs) GetRegex

func (tsa TokenSemanticArgs) GetRegex() (string, bool)

type TokenTransformer

type TokenTransformer func(interface{}) (interface{}, error)

type TopPushdown

type TopPushdown interface {
	GetDialect() string
	GetParamName() string
	GetMaxValue() int
}

TopPushdown represents configuration for LIMIT clause pushdown

type Transform

type Transform interface {
	JSONLookup(token string) (interface{}, error)
	GetAlgorithm() string
	GetType() string
	GetBody() string
}

type TransformerLocator

type TransformerLocator interface {
	GetTransformer(tokenSemantic TokenSemantic) (TokenTransformer, error)
}

func NewStandardTransformerLocator

func NewStandardTransformerLocator() TransformerLocator

type Variations

type Variations interface {
	JSONLookup(token string) (interface{}, error)
	IsObjectSchemaImplicitlyUnioned() bool
}

type View

type View interface {
	GetDDL() string
	GetPredicate() string
	GetNameNaive() string
	GetRequiredParamNames() []string
	ToPresentationMap(extended bool) map[string]interface{}
	GetColumnOrder(extended bool) []string
}

type ViewContainer

type ViewContainer interface {
	GetViewsForSqlDialect(sqlBackend string) ([]View, bool)
	// contains filtered or unexported methods
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL