good morning!!!!

Skip to content
Snippets Groups Projects
Commit a661489a authored by José Carlos Nieto's avatar José Carlos Nieto
Browse files

Moving remaining benchmark.

parent 863ada14
No related branches found
No related tags found
No related merge requests found
package sqlgen
import (
"testing"
)
func BenchmarkCompileSelect(b *testing.B) {
var stmt Statement
for i := 0; i < b.N; i++ {
stmt = Statement{
Type: SqlSelectCount,
Table: NewTable("table_name"),
Where: NewWhere(
&ColumnValue{Column: Column{Name: "a"}, Operator: "=", Value: NewValue(Raw{Value: "7"})},
),
}
_ = stmt.Compile(defaultTemplate)
}
}
package sqlgen
import (
"bytes"
"text/template"
)
type Type uint
const (
SqlTruncate = iota
SqlDropTable
SqlDropDatabase
SqlSelectCount
SqlInsert
SqlSelect
SqlUpdate
SqlDelete
)
type (
Limit int
Offset int
Extra string
)
var (
parsedTemplates = make(map[string]*template.Template)
)
func mustParse(text string, data interface{}) string {
var b bytes.Buffer
var ok bool
if _, ok = parsedTemplates[text]; !ok {
parsedTemplates[text] = template.Must(template.New("").Parse(text))
}
if err := parsedTemplates[text].Execute(&b, data); err != nil {
panic("There was an error compiling the following template:\n" + text + "\nError was: " + err.Error())
}
return b.String()
}
......@@ -673,3 +673,18 @@ func TestInsertExtra(t *testing.T) {
t.Fatalf("Got: %s, Expecting: %s", s, e)
}
}
func BenchmarkCompileSelect(b *testing.B) {
var stmt Statement
for i := 0; i < b.N; i++ {
stmt = Statement{
Type: SqlSelectCount,
Table: NewTable("table_name"),
Where: NewWhere(
&ColumnValue{Column: Column{Name: "a"}, Operator: "=", Value: NewValue(Raw{Value: "7"})},
),
}
_ = stmt.Compile(defaultTemplate)
}
}
package sqlgen
import (
"bytes"
"text/template"
"upper.io/cache"
)
type Type uint
const (
SqlTruncate = iota
SqlDropTable
SqlDropDatabase
SqlSelectCount
SqlInsert
SqlSelect
SqlUpdate
SqlDelete
)
type (
Limit int
Offset int
Extra string
)
var (
parsedTemplates = make(map[string]*template.Template)
)
type Template struct {
ColumnSeparator string
IdentifierSeparator string
......@@ -35,3 +60,18 @@ type Template struct {
GroupByLayout string
*cache.Cache
}
func mustParse(text string, data interface{}) string {
var b bytes.Buffer
var ok bool
if _, ok = parsedTemplates[text]; !ok {
parsedTemplates[text] = template.Must(template.New("").Parse(text))
}
if err := parsedTemplates[text].Execute(&b, data); err != nil {
panic("There was an error compiling the following template:\n" + text + "\nError was: " + err.Error())
}
return b.String()
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment