### Home Classes Methods

### In Files

- lib/sequel/adapters/mock.rb

### Parent

Sequel::Database

### Methods

- ::new
- #_autoid
- #_execute
- #_fetch
- #_nextres
- #_numrows
- #columns
- #connect
- #disconnect_connection
- #execute
- #execute_ddl
- #execute_dui
- #execute_insert
- #identifier_input_method_default
- #identifier_output_method_default
- #log_connection_execute
- #quote_identifiers_default
- #shared_adapter?
- #sqls
- #supports_savepoints?

### Files

- CHANGELOG
- MIT-LICENSE
- README.rdoc
- active_record.rdoc
- advanced_associations.rdoc
- association_basics.rdoc
- cheat_sheet.rdoc
- dataset_basics.rdoc
- dataset_filtering.rdoc
- mass_assignment.rdoc
- migration.rdoc
- model_hooks.rdoc
- opening_databases.rdoc
- prepared_statements.rdoc
- querying.rdoc
- reflection.rdoc
- 1.0.txt
- 1.1.txt
- 1.3.txt
- 1.4.0.txt
- 1.5.0.txt
- 2.0.0.txt
- 2.1.0.txt
- 2.10.0.txt
- 2.11.0.txt
- 2.12.0.txt
- 2.2.0.txt
- 2.3.0.txt
- 2.4.0.txt
- 2.5.0.txt
- 2.6.0.txt
- 2.7.0.txt
- 2.8.0.txt
- 2.9.0.txt
- 3.0.0.txt
- 3.1.0.txt
- 3.10.0.txt
- 3.11.0.txt
- 3.12.0.txt
- 3.13.0.txt
- 3.14.0.txt
- 3.15.0.txt
- 3.16.0.txt
- 3.17.0.txt
- 3.18.0.txt
- 3.19.0.txt
- 3.2.0.txt
- 3.20.0.txt
- 3.21.0.txt
- 3.22.0.txt
- 3.23.0.txt
- 3.24.0.txt
- 3.25.0.txt
- 3.26.0.txt
- 3.27.0.txt
- 3.28.0.txt
- 3.29.0.txt
- 3.3.0.txt
- 3.30.0.txt
- 3.31.0.txt
- 3.32.0.txt
- 3.33.0.txt
- 3.4.0.txt
- 3.5.0.txt
- 3.6.0.txt
- 3.7.0.txt
- 3.8.0.txt
- 3.9.0.txt
- schema_modification.rdoc
- sharding.rdoc
- sql.rdoc
- testing.rdoc
- transactions.rdoc
- validations.rdoc
- virtual_rows.rdoc

### Class Index

Quicksearch

