cmds

package
v0.4.3 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2026 License: MIT Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildCobraCommandWithSqletonMiddlewares added in v0.4.0

func BuildCobraCommandWithSqletonMiddlewares(
	cmd cmds.Command,
	options ...cli.CobraOption,
) (*cobra.Command, error)

func BuildSqletonCommandConfigPlan added in v0.4.3

func BuildSqletonCommandConfigPlan(parsedCommandValues *values.Values) (*glazed_config.Plan, error)

func GetCobraCommandSqletonMiddlewares added in v0.4.0

func GetCobraCommandSqletonMiddlewares(
	parsedCommandValues *values.Values,
	cmd *cobra.Command,
	args []string,
) ([]sources.Middleware, error)

func GetSqletonAdditionalMiddlewares added in v0.4.3

func GetSqletonAdditionalMiddlewares(
	parsedCommandValues *values.Values,
) ([]sources.Middleware, error)

func LooksLikeSqletonSQLCommand added in v0.4.1

func LooksLikeSqletonSQLCommand(contents []byte) bool

func MarshalSpecToSQLFile added in v0.4.1

func MarshalSpecToSQLFile(spec *SqlCommandSpec) (string, error)

func NewRepositoryFactory

func NewRepositoryFactory() handlers.RepositoryFactory

func NewSqletonParserConfig added in v0.4.3

func NewSqletonParserConfig() cli.CobraParserConfig

Types

type SourceKind added in v0.4.1

type SourceKind int
const (
	SourceUnknown SourceKind = iota
	SourceSQLCommand
	SourceYAMLAlias
)

func DetectSourceKind added in v0.4.1

func DetectSourceKind(path string) SourceKind

type SqlCommand

type SqlCommand struct {
	*cmds.CommandDescription `yaml:",inline"`
	Query                    string            `yaml:"query"`
	SubQueries               map[string]string `yaml:"subqueries,omitempty"`
	// contains filtered or unexported fields
}

SqlCommand describes a command line command that runs a query

func NewSqlCommand

func NewSqlCommand(
	description *cmds.CommandDescription,
	options ...SqlCommandOption,
) (*SqlCommand, error)

func (*SqlCommand) Description

func (s *SqlCommand) Description() *cmds.CommandDescription

func (*SqlCommand) IsValid

func (s *SqlCommand) IsValid() bool

func (*SqlCommand) Metadata added in v0.1.74

func (s *SqlCommand) Metadata(
	ctx context.Context,
	parsedValues *values.Values,
) (map[string]interface{}, error)

func (*SqlCommand) PrintQuery added in v0.2.8

func (s *SqlCommand) PrintQuery(
	ctx context.Context,
	db *sqlx.DB,
	dataMap map[string]interface{},
) error

func (*SqlCommand) RenderQuery

func (s *SqlCommand) RenderQuery(
	ctx context.Context,
	db *sqlx.DB,
	ps map[string]interface{},
) (string, error)

func (*SqlCommand) RenderQueryFull

func (s *SqlCommand) RenderQueryFull(
	ctx context.Context,
	parsedValues *values.Values,
) (string, error)

func (*SqlCommand) RunIntoGlazeProcessor added in v0.2.0

func (s *SqlCommand) RunIntoGlazeProcessor(
	ctx context.Context,
	parsedValues *values.Values,
	gp middlewares.Processor,
) error

func (*SqlCommand) RunIntoGlazeProcessorWithDB added in v0.2.8

func (s *SqlCommand) RunIntoGlazeProcessorWithDB(
	ctx context.Context,
	db *sqlx.DB,
	dataMap map[string]interface{},
	gp middlewares.Processor,
) error

func (*SqlCommand) RunQueryIntoGlaze

func (s *SqlCommand) RunQueryIntoGlaze(
	ctx context.Context,
	db *sqlx.DB,
	gp middlewares.Processor) error

RunQueryIntoGlaze runs the query and processes the results into Glaze. This requires RenderQuery to be invoked first in order to have a s.renderedQuery. NOTE(manuel, 2024-04-11) This really could benefit of a further cleanup, what with codegen now

func (*SqlCommand) String

func (s *SqlCommand) String() string

func (*SqlCommand) ToYAML

func (s *SqlCommand) ToYAML(w io.Writer) error

type SqlCommandCompiler added in v0.4.1

type SqlCommandCompiler struct {
	DBConnectionFactory clay_sql.DBConnectionFactory
}

func (*SqlCommandCompiler) Compile added in v0.4.1

func (c *SqlCommandCompiler) Compile(
	spec *SqlCommandSpec,
	options ...cmds.CommandDescriptionOption,
) (*SqlCommand, error)

type SqlCommandLoader

type SqlCommandLoader struct {
	DBConnectionFactory sql.DBConnectionFactory
}

func (*SqlCommandLoader) IsFileSupported added in v0.1.80

func (scl *SqlCommandLoader) IsFileSupported(f fs.FS, fileName string) bool

func (*SqlCommandLoader) LoadCommands added in v0.1.80

func (scl *SqlCommandLoader) LoadCommands(
	f fs.FS, entryName string,
	options []cmds.CommandDescriptionOption,
	aliasOptions []alias.Option,
) ([]cmds.Command, error)

type SqlCommandOption

type SqlCommandOption func(*SqlCommand)

func WithDbConnectionFactory

func WithDbConnectionFactory(factory clay_sql.DBConnectionFactory) SqlCommandOption

func WithQuery

func WithQuery(query string) SqlCommandOption

func WithSubQueries

func WithSubQueries(subQueries map[string]string) SqlCommandOption

type SqlCommandSpec added in v0.4.1

type SqlCommandSpec struct {
	Name       string                 `yaml:"name"`
	Short      string                 `yaml:"short"`
	Long       string                 `yaml:"long,omitempty"`
	Layout     []*layout.Section      `yaml:"layout,omitempty"`
	Flags      []*fields.Definition   `yaml:"flags,omitempty"`
	Arguments  []*fields.Definition   `yaml:"arguments,omitempty"`
	Tags       []string               `yaml:"tags,omitempty"`
	Metadata   map[string]interface{} `yaml:"metadata,omitempty"`
	Query      string                 `yaml:"query"`
	SubQueries map[string]string      `yaml:"subqueries,omitempty"`
}

func ParseSQLFileSpec added in v0.4.1

func ParseSQLFileSpec(path string, contents []byte) (*SqlCommandSpec, error)

func ParseSQLFileSpecFromReader added in v0.4.1

func ParseSQLFileSpecFromReader(path string, r io.Reader) (*SqlCommandSpec, error)

func (*SqlCommandSpec) Validate added in v0.4.1

func (s *SqlCommandSpec) Validate() error

type SqletonCommand

type SqletonCommand interface {
	RunQueryIntoGlaze(
		ctx context.Context,
		db *sqlx.DB,
		parameters map[string]interface{},
		gp middlewares.TableProcessor,
	) error
	RenderQuery(parameters map[string]interface{}) (string, error)
}

Jump to

Keyboard shortcuts

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