Title: [470] trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_derby.rb: Ok, last commit; kinda stupid.
- Revision
- 470
- Author
- olabini
- Date
- 2007-04-22 14:04:47 -0400 (Sun, 22 Apr 2007)
Log Message
Ok, last commit; kinda stupid. This one, sort of better...
Modified Paths
Diff
Modified: trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_derby.rb (469 => 470)
--- trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_derby.rb 2007-04-22 16:45:10 UTC (rev 469)
+++ trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_derby.rb 2007-04-22 18:04:47 UTC (rev 470)
@@ -59,6 +59,10 @@
ensure
@limit = nil
end
+
+ def classes_for_table_name(table)
+ ActiveRecord::Base.send(:subclasses).select {|klass| klass.table_name == table}
+ end
# Set the sequence to the max value of the table's column.
def reset_sequence!(table, column, sequence = nil)
@@ -67,8 +71,12 @@
end
def reset_pk_sequence!(table, pk = nil, sequence = nil)
- pk = :id unless pk
- reset_sequence!(table, pk, sequence)
+ klasses = classes_for_table_name(table)
+ klass = klasses.nil? ? nil : klasses.first
+ pk = klass.primary_key unless klass.nil?
+ if pk && klass.columns_hash[pk].type == :integer
+ reset_sequence!(klass.table_name, pk)
+ end
end
def execute(sql, name = nil)
_______________________________________________
Jruby-extras-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/jruby-extras-devel