- Sequel
- Sequel::ADO
- Sequel::ADO::Database
- Sequel::ADO::Dataset
- Sequel::ADO::MSSQL
- Sequel::ADO::MSSQL::DatabaseMethods
- Sequel::ADO::MSSQL::Dataset
- Sequel::ASTTransformer
- Sequel::Access
- Sequel::Access::DatabaseMethods
- Sequel::Access::DatasetMethods
- Sequel::Adapter
- Sequel::AdapterNotFound
- Sequel::AdapterNotFound
- Sequel::Amalgalite
- Sequel::Amalgalite::Database
- Sequel::Amalgalite::Dataset
- Sequel::Amalgalite::SequelTypeMap
- Sequel::ArbitraryServers
- Sequel::BasicObject
- Sequel::ColumnsIntrospection
- Sequel::ConnectionPool
- Sequel::ConnectionPool::ClassMethods
- Sequel::DB2
- Sequel::DB2::DB2Error
- Sequel::DB2::Database
- Sequel::DB2::DatabaseMethods
- Sequel::DB2::Dataset
- Sequel::DB2::DatasetMethods
- Sequel::DBI
- Sequel::DBI::Database
- Sequel::DBI::Dataset
- Sequel::DataObjects
- Sequel::DataObjects::Database
- Sequel::DataObjects::Dataset
- Sequel::DataObjects::MySQL
- Sequel::DataObjects::MySQL::DatabaseMethods
- Sequel::DataObjects::MySQL::Dataset
- Sequel::DataObjects::Postgres
- Sequel::DataObjects::Postgres::AdapterMethods
- Sequel::DataObjects::Postgres::DatabaseMethods
- Sequel::DataObjects::Postgres::Dataset
- Sequel::DataObjects::SQLite
- Sequel::DataObjects::SQLite::DatabaseMethods
- Sequel::DataObjects::SQLite::Dataset
- Sequel::Database
- Sequel::DatabaseConnectionError
- Sequel::DatabaseDisconnectError
- Sequel::DatabaseError
- Sequel::Dataset
- Sequel::Dataset
- Sequel::Dataset::ArgumentMapper
- Sequel::Dataset::BindArgumentMethods
- Sequel::Dataset::Pagination
- Sequel::Dataset::PreparedStatementMethods
- Sequel::Dataset::QueryBlockCopy
- Sequel::Dataset::StoredProcedureMethods
- Sequel::Dataset::StoredProcedures
- Sequel::Dataset::TYPE_TRANSLATOR
- Sequel::Dataset::UnnumberedArgumentMapper
- Sequel::EmulateOffsetWithRowNumber
- Sequel::Error
- Sequel::Firebird
- Sequel::Firebird::Database
- Sequel::Firebird::DatabaseMethods
- Sequel::Firebird::Dataset
- Sequel::Firebird::DatasetMethods
- Sequel::HookFailed
- Sequel::HookFailed
- Sequel::IBMDB
- Sequel::IBMDB::Connection
- Sequel::IBMDB::Connection::Error
- Sequel::IBMDB::Database
- Sequel::IBMDB::Dataset
- Sequel::IBMDB::Dataset::CallableStatementMethods
- Sequel::IBMDB::Dataset::PreparedStatementMethods
- Sequel::IBMDB::Statement
- Sequel::Inflections
- Sequel::Informix
- Sequel::Informix::Database
- Sequel::Informix::DatabaseMethods
- Sequel::Informix::Dataset
- Sequel::Informix::DatasetMethods
- Sequel::IntegerMigrator
- Sequel::InvalidOperation
- Sequel::InvalidOperation
- Sequel::InvalidValue
- Sequel::InvalidValue
- Sequel::JDBC
- Sequel::JDBC::AS400
- Sequel::JDBC::AS400::DatabaseMethods
- Sequel::JDBC::AS400::Dataset
- Sequel::JDBC::DB2
- Sequel::JDBC::DB2::DatabaseMethods
- Sequel::JDBC::DB2::Dataset
- Sequel::JDBC::Database
- Sequel::JDBC::Derby
- Sequel::JDBC::Derby::DatabaseMethods
- Sequel::JDBC::Derby::Dataset
- Sequel::JDBC::Firebird
- Sequel::JDBC::Firebird::DatabaseMethods
- Sequel::JDBC::Firebird::Dataset
- Sequel::JDBC::H2
- Sequel::JDBC::H2::DatabaseMethods
- Sequel::JDBC::H2::Dataset
- Sequel::JDBC::HSQLDB
- Sequel::JDBC::HSQLDB::DatabaseMethods
- Sequel::JDBC::HSQLDB::Dataset
- Sequel::JDBC::Informix
- Sequel::JDBC::Informix::DatabaseMethods
- Sequel::JDBC::Informix::Dataset
- Sequel::JDBC::JTDS
- Sequel::JDBC::JTDS::DatabaseMethods
- Sequel::JDBC::JTDS::Dataset
- Sequel::JDBC::JavaLang
- Sequel::JDBC::JavaSQL
- Sequel::JDBC::JavaxNaming
- Sequel::JDBC::MSSQL
- Sequel::JDBC::MSSQL::DatabaseMethods
- Sequel::JDBC::MySQL
- Sequel::JDBC::MySQL::DatabaseMethods
- Sequel::JDBC::MySQL::Dataset
- Sequel::JDBC::Oracle
- Sequel::JDBC::Oracle::DatabaseMethods
- Sequel::JDBC::Oracle::Dataset
- Sequel::JDBC::Postgres
- Sequel::JDBC::Postgres::AdapterMethods
- Sequel::JDBC::Postgres::DatabaseMethods
- Sequel::JDBC::Postgres::Dataset
- Sequel::JDBC::SQLServer
- Sequel::JDBC::SQLServer::DatabaseMethods
- Sequel::JDBC::SQLServer::DatabaseMethods::MetadataDatasetMethods
- Sequel::JDBC::SQLServer::Dataset
- Sequel::JDBC::SQLite
- Sequel::JDBC::SQLite::DatabaseMethods
- Sequel::JDBC::SQLite::Dataset
- Sequel::JDBC::Transactions
- Sequel::LiteralString
- Sequel::LooserTypecasting
- Sequel::MSSQL
- Sequel::MSSQL::DatabaseMethods
- Sequel::MSSQL::DatasetMethods
- Sequel::Metaprogramming
- Sequel::Migration
- Sequel::MigrationAlterTableReverser
- Sequel::MigrationDSL
- Sequel::MigrationReverser
- Sequel::Migrator
- Sequel::Migrator::Error
- Sequel::Mock
- Sequel::Mock::Connection
- Sequel::Mock::Database
- Sequel::Mock::Dataset
- Sequel::Model
- Sequel::Model::Associations
- Sequel::Model::Associations::AssociationDatasetMethods
- Sequel::Model::Associations::AssociationReflection
- Sequel::Model::Associations::ClassMethods
- Sequel::Model::Associations::DatasetMethods
- Sequel::Model::Associations::EagerGraphLoader
- Sequel::Model::Associations::InstanceMethods
- Sequel::Model::Associations::ManyToManyAssociationReflection
- Sequel::Model::Associations::ManyToOneAssociationReflection
- Sequel::Model::Associations::OneToManyAssociationReflection
- Sequel::Model::Associations::OneToOneAssociationReflection
- Sequel::Model::ClassMethods
- Sequel::Model::DatasetMethods
- Sequel::Model::Errors
- Sequel::Model::InstanceMethods
- Sequel::MySQL
- Sequel::MySQL::DatabaseMethods
- Sequel::MySQL::DatasetMethods
- Sequel::MySQL::DatasetMethods::CallableStatementMethods
- Sequel::MySQL::DatasetMethods::PreparedStatementMethods
- Sequel::MySQL::DatasetMethods::StoredProcedureMethods
- Sequel::MySQL::PreparedStatements
- Sequel::MySQL::PreparedStatements::DatabaseMethods
- Sequel::Mysql2
- Sequel::Mysql2::Database
- Sequel::Mysql2::Dataset
- Sequel::NamedTimezones
- Sequel::NoExistingObject
- Sequel::NoExistingObject
- Sequel::NotImplemented
- Sequel::ODBC
- Sequel::ODBC::DB2
- Sequel::ODBC::DB2::DatabaseMethods
- Sequel::ODBC::DB2::Dataset
- Sequel::ODBC::Database
- Sequel::ODBC::Dataset
- Sequel::ODBC::MSSQL
- Sequel::ODBC::MSSQL::DatabaseMethods
- Sequel::ODBC::MSSQL::Dataset
- Sequel::OpenBase
- Sequel::OpenBase::Database
- Sequel::OpenBase::Dataset
- Sequel::Oracle
- Sequel::Oracle::Database
- Sequel::Oracle::DatabaseMethods
- Sequel::Oracle::DatasetMethods
- Sequel::Plugins
- Sequel::Plugins::ActiveModel
- Sequel::Plugins::ActiveModel::ClassMethods
- Sequel::Plugins::ActiveModel::InstanceMethods
- Sequel::Plugins::AssociationAutoreloading
- Sequel::Plugins::AssociationAutoreloading::ClassMethods
- Sequel::Plugins::AssociationDependencies
- Sequel::Plugins::AssociationDependencies::ClassMethods
- Sequel::Plugins::AssociationDependencies::InstanceMethods
- Sequel::Plugins::AssociationPks
- Sequel::Plugins::AssociationPks::ClassMethods
- Sequel::Plugins::AssociationPks::InstanceMethods
- Sequel::Plugins::AssociationProxies
- Sequel::Plugins::AssociationProxies::AssociationProxy
- Sequel::Plugins::AssociationProxies::ClassMethods
- Sequel::Plugins::BooleanReaders
- Sequel::Plugins::BooleanReaders::ClassMethods
- Sequel::Plugins::Caching
- Sequel::Plugins::Caching::ClassMethods
- Sequel::Plugins::Caching::InstanceMethods
- Sequel::Plugins::ClassTableInheritance
- Sequel::Plugins::ClassTableInheritance::ClassMethods
- Sequel::Plugins::ClassTableInheritance::InstanceMethods
- Sequel::Plugins::Composition
- Sequel::Plugins::Composition::ClassMethods
- Sequel::Plugins::Composition::InstanceMethods
- Sequel::Plugins::DatasetAssociations
- Sequel::Plugins::DatasetAssociations::ClassMethods
- Sequel::Plugins::DatasetAssociations::DatasetMethods
- Sequel::Plugins::DefaultsSetter
- Sequel::Plugins::DefaultsSetter::ClassMethods
- Sequel::Plugins::DefaultsSetter::InstanceMethods
- Sequel::Plugins::ForceEncoding
- Sequel::Plugins::ForceEncoding::ClassMethods
- Sequel::Plugins::ForceEncoding::InstanceMethods
- Sequel::Plugins::HookClassMethods
- Sequel::Plugins::HookClassMethods::ClassMethods
- Sequel::Plugins::HookClassMethods::InstanceMethods
- Sequel::Plugins::IdentityMap
- Sequel::Plugins::IdentityMap::ClassMethods
- Sequel::Plugins::IdentityMap::InstanceMethods
- Sequel::Plugins::InstanceFilters
- Sequel::Plugins::InstanceFilters::InstanceMethods
- Sequel::Plugins::InstanceHooks
- Sequel::Plugins::InstanceHooks::InstanceMethods
- Sequel::Plugins::JsonSerializer
- Sequel::Plugins::JsonSerializer::ClassMethods
- Sequel::Plugins::JsonSerializer::DatasetMethods
- Sequel::Plugins::JsonSerializer::InstanceMethods
- Sequel::Plugins::JsonSerializer::Literal
- Sequel::Plugins::LazyAttributes
- Sequel::Plugins::LazyAttributes::ClassMethods
- Sequel::Plugins::LazyAttributes::InstanceMethods
- Sequel::Plugins::List
- Sequel::Plugins::List::ClassMethods
- Sequel::Plugins::List::InstanceMethods
- Sequel::Plugins::ManyThroughMany
- Sequel::Plugins::ManyThroughMany::ClassMethods
- Sequel::Plugins::ManyThroughMany::DatasetMethods
- Sequel::Plugins::ManyThroughMany::ManyThroughManyAssociationReflection
- Sequel::Plugins::NestedAttributes
- Sequel::Plugins::NestedAttributes::ClassMethods
- Sequel::Plugins::NestedAttributes::InstanceMethods
- Sequel::Plugins::OptimisticLocking
- Sequel::Plugins::OptimisticLocking::ClassMethods
- Sequel::Plugins::OptimisticLocking::InstanceMethods
- Sequel::Plugins::PreparedStatements
- Sequel::Plugins::PreparedStatements::ClassMethods
- Sequel::Plugins::PreparedStatements::InstanceMethods
- Sequel::Plugins::PreparedStatementsAssociations
- Sequel::Plugins::PreparedStatementsAssociations::ClassMethods
- Sequel::Plugins::PreparedStatementsAssociations::InstanceMethods
- Sequel::Plugins::PreparedStatementsSafe
- Sequel::Plugins::PreparedStatementsSafe::ClassMethods
- Sequel::Plugins::PreparedStatementsSafe::InstanceMethods
- Sequel::Plugins::PreparedStatementsWithPk
- Sequel::Plugins::PreparedStatementsWithPk::ClassMethods
- Sequel::Plugins::PreparedStatementsWithPk::DatasetMethods
- Sequel::Plugins::RcteTree
- Sequel::Plugins::Schema
- Sequel::Plugins::Schema::ClassMethods
- Sequel::Plugins::Serialization
- Sequel::Plugins::Serialization::ClassMethods
- Sequel::Plugins::Serialization::InstanceMethods
- Sequel::Plugins::SerializationModificationDetection
- Sequel::Plugins::SerializationModificationDetection::InstanceMethods
- Sequel::Plugins::Sharding
- Sequel::Plugins::Sharding::ClassMethods
- Sequel::Plugins::Sharding::DatasetMethods
- Sequel::Plugins::Sharding::InstanceMethods
- Sequel::Plugins::SingleTableInheritance
- Sequel::Plugins::SingleTableInheritance::ClassMethods
- Sequel::Plugins::SingleTableInheritance::InstanceMethods
- Sequel::Plugins::SkipCreateRefresh
- Sequel::Plugins::SkipCreateRefresh::InstanceMethods
- Sequel::Plugins::StringStripper
- Sequel::Plugins::StringStripper::InstanceMethods
- Sequel::Plugins::Subclasses
- Sequel::Plugins::Subclasses::ClassMethods
- Sequel::Plugins::TacticalEagerLoading
- Sequel::Plugins::TacticalEagerLoading::DatasetMethods
- Sequel::Plugins::TacticalEagerLoading::InstanceMethods
- Sequel::Plugins::Timestamps
- Sequel::Plugins::Timestamps::ClassMethods
- Sequel::Plugins::Timestamps::InstanceMethods
- Sequel::Plugins::Touch
- Sequel::Plugins::Touch::ClassMethods
- Sequel::Plugins::Touch::InstanceMethods
- Sequel::Plugins::Tree
- Sequel::Plugins::Tree::ClassMethods
- Sequel::Plugins::Tree::InstanceMethods
- Sequel::Plugins::Tree::SingleRoot
- Sequel::Plugins::Tree::SingleRoot::ClassMethods
- Sequel::Plugins::Tree::SingleRoot::InstanceMethods
- Sequel::Plugins::Tree::TreeMultipleRootError
- Sequel::Plugins::TypecastOnLoad
- Sequel::Plugins::TypecastOnLoad::ClassMethods
- Sequel::Plugins::TypecastOnLoad::InstanceMethods
- Sequel::Plugins::UpdatePrimaryKey
- Sequel::Plugins::UpdatePrimaryKey::ClassMethods
- Sequel::Plugins::UpdatePrimaryKey::InstanceMethods
- Sequel::Plugins::ValidationClassMethods
- Sequel::Plugins::ValidationClassMethods::ClassMethods
- Sequel::Plugins::ValidationClassMethods::ClassMethods::Generator
- Sequel::Plugins::ValidationClassMethods::InstanceMethods
- Sequel::Plugins::ValidationHelpers
- Sequel::Plugins::ValidationHelpers::InstanceMethods
- Sequel::Plugins::XmlSerializer
- Sequel::Plugins::XmlSerializer::ClassMethods
- Sequel::Plugins::XmlSerializer::DatasetMethods
- Sequel::Plugins::XmlSerializer::InstanceMethods
- Sequel::PoolTimeout
- Sequel::PoolTimeout
- Sequel::Postgres
- Sequel::Postgres::AdapterMethods
- Sequel::Postgres::DatabaseMethods
- Sequel::Postgres::DatasetMethods
- Sequel::Postgres::DatasetMethods::PreparedStatementMethods
- Sequel::PrettyTable
- Sequel::Progress
- Sequel::Progress::DatabaseMethods
- Sequel::Progress::DatasetMethods
- Sequel::Qualifier
- Sequel::Rollback
- Sequel::Rollback
- Sequel::SQL
- Sequel::SQL::AliasMethods
- Sequel::SQL::AliasedExpression
- Sequel::SQL::BitwiseMethods
- Sequel::SQL::Blob
- Sequel::SQL::BooleanConstant
- Sequel::SQL::BooleanExpression
- Sequel::SQL::BooleanMethods
- Sequel::SQL::CaseExpression
- Sequel::SQL::Cast
- Sequel::SQL::CastMethods
- Sequel::SQL::ColumnAll
- Sequel::SQL::ComplexExpression
- Sequel::SQL::ComplexExpressionMethods
- Sequel::SQL::Constant
- Sequel::SQL::Constants
- Sequel::SQL::Expression
- Sequel::SQL::Function
- Sequel::SQL::GenericComplexExpression
- Sequel::SQL::GenericExpression
- Sequel::SQL::Identifier
- Sequel::SQL::IdentifierMethods
- Sequel::SQL::InequalityMethods
- Sequel::SQL::JoinClause
- Sequel::SQL::JoinOnClause
- Sequel::SQL::JoinUsingClause
- Sequel::SQL::NegativeBooleanConstant
- Sequel::SQL::NoBooleanInputMethods
- Sequel::SQL::NumericExpression
- Sequel::SQL::NumericMethods
- Sequel::SQL::OrderMethods
- Sequel::SQL::OrderedExpression
- Sequel::SQL::PlaceholderLiteralString
- Sequel::SQL::QualifiedIdentifier
- Sequel::SQL::QualifyingMethods
- Sequel::SQL::StringConcatenationMethods
- Sequel::SQL::StringExpression
- Sequel::SQL::StringMethods
- Sequel::SQL::Subscript
- Sequel::SQL::SubscriptMethods
- Sequel::SQL::ValueList
- Sequel::SQL::ValueList
- Sequel::SQL::VirtualRow
- Sequel::SQL::Window
- Sequel::SQL::WindowFunction
- Sequel::SQLTime
- Sequel::SQLite
- Sequel::SQLite::DatabaseMethods
- Sequel::SQLite::DatasetMethods
- Sequel::Schema
- Sequel::Schema::AlterTableGenerator
- Sequel::Schema::Generator
- Sequel::ServerBlock
- Sequel::ShardedSingleConnectionPool
- Sequel::ShardedThreadedConnectionPool
- Sequel::SimpleMigration
- Sequel::SingleConnectionPool
- Sequel::Swift
- Sequel::Swift::Database
- Sequel::Swift::Dataset
- Sequel::Swift::MySQL
- Sequel::Swift::MySQL::DatabaseMethods
- Sequel::Swift::MySQL::Dataset
- Sequel::Swift::Postgres
- Sequel::Swift::Postgres::AdapterMethods
- Sequel::Swift::Postgres::DatabaseMethods
- Sequel::Swift::Postgres::Dataset
- Sequel::Swift::SQLite
- Sequel::Swift::SQLite::DatabaseMethods
- Sequel::Swift::SQLite::Dataset
- Sequel::ThreadLocalTimezones
- Sequel::ThreadedConnectionPool
- Sequel::ThreadedServerBlock
- Sequel::TimestampMigrator
- Sequel::Timezones
- Sequel::TinyTDS
- Sequel::TinyTDS::Database
- Sequel::TinyTDS::Dataset
- Sequel::TinyTDS::Dataset::ArgumentMapper
- Sequel::TinyTDS::Dataset::PreparedStatementMethods
- Sequel::ToDot
- Sequel::UnbindDuplicate
- Sequel::Unbinder
- Sequel::UndefinedAssociation
- Sequel::UnthreadedServerBlock
- Sequel::ValidationFailed
- Dataset
- Dataset::ArgumentMapper
- Dataset::BindArgumentMethods
- Dataset::PreparedStatementMethods
- String
- String::Inflections
- Array
- FalseClass
- Hash
- NilClass
- Numeric
- Object
- PGconn
- PGresult
- Proc
- Symbol
- TrueClass

