spannerbuilder

package module
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2021 License: MIT Imports: 4 Imported by: 0

README

spannerbuilder

spanner sql builder for select statements

supported methods
  • Select
    • .Select("field_name")
    • .Select("DISTINCT field_name", "field_name")
    • .Select("COUNT(*)", "field_name")
  • Join
    • .Join("table_name USING(field_name)")
    • .Join("table_name USING(field_name)", "LEFT OUTER")
    • .Join("table_name USING(field_name)", "RIGHT", "OUTER")
    • .Join("table_name USING(field_name)").Join("table_name USING(field_name)")
    • .Join("table_name1@{FORCE_INDEX=index_name} ON table_name1.field_name = table_name2.field_name")
  • Index
    • .Index("index_name")
  • OrderBy
    • .OrderBy("field_name")
    • .OrderBy("field_name DESC")
  • Where
    • .Where("field_name <op> ?", varName)
    • .Where("field_name <op> @field_name", map[string]interface{}{"field_name": verName})
  • GroupBy
    • .Select("Sum(field_name1), field_name2", "field_name1", "field_name2"). GroupBy("group_by_expression")
  • Having (with GroupBy, Select)
    • .Select("Sum(field_name1), field_name2", "field_name1", "field_name2"). GroupBy("group_by_expression").Having("SUM(field_name1) > 0")
    • .Select("Sum(field_name1), field_name2", "field_name1", "field_name2"). GroupBy("group_by_expression").Having("SUM(field_name1) > ?", 1)
    • .Select("Sum(field_name1), field_name2", "field_name1", "field_name2"). GroupBy("group_by_expression").Having("SUM(field_name1) > @param0", map[string]interface{}{"param0": 1})
    • Having (with GroupBy, Select, Where)
      • .Select("Sum(field_name1), field_name2", "field_name1", "field_name2"). Where("field_name2 == ?", "something"). GroupBy("group_by_expression").Having("SUM(field_name1) > @param0", map[string]interface{}{"param0": 1})
  • Limit
    • .Limit(20)
  • Offset (with Limit)
    • .Limit(20).Offset(10)
  • From
    • .From("table_name")
    • .From("table_name@{FORCE_INDEX=index_name}")
  • TableSample
    • .TableSample("RESERVOIR (100 ROWS)"),
    • .TableSample("BERNOULLI (0.1 PERCENT)")

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Builder

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

func NewSpannerBuilder

func NewSpannerBuilder(table string, cols, keys []string) *Builder

func (*Builder) Columns

func (b *Builder) Columns() []string

func (*Builder) From

func (b *Builder) From(table string) *Builder

func (*Builder) GetSelectStatement

func (b *Builder) GetSelectStatement() spanner.Statement

func (*Builder) GroupBy

func (b *Builder) GroupBy(s string) *Builder

func (*Builder) Having

func (b *Builder) Having(s string, args ...interface{}) *Builder

func (*Builder) Index added in v0.0.2

func (b *Builder) Index(index string) *Builder

func (*Builder) Join

func (b *Builder) Join(s string, joinType ...string) *Builder

func (*Builder) Limit

func (b *Builder) Limit(i int) *Builder

func (*Builder) Offset added in v0.0.3

func (b *Builder) Offset(i int) *Builder

func (*Builder) OrderBy

func (b *Builder) OrderBy(s string) *Builder

func (*Builder) Select

func (b *Builder) Select(s string, cols ...string) *Builder

func (*Builder) TableSample

func (b *Builder) TableSample(s string) *Builder

func (*Builder) Where

func (b *Builder) Where(s string, args ...interface{}) *Builder

Jump to

Keyboard shortcuts

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