Class Sequel::Mock::Database
In: lib/sequel/adapters/mock.rb
Parent: Sequel::Database

Database class for Sequel‘s mock adapter.

Methods

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.
server_version  [RW]  Mock the server version, useful when using the shared adapters

Public Instance methods

Return a related Connection option connecting to the given shard.

[Source]

    # File lib/sequel/adapters/mock.rb, line 93
93:       def connect(server)
94:         Connection.new(self, server, server_opts(server))
95:       end

[Source]

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

Store the sql used for later retrieval with sqls, and return the appropriate value using either the autoid, fetch, or numrows methods.

[Source]

     # File lib/sequel/adapters/mock.rb, line 103
103:       def execute(sql, opts=OPTS, &block)
104:         synchronize(opts[:server]){|c| _execute(c, sql, opts, &block)} 
105:       end
execute_ddl(sql, opts=OPTS, &block)

Alias for execute

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

[Source]

     # File lib/sequel/adapters/mock.rb, line 109
109:       def execute_dui(sql, opts=OPTS)
110:         execute(sql, opts.merge(:meth=>:numrows))
111:       end

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

[Source]

     # File lib/sequel/adapters/mock.rb, line 114
114:       def execute_insert(sql, opts=OPTS)
115:         execute(sql, opts.merge(:meth=>:autoid))
116:       end

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

[Source]

     # File lib/sequel/adapters/mock.rb, line 120
120:       def sqls
121:         s = @sqls.dup
122:         @sqls.clear
123:         s
124:       end

Enable use of savepoints.

[Source]

     # File lib/sequel/adapters/mock.rb, line 127
127:       def supports_savepoints?
128:         shared_adapter? ? super : true
129:       end

[Validate]