Types rename.

This commit is contained in:
go-jet 2019-07-08 10:48:03 +02:00
parent db43f471ec
commit 18bbf1b5fb
32 changed files with 98 additions and 97 deletions

1
.gitignore vendored
View file

@ -13,6 +13,7 @@
# Idea
.idea
*.iml
# Test files
gen

View file

@ -34,10 +34,10 @@ Use the bellow command to install jet
$ go get -u github.com/go-jet/jet
```
Install jetgen to GOPATH bin folder. This will allow generating jet files from the command line.
Install jet to GOPATH bin folder. This will allow generating jet files from the command line.
```sh
go install github.com/go-jet/jet/cmd/jetgen
go install github.com/go-jet/jet/cmd/jet
```
Make sure GOPATH bin folder is added to the PATH environment variable.
@ -47,10 +47,10 @@ For this quick start example we will use sample _dvd rental_ database. Full data
Schema diagram of interest for example can be found [here](./examples/quick-start/diagram.png).
#### Generate sql builder and model files
To generate Go sql builder and Go data model from postgres database we need to call jetgen, and provide it with postgres connection parameters and destination folder for generated go files.\
To generate Go sql builder and Go data model from postgres database we need to call jet, and provide it with postgres connection parameters and destination folder for generated go files.\
Assuming we are running local postgres database, with user `jet`, database `jetdb` and schema `dvds` we will use this command:
```sh
jetgen -host=localhost -port=5432 -user=jet -password=jet -dbname=jetdb -schema dvds -path ./gen
jet -host=localhost -port=5432 -user=jet -password=jet -dbname=jetdb -schema dvds -path ./gen
```
```sh
Connecting to postgres database: host=localhost port=5432 user=jet password=jet dbname=jetdb sslmode=disable
@ -63,7 +63,7 @@ Generating enum sql builder files...
Generating enum model files...
Done
```
As jetgen command output suggest, jetgen will:
As jet command output suggest, jet will:
- connect to postgres database and retrieve information about the tables and enums of `dvds` schema
- delete everything in destination folder `./gen`,
- and finally generate sql builder and model Go files for each schema tables and enums into destination folder `./gen`.
@ -475,7 +475,7 @@ Without Jet these bugs will have to be either caught by some test or by manual t
## Dependencies
At the moment Jet dependence only of:
- `github.com/google/uuid` _(Used for debug purposes)_
- `github.com/lib/pq` _(Used by JetGen to read information about database schema)_
- `github.com/lib/pq` _(Used by Jet to read information about database schema)_
To run the tests, additional dependencies are required:
- `github.com/pkg/profile`

View file

@ -20,7 +20,7 @@ func (a *alias) from(subQuery ExpressionTable) projection {
return &column
}
func (a *alias) serializeForProjection(statement statementType, out *queryData) error {
func (a *alias) serializeForProjection(statement statementType, out *sqlBuilder) error {
err := a.expression.serialize(statement, out)
if err != nil {

View file

@ -42,7 +42,7 @@ func CAST(expression Expression) cast {
}
}
func (b *castImpl) serialize(statement statementType, out *queryData, options ...serializeOption) error {
func (b *castImpl) serialize(statement statementType, out *sqlBuilder, options ...serializeOption) error {
err := b.Expression.serialize(statement, out, options...)
out.writeString("::" + b.castType)
return err

View file

@ -16,7 +16,7 @@ const (
)
type clause interface {
serialize(statement statementType, out *queryData, options ...serializeOption) error
serialize(statement statementType, out *sqlBuilder, options ...serializeOption) error
}
func contains(options []serializeOption, option serializeOption) bool {
@ -29,7 +29,7 @@ func contains(options []serializeOption, option serializeOption) bool {
return false
}
type queryData struct {
type sqlBuilder struct {
buff bytes.Buffer
args []interface{}
@ -50,11 +50,11 @@ const (
const defaultIdent = 5
func (q *queryData) increaseIdent() {
func (q *sqlBuilder) increaseIdent() {
q.ident += defaultIdent
}
func (q *queryData) decreaseIdent() {
func (q *sqlBuilder) decreaseIdent() {
if q.ident < defaultIdent {
q.ident = 0
}
@ -62,14 +62,14 @@ func (q *queryData) decreaseIdent() {
q.ident -= defaultIdent
}
func (q *queryData) writeProjections(statement statementType, projections []projection) error {
func (q *sqlBuilder) writeProjections(statement statementType, projections []projection) error {
q.increaseIdent()
err := serializeProjectionList(statement, projections, q)
q.decreaseIdent()
return err
}
func (q *queryData) writeFrom(statement statementType, table ReadableTable) error {
func (q *sqlBuilder) writeFrom(statement statementType, table ReadableTable) error {
q.newLine()
q.writeString("FROM")
@ -80,7 +80,7 @@ func (q *queryData) writeFrom(statement statementType, table ReadableTable) erro
return err
}
func (q *queryData) writeWhere(statement statementType, where Expression) error {
func (q *sqlBuilder) writeWhere(statement statementType, where Expression) error {
q.newLine()
q.writeString("WHERE")
@ -91,7 +91,7 @@ func (q *queryData) writeWhere(statement statementType, where Expression) error
return err
}
func (q *queryData) writeGroupBy(statement statementType, groupBy []groupByClause) error {
func (q *sqlBuilder) writeGroupBy(statement statementType, groupBy []groupByClause) error {
q.newLine()
q.writeString("GROUP BY")
@ -102,7 +102,7 @@ func (q *queryData) writeGroupBy(statement statementType, groupBy []groupByClaus
return err
}
func (q *queryData) writeOrderBy(statement statementType, orderBy []OrderByClause) error {
func (q *sqlBuilder) writeOrderBy(statement statementType, orderBy []OrderByClause) error {
q.newLine()
q.writeString("ORDER BY")
@ -113,7 +113,7 @@ func (q *queryData) writeOrderBy(statement statementType, orderBy []OrderByClaus
return err
}
func (q *queryData) writeHaving(statement statementType, having Expression) error {
func (q *sqlBuilder) writeHaving(statement statementType, having Expression) error {
q.newLine()
q.writeString("HAVING")
@ -124,7 +124,7 @@ func (q *queryData) writeHaving(statement statementType, having Expression) erro
return err
}
func (q *queryData) writeReturning(statement statementType, returning []projection) error {
func (q *sqlBuilder) writeReturning(statement statementType, returning []projection) error {
if len(returning) == 0 {
return nil
}
@ -136,12 +136,12 @@ func (q *queryData) writeReturning(statement statementType, returning []projecti
return q.writeProjections(statement, returning)
}
func (q *queryData) newLine() {
func (q *sqlBuilder) newLine() {
q.write([]byte{'\n'})
q.write(bytes.Repeat([]byte{' '}, q.ident))
}
func (q *queryData) write(data []byte) {
func (q *sqlBuilder) write(data []byte) {
if len(data) == 0 {
return
}
@ -162,15 +162,15 @@ func isPostSeparator(b byte) bool {
return b == ' ' || b == '.' || b == ',' || b == ')' || b == '\n' || b == ':'
}
func (q *queryData) writeQuotedString(str string) {
func (q *sqlBuilder) writeQuotedString(str string) {
q.writeString(`"` + str + `"`)
}
func (q *queryData) writeString(str string) {
func (q *sqlBuilder) writeString(str string) {
q.write([]byte(str))
}
func (q *queryData) writeIdentifier(name string) {
func (q *sqlBuilder) writeIdentifier(name string) {
quoteWrap := name != strings.ToLower(name) || strings.ContainsAny(name, ". -")
if quoteWrap {
@ -180,26 +180,26 @@ func (q *queryData) writeIdentifier(name string) {
}
}
func (q *queryData) writeByte(b byte) {
func (q *sqlBuilder) writeByte(b byte) {
q.write([]byte{b})
}
func (q *queryData) finalize() (string, []interface{}) {
func (q *sqlBuilder) finalize() (string, []interface{}) {
return q.buff.String() + ";\n", q.args
}
func (q *queryData) insertConstantArgument(arg interface{}) {
func (q *sqlBuilder) insertConstantArgument(arg interface{}) {
q.writeString(ArgToString(arg))
}
func (q *queryData) insertPreparedArgument(arg interface{}) {
func (q *sqlBuilder) insertPreparedArgument(arg interface{}) {
q.args = append(q.args, arg)
argPlaceholder := "$" + strconv.Itoa(len(q.args))
q.writeString(argPlaceholder)
}
func (q *queryData) reset() {
func (q *sqlBuilder) reset() {
q.buff.Reset()
q.args = []interface{}{}
}

View file

@ -3,7 +3,7 @@ package main
import (
"flag"
"fmt"
"github.com/go-jet/jet/generator/postgresgen"
"github.com/go-jet/jet/generator/postgres"
"os"
)
@ -39,12 +39,12 @@ func init() {
func main() {
if host == "" || port == "" || user == "" || dbName == "" || schemaName == "" {
fmt.Println("jetgen: required flag missing")
fmt.Println("jet: required flag missing")
flag.Usage()
os.Exit(-2)
}
genData := postgresgen.DBConnection{
genData := postgres.DBConnection{
Host: host,
Port: port,
User: user,
@ -56,7 +56,7 @@ func main() {
SchemaName: schemaName,
}
err := postgresgen.Generate(destDir, genData)
err := postgres.Generate(destDir, genData)
if err != nil {
fmt.Println(err.Error())

View file

@ -61,7 +61,7 @@ func (c *columnImpl) defaultAlias() string {
return c.name
}
func (c *columnImpl) serializeForOrderBy(statement statementType, out *queryData) error {
func (c *columnImpl) serializeForOrderBy(statement statementType, out *sqlBuilder) error {
if statement == set_statement {
// set Statement (UNION, EXCEPT ...) can reference only select projections in order by clause
out.writeString(`"` + c.defaultAlias() + `"`) //always quote
@ -72,7 +72,7 @@ func (c *columnImpl) serializeForOrderBy(statement statementType, out *queryData
return c.serialize(statement, out)
}
func (c columnImpl) serializeForProjection(statement statementType, out *queryData) error {
func (c columnImpl) serializeForProjection(statement statementType, out *sqlBuilder) error {
err := c.serialize(statement, out)
if err != nil {
@ -84,7 +84,7 @@ func (c columnImpl) serializeForProjection(statement statementType, out *queryDa
return nil
}
func (c columnImpl) serialize(statement statementType, out *queryData, options ...serializeOption) error {
func (c columnImpl) serialize(statement statementType, out *sqlBuilder, options ...serializeOption) error {
if c.subQuery != nil {
out.writeIdentifier(c.subQuery.Alias())
@ -119,7 +119,7 @@ func (cl ColumnList) from(subQuery ExpressionTable) projection {
return newProjectionList
}
func (cl ColumnList) serializeForProjection(statement statementType, out *queryData) error {
func (cl ColumnList) serializeForProjection(statement statementType, out *sqlBuilder) error {
projections := columnListToProjectionList(cl)
err := serializeProjectionList(statement, projections, out)

View file

@ -37,7 +37,7 @@ func (d *deleteStatementImpl) RETURNING(projections ...projection) DeleteStateme
return d
}
func (d *deleteStatementImpl) serializeImpl(out *queryData) error {
func (d *deleteStatementImpl) serializeImpl(out *sqlBuilder) error {
if d == nil {
return errors.New("delete statement is nil")
}
@ -68,7 +68,7 @@ func (d *deleteStatementImpl) serializeImpl(out *queryData) error {
}
func (d *deleteStatementImpl) Sql() (query string, args []interface{}, err error) {
queryData := &queryData{}
queryData := &sqlBuilder{}
err = d.serializeImpl(queryData)

View file

@ -15,7 +15,7 @@ func NewEnumValue(name string) StringExpression {
return enumValue
}
func (e enumValue) serialize(statement statementType, out *queryData, options ...serializeOption) error {
func (e enumValue) serialize(statement statementType, out *sqlBuilder, options ...serializeOption) error {
out.insertConstantArgument(e.name)
return nil
}

View file

@ -66,15 +66,15 @@ func (e *expressionInterfaceImpl) DESC() OrderByClause {
return newOrderByClause(e.parent, false)
}
func (e *expressionInterfaceImpl) serializeForGroupBy(statement statementType, out *queryData) error {
func (e *expressionInterfaceImpl) serializeForGroupBy(statement statementType, out *sqlBuilder) error {
return e.parent.serialize(statement, out, noWrap)
}
func (e *expressionInterfaceImpl) serializeForProjection(statement statementType, out *queryData) error {
func (e *expressionInterfaceImpl) serializeForProjection(statement statementType, out *sqlBuilder) error {
return e.parent.serialize(statement, out, noWrap)
}
func (e *expressionInterfaceImpl) serializeForOrderBy(statement statementType, out *queryData) error {
func (e *expressionInterfaceImpl) serializeForOrderBy(statement statementType, out *sqlBuilder) error {
return e.parent.serialize(statement, out, noWrap)
}
@ -94,7 +94,7 @@ func newBinaryExpression(lhs, rhs Expression, operator string) binaryOpExpressio
return binaryExpression
}
func (c *binaryOpExpression) serialize(statement statementType, out *queryData, options ...serializeOption) error {
func (c *binaryOpExpression) serialize(statement statementType, out *sqlBuilder, options ...serializeOption) error {
if c == nil {
return errors.New("binary Expression is nil")
}
@ -143,7 +143,7 @@ func newPrefixExpression(expression Expression, operator string) prefixOpExpress
return prefixExpression
}
func (p *prefixOpExpression) serialize(statement statementType, out *queryData, options ...serializeOption) error {
func (p *prefixOpExpression) serialize(statement statementType, out *sqlBuilder, options ...serializeOption) error {
if p == nil {
return errors.New("Prefix Expression is nil.")
}
@ -175,7 +175,7 @@ func newPostfixOpExpression(expression Expression, operator string) postfixOpExp
return postfixOpExpression
}
func (p *postfixOpExpression) serialize(statement statementType, out *queryData, options ...serializeOption) error {
func (p *postfixOpExpression) serialize(statement statementType, out *sqlBuilder, options ...serializeOption) error {
if p == nil {
return errors.New("Postifx operator Expression is nil.")
}

View file

@ -12,7 +12,7 @@ type intervalExpression struct {
const intervalSep = ":"
func (c *intervalExpression) serialize(statement statementType, out *queryData, options ...serializeOption) error {
func (c *intervalExpression) serialize(statement statementType, out *sqlBuilder, options ...serializeOption) error {
out.writeString("INTERVAL '")
duration := c.duration

View file

@ -44,7 +44,7 @@ func (e *expressionTableImpl) AllColumns() ProjectionList {
return e.projections
}
func (e *expressionTableImpl) serialize(statement statementType, out *queryData, options ...serializeOption) error {
func (e *expressionTableImpl) serialize(statement statementType, out *sqlBuilder, options ...serializeOption) error {
if e == nil {
return errors.New("Expression table is nil. ")
}

View file

@ -25,7 +25,7 @@ func newFunc(name string, expressions []Expression, parent Expression) *funcExpr
return funcExp
}
func (f *funcExpressionImpl) serialize(statement statementType, out *queryData, options ...serializeOption) error {
func (f *funcExpressionImpl) serialize(statement statementType, out *sqlBuilder, options ...serializeOption) error {
if f == nil {
return errors.New("Function expressions is nil. ")
}

View file

@ -160,7 +160,7 @@ func TestFuncLEAST(t *testing.T) {
func TestInterval(t *testing.T) {
query := INTERVAL(`6 years 5 months 4 days 3 hours 2 minutes 1 second`)
queryData := &queryData{}
queryData := &sqlBuilder{}
err := query.serialize(select_statement, queryData)

View file

@ -1,4 +1,4 @@
package postgresgen
package postgres
import (
"database/sql"

View file

@ -1,14 +1,14 @@
package postgresgen
package postgres
var autoGenWarningTemplate = `
//
// Code generated by jetgen DO NOT EDIT.
// Code generated by go-jet DO NOT EDIT.
// Generated at {{now}}
//
// WARNING: Changes to this file may cause incorrect behavior and will be lost
// if the code is regenerated
//
// Licence under github.com/go-jet/jet/LICENSE
// Licence under: https://github.com/go-jet/jet/blob/master/LICENSE
//
`

View file

@ -1,7 +1,7 @@
package jet
type groupByClause interface {
serializeForGroupBy(statement statementType, out *queryData) error
serializeForGroupBy(statement statementType, out *sqlBuilder) error
}
// TODO: GROUPING SETS, CUBE, and ROLLUP

View file

@ -76,7 +76,7 @@ func (i *insertStatementImpl) DebugSql() (query string, err error) {
}
func (i *insertStatementImpl) Sql() (sql string, args []interface{}, err error) {
queryData := &queryData{}
queryData := &sqlBuilder{}
queryData.newLine()
queryData.writeString("INSERT INTO")

View file

@ -11,7 +11,7 @@ var (
type keywordClause string
func (k keywordClause) serialize(statement statementType, out *queryData, options ...serializeOption) error {
func (k keywordClause) serialize(statement statementType, out *sqlBuilder, options ...serializeOption) error {
out.writeString(string(k))
return nil

View file

@ -23,7 +23,7 @@ func constLiteral(value interface{}) *literalExpression {
return exp
}
func (l literalExpression) serialize(statement statementType, out *queryData, options ...serializeOption) error {
func (l literalExpression) serialize(statement statementType, out *sqlBuilder, options ...serializeOption) error {
if l.constant {
out.insertConstantArgument(l.value)
} else {
@ -189,7 +189,7 @@ func newNullLiteral() Expression {
return nullExpression
}
func (n *nullLiteral) serialize(statement statementType, out *queryData, options ...serializeOption) error {
func (n *nullLiteral) serialize(statement statementType, out *sqlBuilder, options ...serializeOption) error {
out.writeString("NULL")
return nil
}
@ -207,7 +207,7 @@ func newStarLiteral() Expression {
return starExpression
}
func (n *starLiteral) serialize(statement statementType, out *queryData, options ...serializeOption) error {
func (n *starLiteral) serialize(statement statementType, out *sqlBuilder, options ...serializeOption) error {
out.writeString("*")
return nil
}
@ -219,7 +219,7 @@ type wrap struct {
expressions []Expression
}
func (n *wrap) serialize(statement statementType, out *queryData, options ...serializeOption) error {
func (n *wrap) serialize(statement statementType, out *sqlBuilder, options ...serializeOption) error {
out.writeString("(")
err := serializeExpressionList(statement, n.expressions, ", ", out)
out.writeString(")")
@ -240,7 +240,7 @@ type rawExpression struct {
raw string
}
func (n *rawExpression) serialize(statement statementType, out *queryData, options ...serializeOption) error {
func (n *rawExpression) serialize(statement statementType, out *sqlBuilder, options ...serializeOption) error {
out.writeString(n.raw)
return nil
}

View file

@ -62,7 +62,7 @@ func (l *lockStatementImpl) Sql() (query string, args []interface{}, err error)
return "", nil, errors.New("There is no table selected to be locked. ")
}
out := &queryData{}
out := &sqlBuilder{}
out.newLine()
out.writeString("LOCK TABLE")

View file

@ -100,7 +100,7 @@ func (c *caseOperatorImpl) ELSE(els Expression) CaseOperatorExpression {
return c
}
func (c *caseOperatorImpl) serialize(statement statementType, out *queryData, options ...serializeOption) error {
func (c *caseOperatorImpl) serialize(statement statementType, out *sqlBuilder, options ...serializeOption) error {
if c == nil {
return errors.New("Case Expression is nil. ")
}

View file

@ -3,7 +3,7 @@ package jet
import "errors"
type OrderByClause interface {
serializeForOrderBy(statement statementType, out *queryData) error
serializeForOrderBy(statement statementType, out *sqlBuilder) error
}
type orderByClauseImpl struct {
@ -11,7 +11,7 @@ type orderByClauseImpl struct {
ascent bool
}
func (o *orderByClauseImpl) serializeForOrderBy(statement statementType, out *queryData) error {
func (o *orderByClauseImpl) serializeForOrderBy(statement statementType, out *sqlBuilder) error {
if o.expression == nil {
return errors.New("nil orderBy by clause.")
}

View file

@ -1,7 +1,7 @@
package jet
type projection interface {
serializeForProjection(statement statementType, out *queryData) error
serializeForProjection(statement statementType, out *sqlBuilder) error
from(subQuery ExpressionTable) projection
}
@ -18,7 +18,7 @@ func (cl ProjectionList) from(subQuery ExpressionTable) projection {
return newProjectionList
}
func (cl ProjectionList) serializeForProjection(statement statementType, out *queryData) error {
func (cl ProjectionList) serializeForProjection(statement statementType, out *sqlBuilder) error {
err := serializeProjectionList(statement, cl, out)
if err != nil {

View file

@ -153,7 +153,7 @@ func (s *selectStatementImpl) projections() []projection {
return s.projectionList
}
func (s *selectStatementImpl) serialize(statement statementType, out *queryData, options ...serializeOption) error {
func (s *selectStatementImpl) serialize(statement statementType, out *sqlBuilder, options ...serializeOption) error {
if s == nil {
return errors.New("Select expression is nil. ")
}
@ -173,7 +173,7 @@ func (s *selectStatementImpl) serialize(statement statementType, out *queryData,
return nil
}
func (s *selectStatementImpl) serializeImpl(out *queryData) error {
func (s *selectStatementImpl) serializeImpl(out *sqlBuilder) error {
if s == nil {
return errors.New("Select expression is nil. ")
}
@ -259,7 +259,7 @@ func (s *selectStatementImpl) serializeImpl(out *queryData) error {
}
func (s *selectStatementImpl) Sql() (query string, args []interface{}, err error) {
queryData := queryData{}
queryData := sqlBuilder{}
err = s.serializeImpl(&queryData)
@ -326,7 +326,7 @@ func (s *selectLockImpl) SKIP_LOCKED() SelectLock {
return s
}
func (s *selectLockImpl) serialize(statement statementType, out *queryData, options ...serializeOption) error {
func (s *selectLockImpl) serialize(statement statementType, out *sqlBuilder, options ...serializeOption) error {
out.writeString(s.lockStrength)
if s.noWait {

View file

@ -69,7 +69,7 @@ func (s *setStatementImpl) projections() []projection {
return []projection{}
}
func (s *setStatementImpl) serialize(statement statementType, out *queryData, options ...serializeOption) error {
func (s *setStatementImpl) serialize(statement statementType, out *sqlBuilder, options ...serializeOption) error {
if s == nil {
return errors.New("Set expression is nil. ")
}
@ -96,7 +96,7 @@ func (s *setStatementImpl) serialize(statement statementType, out *queryData, op
return nil
}
func (s *setStatementImpl) serializeImpl(out *queryData) error {
func (s *setStatementImpl) serializeImpl(out *sqlBuilder) error {
if s == nil {
return errors.New("Set expression is nil. ")
}
@ -158,7 +158,7 @@ func (s *setStatementImpl) serializeImpl(out *queryData) error {
}
func (s *setStatementImpl) Sql() (query string, args []interface{}, err error) {
queryData := &queryData{}
queryData := &sqlBuilder{}
err = s.serializeImpl(queryData)

View file

@ -168,7 +168,7 @@ func (t *tableImpl) columns() []column {
return ret
}
func (t *tableImpl) serialize(statement statementType, out *queryData, options ...serializeOption) error {
func (t *tableImpl) serialize(statement statementType, out *sqlBuilder, options ...serializeOption) error {
if t == nil {
return errors.New("tableImpl is nil. ")
}
@ -235,7 +235,7 @@ func (t *joinTable) columns() []column {
return append(t.lhs.columns(), t.rhs.columns()...)
}
func (t *joinTable) serialize(statement statementType, out *queryData, options ...serializeOption) (err error) {
func (t *joinTable) serialize(statement statementType, out *sqlBuilder, options ...serializeOption) (err error) {
if t == nil {
return errors.New("Join table is nil. ")
}

View file

@ -52,7 +52,7 @@ var table3 = NewTable(
table3StrCol)
func assertClauseSerialize(t *testing.T, clause clause, query string, args ...interface{}) {
out := queryData{}
out := sqlBuilder{}
err := clause.serialize(select_statement, &out)
assert.NilError(t, err)
@ -62,7 +62,7 @@ func assertClauseSerialize(t *testing.T, clause clause, query string, args ...in
}
func assertClauseSerializeErr(t *testing.T, clause clause, errString string) {
out := queryData{}
out := sqlBuilder{}
err := clause.serialize(select_statement, &out)
//fmt.Println(out.buff.String())
@ -71,7 +71,7 @@ func assertClauseSerializeErr(t *testing.T, clause clause, errString string) {
}
func assertProjectionSerialize(t *testing.T, projection projection, query string, args ...interface{}) {
out := queryData{}
out := sqlBuilder{}
err := projection.serializeForProjection(select_statement, &out)
assert.NilError(t, err)

View file

@ -3,7 +3,7 @@ package main
import (
"database/sql"
"fmt"
"github.com/go-jet/jet/generator/postgresgen"
"github.com/go-jet/jet/generator/postgres"
"github.com/go-jet/jet/tests/dbconfig"
"io/ioutil"
)
@ -33,7 +33,7 @@ func main() {
_, err = db.Exec(string(testSampleSql))
err = postgresgen.Generate("./.gentestdata", postgresgen.DBConnection{
err = postgres.Generate("./.gentestdata", postgres.DBConnection{
Host: dbconfig.Host,
Port: "5432",
User: dbconfig.User,

View file

@ -56,7 +56,7 @@ func (u *updateStatementImpl) RETURNING(projections ...projection) UpdateStateme
}
func (u *updateStatementImpl) Sql() (sql string, args []interface{}, err error) {
out := &queryData{}
out := &sqlBuilder{}
out.newLine()
out.writeString("UPDATE")

View file

@ -7,7 +7,7 @@ import (
"strings"
)
func serializeOrderByClauseList(statement statementType, orderByClauses []OrderByClause, out *queryData) error {
func serializeOrderByClauseList(statement statementType, orderByClauses []OrderByClause, out *sqlBuilder) error {
for i, value := range orderByClauses {
if i > 0 {
@ -24,7 +24,7 @@ func serializeOrderByClauseList(statement statementType, orderByClauses []OrderB
return nil
}
func serializeGroupByClauseList(statement statementType, clauses []groupByClause, out *queryData) (err error) {
func serializeGroupByClauseList(statement statementType, clauses []groupByClause, out *sqlBuilder) (err error) {
for i, c := range clauses {
if i > 0 {
@ -43,7 +43,7 @@ func serializeGroupByClauseList(statement statementType, clauses []groupByClause
return nil
}
func serializeClauseList(statement statementType, clauses []clause, out *queryData) (err error) {
func serializeClauseList(statement statementType, clauses []clause, out *sqlBuilder) (err error) {
for i, c := range clauses {
if i > 0 {
@ -62,7 +62,7 @@ func serializeClauseList(statement statementType, clauses []clause, out *queryDa
return nil
}
func serializeExpressionList(statement statementType, expressions []Expression, separator string, out *queryData) error {
func serializeExpressionList(statement statementType, expressions []Expression, separator string, out *sqlBuilder) error {
for i, value := range expressions {
if i > 0 {
@ -79,7 +79,7 @@ func serializeExpressionList(statement statementType, expressions []Expression,
return nil
}
func serializeProjectionList(statement statementType, projections []projection, out *queryData) error {
func serializeProjectionList(statement statementType, projections []projection, out *sqlBuilder) error {
for i, col := range projections {
if i > 0 {
out.writeString(",")
@ -98,7 +98,7 @@ func serializeProjectionList(statement statementType, projections []projection,
return nil
}
func serializeColumnNames(columns []column, out *queryData) error {
func serializeColumnNames(columns []column, out *sqlBuilder) error {
for i, col := range columns {
if i > 0 {
out.writeString(", ")

View file

@ -6,18 +6,18 @@ This files can be generated in two ways:
#### 1) Generating from command line
Install jetgen to GOPATH bin folder. This will allow generating jet files from the command line.
Install jet to GOPATH bin folder. This will allow generating jet files from the command line.
```sh
go install github.com/go-jet/jet/cmd/jetgen
go install github.com/go-jet/jet/cmd/jet
```
Make sure GOPATH bin folder is added to the PATH environment variable.
Test jetgen can be found in the PATH.
Test jet can be found in the PATH.
```sh
jetgen -h
Usage of jetgen:
jet -h
Usage of jet:
-host string
Database host path (Example: localhost)
-port string
@ -40,7 +40,7 @@ Usage of jetgen:
Now to generate sample database:
```sh
jetgen -host=localhost -port=5432 -user=jet -password=jet -dbname=jetdb -schema dvds -path ./gen
jet -host=localhost -port=5432 -user=jet -password=jet -dbname=jetdb -schema dvds -path ./gen
```
```sh
Connecting to postgres database: host=localhost port=5432 user=jet password=jet dbname=jetdb sslmode=disable
@ -56,11 +56,11 @@ Done
#### 2) Generating from code
```
import "github.com/go-jet/jet/generator/postgresgen"
import "github.com/go-jet/jet/generator/postgres"
...
err = postgresgen.Generate("./gen", postgresgen.DBConnection{
err = postgres.Generate("./gen", postgres.DBConnection{
Host: "localhost",
Port: "5432",
User: "jet",