activerecord-jdbc-adapter 0.9.2 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +163 -0
- data/Manifest.txt +130 -65
- data/README.txt +64 -72
- data/lib/active_record/connection_adapters/derby_adapter.rb +1 -13
- data/lib/active_record/connection_adapters/h2_adapter.rb +1 -13
- data/lib/active_record/connection_adapters/hsqldb_adapter.rb +1 -13
- data/lib/active_record/connection_adapters/informix_adapter.rb +1 -1
- data/lib/active_record/connection_adapters/jdbc_adapter.rb +1 -633
- data/lib/active_record/connection_adapters/jndi_adapter.rb +1 -1
- data/lib/active_record/connection_adapters/mssql_adapter.rb +1 -0
- data/lib/active_record/connection_adapters/mysql2_adapter.rb +1 -0
- data/lib/active_record/connection_adapters/mysql_adapter.rb +1 -13
- data/lib/active_record/connection_adapters/oracle_adapter.rb +1 -1
- data/lib/active_record/connection_adapters/postgresql_adapter.rb +1 -13
- data/lib/active_record/connection_adapters/sqlite3_adapter.rb +1 -13
- data/lib/activerecord-jdbc-adapter.rb +6 -0
- data/lib/arel/engines/sql/compilers/db2_compiler.rb +9 -0
- data/lib/arel/engines/sql/compilers/derby_compiler.rb +6 -0
- data/lib/arel/engines/sql/compilers/h2_compiler.rb +6 -0
- data/lib/arel/engines/sql/compilers/hsqldb_compiler.rb +15 -0
- data/lib/arel/engines/sql/compilers/jdbc_compiler.rb +6 -0
- data/lib/arel/engines/sql/compilers/mssql_compiler.rb +46 -0
- data/lib/arel/visitors/db2.rb +15 -0
- data/lib/arel/visitors/derby.rb +19 -0
- data/lib/arel/visitors/hsqldb.rb +24 -0
- data/lib/arel/visitors/mssql.rb +44 -0
- data/lib/arjdbc.rb +29 -0
- data/lib/arjdbc/db2.rb +2 -0
- data/lib/arjdbc/db2/adapter.rb +413 -0
- data/lib/arjdbc/derby.rb +7 -0
- data/lib/{jdbc_adapter/jdbc_derby.rb → arjdbc/derby/adapter.rb} +58 -132
- data/lib/arjdbc/derby/connection_methods.rb +18 -0
- data/lib/arjdbc/discover.rb +92 -0
- data/lib/arjdbc/firebird.rb +2 -0
- data/lib/{jdbc_adapter/jdbc_firebird.rb → arjdbc/firebird/adapter.rb} +36 -14
- data/lib/arjdbc/h2.rb +4 -0
- data/lib/arjdbc/h2/adapter.rb +36 -0
- data/lib/arjdbc/h2/connection_methods.rb +12 -0
- data/lib/arjdbc/hsqldb.rb +4 -0
- data/lib/{jdbc_adapter/jdbc_hsqldb.rb → arjdbc/hsqldb/adapter.rb} +34 -62
- data/lib/arjdbc/hsqldb/connection_methods.rb +14 -0
- data/lib/arjdbc/informix.rb +3 -0
- data/lib/{jdbc_adapter/jdbc_informix.rb → arjdbc/informix/adapter.rb} +10 -19
- data/lib/arjdbc/informix/connection_methods.rb +10 -0
- data/lib/arjdbc/jdbc.rb +2 -0
- data/lib/arjdbc/jdbc/adapter.rb +285 -0
- data/lib/arjdbc/jdbc/adapter_java.jar +0 -0
- data/lib/arjdbc/jdbc/callbacks.rb +44 -0
- data/lib/arjdbc/jdbc/column.rb +38 -0
- data/lib/arjdbc/jdbc/compatibility.rb +51 -0
- data/lib/arjdbc/jdbc/connection.rb +128 -0
- data/lib/arjdbc/jdbc/connection_methods.rb +16 -0
- data/lib/arjdbc/jdbc/core_ext.rb +24 -0
- data/lib/arjdbc/jdbc/discover.rb +18 -0
- data/lib/arjdbc/jdbc/driver.rb +44 -0
- data/lib/arjdbc/jdbc/extension.rb +47 -0
- data/lib/arjdbc/jdbc/java.rb +14 -0
- data/lib/{jdbc_adapter → arjdbc/jdbc}/jdbc.rake +36 -26
- data/lib/{jdbc_adapter → arjdbc/jdbc}/missing_functionality_helper.rb +5 -5
- data/lib/arjdbc/jdbc/quoted_primary_key.rb +28 -0
- data/lib/arjdbc/jdbc/railtie.rb +9 -0
- data/lib/arjdbc/jdbc/rake_tasks.rb +10 -0
- data/lib/arjdbc/jdbc/require_driver.rb +16 -0
- data/lib/arjdbc/jdbc/type_converter.rb +126 -0
- data/lib/arjdbc/mimer.rb +2 -0
- data/lib/{jdbc_adapter/jdbc_mimer.rb → arjdbc/mimer/adapter.rb} +17 -16
- data/lib/arjdbc/mssql.rb +4 -0
- data/lib/arjdbc/mssql/adapter.rb +472 -0
- data/lib/arjdbc/mssql/connection_methods.rb +30 -0
- data/lib/arjdbc/mssql/limit_helpers.rb +92 -0
- data/lib/{jdbc_adapter → arjdbc/mssql}/tsql_helper.rb +2 -1
- data/lib/arjdbc/mysql.rb +4 -0
- data/lib/arjdbc/mysql/adapter.rb +416 -0
- data/lib/arjdbc/mysql/connection_methods.rb +27 -0
- data/lib/arjdbc/oracle.rb +3 -0
- data/lib/{jdbc_adapter/jdbc_oracle.rb → arjdbc/oracle/adapter.rb} +68 -33
- data/lib/arjdbc/oracle/connection_methods.rb +11 -0
- data/lib/arjdbc/postgresql.rb +4 -0
- data/lib/{jdbc_adapter/jdbc_postgre.rb → arjdbc/postgresql/adapter.rb} +147 -72
- data/lib/arjdbc/postgresql/connection_methods.rb +21 -0
- data/lib/arjdbc/sqlite3.rb +4 -0
- data/lib/arjdbc/sqlite3/adapter.rb +381 -0
- data/lib/arjdbc/sqlite3/connection_methods.rb +34 -0
- data/lib/arjdbc/sybase.rb +2 -0
- data/lib/arjdbc/sybase/adapter.rb +46 -0
- data/lib/arjdbc/version.rb +8 -0
- data/lib/generators/jdbc/jdbc_generator.rb +9 -0
- data/lib/jdbc_adapter.rb +2 -27
- data/lib/jdbc_adapter/rake_tasks.rb +3 -10
- data/lib/jdbc_adapter/version.rb +3 -5
- data/lib/pg.rb +23 -1
- data/rails_generators/jdbc_generator.rb +2 -2
- data/rails_generators/templates/{jdbc.rb → config/initializers/jdbc.rb} +1 -1
- data/rails_generators/templates/{jdbc.rake → lib/tasks/jdbc.rake} +2 -2
- data/rakelib/compile.rake +5 -3
- data/rakelib/db.rake +19 -0
- data/rakelib/package.rake +12 -6
- data/rakelib/test.rake +24 -14
- data/src/java/{jdbc_adapter/JdbcDerbySpec.java → arjdbc/derby/DerbyModule.java} +63 -34
- data/src/java/arjdbc/h2/H2RubyJdbcConnection.java +70 -0
- data/src/java/{jdbc_adapter/MssqlRubyJdbcConnection.java → arjdbc/informix/InformixRubyJdbcConnection.java} +15 -12
- data/src/java/{jdbc_adapter/JdbcAdapterInternalService.java → arjdbc/jdbc/AdapterJavaService.java} +21 -8
- data/src/java/{jdbc_adapter → arjdbc/jdbc}/JdbcConnectionFactory.java +6 -6
- data/src/java/{jdbc_adapter → arjdbc/jdbc}/RubyJdbcConnection.java +210 -67
- data/src/java/arjdbc/jdbc/SQLBlock.java +48 -0
- data/src/java/arjdbc/mssql/MssqlRubyJdbcConnection.java +127 -0
- data/src/java/{jdbc_adapter/JdbcMySQLSpec.java → arjdbc/mysql/MySQLModule.java} +12 -12
- data/src/java/arjdbc/mysql/MySQLRubyJdbcConnection.java +87 -0
- data/src/java/arjdbc/oracle/OracleRubyJdbcConnection.java +85 -0
- data/src/java/{jdbc_adapter/PostgresRubyJdbcConnection.java → arjdbc/postgresql/PostgresqlRubyJdbcConnection.java} +11 -9
- data/src/java/arjdbc/sqlite3/Sqlite3RubyJdbcConnection.java +64 -0
- data/test/abstract_db_create.rb +98 -19
- data/test/activerecord/connection_adapters/type_conversion_test.rb +1 -1
- data/test/db/db2.rb +4 -2
- data/test/db/derby.rb +12 -14
- data/test/db/hsqldb.rb +3 -2
- data/test/db/jndi_config.rb +22 -12
- data/test/db/mssql.rb +5 -5
- data/test/db/sqlite3.rb +2 -6
- data/test/db2_simple_test.rb +56 -0
- data/test/derby_migration_test.rb +50 -3
- data/test/derby_simple_test.rb +87 -0
- data/test/generic_jdbc_connection_test.rb +21 -1
- data/test/h2_simple_test.rb +35 -0
- data/test/jdbc_common.rb +4 -5
- data/test/jndi_callbacks_test.rb +3 -1
- data/test/jndi_test.rb +1 -11
- data/test/models/entry.rb +20 -0
- data/test/models/mixed_case.rb +7 -2
- data/test/models/string_id.rb +18 -0
- data/test/mssql_db_create_test.rb +26 -0
- data/test/mssql_identity_insert_test.rb +19 -0
- data/test/mssql_legacy_types_test.rb +58 -0
- data/test/mssql_limit_offset_test.rb +136 -0
- data/test/mssql_multibyte_test.rb +18 -0
- data/test/mssql_simple_test.rb +49 -0
- data/test/mysql_db_create_test.rb +8 -6
- data/test/mysql_info_test.rb +123 -0
- data/test/mysql_simple_test.rb +19 -1
- data/test/oracle_simple_test.rb +9 -20
- data/test/oracle_specific_test.rb +83 -0
- data/test/pick_rails_version.rb +3 -0
- data/test/postgres_db_create_test.rb +11 -0
- data/test/postgres_drop_db_test.rb +16 -0
- data/test/postgres_mixed_case_test.rb +11 -1
- data/test/postgres_nonseq_pkey_test.rb +0 -2
- data/test/postgres_schema_search_path_test.rb +44 -0
- data/test/postgres_simple_test.rb +53 -0
- data/test/postgres_table_alias_length_test.rb +15 -0
- data/test/simple.rb +103 -9
- data/test/sqlite3_simple_test.rb +1 -0
- data/test/sybase_jtds_simple_test.rb +22 -0
- metadata +239 -137
- data/lib/active_record/connection_adapters/cachedb_adapter.rb +0 -1
- data/lib/active_record/connection_adapters/jdbc_adapter_spec.rb +0 -26
- data/lib/jdbc_adapter/jdbc_adapter_internal.jar +0 -0
- data/lib/jdbc_adapter/jdbc_cachedb.rb +0 -33
- data/lib/jdbc_adapter/jdbc_db2.rb +0 -191
- data/lib/jdbc_adapter/jdbc_mssql.rb +0 -333
- data/lib/jdbc_adapter/jdbc_mysql.rb +0 -236
- data/lib/jdbc_adapter/jdbc_sqlite3.rb +0 -379
- data/lib/jdbc_adapter/jdbc_sybase.rb +0 -50
- data/src/java/jdbc_adapter/SQLBlock.java +0 -27
- data/src/java/jdbc_adapter/Sqlite3RubyJdbcConnection.java +0 -41
- data/test/cachedb_simple_test.rb +0 -6
- data/test/db/cachedb.rb +0 -9
- data/test/jdbc_adapter/jdbc_db2_test.rb +0 -26
- data/test/jdbc_adapter/jdbc_sybase_test.rb +0 -33
- data/test/minirunit.rb +0 -109
- data/test/minirunit/testConnect.rb +0 -14
- data/test/minirunit/testH2.rb +0 -73
- data/test/minirunit/testHsqldb.rb +0 -73
- data/test/minirunit/testLoadActiveRecord.rb +0 -3
- data/test/minirunit/testMysql.rb +0 -83
- data/test/minirunit/testRawSelect.rb +0 -24
data/History.txt
CHANGED
@@ -1,3 +1,166 @@
|
|
1
|
+
== 1.1.0 (12/09/10)
|
2
|
+
|
3
|
+
- Don't narrow platform to '-java' only: revert back to 0.9.2 where
|
4
|
+
ar-jdbc can be installed under any Ruby (for easier Bundler/Warbler
|
5
|
+
usage and less confusion on rubygems.org).
|
6
|
+
- Upgrade MySQL execute code to use RETURN_GENERATED_KEYS.
|
7
|
+
- Upgrade to MySQL driver version 5.1.13
|
8
|
+
- Add multi-statement support, idea from oruen. For databases that
|
9
|
+
support it, you can now do:
|
10
|
+
results = Model.connection.execute("select 1; select 2")
|
11
|
+
and receive back an array of multiple result set arrays. For use with
|
12
|
+
MySQL, you need to add
|
13
|
+
options:
|
14
|
+
allowMultiQueries: true
|
15
|
+
in database.yml.
|
16
|
+
- ACTIVERECORD_JDBC-144: Fix limits appearing in schema dump for some
|
17
|
+
datatypes (Uwe Kubosch)
|
18
|
+
- Fixes for DB2 limit/offset
|
19
|
+
- Fix rake db:create for 'jdbc' adapter (Joeri Samson)
|
20
|
+
- add create/drop database methods to h2 adapter (sahglie)
|
21
|
+
- Use connection getDatabaseProductName instead of getClass.getName
|
22
|
+
when detecting JNDI dialects (Denis Odorcic)
|
23
|
+
- ACTIVERECORD_JDBC-146: Fix create_table to not append encoding (Marc Slemko)
|
24
|
+
- All green on SQLite3 Rails master ActiveRecord tests
|
25
|
+
- ACTIVERECORD_JDBC-140: Sync postgres add/change column code from Rails master
|
26
|
+
- ACTIVERECORD_JDBC-139: TEXT/DATE on PostgreSQL should not have limits
|
27
|
+
|
28
|
+
== 1.0.3 (11/29/10)
|
29
|
+
|
30
|
+
- ACTIVERECORD_JDBC-143: Implement table_exists? fixing association
|
31
|
+
table names with schema prefixes
|
32
|
+
- Cleanup of column code for hsqldb (Denis Odorcic)
|
33
|
+
- Rails 3.0.3 support - add Arel 2 visitors for all adapters
|
34
|
+
- Fix MySQL date types to not have limits (Chris Lowder)
|
35
|
+
- ACTIVERECORD_JDBC-141: Better schema support in H2
|
36
|
+
|
37
|
+
== 1.0.2
|
38
|
+
|
39
|
+
- ACTIVERECORD_JDBC-134: Fix conflicting adapter/column superclasses
|
40
|
+
- ACTIVERECORD_JDBC-135: Fix regression on PG with boolean and :limit
|
41
|
+
- Slew of Derby fixes courtesy of Denis Odorcic
|
42
|
+
|
43
|
+
== 1.0.1
|
44
|
+
|
45
|
+
- Fix db:test:purge issue affecting all adapters in 1.0.0 due to
|
46
|
+
incorrect fix to JRUBY-5081 in 8b4b9c5
|
47
|
+
|
48
|
+
== 1.0.0
|
49
|
+
|
50
|
+
- Thanks to David Kellum, Dmitry Denisov, Dwayne Litzenberger, Gregor
|
51
|
+
Schmidt, James Walker, John Duff, Joshua Suggs, Nicholas J Kreucher,
|
52
|
+
Peter Donald, Geoff Longman, Uwe Kubosch, Youhei Kondou, Michael
|
53
|
+
Pitman, Alex B, and Ryan Bell for their contributions to this
|
54
|
+
release.
|
55
|
+
- BIG set of DB2 updates (Thanks Nick Kreucher)
|
56
|
+
- Deprecate jdbc_adapter/rake_tasks
|
57
|
+
- (1.0.0.beta1)
|
58
|
+
- Make database-specific extensions only load when necessary
|
59
|
+
- Allow for discovery of database extensions outside of ar-jdbc
|
60
|
+
proper. This should allow for custom database development to be
|
61
|
+
developed and released without relying on AR-JDBC core.
|
62
|
+
- Get AR's own tests running as close to 100% as possible. MySQL is
|
63
|
+
currently 100%, SQLite3 is close.
|
64
|
+
- JRUBY-4876: Bump up Derby's max index name length (Uwe Kubosch)
|
65
|
+
- (1.0.0.beta2)
|
66
|
+
- 98 commits since beta1
|
67
|
+
- MSSQL updates from dlitz and realityforge
|
68
|
+
- ACTIVERECORD_JDBC-131: Fix string slug issue for DB2 (Youhei Kondou)
|
69
|
+
- JRUBY-1642: Don't use H2 INFORMATION_SCHEMA in table or column
|
70
|
+
searches
|
71
|
+
- JRUBY-4972: Attempt to deal with type(0)/:limit => 0 by not setting
|
72
|
+
it808e213
|
73
|
+
- JRUBY-5040: Fix issue with limits on timestamps in MySQL
|
74
|
+
- JRUBY-3555: Allow setting Derby schema with 'schema:' option
|
75
|
+
- ACTIVERECORD_JDBC-98: Make sure we actuall raise an error when
|
76
|
+
inappropriately configured
|
77
|
+
- ACTIVERECORD_JDBC-112: Add schema dumper tests for already-fixed
|
78
|
+
MySQL type limits
|
79
|
+
- ACTIVERECORD_JDBC-113: Fix PG float precision issue
|
80
|
+
- ACTIVERECORD_JDBC-103: Fix decimal options for PG add/change column
|
81
|
+
(Michael Pitman)
|
82
|
+
- ACTIVERECORD_JDBC-127: Fix quoting of Date vs. Time(stamp) for
|
83
|
+
Oracle (Lenny Marks)
|
84
|
+
- Oracle: Sort out the NUMBER vs NUMBER(x) vs NUMBER(x,y) situation.
|
85
|
+
- JRUBY-3051: Think we finally got the PG mixed-case patches applied.
|
86
|
+
- JRUBY-5081: Consolidate code for dropping DB via postgres
|
87
|
+
- ACTIVERECORD_JDBC-101: Add override of LONGVARCHAR => CLOB for
|
88
|
+
informix
|
89
|
+
- ACTIVERECORD_JDBC-107: Fix MySQL update_all issue on AR 2.3
|
90
|
+
- ACTIVERECORD_JDBC-124: Filter out special _row_num column
|
91
|
+
- ACTIVERECORD_JDBC-126: Fix sql 2000 limit/offset per Michael Pitman
|
92
|
+
- ACTIVERECORD_JDBC-125: Add tweak to limit/offset code for HABTM
|
93
|
+
queries (alex b)
|
94
|
+
- ACTIVERECORD_JDBC-129: Don't have limits for text, binary or bit
|
95
|
+
fields
|
96
|
+
- (1.0.0 final)
|
97
|
+
- Fix a few more SQLite3 AR tests
|
98
|
+
- SQLite3: handle ":memory:" database
|
99
|
+
- Release new SQLite3 driver 3.6.14.2 and new Derby driver 10.6.2.1
|
100
|
+
|
101
|
+
== 0.9.7
|
102
|
+
|
103
|
+
- JRUBY-4781: Fix multiple database connection collision issue w/
|
104
|
+
Oracle
|
105
|
+
- ACTIVERECORD_JDBC-115: Support SAVEPOINTS for MySQL and PG so that
|
106
|
+
nested transactions can be faked
|
107
|
+
- ACTIVERECORD_JDBC-116: Handle schema.table better for MySQL (thanks
|
108
|
+
Dilshod Mukhtarov)
|
109
|
+
- Fix 'Wrong # of arguments (2 for 1)' issue with #create_database for
|
110
|
+
MySQL and AR 3.0
|
111
|
+
- SQLServer 2000 support (thanks Jay McGaffigan)
|
112
|
+
|
113
|
+
== 0.9.6
|
114
|
+
|
115
|
+
- The Oracle release!
|
116
|
+
- Oracle should be working much better with this release. Also updated
|
117
|
+
to work with Rails 3.
|
118
|
+
- Get all unit tests running cleanly on Oracle, fixing previous
|
119
|
+
datetime/timezone issues.
|
120
|
+
- ACTIVERECORD_JDBC-83: Add :sequence_start_value option to
|
121
|
+
create_table, following oracle_enhanced adapter
|
122
|
+
- ACTIVERECORD_JDBC-33: Don't double-quote table names in oracle
|
123
|
+
- ACTIVERECORD_JDBC-17: Fix Oracle primary keys so that /^NUMBER$/ => :integer
|
124
|
+
- Fix remaining blockers ACTIVERECORD_JDBC-82, JRUBY-3675,
|
125
|
+
ACTIVERECORD_JDBC-22, ACTIVERECORD_JDBC-27, JRUBY-4759
|
126
|
+
|
127
|
+
== 0.9.5
|
128
|
+
|
129
|
+
- The MSSQL release, courtesy of Mike Williams and Lonely
|
130
|
+
Planet.
|
131
|
+
- JRuby + AR-JDBC is now seen as the hassle-free way of using Rails
|
132
|
+
with SQLServer!
|
133
|
+
- Many fixes for MSSQL, including ACTIVERECORD_JDBC-18,
|
134
|
+
ACTIVERECORD_JDBC-41, ACTIVERECORD_JDBC-56, ACTIVERECORD_JDBC-94,
|
135
|
+
ACTIVERECORD_JDBC-99, JRUBY-3805, JRUBY-3793, JRUBY-4221
|
136
|
+
- All tests pass on Rails 3.0.0.beta3!
|
137
|
+
|
138
|
+
== 0.9.4
|
139
|
+
|
140
|
+
- ACTIVERECORD_JDBC-96: DB2 JdbcSpec cannot dump schema correctly
|
141
|
+
(Youhei Kondou)
|
142
|
+
- ACTIVERECORD_JDBC-97: Dont use Rails 3 deprecated constants (David
|
143
|
+
Calavera)
|
144
|
+
- Updates for rake db:schema:dump compatibility with Rails 2.3+ and
|
145
|
+
MySQL (Joakim Kolsj�)
|
146
|
+
- Rails 3.0.0.beta2 compatibility
|
147
|
+
- Return of Derby, H2, Hsqldb support (requires AR >= 3.0.0.beta2)
|
148
|
+
|
149
|
+
== 0.9.3
|
150
|
+
|
151
|
+
- Rails 3 compatibility
|
152
|
+
- PLEASE NOTE: ActiveRecord in Rails 3 has changed in a way that
|
153
|
+
doesn't allow non-standard DBs (such as the Derby and H2 embedded
|
154
|
+
DBs) to work. We're investigating the effort required to support
|
155
|
+
these databases and hope to have something for a future release.
|
156
|
+
- ACTIVERECORD_JDBC-91: Fix schema search path for PostgreSQL (Alex
|
157
|
+
Kuebo)
|
158
|
+
- ACTIVERECORD_JDBC-87: DB2 ID insert fix (Youhei Kondou)
|
159
|
+
- ACTIVERECORD_JDBC-90: MSSQL fix for DATEs (jlangenauer)
|
160
|
+
- ACTIVERECORD_JDBC-93: Fix string IDs for sqlite3, hsql/h2 (moser)
|
161
|
+
- ACTIVERECORD_JDBC-86: Fix Derby queries starting with VALUES (Dwayne Litzenberger)
|
162
|
+
- ACTIVERECORD_JDBC-95: Fix INSERT ... RETURNING for PostgreSQL
|
163
|
+
|
1
164
|
== 0.9.2
|
2
165
|
|
3
166
|
- The main, highly awaited fix for this release is a solution to the
|
data/Manifest.txt
CHANGED
@@ -3,56 +3,94 @@ Manifest.txt
|
|
3
3
|
README.txt
|
4
4
|
Rakefile
|
5
5
|
LICENSE.txt
|
6
|
-
lib/
|
6
|
+
lib/activerecord-jdbc-adapter.rb
|
7
|
+
lib/arjdbc.rb
|
8
|
+
lib/jdbc_adapter.rb
|
9
|
+
lib/pg.rb
|
7
10
|
lib/active_record/connection_adapters/derby_adapter.rb
|
8
11
|
lib/active_record/connection_adapters/h2_adapter.rb
|
9
12
|
lib/active_record/connection_adapters/hsqldb_adapter.rb
|
10
13
|
lib/active_record/connection_adapters/informix_adapter.rb
|
11
14
|
lib/active_record/connection_adapters/jdbc_adapter.rb
|
12
|
-
lib/active_record/connection_adapters/jdbc_adapter_spec.rb
|
13
15
|
lib/active_record/connection_adapters/jndi_adapter.rb
|
16
|
+
lib/active_record/connection_adapters/mssql_adapter.rb
|
17
|
+
lib/active_record/connection_adapters/mysql2_adapter.rb
|
14
18
|
lib/active_record/connection_adapters/mysql_adapter.rb
|
15
19
|
lib/active_record/connection_adapters/oracle_adapter.rb
|
16
20
|
lib/active_record/connection_adapters/postgresql_adapter.rb
|
17
21
|
lib/active_record/connection_adapters/sqlite3_adapter.rb
|
18
|
-
lib/
|
19
|
-
lib/
|
20
|
-
lib/
|
21
|
-
lib/
|
22
|
-
lib/
|
23
|
-
lib/
|
24
|
-
lib/
|
25
|
-
lib/
|
26
|
-
lib/
|
27
|
-
lib/
|
28
|
-
lib/
|
29
|
-
lib/
|
30
|
-
lib/
|
31
|
-
lib/
|
22
|
+
lib/arel/engines/sql/compilers/db2_compiler.rb
|
23
|
+
lib/arel/engines/sql/compilers/derby_compiler.rb
|
24
|
+
lib/arel/engines/sql/compilers/h2_compiler.rb
|
25
|
+
lib/arel/engines/sql/compilers/hsqldb_compiler.rb
|
26
|
+
lib/arel/engines/sql/compilers/jdbc_compiler.rb
|
27
|
+
lib/arel/engines/sql/compilers/mssql_compiler.rb
|
28
|
+
lib/arel/visitors/db2.rb
|
29
|
+
lib/arel/visitors/derby.rb
|
30
|
+
lib/arel/visitors/hsqldb.rb
|
31
|
+
lib/arel/visitors/mssql.rb
|
32
|
+
lib/arjdbc/db2.rb
|
33
|
+
lib/arjdbc/derby.rb
|
34
|
+
lib/arjdbc/discover.rb
|
35
|
+
lib/arjdbc/firebird.rb
|
36
|
+
lib/arjdbc/h2.rb
|
37
|
+
lib/arjdbc/hsqldb.rb
|
38
|
+
lib/arjdbc/informix.rb
|
39
|
+
lib/arjdbc/jdbc.rb
|
40
|
+
lib/arjdbc/mimer.rb
|
41
|
+
lib/arjdbc/mssql.rb
|
42
|
+
lib/arjdbc/mysql.rb
|
43
|
+
lib/arjdbc/oracle.rb
|
44
|
+
lib/arjdbc/postgresql.rb
|
45
|
+
lib/arjdbc/sqlite3.rb
|
46
|
+
lib/arjdbc/sybase.rb
|
47
|
+
lib/arjdbc/version.rb
|
48
|
+
lib/arjdbc/db2/adapter.rb
|
49
|
+
lib/arjdbc/derby/adapter.rb
|
50
|
+
lib/arjdbc/derby/connection_methods.rb
|
51
|
+
lib/arjdbc/firebird/adapter.rb
|
52
|
+
lib/arjdbc/h2/adapter.rb
|
53
|
+
lib/arjdbc/h2/connection_methods.rb
|
54
|
+
lib/arjdbc/hsqldb/adapter.rb
|
55
|
+
lib/arjdbc/hsqldb/connection_methods.rb
|
56
|
+
lib/arjdbc/informix/adapter.rb
|
57
|
+
lib/arjdbc/informix/connection_methods.rb
|
58
|
+
lib/arjdbc/jdbc/adapter.rb
|
59
|
+
lib/arjdbc/jdbc/callbacks.rb
|
60
|
+
lib/arjdbc/jdbc/column.rb
|
61
|
+
lib/arjdbc/jdbc/compatibility.rb
|
62
|
+
lib/arjdbc/jdbc/connection.rb
|
63
|
+
lib/arjdbc/jdbc/connection_methods.rb
|
64
|
+
lib/arjdbc/jdbc/core_ext.rb
|
65
|
+
lib/arjdbc/jdbc/discover.rb
|
66
|
+
lib/arjdbc/jdbc/driver.rb
|
67
|
+
lib/arjdbc/jdbc/extension.rb
|
68
|
+
lib/arjdbc/jdbc/java.rb
|
69
|
+
lib/arjdbc/jdbc/missing_functionality_helper.rb
|
70
|
+
lib/arjdbc/jdbc/quoted_primary_key.rb
|
71
|
+
lib/arjdbc/jdbc/railtie.rb
|
72
|
+
lib/arjdbc/jdbc/rake_tasks.rb
|
73
|
+
lib/arjdbc/jdbc/require_driver.rb
|
74
|
+
lib/arjdbc/jdbc/type_converter.rb
|
75
|
+
lib/arjdbc/mimer/adapter.rb
|
76
|
+
lib/arjdbc/mssql/adapter.rb
|
77
|
+
lib/arjdbc/mssql/connection_methods.rb
|
78
|
+
lib/arjdbc/mssql/limit_helpers.rb
|
79
|
+
lib/arjdbc/mssql/tsql_helper.rb
|
80
|
+
lib/arjdbc/mysql/adapter.rb
|
81
|
+
lib/arjdbc/mysql/connection_methods.rb
|
82
|
+
lib/arjdbc/oracle/adapter.rb
|
83
|
+
lib/arjdbc/oracle/connection_methods.rb
|
84
|
+
lib/arjdbc/postgresql/adapter.rb
|
85
|
+
lib/arjdbc/postgresql/connection_methods.rb
|
86
|
+
lib/arjdbc/sqlite3/adapter.rb
|
87
|
+
lib/arjdbc/sqlite3/connection_methods.rb
|
88
|
+
lib/arjdbc/sybase/adapter.rb
|
89
|
+
lib/generators/jdbc/jdbc_generator.rb
|
32
90
|
lib/jdbc_adapter/rake_tasks.rb
|
33
|
-
lib/jdbc_adapter/tsql_helper.rb
|
34
91
|
lib/jdbc_adapter/version.rb
|
35
|
-
lib/
|
36
|
-
lib/pg.rb
|
37
|
-
lib/jdbc_adapter/jdbc_adapter_internal.jar
|
92
|
+
lib/arjdbc/jdbc/adapter_java.jar
|
38
93
|
test/abstract_db_create.rb
|
39
|
-
test/activerecord/connection_adapters/type_conversion_test.rb
|
40
|
-
test/activerecord/connections/native_jdbc_mysql/connection.rb
|
41
|
-
test/cachedb_simple_test.rb
|
42
|
-
test/db/cachedb.rb
|
43
|
-
test/db/db2.rb
|
44
|
-
test/db/derby.rb
|
45
|
-
test/db/h2.rb
|
46
|
-
test/db/hsqldb.rb
|
47
|
-
test/db/informix.rb
|
48
|
-
test/db/jdbc.rb
|
49
|
-
test/db/jndi_config.rb
|
50
|
-
test/db/logger.rb
|
51
|
-
test/db/mssql.rb
|
52
|
-
test/db/mysql.rb
|
53
|
-
test/db/oracle.rb
|
54
|
-
test/db/postgres.rb
|
55
|
-
test/db/sqlite3.rb
|
56
94
|
test/db2_simple_test.rb
|
57
95
|
test/derby_migration_test.rb
|
58
96
|
test/derby_multibyte_test.rb
|
@@ -63,55 +101,82 @@ test/has_many_through.rb
|
|
63
101
|
test/helper.rb
|
64
102
|
test/hsqldb_simple_test.rb
|
65
103
|
test/informix_simple_test.rb
|
66
|
-
test/jdbc_adapter/jdbc_db2_test.rb
|
67
|
-
test/jdbc_adapter/jdbc_sybase_test.rb
|
68
104
|
test/jdbc_common.rb
|
69
105
|
test/jndi_callbacks_test.rb
|
70
106
|
test/jndi_test.rb
|
71
107
|
test/manualTestDatabase.rb
|
72
|
-
test/
|
73
|
-
test/
|
74
|
-
test/
|
75
|
-
test/
|
76
|
-
test/
|
77
|
-
test/minirunit/testRawSelect.rb
|
78
|
-
test/minirunit.rb
|
79
|
-
test/models/add_not_null_column_to_table.rb
|
80
|
-
test/models/auto_id.rb
|
81
|
-
test/models/data_types.rb
|
82
|
-
test/models/entry.rb
|
83
|
-
test/models/mixed_case.rb
|
84
|
-
test/models/reserved_word.rb
|
85
|
-
test/models/validates_uniqueness_of_string.rb
|
108
|
+
test/mssql_db_create_test.rb
|
109
|
+
test/mssql_identity_insert_test.rb
|
110
|
+
test/mssql_legacy_types_test.rb
|
111
|
+
test/mssql_limit_offset_test.rb
|
112
|
+
test/mssql_multibyte_test.rb
|
86
113
|
test/mssql_simple_test.rb
|
87
114
|
test/mysql_db_create_test.rb
|
115
|
+
test/mysql_info_test.rb
|
88
116
|
test/mysql_multibyte_test.rb
|
89
117
|
test/mysql_nonstandard_primary_key_test.rb
|
90
118
|
test/mysql_simple_test.rb
|
91
119
|
test/oracle_simple_test.rb
|
120
|
+
test/oracle_specific_test.rb
|
121
|
+
test/pick_rails_version.rb
|
92
122
|
test/postgres_db_create_test.rb
|
123
|
+
test/postgres_drop_db_test.rb
|
93
124
|
test/postgres_mixed_case_test.rb
|
94
125
|
test/postgres_nonseq_pkey_test.rb
|
95
126
|
test/postgres_reserved_test.rb
|
127
|
+
test/postgres_schema_search_path_test.rb
|
96
128
|
test/postgres_simple_test.rb
|
129
|
+
test/postgres_table_alias_length_test.rb
|
97
130
|
test/simple.rb
|
98
131
|
test/sqlite3_simple_test.rb
|
99
132
|
test/sybase_jtds_simple_test.rb
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
133
|
+
test/activerecord/connection_adapters/type_conversion_test.rb
|
134
|
+
test/activerecord/connections/native_jdbc_mysql/connection.rb
|
135
|
+
test/db/db2.rb
|
136
|
+
test/db/derby.rb
|
137
|
+
test/db/h2.rb
|
138
|
+
test/db/hsqldb.rb
|
139
|
+
test/db/informix.rb
|
140
|
+
test/db/jdbc.rb
|
141
|
+
test/db/jndi_config.rb
|
142
|
+
test/db/logger.rb
|
143
|
+
test/db/mssql.rb
|
144
|
+
test/db/mysql.rb
|
145
|
+
test/db/oracle.rb
|
146
|
+
test/db/postgres.rb
|
147
|
+
test/db/sqlite3.rb
|
148
|
+
test/models/add_not_null_column_to_table.rb
|
149
|
+
test/models/auto_id.rb
|
150
|
+
test/models/data_types.rb
|
151
|
+
test/models/entry.rb
|
152
|
+
test/models/mixed_case.rb
|
153
|
+
test/models/reserved_word.rb
|
154
|
+
test/models/string_id.rb
|
155
|
+
test/models/validates_uniqueness_of_string.rb
|
156
|
+
lib/arjdbc/jdbc/jdbc.rake
|
157
|
+
src/java/arjdbc/derby/DerbyModule.java
|
158
|
+
src/java/arjdbc/h2/H2RubyJdbcConnection.java
|
159
|
+
src/java/arjdbc/informix/InformixRubyJdbcConnection.java
|
160
|
+
src/java/arjdbc/jdbc/AdapterJavaService.java
|
161
|
+
src/java/arjdbc/jdbc/JdbcConnectionFactory.java
|
162
|
+
src/java/arjdbc/jdbc/RubyJdbcConnection.java
|
163
|
+
src/java/arjdbc/jdbc/SQLBlock.java
|
164
|
+
src/java/arjdbc/mssql/MssqlRubyJdbcConnection.java
|
165
|
+
src/java/arjdbc/mysql/MySQLModule.java
|
166
|
+
src/java/arjdbc/mysql/MySQLRubyJdbcConnection.java
|
167
|
+
src/java/arjdbc/oracle/OracleRubyJdbcConnection.java
|
168
|
+
src/java/arjdbc/postgresql/PostgresqlRubyJdbcConnection.java
|
169
|
+
src/java/arjdbc/sqlite3/Sqlite3RubyJdbcConnection.java
|
110
170
|
rakelib/compile.rake
|
171
|
+
rakelib/db.rake
|
111
172
|
rakelib/package.rake
|
112
173
|
rakelib/rails.rake
|
113
174
|
rakelib/test.rake
|
114
175
|
rails_generators/jdbc_generator.rb
|
115
176
|
rails_generators/templates
|
116
|
-
rails_generators/templates/
|
117
|
-
rails_generators/templates/
|
177
|
+
rails_generators/templates/config
|
178
|
+
rails_generators/templates/lib
|
179
|
+
rails_generators/templates/config/initializers
|
180
|
+
rails_generators/templates/config/initializers/jdbc.rb
|
181
|
+
rails_generators/templates/lib/tasks
|
182
|
+
rails_generators/templates/lib/tasks/jdbc.rake
|
data/README.txt
CHANGED
@@ -2,39 +2,11 @@ activerecord-jdbc-adapter is a database adapter for Rails' ActiveRecord
|
|
2
2
|
component that can be used with JRuby[http://www.jruby.org/]. It allows use of
|
3
3
|
virtually any JDBC-compliant database with your JRuby on Rails application.
|
4
4
|
|
5
|
-
== Project Info
|
6
|
-
|
7
|
-
* Mailing Lists: http://kenai.com/projects/activerecord-jdbc/lists
|
8
|
-
* Issues: http://kenai.com/jira/browse/ACTIVERECORD_JDBC
|
9
|
-
* Source: git://kenai.com/activerecord-jdbc~main
|
10
|
-
git://github.com/nicksieger/activerecord-jdbc-adapter.git
|
11
|
-
|
12
5
|
== Databases
|
13
6
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
* PostgreSQL - Complete support
|
18
|
-
* Oracle - Complete support
|
19
|
-
* Microsoft SQL Server - Complete support except for change_column_default
|
20
|
-
* DB2 - Complete, except for the migrations:
|
21
|
-
* change_column
|
22
|
-
* change_column_default
|
23
|
-
* remove_column
|
24
|
-
* rename_column
|
25
|
-
* add_index
|
26
|
-
* remove_index
|
27
|
-
* rename_table
|
28
|
-
* FireBird - Complete, except for change_column_default and rename_column
|
29
|
-
* Derby - Complete, except for:
|
30
|
-
* change_column
|
31
|
-
* change_column_default
|
32
|
-
* remove_column
|
33
|
-
* rename_column
|
34
|
-
* HSQLDB - Complete
|
35
|
-
* H2 - Complete
|
36
|
-
* SQLite3 - work in progress
|
37
|
-
* Informix - Fairly complete support, all tests pass and migrations appear to work. Comments welcome.
|
7
|
+
Activerecord-jdbc-adapter provides full or nearly full support for:
|
8
|
+
MySQL, PostgreSQL, SQLite3, Oracle, Microsoft SQL Server, DB2,
|
9
|
+
FireBird, Derby, HSQLDB, H2, and Informix.
|
38
10
|
|
39
11
|
Other databases will require testing and likely a custom configuration module.
|
40
12
|
Please join the activerecord-jdbc
|
@@ -48,43 +20,45 @@ support for more databases.
|
|
48
20
|
To use activerecord-jdbc-adapter with JRuby on Rails:
|
49
21
|
|
50
22
|
1. Choose the adapter you wish to gem install. The following pre-packaged
|
51
|
-
|
23
|
+
adapters are available:
|
52
24
|
|
53
25
|
* base jdbc (<tt>activerecord-jdbc-adapter</tt>). Supports all available databases via JDBC, but requires you to download and manually install the database vendor's JDBC driver .jar file.
|
54
26
|
* mysql (<tt>activerecord-jdbcmysql-adapter</tt>)
|
55
27
|
* postgresql (<tt>activerecord-jdbcpostgresql-adapter</tt>)
|
28
|
+
* sqlite3 (<tt>activerecord-jdbcsqlite3-adapter</tt>)
|
56
29
|
* derby (<tt>activerecord-jdbcderby-adapter</tt>)
|
57
30
|
* hsqldb (<tt>activerecord-jdbchsqldb-adapter</tt>)
|
58
31
|
* h2 (<tt>activerecord-jdbch2-adapter</tt>)
|
59
|
-
*
|
32
|
+
* mssql (<tt>activerecord-jdbcmssql-adapter</tt>)
|
60
33
|
|
61
|
-
|
62
|
-
|
34
|
+
2a. For Rails 3, if you're generating a new application, use the
|
35
|
+
following command to generate your application:
|
63
36
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
0.5 and earlier (ActiveRecord-JDBC), replace
|
75
|
-
'activerecord-jdbc-adapter' with 'ActiveRecord-JDBC' below.)
|
76
|
-
|
77
|
-
if RUBY_PLATFORM =~ /java/
|
78
|
-
require 'rubygems'
|
37
|
+
jruby -S rails new sweetapp -m http://jruby.org/rails3.rb
|
38
|
+
|
39
|
+
2b. Otherwise, you'll need to perform some extra configuration steps
|
40
|
+
to prepare your Rails application for JDBC.
|
41
|
+
|
42
|
+
If you're using Rails 3, you'll need to modify your Gemfile to use the
|
43
|
+
activerecord-jdbc-adapter gem under JRuby. Change your Gemfile to look
|
44
|
+
like the following (using sqlite3 as an example):
|
45
|
+
|
46
|
+
if defined?(JRUBY_VERSION)
|
79
47
|
gem 'activerecord-jdbc-adapter'
|
80
|
-
|
48
|
+
gem 'jdbc-sqlite3'
|
49
|
+
else
|
50
|
+
gem 'sqlite3-ruby', :require => 'sqlite3'
|
81
51
|
end
|
82
52
|
|
53
|
+
If you're using Rails 2:
|
54
|
+
|
55
|
+
jruby script/generate jdbc
|
56
|
+
|
83
57
|
3. Configure your database.yml in the normal Rails style.
|
84
58
|
|
85
|
-
|
86
|
-
|
87
|
-
|
59
|
+
Legacy configuration: If you use one of the convenience
|
60
|
+
'activerecord-jdbcXXX-adapter' adapters, you can still put a 'jdbc'
|
61
|
+
prefix in front of the database adapter name as below.
|
88
62
|
|
89
63
|
development:
|
90
64
|
adapter: jdbcmysql
|
@@ -93,8 +67,8 @@ To use activerecord-jdbc-adapter with JRuby on Rails:
|
|
93
67
|
hostname: localhost
|
94
68
|
database: weblog_development
|
95
69
|
|
96
|
-
|
97
|
-
|
70
|
+
For other databases, you'll need to know the database driver class and
|
71
|
+
URL. Example:
|
98
72
|
|
99
73
|
development:
|
100
74
|
adapter: jdbc
|
@@ -103,33 +77,32 @@ To use activerecord-jdbc-adapter with JRuby on Rails:
|
|
103
77
|
driver: com.mysql.jdbc.Driver
|
104
78
|
url: jdbc:mysql://localhost:3306/weblog_development
|
105
79
|
|
80
|
+
For JNDI data sources, you may simply specify the JNDI location as follows
|
81
|
+
(the adapter will be automatically detected):
|
82
|
+
|
83
|
+
production:
|
84
|
+
adapter: jdbc
|
85
|
+
jndi: jdbc/mysqldb
|
86
|
+
|
106
87
|
=== Standalone, with ActiveRecord
|
107
88
|
|
108
89
|
1. Install the gem with JRuby:
|
109
90
|
|
110
91
|
jruby -S gem install activerecord-jdbc-adapter
|
111
92
|
|
112
|
-
|
113
|
-
|
93
|
+
If you wish to use the adapter for a specific database, you can
|
94
|
+
install it directly and a driver gem will be installed as well:
|
114
95
|
|
115
96
|
jruby -S gem install activerecord-jdbcderby-adapter
|
116
97
|
|
117
|
-
2.
|
118
|
-
step. Otherwise, ensure the following code gets executed in your script:
|
119
|
-
|
120
|
-
require 'rubygems'
|
121
|
-
gem 'activerecord-jdbc-adapter'
|
122
|
-
require 'jdbc_adapter'
|
123
|
-
require 'active_record'
|
124
|
-
|
125
|
-
3. After this you can establish a JDBC connection like this:
|
98
|
+
2. After this you can establish a JDBC connection like this:
|
126
99
|
|
127
100
|
ActiveRecord::Base.establish_connection(
|
128
101
|
:adapter => 'jdbcderby',
|
129
102
|
:database => "db/my-database"
|
130
103
|
)
|
131
104
|
|
132
|
-
|
105
|
+
or like this (but requires that you manually put the driver jar on the classpath):
|
133
106
|
|
134
107
|
ActiveRecord::Base.establish_connection(
|
135
108
|
:adapter => 'jdbc',
|
@@ -137,6 +110,15 @@ To use activerecord-jdbc-adapter with JRuby on Rails:
|
|
137
110
|
:url => 'jdbc:derby:test_ar;create=true'
|
138
111
|
)
|
139
112
|
|
113
|
+
== Extending AR-JDBC
|
114
|
+
|
115
|
+
You can create your own extension to AR-JDBC for a JDBC-based database
|
116
|
+
that core AR-JDBC does not support. We've created an example project
|
117
|
+
for the Intersystems Cache database that you can examine as a
|
118
|
+
template. See the project for more information at the following URL:
|
119
|
+
|
120
|
+
http://github.com/nicksieger/activerecord-cachedb-adapter
|
121
|
+
|
140
122
|
== Getting the source
|
141
123
|
|
142
124
|
The source for activerecord-jdbc-adapter is available using git.
|
@@ -149,12 +131,22 @@ Please file bug reports at
|
|
149
131
|
http://kenai.com/jira/browse/ACTIVERECORD_JDBC. If you're not sure if
|
150
132
|
something's a bug, feel free to pre-report it on the mailing lists.
|
151
133
|
|
134
|
+
== Project Info
|
135
|
+
|
136
|
+
* Mailing Lists: http://kenai.com/projects/activerecord-jdbc/lists
|
137
|
+
* Issues: http://kenai.com/jira/browse/ACTIVERECORD_JDBC
|
138
|
+
* Source:
|
139
|
+
git://github.com/nicksieger/activerecord-jdbc-adapter.git
|
140
|
+
git://kenai.com/activerecord-jdbc~main
|
141
|
+
|
152
142
|
== Running AR-JDBC's Tests
|
153
143
|
|
154
|
-
Drivers for 6 open-source databases are included. Provided you have
|
155
|
-
installed, you can simply type <tt>jruby -S rake</tt> to run the
|
156
|
-
database named <tt>weblog_development</tt> is needed
|
157
|
-
connection user of "blog" and an empty password.
|
144
|
+
Drivers for 6 open-source databases are included. Provided you have
|
145
|
+
MySQL installed, you can simply type <tt>jruby -S rake</tt> to run the
|
146
|
+
tests. A database named <tt>weblog_development</tt> is needed
|
147
|
+
beforehand with a connection user of "blog" and an empty password. You
|
148
|
+
alse need to grant "blog" create privileges on
|
149
|
+
'test_rake_db_create.*'.
|
158
150
|
|
159
151
|
If you also have PostgreSQL available, those tests will be run if the
|
160
152
|
`psql' executable can be found. Also ensure you have a database named
|