No matching classes.

# Sequel::Mock::Database

Database class for Sequel’s mock adapter.

### Constants

SHARED_ADAPTERS

  Map of database type names to module names, used for handling mock adapters for specific database types.

### Attributes

autoid[W]

Set the autogenerated primary key integer to be returned when running an insert query. Argument types supported:

nil | Return nil for all inserts
Integer | Starting integer for next insert, with futher inserts getting an incremented value
Array | First insert gets the first value in the array, second gets the second value, etc.
Proc | Called with the insert SQL query, uses the value returned
Class | Should be an Exception subclass, will create a new instance an raise it wrapped in a DatabaseError.

columns[W]

Set the columns to set in the dataset when the dataset fetches rows. Argument types supported:

nil | Set no columns

Array of Symbols: Used for all datasets Array (otherwise): First retrieval gets the first value in the

                       array, second gets the second value, etc.

Proc | Called with the select SQL query, uses the value returned, which should be an array of symbols

fetch[W]

Set the hashes to yield by execute when retrieving rows. Argument types supported:

nil | Yield no rows
Hash | Always yield a single row with this hash
Array of Hashes | Yield separately for each hash in this array
Array (otherwise) | First retrieval gets the first value in the array, second gets the second value, etc.
Proc | Called with the select SQL query, uses the value returned, which should be a hash or array of hashes.
Class | Should be an Exception subclass, will create a new instance an raise it wrapped in a DatabaseError.

