MariaDB tests fix.
This commit is contained in:
parent
ec462dce81
commit
e0a1eff493
14 changed files with 108 additions and 68 deletions
|
|
@ -3,7 +3,7 @@ package mysql
|
|||
import "github.com/go-jet/jet/internal/jet"
|
||||
|
||||
type DeleteStatement interface {
|
||||
jet.Statement
|
||||
Statement
|
||||
|
||||
WHERE(expression BoolExpression) DeleteStatement
|
||||
ORDER_BY(orderByClauses ...jet.OrderByClause) DeleteStatement
|
||||
|
|
|
|||
|
|
@ -8,21 +8,21 @@ var Dialect = NewDialect()
|
|||
|
||||
func NewDialect() jet.Dialect {
|
||||
|
||||
serializeOverrides := map[string]jet.SerializeOverride{}
|
||||
serializeOverrides[jet.StringRegexpLikeOperator] = mysql_REGEXP_LIKE_operator
|
||||
serializeOverrides[jet.StringNotRegexpLikeOperator] = mysql_NOT_REGEXP_LIKE_operator
|
||||
serializeOverrides["IS DISTINCT FROM"] = mysql_IS_DISTINCT_FROM
|
||||
serializeOverrides["IS NOT DISTINCT FROM"] = mysql_IS_NOT_DISTINCT_FROM
|
||||
serializeOverrides["/"] = mysql_DIVISION
|
||||
serializeOverrides["#"] = mysql_BIT_XOR
|
||||
serializeOverrides[jet.StringConcatOperator] = mysql_CONCAT_operator
|
||||
operatorSerializeOverrides := map[string]jet.SerializeOverride{}
|
||||
operatorSerializeOverrides[jet.StringRegexpLikeOperator] = mysql_REGEXP_LIKE_operator
|
||||
operatorSerializeOverrides[jet.StringNotRegexpLikeOperator] = mysql_NOT_REGEXP_LIKE_operator
|
||||
operatorSerializeOverrides["IS DISTINCT FROM"] = mysql_IS_DISTINCT_FROM
|
||||
operatorSerializeOverrides["IS NOT DISTINCT FROM"] = mysql_IS_NOT_DISTINCT_FROM
|
||||
operatorSerializeOverrides["/"] = mysql_DIVISION
|
||||
operatorSerializeOverrides["#"] = mysql_BIT_XOR
|
||||
operatorSerializeOverrides[jet.StringConcatOperator] = mysql_CONCAT_operator
|
||||
|
||||
mySQLDialectParams := jet.DialectParams{
|
||||
Name: "MySQL",
|
||||
PackageName: "mysql",
|
||||
SerializeOverrides: serializeOverrides,
|
||||
AliasQuoteChar: '"',
|
||||
IdentifierQuoteChar: '`',
|
||||
Name: "MySQL",
|
||||
PackageName: "mysql",
|
||||
OperatorSerializeOverrides: operatorSerializeOverrides,
|
||||
AliasQuoteChar: '"',
|
||||
IdentifierQuoteChar: '`',
|
||||
ArgumentPlaceholder: func(int) string {
|
||||
return "?"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -30,7 +30,3 @@ var DateTimeExp = jet.TimestampExp
|
|||
var TimestampExp = jet.TimestampExp
|
||||
|
||||
var Raw = jet.Raw
|
||||
|
||||
var NewEnumValue = jet.NewEnumValue
|
||||
|
||||
type Statement jet.Statement
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import "github.com/go-jet/jet/internal/jet"
|
|||
|
||||
// InsertStatement is interface for SQL INSERT statements
|
||||
type InsertStatement interface {
|
||||
jet.Statement
|
||||
Statement
|
||||
|
||||
// Insert row of values
|
||||
VALUES(value interface{}, values ...interface{}) InsertStatement
|
||||
|
|
|
|||
|
|
@ -10,9 +10,9 @@ var (
|
|||
)
|
||||
|
||||
type SelectStatement interface {
|
||||
jet.Statement
|
||||
Statement
|
||||
jet.HasProjections
|
||||
jet.Expression
|
||||
Expression
|
||||
|
||||
DISTINCT() SelectStatement
|
||||
FROM(table ReadableTable) SelectStatement
|
||||
|
|
@ -32,11 +32,21 @@ type SelectStatement interface {
|
|||
}
|
||||
|
||||
//SELECT creates new SelectStatement with list of projections
|
||||
func SELECT(projection jet.Projection, projections ...jet.Projection) SelectStatement {
|
||||
return newSelectStatement(nil, append([]jet.Projection{projection}, projections...))
|
||||
func SELECT(projection Projection, projections ...Projection) SelectStatement {
|
||||
return newSelectStatement(nil, append([]Projection{projection}, projections...))
|
||||
}
|
||||
|
||||
func newSelectStatement(table ReadableTable, projections []jet.Projection) SelectStatement {
|
||||
func toJetProjectionList(projections []Projection) []jet.Projection {
|
||||
ret := []jet.Projection{}
|
||||
|
||||
for _, projection := range projections {
|
||||
ret = append(ret, projection)
|
||||
}
|
||||
|
||||
return ret
|
||||
}
|
||||
|
||||
func newSelectStatement(table ReadableTable, projections []Projection) SelectStatement {
|
||||
newSelect := &selectStatementImpl{}
|
||||
newSelect.ExpressionStatementImpl.StatementImpl = jet.NewStatementImpl(Dialect, jet.SelectStatementType, newSelect, &newSelect.Select,
|
||||
&newSelect.From, &newSelect.Where, &newSelect.GroupBy, &newSelect.Having, &newSelect.OrderBy,
|
||||
|
|
@ -44,7 +54,7 @@ func newSelectStatement(table ReadableTable, projections []jet.Projection) Selec
|
|||
|
||||
newSelect.ExpressionStatementImpl.ExpressionInterfaceImpl.Parent = newSelect
|
||||
|
||||
newSelect.Select.Projections = projections
|
||||
newSelect.Select.Projections = toJetProjectionList(projections)
|
||||
newSelect.From.Table = table
|
||||
newSelect.Limit.Count = -1
|
||||
newSelect.Offset.Count = -1
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ type Table interface {
|
|||
|
||||
type readableTable interface {
|
||||
// Generates a select query on the current tableName.
|
||||
SELECT(projection jet.Projection, projections ...jet.Projection) SelectStatement
|
||||
SELECT(projection Projection, projections ...Projection) SelectStatement
|
||||
|
||||
// Creates a inner join tableName Expression using onCondition.
|
||||
INNER_JOIN(table ReadableTable, onCondition BoolExpression) joinSelectUpdateTable
|
||||
|
|
@ -47,8 +47,8 @@ type readableTableInterfaceImpl struct {
|
|||
}
|
||||
|
||||
// Generates a select query on the current tableName.
|
||||
func (r *readableTableInterfaceImpl) SELECT(projection1 jet.Projection, projections ...jet.Projection) SelectStatement {
|
||||
return newSelectStatement(r.parent, append([]jet.Projection{projection1}, projections...))
|
||||
func (r *readableTableInterfaceImpl) SELECT(projection1 Projection, projections ...Projection) SelectStatement {
|
||||
return newSelectStatement(r.parent, append([]Projection{projection1}, projections...))
|
||||
}
|
||||
|
||||
// Creates a inner join tableName Expression using onCondition.
|
||||
|
|
|
|||
8
mysql/types.go
Normal file
8
mysql/types.go
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
package mysql
|
||||
|
||||
import "github.com/go-jet/jet/internal/jet"
|
||||
|
||||
type Statement jet.Statement
|
||||
type Projection jet.Projection
|
||||
|
||||
var NewEnumValue = jet.NewEnumValue
|
||||
Loading…
Add table
Add a link
Reference in a new issue