Sha256: d9a12695df6f2c7623b2ae85bc22d9a23891404a986697424fb14fafaa34b34c
Contents?: true
Size: 1.73 KB
Versions: 34
Compression:
Stored size: 1.73 KB
Contents
module MySql module Pervasive module DatabaseMethods def dataset(opts = nil) ds = super ds.extend(DatasetMethods) ds end def select_fields(table, *fields) dataset.select_fields(table, *fields) end # if its not windows/linux where pervasive db is running in tests # modify the pervasive adapter to act more like mysql for certain things def auto_increment_sql;"AUTO_INCREMENT"; end def begin_transaction_sql; "BEGIN" end def commit_transaction_sql; "COMMIT" end def rollback_transaction_sql; "ROLLBACK" end def get_column_type(column_name) if model and model.respond_to?(:datatypes) and model.datatypes and model.datatypes[column_name] return model.datatypes[column_name][:type] end nil end end module DatasetMethods def select_clause_methods super end def select_limit_sql(sql) super(sql) end def quoted_identifier(name, convert=true) convert ? "`#{convert_aliased_col_to_real_col(name)}`" : "`#{name}`" end def convert_aliased_col_to_real_col(col_name) if respond_to?(:model) and model.respond_to?(:aliases) and model.aliases sym_name = col_name.to_s.downcase.to_sym col_name = model.aliases[sym_name].to_s.upcase if model.aliases.include? sym_name end col_name end def convert_aliased_col_to_real_col_with_model(col_name, model) if model.respond_to?(:aliases) and model.aliases sym_name = col_name.to_s.downcase.to_sym col_name = model.aliases[sym_name].to_s.upcase if model.aliases.include? sym_name end col_name end end end end
Version data entries
34 entries across 34 versions & 1 rubygems