numrows[W]

Set the number of rows to return from update or delete. Argument types supported:

nil | Return 0 for all updates and deletes
Integer | Used for all updates and deletes
Array | First update/delete gets the first value in the array, second gets the second value, etc.
Proc | Called with the update/delete SQL query, uses the value returned.
Class | Should be an Exception subclass, will create a new instance an raise it wrapped in a DatabaseError.

### Public Class Methods

new(opts={}) click to toggle source

Additional options supported:

:autoid | Call # with the value
:columns | Call # with the value
:fetch | Call # with the value
:numrows | Call # with the value
:extend | A module the object is extended with.
:sqls | The array to store the SQL queries in.

         # File lib/sequel/adapters/mock.rb, line 109
    109:       def initialize(opts={})
    110:         super
    111:         opts = @opts
    112:         if mod_name = SHARED_ADAPTERS[opts[:host]]
    113:           @shared_adapter = true
    114:           require "sequel/adapters/shared/#{opts[:host]}"
    115:           extend Sequel.const_get(mod_name)::DatabaseMethods
    116:           extend_datasets Sequel.const_get(mod_name)::DatasetMethods
    117:         end
    118:         self.autoid = opts[:autoid]
    119:         self.columns = opts[:columns]
    120:         self.fetch = opts[:fetch]
    121:         self.numrows = opts[:numrows]
    122:         extend(opts[:extend]) if opts[:extend]
    123:         @sqls = opts[:sqls] || []
    124:       end

