activerecord-jdbc-adapter 0.7.1 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
|