Class | Sequel::Amalgalite::Database
In: | lib/sequel/adapters/amalgalite.rb
Parent: | Sequel::Database

Database class for SQLite databases used with Sequel and the amalgalite driver.

### Methods

connect database_type dataset execute execute_ddl execute_dui execute_insert single_value

### Included Modules

::Sequel::SQLite::DatabaseMethods

### Public Instance methods

connect(server)

Connect to the database. Since SQLite is a file based database, the only options available are :database (to specify the database name), and :timeout, to specify how long to wait for the database to be available if it is locked, given in milliseconds (default is 5000).

[Source]

        # File lib/sequel/adapters/amalgalite.rb, line 66
    66:       def connect(server)
    67:         opts = server_opts(server)
    68:         opts[:database] = ':memory:' if blank_object?(opts[:database])
    69:         db = ::Amalgalite::Database.new(opts[:database])
    70:         db.busy_handler(::Amalgalite::BusyTimeout.new(opts.fetch(:timeout, 5000)/50, 50))
    71:         db.type_map = SequelTypeMap.new
    72:         db
    73:       end

database_type()

Amalgalite is just the SQLite database without a separate SQLite installation.

[Source]

        # File lib/sequel/adapters/amalgalite.rb, line 76
    76:       def database_type
    77:         :sqlite
    78:       end

dataset(opts = nil)

Return instance of Sequel::Amalgalite::Dataset with the given options.

[Source]

        # File lib/sequel/adapters/amalgalite.rb, line 81
    81:       def dataset(opts = nil)
    82:         Amalgalite::Dataset.new(self, opts)
    83:       end

execute(sql, opts={}) {|stmt = log_yield(sql{conn.prepare(sql)}| ...}

Run the given SQL with the given arguments and yield each row.

[Source]

         # File lib/sequel/adapters/amalgalite.rb, line 102
    102:       def execute(sql, opts={})
    103:         _execute(sql, opts) do |conn|
    104:           begin
    105:             yield(stmt = log_yield(sql){conn.prepare(sql)})
    106:           ensure
    107:             stmt.close if stmt
    108:           end
    109:         end
    110:       end

execute_ddl(sql, opts={})

Run the given SQL with the given arguments. Returns nil.

[Source]

        # File lib/sequel/adapters/amalgalite.rb, line 86
    86:       def execute_ddl(sql, opts={})
    87:         _execute(sql, opts){|conn| log_yield(sql){conn.execute_batch(sql)}}
    88:         nil
    89:       end

execute_dui(sql, opts={})

Run the given SQL with the given arguments and return the number of changed rows.

[Source]

        # File lib/sequel/adapters/amalgalite.rb, line 92
    92:       def execute_dui(sql, opts={})
    93:         _execute(sql, opts){|conn| log_yield(sql){conn.execute_batch(sql)}; conn.row_changes}
    94:       end

execute_insert(sql, opts={})

Run the given SQL with the given arguments and return the last inserted row id.

[Source]

        # File lib/sequel/adapters/amalgalite.rb, line 97
    97:       def execute_insert(sql, opts={})
    98:         _execute(sql, opts){|conn| log_yield(sql){conn.execute_batch(sql)}; conn.last_insert_rowid}
    99:       end

single_value(sql, opts={})

Run the given SQL with the given arguments and return the first value of the first row.

[Source]

         # File lib/sequel/adapters/amalgalite.rb, line 113
    113:       def single_value(sql, opts={})
    114:         _execute(sql, opts){|conn| log_yield(sql){conn.first_value_from(sql)}}
    115:       end

[Validate]