### Public Instance Methods

connect(server) click to toggle source

Return a related Connection option connecting to the given shard.

         # File lib/sequel/adapters/mock.rb, line 127
    127:       def connect(server)
    128:         Connection.new(self, server, server_opts(server))
    129:       end

execute(sql, opts={}, &block) click to toggle source

Store the sql used for later retrieval with #, and return the appropriate value using either the #, #, or # methods.

         # File lib/sequel/adapters/mock.rb, line 134
    134:       def execute(sql, opts={}, &block)
    135:         synchronize(opts[:server]){|c| _execute(c, sql, opts, &block)}
    136:       end

Also aliased as: execute_ddl
execute_ddl(sql, opts={}, &block) click to toggle source
Alias for: execute
execute_dui(sql, opts={}) click to toggle source

Store the sql used, and return the value of the # method.

         # File lib/sequel/adapters/mock.rb, line 140
    140:       def execute_dui(sql, opts={})
    141:         execute(sql, opts.merge(:meth=>:numrows))
    142:       end

execute_insert(sql, opts={}) click to toggle source

Store the sql used, and return the value of the # method.

         # File lib/sequel/adapters/mock.rb, line 145
    145:       def execute_insert(sql, opts={})
    146:         execute(sql, opts.merge(:meth=>:autoid))
    147:       end

