activerecord-jdbc-adapter 0.7.1 → 0.7.2
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +17 -0
- data/Manifest.txt +5 -0
- data/Rakefile +14 -2
- data/lib/active_record/connection_adapters/jdbc_adapter.rb +9 -5
- data/lib/jdbc_adapter.rb +3 -0
- data/lib/jdbc_adapter/jdbc_adapter_internal.jar +0 -0
- data/lib/jdbc_adapter/jdbc_db2.rb +1 -1
- data/lib/jdbc_adapter/jdbc_derby.rb +15 -1
- data/lib/jdbc_adapter/jdbc_hsqldb.rb +12 -0
- data/lib/jdbc_adapter/jdbc_mysql.rb +13 -2
- data/lib/jdbc_adapter/jdbc_postgre.rb +9 -2
- data/lib/jdbc_adapter/rake_tasks.rb +36 -4
- data/lib/jdbc_adapter/version.rb +1 -1
- data/src/java/jdbc_adapter/JdbcAdapterInternalService.java +16 -10
- data/test/db/db2.rb +9 -0
- data/test/db/oracle.rb +9 -0
- data/test/db2_simple_test.rb +6 -0
- data/test/jdbc_common.rb +1 -0
- data/test/models/add_not_null_column_to_table.rb +12 -0
- data/test/oracle_simple_test.rb +6 -0
- data/test/simple.rb +5 -0
- metadata +47 -35
data/History.txt
CHANGED
@@ -1,3 +1,20 @@
|
|
1
|
+
== 0.7.2
|
2
|
+
|
3
|
+
- JRUBY-1905: add_column for derby, hsqldb, and postgresql (Stephen Bannasch)
|
4
|
+
- Fix db:create for JDBC
|
5
|
+
- Support Rails 2 with the old "require 'jdbc_adapter'" approach
|
6
|
+
- JRUBY-1966: Instead of searching for just tables, search for views and tables.
|
7
|
+
- JRUBY-1583: DB2 numeric quoting (Ryan Shillington)
|
8
|
+
- JRUBY-1634: Oracle DATE type mapping (Daniel Wintschel)
|
9
|
+
- JRUBY-1543: rename_column issue with more recent MySQL drivers (Oliver Schmelzle)
|
10
|
+
- Rubyforge #15074: ConnectionAdapters::JdbcAdapter.indexes is missing name and
|
11
|
+
schema_name parameters in the method signature (Igor Minar)
|
12
|
+
- Rubyforge #13558: definition for the indexes method (T Meyarivan)
|
13
|
+
- JRUBY-2051: handle schemaname and tablename more correctly for columns
|
14
|
+
- JRUBY-2102: Postgres Adapter cannot handle datetime type (Rainer Hahnekamp)
|
15
|
+
- JRUBY-2018: Oracle behind ActiveRecord-JDBC fails with "Invalid column index" (K Venkatasubramaniyan)
|
16
|
+
- JRUBY-2012: jdbc_mysql structure dump fails for mysql views (Tyler Jennings)
|
17
|
+
|
1
18
|
== 0.7.1
|
2
19
|
|
3
20
|
- Add adapter and driver for H2 courtesy of Caleb Land
|
data/Manifest.txt
CHANGED
@@ -28,6 +28,7 @@ lib/jdbc_adapter.rb
|
|
28
28
|
lib/jdbc_adapter/jdbc_adapter_internal.jar
|
29
29
|
test/activerecord/connection_adapters/type_conversion_test.rb
|
30
30
|
test/activerecord/connections/native_jdbc_mysql/connection.rb
|
31
|
+
test/db/db2.rb
|
31
32
|
test/db/derby.rb
|
32
33
|
test/db/h2.rb
|
33
34
|
test/db/hsqldb.rb
|
@@ -35,7 +36,9 @@ test/db/jdbc.rb
|
|
35
36
|
test/db/jndi_config.rb
|
36
37
|
test/db/logger.rb
|
37
38
|
test/db/mysql.rb
|
39
|
+
test/db/oracle.rb
|
38
40
|
test/db/postgres.rb
|
41
|
+
test/db2_simple_test.rb
|
39
42
|
test/derby_multibyte_test.rb
|
40
43
|
test/derby_simple_test.rb
|
41
44
|
test/generic_jdbc_connection_test.rb
|
@@ -53,11 +56,13 @@ test/minirunit/testLoadActiveRecord.rb
|
|
53
56
|
test/minirunit/testMysql.rb
|
54
57
|
test/minirunit/testRawSelect.rb
|
55
58
|
test/minirunit.rb
|
59
|
+
test/models/add_not_null_column_to_table.rb
|
56
60
|
test/models/auto_id.rb
|
57
61
|
test/models/data_types.rb
|
58
62
|
test/models/entry.rb
|
59
63
|
test/mysql_multibyte_test.rb
|
60
64
|
test/mysql_simple_test.rb
|
65
|
+
test/oracle_simple_test.rb
|
61
66
|
test/postgres_simple_test.rb
|
62
67
|
test/simple.rb
|
63
68
|
src/java/jdbc_adapter/JdbcAdapterInternalService.java
|
data/Rakefile
CHANGED
@@ -5,9 +5,8 @@ task :default => [:java_compile, :test]
|
|
5
5
|
|
6
6
|
def java_classpath_arg # myriad of ways to discover JRuby classpath
|
7
7
|
begin
|
8
|
-
require 'java' # already running in a JRuby JVM
|
9
8
|
jruby_cpath = Java::java.lang.System.getProperty('java.class.path')
|
10
|
-
rescue
|
9
|
+
rescue => e
|
11
10
|
end
|
12
11
|
unless jruby_cpath
|
13
12
|
jruby_cpath = ENV['JRUBY_PARENT_CLASSPATH'] || ENV['JRUBY_HOME'] &&
|
@@ -74,6 +73,19 @@ end
|
|
74
73
|
task :test_postgresql => [:test_postgres]
|
75
74
|
task :test_pgsql => [:test_postgres]
|
76
75
|
|
76
|
+
# Ensure oracle driver is on your classpath before launching rake
|
77
|
+
Rake::TestTask.new(:test_oracle) do |t|
|
78
|
+
t.test_files = FileList['test/oracle_simple_test.rb']
|
79
|
+
t.libs << 'test'
|
80
|
+
end
|
81
|
+
|
82
|
+
# Ensure DB2 driver is on your classpath before launching rake
|
83
|
+
Rake::TestTask.new(:test_db2) do |t|
|
84
|
+
t.test_files = FileList['test/db2_simple_test.rb']
|
85
|
+
t.libs << 'test'
|
86
|
+
end
|
87
|
+
|
88
|
+
|
77
89
|
MANIFEST = FileList["History.txt", "Manifest.txt", "README.txt",
|
78
90
|
"Rakefile", "LICENSE", "lib/**/*.rb", "lib/jdbc_adapter/jdbc_adapter_internal.jar", "test/**/*.rb",
|
79
91
|
"lib/**/*.rake", "src/**/*.java"]
|
@@ -61,10 +61,10 @@ module ActiveRecord
|
|
61
61
|
extend JdbcSpec::ActiveRecordExtensions
|
62
62
|
|
63
63
|
alias :attributes_with_quotes_pre_oracle :attributes_with_quotes
|
64
|
-
def attributes_with_quotes(*args) #:nodoc:
|
65
|
-
aq = attributes_with_quotes_pre_oracle(*args)
|
64
|
+
def attributes_with_quotes(include_primary_key = true, *args) #:nodoc:
|
65
|
+
aq = attributes_with_quotes_pre_oracle(include_primary_key, *args)
|
66
66
|
if connection.class == ConnectionAdapters::JdbcAdapter && (connection.is_a?(JdbcSpec::Oracle) || connection.is_a?(JdbcSpec::Mimer))
|
67
|
-
aq[self.class.primary_key] = "?" if
|
67
|
+
aq[self.class.primary_key] = "?" if include_primary_key && aq[self.class.primary_key].nil?
|
68
68
|
end
|
69
69
|
aq
|
70
70
|
end
|
@@ -201,6 +201,10 @@ module ActiveRecord
|
|
201
201
|
types = @types
|
202
202
|
procs.each do |p|
|
203
203
|
new_types = types.select(&p)
|
204
|
+
new_types = new_types.inject([]) do |typs,t|
|
205
|
+
typs << t unless typs.detect {|el| el['type_name'] == t['type_name']}
|
206
|
+
typs
|
207
|
+
end
|
204
208
|
return new_types.first if new_types.length == 1
|
205
209
|
types = new_types if new_types.length > 0
|
206
210
|
end
|
@@ -536,8 +540,8 @@ module ActiveRecord
|
|
536
540
|
@connection.tables
|
537
541
|
end
|
538
542
|
|
539
|
-
def indexes(table_name)
|
540
|
-
@connection.indexes(table_name)
|
543
|
+
def indexes(table_name, name = nil, schema_name = nil)
|
544
|
+
@connection.indexes(table_name, name, schema_name)
|
541
545
|
end
|
542
546
|
|
543
547
|
def begin_db_transaction
|
data/lib/jdbc_adapter.rb
CHANGED
@@ -18,6 +18,9 @@ if RUBY_PLATFORM =~ /java/
|
|
18
18
|
if ActiveRecord::VERSION::MAJOR == 1 && ActiveRecord::VERSION::MINOR == 14
|
19
19
|
require 'active_record/connection_adapters/jdbc_adapter'
|
20
20
|
end
|
21
|
+
else
|
22
|
+
require 'active_record'
|
23
|
+
require 'active_record/connection_adapters/jdbc_adapter'
|
21
24
|
end
|
22
25
|
else
|
23
26
|
warn "ActiveRecord-JDBC is for use with JRuby only"
|
Binary file
|
@@ -195,7 +195,21 @@ module ::JdbcSpec
|
|
195
195
|
end
|
196
196
|
""
|
197
197
|
end
|
198
|
-
|
198
|
+
|
199
|
+
|
200
|
+
def add_column(table_name, column_name, type, options = {})
|
201
|
+
if option_not_null = options[:null] == false
|
202
|
+
option_not_null = options.delete(:null)
|
203
|
+
end
|
204
|
+
add_column_sql = "ALTER TABLE #{quote_table_name(table_name)} ADD #{quote_column_name(column_name)} #{type_to_sql(type, options[:limit], options[:precision], options[:scale])}"
|
205
|
+
add_column_options!(add_column_sql, options)
|
206
|
+
execute(add_column_sql)
|
207
|
+
if option_not_null
|
208
|
+
alter_column_sql = "ALTER TABLE #{quote_table_name(table_name)} ALTER #{quote_column_name(column_name)} NOT NULL"
|
209
|
+
end
|
210
|
+
end
|
211
|
+
|
212
|
+
# I don't think this method is ever called ??? (stepheneb)
|
199
213
|
def create_column(name, refid, colno)
|
200
214
|
stmt = COLUMN_TYPE_STMT % [refid, strip_quotes(name)]
|
201
215
|
coldef = ""
|
@@ -117,6 +117,18 @@ module ::JdbcSpec
|
|
117
117
|
'0'
|
118
118
|
end
|
119
119
|
|
120
|
+
def add_column(table_name, column_name, type, options = {})
|
121
|
+
if option_not_null = options[:null] == false
|
122
|
+
option_not_null = options.delete(:null)
|
123
|
+
end
|
124
|
+
add_column_sql = "ALTER TABLE #{quote_table_name(table_name)} ADD #{quote_column_name(column_name)} #{type_to_sql(type, options[:limit], options[:precision], options[:scale])}"
|
125
|
+
add_column_options!(add_column_sql, options)
|
126
|
+
execute(add_column_sql)
|
127
|
+
if option_not_null
|
128
|
+
alter_column_sql = "ALTER TABLE #{quote_table_name(table_name)} ALTER #{quote_column_name(column_name)} NOT NULL"
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
120
132
|
def change_column(table_name, column_name, type, options = {}) #:nodoc:
|
121
133
|
execute "ALTER TABLE #{table_name} ALTER COLUMN #{column_name} #{type_to_sql(type, options[:limit])}"
|
122
134
|
end
|
@@ -1,6 +1,9 @@
|
|
1
1
|
require 'active_record/connection_adapters/abstract/schema_definitions'
|
2
2
|
|
3
3
|
module ::JdbcSpec
|
4
|
+
# Don't need to load native mysql adapter
|
5
|
+
$LOADED_FEATURES << "active_record/connection_adapters/mysql_adapter.rb"
|
6
|
+
|
4
7
|
module ActiveRecordExtensions
|
5
8
|
def mysql_connection(config)
|
6
9
|
if config[:socket]
|
@@ -128,7 +131,14 @@ module ::JdbcSpec
|
|
128
131
|
|
129
132
|
select_all(sql).inject("") do |structure, table|
|
130
133
|
table.delete('Table_type')
|
131
|
-
|
134
|
+
|
135
|
+
hash = select_one("SHOW CREATE TABLE #{quote_table_name(table.to_a.first.last)}")
|
136
|
+
|
137
|
+
if(table = hash["Create Table"])
|
138
|
+
structure += table + ";\n\n"
|
139
|
+
elsif(view = hash["Create View"])
|
140
|
+
structure += view + ";\n\n"
|
141
|
+
end
|
132
142
|
end
|
133
143
|
end
|
134
144
|
|
@@ -178,7 +188,8 @@ module ::JdbcSpec
|
|
178
188
|
end
|
179
189
|
|
180
190
|
def rename_column(table_name, column_name, new_column_name) #:nodoc:
|
181
|
-
|
191
|
+
cols = select_one("SHOW COLUMNS FROM #{quote_table_name(table_name)} LIKE '#{column_name}'")
|
192
|
+
current_type = cols["Type"] || cols["COLUMN_TYPE"]
|
182
193
|
execute "ALTER TABLE #{quote_table_name(table_name)} CHANGE #{quote_table_name(column_name)} #{quote_column_name(new_column_name)} #{current_type}"
|
183
194
|
end
|
184
195
|
|
@@ -1,6 +1,10 @@
|
|
1
1
|
module ::JdbcSpec
|
2
|
+
# Don't need to load native postgres adapter
|
3
|
+
$LOADED_FEATURES << "active_record/connection_adapters/postgresql_adapter.rb"
|
4
|
+
|
2
5
|
module ActiveRecordExtensions
|
3
6
|
def postgresql_connection(config)
|
7
|
+
config[:host] ||= "localhost"
|
4
8
|
config[:port] ||= 5432
|
5
9
|
config[:url] ||= "jdbc:postgresql://#{config[:host]}:#{config[:port]}/#{config[:database]}"
|
6
10
|
config[:driver] ||= "org.postgresql.Driver"
|
@@ -288,7 +292,7 @@ module ::JdbcSpec
|
|
288
292
|
end
|
289
293
|
|
290
294
|
def quoted_date(value)
|
291
|
-
value.strftime("%Y-%m-%d %H:%M:%S
|
295
|
+
value.strftime("%Y-%m-%d %H:%M:%S")
|
292
296
|
end
|
293
297
|
|
294
298
|
def rename_table(name, new_name)
|
@@ -297,8 +301,11 @@ module ::JdbcSpec
|
|
297
301
|
|
298
302
|
def add_column(table_name, column_name, type, options = {})
|
299
303
|
execute("ALTER TABLE #{table_name} ADD #{column_name} #{type_to_sql(type, options[:limit])}")
|
300
|
-
execute("ALTER TABLE #{table_name} ALTER #{column_name} SET NOT NULL") if options[:null] == false
|
301
304
|
change_column_default(table_name, column_name, options[:default]) unless options[:default].nil?
|
305
|
+
if options[:null] == false
|
306
|
+
execute("UPDATE #{table_name} SET #{column_name} = '#{options[:default]}'") if options[:default]
|
307
|
+
execute("ALTER TABLE #{table_name} ALTER #{column_name} SET NOT NULL")
|
308
|
+
end
|
302
309
|
end
|
303
310
|
|
304
311
|
def change_column(table_name, column_name, type, options = {}) #:nodoc:
|
@@ -1,14 +1,46 @@
|
|
1
1
|
if defined?(namespace) && RUBY_PLATFORM =~ /java/ && ENV["SKIP_AR_JDBC_RAKE_REDEFINES"].nil?
|
2
2
|
def redefine_task(*args, &block)
|
3
3
|
task_name = Hash === args.first ? args.first.keys[0] : args.first
|
4
|
-
existing_task = Rake
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
existing_task = Rake.application.lookup task_name
|
5
|
+
if existing_task
|
6
|
+
class << existing_task; public :instance_variable_set; end
|
7
|
+
existing_task.instance_variable_set "@prerequisites", FileList[]
|
8
|
+
existing_task.instance_variable_set "@actions", []
|
9
|
+
end
|
8
10
|
task(*args, &block)
|
9
11
|
end
|
10
12
|
|
11
13
|
namespace :db do
|
14
|
+
redefine_task :create => :environment do
|
15
|
+
create_database(ActiveRecord::Base.configurations[RAILS_ENV])
|
16
|
+
end
|
17
|
+
|
18
|
+
def create_database(config)
|
19
|
+
begin
|
20
|
+
ActiveRecord::Base.establish_connection(config)
|
21
|
+
ActiveRecord::Base.connection
|
22
|
+
rescue
|
23
|
+
begin
|
24
|
+
url = config['url']
|
25
|
+
if url
|
26
|
+
if url =~ /^(.*\/)/
|
27
|
+
url = $1
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
ActiveRecord::Base.establish_connection(config.merge({'database' => nil, 'url' => url}))
|
32
|
+
ActiveRecord::Base.connection.create_database(config['database'])
|
33
|
+
ActiveRecord::Base.establish_connection(config)
|
34
|
+
rescue
|
35
|
+
if (config['driver'] || config['adapter']) =~ /postgr/
|
36
|
+
`createdb "#{config['database']}" -E utf8`
|
37
|
+
else
|
38
|
+
warn "couldn't create database #{config['database']}"
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
12
44
|
redefine_task :drop => :environment do
|
13
45
|
begin
|
14
46
|
config = ActiveRecord::Base.configurations[environment_name]
|
data/lib/jdbc_adapter/version.rb
CHANGED
@@ -312,7 +312,7 @@ public class JdbcAdapterInternalService implements BasicLibraryService {
|
|
312
312
|
String name = rs.getString(3).toLowerCase();
|
313
313
|
// Handle stupid Oracle 10g RecycleBin feature
|
314
314
|
if (!isOracle || !name.startsWith("bin$")) {
|
315
|
-
arr.add(
|
315
|
+
arr.add(RubyString.newUnicodeString(runtime, name));
|
316
316
|
}
|
317
317
|
}
|
318
318
|
return runtime.newArray(arr);
|
@@ -424,11 +424,17 @@ public class JdbcAdapterInternalService implements BasicLibraryService {
|
|
424
424
|
ResultSet results = null;
|
425
425
|
try {
|
426
426
|
String table_name = rubyApi.convertToRubyString(args[0]).getUnicodeValue();
|
427
|
+
String schemaName = null;
|
428
|
+
|
429
|
+
if(table_name.indexOf(".") != -1) {
|
430
|
+
schemaName = table_name.substring(table_name.indexOf(".")+1);
|
431
|
+
table_name = table_name.substring(0, table_name.indexOf(".")+1);
|
432
|
+
}
|
433
|
+
|
427
434
|
DatabaseMetaData metadata = c.getMetaData();
|
428
435
|
String clzName = metadata.getClass().getName().toLowerCase();
|
429
436
|
boolean isDerby = clzName.indexOf("derby") != -1;
|
430
437
|
boolean isOracle = clzName.indexOf("oracle") != -1 || clzName.indexOf("oci") != -1;
|
431
|
-
String schemaName = null;
|
432
438
|
|
433
439
|
if(args.length>2) {
|
434
440
|
schemaName = args[2].toString();
|
@@ -453,7 +459,7 @@ public class JdbcAdapterInternalService implements BasicLibraryService {
|
|
453
459
|
}
|
454
460
|
|
455
461
|
RubyArray matchingTables = (RubyArray) tableLookupBlock(recv.getRuntime(),
|
456
|
-
|
462
|
+
c.getCatalog(), schemaName, table_name, new String[]{"TABLE","VIEW"}).call(c);
|
457
463
|
if (matchingTables.isEmpty()) {
|
458
464
|
throw new SQLException("Table " + table_name + " does not exist");
|
459
465
|
}
|
@@ -516,13 +522,13 @@ public class JdbcAdapterInternalService implements BasicLibraryService {
|
|
516
522
|
if((isDerby || isOracle) && def.length() > 0 && def.charAt(0) == '\'') {
|
517
523
|
def = def.substring(1, def.length()-1);
|
518
524
|
}
|
519
|
-
_def =
|
525
|
+
_def = RubyString.newUnicodeString(runtime, def);
|
520
526
|
}
|
521
527
|
IRubyObject config = rubyApi.getInstanceVariable(recv, "@config");
|
522
528
|
IRubyObject c = rubyApi.callMethod(jdbcCol, "new",
|
523
529
|
new IRubyObject[]{
|
524
|
-
|
525
|
-
|
530
|
+
config, RubyString.newUnicodeString(runtime, column_name),
|
531
|
+
_def, RubyString.newUnicodeString(runtime, type),
|
526
532
|
runtime.newBoolean(!rs.getString(18).trim().equals("NO"))
|
527
533
|
});
|
528
534
|
columns.add(c);
|
@@ -561,7 +567,7 @@ public class JdbcAdapterInternalService implements BasicLibraryService {
|
|
561
567
|
if (metadata.storesUpperCaseIdentifiers() && !HAS_SMALL.matcher(s1).find()) {
|
562
568
|
s1 = s1.toLowerCase();
|
563
569
|
}
|
564
|
-
keyNames.add(
|
570
|
+
keyNames.add(RubyString.newUnicodeString(runtime,s1));
|
565
571
|
}
|
566
572
|
|
567
573
|
try {
|
@@ -668,7 +674,7 @@ public class JdbcAdapterInternalService implements BasicLibraryService {
|
|
668
674
|
int[] col_scale = new int[col_count];
|
669
675
|
|
670
676
|
for(int i=0;i<col_count;i++) {
|
671
|
-
col_names[i] = RubyString.newUnicodeString(runtime, metadata.
|
677
|
+
col_names[i] = RubyString.newUnicodeString(runtime, metadata.getColumnLabel(i+1).toLowerCase());
|
672
678
|
col_types[i] = metadata.getColumnType(i+1);
|
673
679
|
col_scale[i] = metadata.getScale(i+1);
|
674
680
|
}
|
@@ -703,7 +709,7 @@ public class JdbcAdapterInternalService implements BasicLibraryService {
|
|
703
709
|
int[] col_scale = new int[col_count];
|
704
710
|
|
705
711
|
for(int i=0;i<col_count;i++) {
|
706
|
-
String s1 = metadata.
|
712
|
+
String s1 = metadata.getColumnLabel(i+1);
|
707
713
|
if(storesUpper && !HAS_SMALL.matcher(s1).find()) {
|
708
714
|
s1 = s1.toLowerCase();
|
709
715
|
}
|
@@ -741,7 +747,7 @@ public class JdbcAdapterInternalService implements BasicLibraryService {
|
|
741
747
|
int[] col_scale = new int[col_count];
|
742
748
|
|
743
749
|
for (int i=0;i<col_count;i++) {
|
744
|
-
col_names[i] = RubyString.newUnicodeString(runtime, metadata.
|
750
|
+
col_names[i] = RubyString.newUnicodeString(runtime, metadata.getColumnLabel(i+1));
|
745
751
|
col_types[i] = metadata.getColumnType(i+1);
|
746
752
|
col_scale[i] = metadata.getScale(i+1);
|
747
753
|
}
|
data/test/db/db2.rb
ADDED
data/test/db/oracle.rb
ADDED
data/test/jdbc_common.rb
CHANGED
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'active_record'
|
3
|
+
|
4
|
+
class AddNotNullColumnToTable < ActiveRecord::Migration
|
5
|
+
def self.up
|
6
|
+
add_column :entries, :color, :string, :null => false, :default => "blue"
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.down
|
10
|
+
remove_column :entries, :color
|
11
|
+
end
|
12
|
+
end
|
data/test/simple.rb
CHANGED
@@ -142,6 +142,11 @@ module SimpleTestMethods
|
|
142
142
|
assert ActiveRecord::Base.connected?
|
143
143
|
end
|
144
144
|
|
145
|
+
def test_add_not_null_column_to_table
|
146
|
+
AddNotNullColumnToTable.up
|
147
|
+
AddNotNullColumnToTable.down
|
148
|
+
end
|
149
|
+
|
145
150
|
class Animal < ActiveRecord::Base; end
|
146
151
|
def test_fetching_columns_for_nonexistent_table_should_raise
|
147
152
|
assert_raises(ActiveRecord::ActiveRecordError) do
|
metadata
CHANGED
@@ -1,33 +1,28 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.4
|
3
|
-
specification_version: 1
|
4
2
|
name: activerecord-jdbc-adapter
|
5
3
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.7.
|
7
|
-
date: 2008-01-06 00:00:00 -06:00
|
8
|
-
summary: JDBC adapter for ActiveRecord, for use within JRuby on Rails.
|
9
|
-
require_paths:
|
10
|
-
- lib
|
11
|
-
email: nick@nicksieger.com, ola.bini@gmail.com
|
12
|
-
homepage: http://jruby-extras.rubyforge.org/activerecord-jdbc-adapter
|
13
|
-
rubyforge_project: jruby-extras
|
14
|
-
description: ActiveRecord-JDBC is a database adapter for Rails' ActiveRecord component that can be used with JRuby[http://www.jruby.org/]. It allows use of virtually any JDBC-compliant database with your JRuby on Rails application.
|
15
|
-
autorequire:
|
16
|
-
default_executable:
|
17
|
-
bindir: bin
|
18
|
-
has_rdoc: true
|
19
|
-
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">"
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 0.0.0
|
24
|
-
version:
|
4
|
+
version: 0.7.2
|
25
5
|
platform: ruby
|
26
|
-
signing_key:
|
27
|
-
cert_chain:
|
28
|
-
post_install_message:
|
29
6
|
authors:
|
30
7
|
- Nick Sieger, Ola Bini and JRuby contributors
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-02-12 00:00:00 -06:00
|
13
|
+
default_executable:
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description: ActiveRecord-JDBC is a database adapter for Rails' ActiveRecord component that can be used with JRuby[http://www.jruby.org/]. It allows use of virtually any JDBC-compliant database with your JRuby on Rails application.
|
17
|
+
email: nick@nicksieger.com, ola.bini@gmail.com
|
18
|
+
executables: []
|
19
|
+
|
20
|
+
extensions: []
|
21
|
+
|
22
|
+
extra_rdoc_files:
|
23
|
+
- History.txt
|
24
|
+
- Manifest.txt
|
25
|
+
- README.txt
|
31
26
|
files:
|
32
27
|
- History.txt
|
33
28
|
- Manifest.txt
|
@@ -59,6 +54,7 @@ files:
|
|
59
54
|
- lib/jdbc_adapter/jdbc_adapter_internal.jar
|
60
55
|
- test/activerecord/connection_adapters/type_conversion_test.rb
|
61
56
|
- test/activerecord/connections/native_jdbc_mysql/connection.rb
|
57
|
+
- test/db/db2.rb
|
62
58
|
- test/db/derby.rb
|
63
59
|
- test/db/h2.rb
|
64
60
|
- test/db/hsqldb.rb
|
@@ -66,7 +62,9 @@ files:
|
|
66
62
|
- test/db/jndi_config.rb
|
67
63
|
- test/db/logger.rb
|
68
64
|
- test/db/mysql.rb
|
65
|
+
- test/db/oracle.rb
|
69
66
|
- test/db/postgres.rb
|
67
|
+
- test/db2_simple_test.rb
|
70
68
|
- test/derby_multibyte_test.rb
|
71
69
|
- test/derby_simple_test.rb
|
72
70
|
- test/generic_jdbc_connection_test.rb
|
@@ -84,11 +82,13 @@ files:
|
|
84
82
|
- test/minirunit/testMysql.rb
|
85
83
|
- test/minirunit/testRawSelect.rb
|
86
84
|
- test/minirunit.rb
|
85
|
+
- test/models/add_not_null_column_to_table.rb
|
87
86
|
- test/models/auto_id.rb
|
88
87
|
- test/models/data_types.rb
|
89
88
|
- test/models/entry.rb
|
90
89
|
- test/mysql_multibyte_test.rb
|
91
90
|
- test/mysql_simple_test.rb
|
91
|
+
- test/oracle_simple_test.rb
|
92
92
|
- test/postgres_simple_test.rb
|
93
93
|
- test/simple.rb
|
94
94
|
- src/java/jdbc_adapter/JdbcAdapterInternalService.java
|
@@ -96,20 +96,32 @@ files:
|
|
96
96
|
- src/java/jdbc_adapter/JdbcDerbySpec.java
|
97
97
|
- src/java/jdbc_adapter/JdbcMySQLSpec.java
|
98
98
|
- src/java/jdbc_adapter/SQLBlock.java
|
99
|
-
|
100
|
-
|
99
|
+
has_rdoc: true
|
100
|
+
homepage: http://jruby-extras.rubyforge.org/activerecord-jdbc-adapter
|
101
|
+
post_install_message:
|
101
102
|
rdoc_options:
|
102
103
|
- --main
|
103
104
|
- README.txt
|
104
|
-
|
105
|
-
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
105
|
+
require_paths:
|
106
|
+
- lib
|
107
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: "0"
|
112
|
+
version:
|
113
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: "0"
|
118
|
+
version:
|
112
119
|
requirements: []
|
113
120
|
|
114
|
-
|
121
|
+
rubyforge_project: jruby-extras
|
122
|
+
rubygems_version: 1.0.1
|
123
|
+
signing_key:
|
124
|
+
specification_version: 2
|
125
|
+
summary: JDBC adapter for ActiveRecord, for use within JRuby on Rails.
|
126
|
+
test_files: []
|
115
127
|
|