// Code generated by mockery v1.1.2. DO NOT EDIT.

package mock

import (
	context "context"

	record "github.com/appist/appy/record"
	mock "github.com/stretchr/testify/mock"

	sql "database/sql"
)

// Stmt is an autogenerated mock type for the Stmter type
type Stmt struct {
	mock.Mock
}

// Exec provides a mock function with given fields: args
func (_m *Stmt) Exec(args ...interface{}) (sql.Result, error) {
	var _ca []interface{}
	_ca = append(_ca, args...)
	ret := _m.Called(_ca...)

	var r0 sql.Result
	if rf, ok := ret.Get(0).(func(...interface{}) sql.Result); ok {
		r0 = rf(args...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(sql.Result)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(...interface{}) error); ok {
		r1 = rf(args...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ExecContext provides a mock function with given fields: ctx, args
func (_m *Stmt) ExecContext(ctx context.Context, args ...interface{}) (sql.Result, error) {
	var _ca []interface{}
	_ca = append(_ca, ctx)
	_ca = append(_ca, args...)
	ret := _m.Called(_ca...)

	var r0 sql.Result
	if rf, ok := ret.Get(0).(func(context.Context, ...interface{}) sql.Result); ok {
		r0 = rf(ctx, args...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(sql.Result)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, ...interface{}) error); ok {
		r1 = rf(ctx, args...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// Query provides a mock function with given fields: args
func (_m *Stmt) Query(args ...interface{}) (*record.Rows, error) {
	var _ca []interface{}
	_ca = append(_ca, args...)
	ret := _m.Called(_ca...)

	var r0 *record.Rows
	if rf, ok := ret.Get(0).(func(...interface{}) *record.Rows); ok {
		r0 = rf(args...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*record.Rows)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(...interface{}) error); ok {
		r1 = rf(args...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// QueryContext provides a mock function with given fields: ctx, args
func (_m *Stmt) QueryContext(ctx context.Context, args ...interface{}) (*record.Rows, error) {
	var _ca []interface{}
	_ca = append(_ca, ctx)
	_ca = append(_ca, args...)
	ret := _m.Called(_ca...)

	var r0 *record.Rows
	if rf, ok := ret.Get(0).(func(context.Context, ...interface{}) *record.Rows); ok {
		r0 = rf(ctx, args...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*record.Rows)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, ...interface{}) error); ok {
		r1 = rf(ctx, args...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// QueryRow provides a mock function with given fields: args
func (_m *Stmt) QueryRow(args ...interface{}) *record.Row {
	var _ca []interface{}
	_ca = append(_ca, args...)
	ret := _m.Called(_ca...)

	var r0 *record.Row
	if rf, ok := ret.Get(0).(func(...interface{}) *record.Row); ok {
		r0 = rf(args...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*record.Row)
		}
	}

	return r0
}

// QueryRowContext provides a mock function with given fields: ctx, args
func (_m *Stmt) QueryRowContext(ctx context.Context, args ...interface{}) *record.Row {
	var _ca []interface{}
	_ca = append(_ca, ctx)
	_ca = append(_ca, args...)
	ret := _m.Called(_ca...)

	var r0 *record.Row
	if rf, ok := ret.Get(0).(func(context.Context, ...interface{}) *record.Row); ok {
		r0 = rf(ctx, args...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*record.Row)
		}
	}

	return r0
}
