func (engine *Engine) SupportInsertMany() bool {
	return engine.dialect.SupportInsertMany()
}
SupportInsertMany If engine's database support batch insert records like
"insert into user values (name, age), (name, age)".
When the return is ture, then engine.Insert(&users) will
generate batch sql and exeute.
package xorm
import (
	"bufio"
	"bytes"
	"database/sql"
	"encoding/gob"
	"errors"
	"fmt"
	"io"
	"os"
	"reflect"
	"strconv"
	"strings"
	"sync"
	"time"
	"github.com/go-xorm/builder"
	"github.com/go-xorm/core"
)
type Engine struct {
	db      *core.DB
	dialect core.Dialect
	ColumnMapper  core.IMapper
	TableMapper   core.IMapper
	TagIdentifier string
	Tables        map[reflect.Type]*core.Table
	mutex  *sync.RWMutex
	Cacher core.Cacher
	showSQL      bool
	showExecTime bool
	logger     core.ILogger
	TZLocation *time.Location  
	DatabaseTZ *time.Location  
	disableGlobalCache bool
	tagHandlers map[string]tagHandler
	engineGroup *EngineGroup
}
func (engine *Engine) BufferSize(size int) *Session {
	session := engine.NewSession()
	session.isAutoClose = true
	return session.BufferSize(size)
}
func (engine *Engine) CondDeleted(colName string) builder.Cond {
	if engine.dialect.DBType() == core.MSSQL {
		return builder.IsNull{colName}
	}
	return builder.IsNull{colName}.Or(builder.Eq{colName: zeroTime1})
}
func (engine *Engine) ShowSQL(show ...bool) {
	engine.logger.ShowSQL(show...)
	if len(show) == 0 {
		engine.showSQL = true
	} else {
		engine.showSQL = show[0]
	}
}
func (engine *Engine) ShowExecTime(show ...bool) {
	if len(show) == 0 {
		engine.showExecTime = true
	} else {
		engine.showExecTime = show[0]
	}
}
func (engine *Engine) Logger() core.ILogger {
	return engine.logger
}
func (engine *Engine) SetLogger(logger core.ILogger) {
	engine.logger = logger
	engine.dialect.SetLogger(logger)
}
func (engine *Engine) SetLogLevel(level core.LogLevel) {
	engine.logger.SetLevel(level)
}
func (engine *Engine) SetDisableGlobalCache(disable bool) {
	if engine.disableGlobalCache != disable {
		engine.disableGlobalCache = disable
	}
}
func (engine *Engine) DriverName() string {
	return engine.dialect.DriverName()
}
func (engine *Engine) DataSourceName() string {
	return engine.dialect.DataSourceName()
}
func (engine *Engine) SetMapper(mapper core.IMapper) {
	engine.SetTableMapper(mapper)
	engine.SetColumnMapper(mapper)
}
func (engine *Engine) SetTableMapper(mapper core.IMapper) {
	engine.TableMapper = mapper
}
func (engine *Engine) SetColumnMapper(mapper core.IMapper) {
	engine.ColumnMapper = mapper
}