Title: [746] trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_oracle.rb: Fix several more Oracle problems, bringing us down to 12F7E
- Revision
- 746
- Author
- olabini
- Date
- 2007-09-26 08:43:55 -0400 (Wed, 26 Sep 2007)
Log Message
Fix several more Oracle problems, bringing us down to 12F7E
Modified Paths
Diff
Modified: trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_oracle.rb (745 => 746)
--- trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_oracle.rb 2007-09-26 12:01:30 UTC (rev 745)
+++ trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_oracle.rb 2007-09-26 12:43:55 UTC (rev 746)
@@ -72,6 +72,7 @@
private
def simplified_type(field_type)
case field_type
+ when /^number\(1\)$/i : :boolean
when /char/i : :string
when /float|double/i : :float
when /int/i : :integer
@@ -111,7 +112,9 @@
def create_table(name, options = {}) #:nodoc:
super(name, options)
- execute "CREATE SEQUENCE #{name}_seq START WITH 10000" unless options[:id] == false
+ seq_name = options[:sequence_name] || "#{name}_seq"
+ raise ActiveRecord::StatementInvalid.new("name #{seq_name} too long") if seq_name.length > table_alias_length
+ execute "CREATE SEQUENCE #{seq_name} START WITH 10000" unless options[:id] == false
end
def rename_table(name, new_name) #:nodoc:
@@ -121,7 +124,8 @@
def drop_table(name, options = {}) #:nodoc:
super(name)
- execute "DROP SEQUENCE #{name}_seq" rescue nil
+ seq_name = options[:sequence_name] || "#{name}_seq"
+ execute "DROP SEQUENCE #{seq_name}" rescue nil
end
def recreate_database(name)
@@ -157,6 +161,7 @@
def modify_types(tp)
tp[:primary_key] = "NUMBER(38) NOT NULL PRIMARY KEY"
+ tp[:integer] = { :name => "NUMBER", :limit => 38 }
tp[:datetime] = { :name => "DATE" }
tp[:timestamp] = { :name => "DATE" }
tp[:time] = { :name => "DATE" }
_______________________________________________
Jruby-extras-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/jruby-extras-devel