NewSessionBuilder returns a session builder for the given database provider.
(provider *catalog.DatabaseProvider)
| 49 | } |
| 50 | |
| 51 | func NewSession(base *memory.Session, provider *catalog.DatabaseProvider, opts ...SessionOption) *Session { |
| 52 | sess := &Session{Session: base, db: provider} |
| 53 | for _, opt := range opts { |
| 54 | opt(sess) |
| 55 | } |
| 56 | return sess |
| 57 | } |
| 58 | |
| 59 | // Provider returns the database provider for the session. |
| 60 | func (sess *Session) Provider() *catalog.DatabaseProvider { |
| 61 | return sess.db |
| 62 | } |
| 63 | |
| 64 | // QueryRowLimit returns the maximum number of rows a query may return. Zero |
| 65 | // means unlimited. |
| 66 | func (sess *Session) QueryRowLimit() uint64 { |
| 67 | return sess.queryRowLimit |
| 68 | } |
| 69 | |
| 70 | func (sess *Session) SetSessionVariable(ctx *sql.Context, name string, value interface{}) error { |
| 71 | if err := sess.Session.SetSessionVariable(ctx, name, value); err != nil { |
| 72 | return err |
| 73 | } |
| 74 | if !strings.EqualFold(name, sql.AutoCommitSessionVar) || ctx.GetIgnoreAutoCommit() { |
| 75 | return nil |
| 76 | } |
no test coverage detected