sqlgen

package
v0.0.0-...-44a46bf Latest Latest
Warning

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

Go to latest
Published: Dec 25, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package sqlgen is the logic for generating different kinds of SQL statements.

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrUKColValueNotProvided means that some column values of the unique key are not provided.
	ErrUKColValueNotProvided = errors.New("some UK column values are not provided")
	// ErrMissingUKValue means the input unique key is nil.
	ErrMissingUKValue = errors.New("missing the UK values")
	// ErrWhereConditionsEmpty means the WHERE clause compare conditions is empty.
	// It is usually caused when there is no filter clause generated on generating a WHERE clause.
	ErrWhereFiltersEmpty = errors.New("`WHERE` condition filters is empty")
)

Functions

func NewSQLGeneratorImpl

func NewSQLGeneratorImpl(tableConfig *config.TableConfig) *sqlGeneratorImpl

NewSQLGeneratorImpl generates a new implementation object for SQL generator.

Types

type SQLGenerator

type SQLGenerator interface {
	// GenTruncateTable generates a TRUNCATE TABLE SQL.
	GenTruncateTable() (string, error)
	// GenLoadUniqueKeySQL generates a SELECT SQL fetching all the uniques of a table.
	// The column definitions of the returned data is also provided,
	// so that the values can be stored to different variables.
	GenLoadUniqueKeySQL() (string, []*config.ColumnDefinition, error)
	// GenInsertRow generates an INSERT SQL.
	// The new row's unique key is also provided,
	// so that it can be further added into an MCP.
	GenInsertRow() (string, *mcp.UniqueKey, error)
	// GenUpdateRow generates an UPDATE SQL for the given unique key.
	GenUpdateRow(*mcp.UniqueKey) (string, error)
	// GenDeleteRow generates a DELETE SQL for the given unique key.
	GenDeleteRow(*mcp.UniqueKey) (string, error)
	// GenCreateTable generates a CreateTable SQL by table config.
	GenCreateTable() string
}

SQLGenerator contains all the operations for generating SQLs.

Jump to

Keyboard shortcuts

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