sqls() click to toggle source

Return all stored SQL queries, and clear the cache of SQL queries.

         # File lib/sequel/adapters/mock.rb, line 151
    151:       def sqls
    152:         s = @sqls.dup
    153:         @sqls.clear
    154:         s
    155:       end

supports_savepoints?() click to toggle source

Enable use of savepoints.

         # File lib/sequel/adapters/mock.rb, line 158
    158:       def supports_savepoints?
    159:         shared_adapter? ? super : true
    160:       end

### Private Instance Methods

_autoid(sql, v, ds=nil) click to toggle source

         # File lib/sequel/adapters/mock.rb, line 164
    164:       def _autoid(sql, v, ds=nil)
    165:         case v
    166:         when Integer
    167:           if ds
    168:             ds.autoid += 1 if ds.autoid.is_a?(Integer)
    169:           else
    170:             @autoid += 1
    171:           end
    172:           v
    173:         else
    174:           _nextres(v, sql, nil)
    175:         end
    176:       end

_execute(c, sql, opts={}, &block) click to toggle source

         # File lib/sequel/adapters/mock.rb, line 178
    178:       def _execute(c, sql, opts={}, &block)
    179:         sql += " -- args: #{opts[:arguments].inspect}" if opts[:arguments]
    180:         sql += " -- #{@opts[:append]}" if @opts[:append]
    181:         sql += " -- #{c.server.is_a?(Symbol) ? c.server : c.server.inspect}" if c.server != :default
    182:         log_info(sql)
    183:         @sqls << sql
    184:
    185:         ds = opts[:dataset]
    186:         begin
    187:           if block
    188:             columns(ds, sql) if ds
    189:             _fetch(sql, ds._fetch || @fetch, &block)
    190:           elsif meth = opts[:meth]
    191:             if meth == :numrows
    192:               _numrows(sql, ds.numrows || @numrows)
    193:             else
    194:               v = ds.autoid
    195:               _autoid(sql, v || @autoid, (ds if v))
    196:             end
    197:           end
    198:         rescue => e
    199:           raise_error(e)
    200:         end
    201:       end

