Module: Sequel::Cubrid::DatabaseMethods
- Includes:
- Database::SplitAlterTable
- Included in:
- Database, JDBC::Cubrid::DatabaseMethods
- Defined in:
- lib/sequel/adapters/shared/cubrid.rb
Constant Summary collapse
- AUTOINCREMENT =
'AUTO_INCREMENT'.freeze
- COLUMN_DEFINITION_ORDER =
[:auto_increment, :default, :null, :unique, :primary_key, :references]
Instance Method Summary collapse
- #database_type ⇒ Object
- #indexes(table, opts = {}) ⇒ Object
- #schema_parse_table(table_name, opts) ⇒ Object
- #supports_savepoints? ⇒ Boolean
- #tables(opts = {}) ⇒ Object
- #views(opts = {}) ⇒ Object
Instance Method Details
#database_type ⇒ Object
11 12 13 |
# File 'lib/sequel/adapters/shared/cubrid.rb', line 11 def database_type :cubrid end |
#indexes(table, opts = {}) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/sequel/adapters/shared/cubrid.rb', line 15 def indexes(table, opts={}) m = output_identifier_meth m2 = input_identifier_meth indexes = {} . from(:db_index___i). join(:db_index_key___k, :index_name=>:index_name, :class_name=>:class_name). where(:i__class_name=>m2.call(table), :is_primary_key=>'NO'). order(:k__key_order). select(:i__index_name, :k__key_attr_name___column, :is_unique). each do |row| index = indexes[m.call(row[:index_name])] ||= {:columns=>[], :unique=>row[:is_unique]=='YES'} index[:columns] << m.call(row[:column]) end indexes end |
#schema_parse_table(table_name, opts) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/sequel/adapters/shared/cubrid.rb', line 36 def schema_parse_table(table_name, opts) m = output_identifier_meth(opts[:dataset]) m2 = input_identifier_meth(opts[:dataset]) pks = . from(:db_index___i). join(:db_index_key___k, :index_name=>:index_name, :class_name=>:class_name). where(:i__class_name=>m2.call(table_name), :is_primary_key=>'YES'). order(:k__key_order). select_map(:k__key_attr_name). map{|c| m.call(c)} . from(:db_attribute). where(:class_name=>m2.call(table_name)). order(:def_order). select(:attr_name, :data_type___db_type, :default_value___default, :is_nullable___allow_null). map do |row| name = m.call(row.delete(:attr_name)) row[:allow_null] = row[:allow_null] == 'YES' row[:primary_key] = pks.include?(name) row[:type] = schema_column_type(row[:db_type]) [name, row] end end |
#supports_savepoints? ⇒ Boolean
32 33 34 |
# File 'lib/sequel/adapters/shared/cubrid.rb', line 32 def supports_savepoints? false end |
#tables(opts = {}) ⇒ Object
62 63 64 |
# File 'lib/sequel/adapters/shared/cubrid.rb', line 62 def tables(opts={}) _tables('CLASS') end |
#views(opts = {}) ⇒ Object
66 67 68 |
# File 'lib/sequel/adapters/shared/cubrid.rb', line 66 def views(opts={}) _tables('VCLASS') end |