Module: Sequel::JDBC::HSQLDB::DatabaseMethods

Includes:
Transactions
Defined in:
lib/sequel/adapters/jdbc/hsqldb.rb

Overview

Instance methods for HSQLDB Database objects accessed via JDBC.

Constant Summary collapse

PRIMARY_KEY_INDEX_RE =
/\Asys_idx_sys_pk_/i.freeze

Constants included from Transactions

Transactions::TRANSACTION_BEGIN, Transactions::TRANSACTION_COMMIT, Transactions::TRANSACTION_RELEASE_SP, Transactions::TRANSACTION_ROLLBACK, Transactions::TRANSACTION_ROLLBACK_SP, Transactions::TRANSACTION_SAVEPOINT

Instance Method Summary collapse

Methods included from Transactions

#supports_savepoints?, #supports_transaction_isolation_levels?

Instance Method Details

#database_typeObject

HSQLDB uses the :hsqldb database type.



26
27
28
# File 'lib/sequel/adapters/jdbc/hsqldb.rb', line 26

def database_type
  :hsqldb
end

#db_versionObject

The version of the database, as an integer (e.g 2.2.5 -> 20205)



42
43
44
45
46
47
48
# File 'lib/sequel/adapters/jdbc/hsqldb.rb', line 42

def db_version
  return @db_version if defined?(@db_version)
  v = get(Sequel.function(:DATABASE_VERSION))
  @db_version = if v =~ /(\d+)\.(\d+)\.(\d+)/
    $1.to_i * 10000 + $2.to_i * 100 + $3.to_i
  end
end

#freezeObject



30
31
32
33
# File 'lib/sequel/adapters/jdbc/hsqldb.rb', line 30

def freeze
  db_version
  super
end

#serial_primary_key_optionsObject

HSQLDB uses an IDENTITY sequence as the default value for primary key columns.



37
38
39
# File 'lib/sequel/adapters/jdbc/hsqldb.rb', line 37

def serial_primary_key_options
  {:primary_key => true, :type => :integer, :identity=>true, :start_with=>1}
end

#supports_drop_table_if_exists?Boolean

HSQLDB supports DROP TABLE IF EXISTS

Returns:

  • (Boolean)


51
52
53
# File 'lib/sequel/adapters/jdbc/hsqldb.rb', line 51

def supports_drop_table_if_exists?
  true
end