_fetch(sql, f, &block) click to toggle source

         # File lib/sequel/adapters/mock.rb, line 203
    203:       def _fetch(sql, f, &block)
    204:         case f
    205:         when Hash
    206:           yield f.dup
    207:         when Array
    208:           if f.all?{|h| h.is_a?(Hash)}
    209:             f.each{|h| yield h.dup}
    210:           else
    211:             _fetch(sql, f.shift, &block)
    212:           end
    213:         when Proc
    214:           h = f.call(sql)
    215:           if h.is_a?(Hash)
    216:             yield h.dup
    217:           elsif h
    218:             h.each{|h1| yield h1.dup}
    219:           end
    220:         when Class
    221:           if f < Exception
    222:             raise f
    223:           else
    224:             raise Error, "Invalid @autoid/@numrows attribute: #{v.inspect}"
    225:           end
    226:         when nil
    227:           # nothing
    228:         else
    229:           raise Error, "Invalid @fetch attribute: #{f.inspect}"
    230:         end
    231:       end

_nextres(v, sql, default) click to toggle source

         # File lib/sequel/adapters/mock.rb, line 233
    233:       def _nextres(v, sql, default)
    234:         case v
    235:         when Integer
    236:           v
    237:         when Array
    238:           v.empty? ? default : _nextres(v.shift, sql, default)
    239:         when Proc
    240:           v.call(sql)
    241:         when Class
    242:           if v < Exception
    243:             raise v
    244:           else
    245:             raise Error, "Invalid @autoid/@numrows attribute: #{v.inspect}"
    246:           end
    247:         when nil
    248:           default
    249:         else
    250:           raise Error, "Invalid @autoid/@numrows attribute: #{v.inspect}"
    251:         end
    252:       end

