# File lib/sequel/adapters/shared/cubrid.rb, line 19 def database_type :cubrid end
# File lib/sequel/adapters/shared/cubrid.rb, line 23 def indexes(table, opts=OPTS) m = output_identifier_meth m2 = input_identifier_meth indexes = {} metadata_dataset. from{db_index[:i]}. join(Sequel[:db_index_key].as(: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].as(: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
# File lib/sequel/adapters/shared/cubrid.rb, line 44 def schema_parse_table(table_name, opts) m = output_identifier_meth(opts[:dataset]) m2 = input_identifier_meth(opts[:dataset]) pks = metadata_dataset. from{db_index[:i]}. join(Sequel[:db_index_key].as(: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)} metadata_dataset. from(:db_attribute). where(:class_name=>m2.call(table_name)). order(:def_order). select{[:attr_name, data_type.as(:db_type), default_value.as(:default), is_nullable.as(:allow_null), :prec]}. 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]) row[:max_length] = row[:prec] if row[:type] == :string [name, row] end end
# File lib/sequel/adapters/shared/cubrid.rb, line 40 def supports_savepoints? false end
# File lib/sequel/adapters/shared/cubrid.rb, line 71 def tables(opts=OPTS) _tables('CLASS') end
# File lib/sequel/adapters/shared/cubrid.rb, line 75 def views(opts=OPTS) _tables('VCLASS') end