_numrows(sql, v) click to toggle source

         # File lib/sequel/adapters/mock.rb, line 254
    254:       def _numrows(sql, v)
    255:         _nextres(v, sql, 0)
    256:       end

columns(ds, sql, cs=@columns) click to toggle source

         # File lib/sequel/adapters/mock.rb, line 258
    258:       def columns(ds, sql, cs=@columns)
    259:         case cs
    260:         when Array
    261:           unless cs.empty?
    262:             if cs.all?{|c| c.is_a?(Symbol)}
    263:               ds.columns(*cs)
    264:             else
    265:               columns(ds, sql, cs.shift)
    266:             end
    267:           end
    268:         when Proc
    269:           ds.columns(*cs.call(sql))
    270:         when nil
    271:           # nothing
    272:         else
    273:           raise Error, "Invalid @columns attribute: #{cs.inspect}"
    274:         end
    275:       end

disconnect_connection(c) click to toggle source

         # File lib/sequel/adapters/mock.rb, line 277
    277:       def disconnect_connection(c)
    278:       end

identifier_input_method_default() click to toggle source

         # File lib/sequel/adapters/mock.rb, line 288
    288:       def identifier_input_method_default
    289:         shared_adapter? ? super : nil
    290:       end

identifier_output_method_default() click to toggle source

         # File lib/sequel/adapters/mock.rb, line 292
    292:       def identifier_output_method_default
    293:         shared_adapter? ? super : nil
    294:       end

log_connection_execute(c, sql) click to toggle source

         # File lib/sequel/adapters/mock.rb, line 280
    280:       def log_connection_execute(c, sql)
    281:         c.execute(sql)
    282:       end

quote_identifiers_default() click to toggle source

         # File lib/sequel/adapters/mock.rb, line 284
    284:       def quote_identifiers_default
    285:         shared_adapter? ? super : false
    286:       end

shared_adapter?() click to toggle source

         # File lib/sequel/adapters/mock.rb, line 296
    296:       def shared_adapter?
    297:         @shared_adapter
    298:       end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.