activerecord-jdbc-adapter 1.3.25 → 5.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +57 -72
- data/Appraisals +7 -2
- data/Gemfile +3 -7
- data/History.md +0 -50
- data/RUNNING_TESTS.md +4 -0
- data/activerecord-jdbc-adapter.gemspec +2 -1
- data/lib/arjdbc/common_jdbc_methods.rb +89 -0
- data/lib/arjdbc/db2/adapter.rb +58 -69
- data/lib/arjdbc/db2/as400.rb +2 -13
- data/lib/arjdbc/db2/column.rb +1 -1
- data/lib/arjdbc/derby/adapter.rb +2 -6
- data/lib/arjdbc/firebird/adapter.rb +7 -16
- data/lib/arjdbc/h2/adapter.rb +4 -13
- data/lib/arjdbc/hsqldb/adapter.rb +5 -5
- data/lib/arjdbc/jdbc/adapter.rb +15 -76
- data/lib/arjdbc/jdbc/adapter_java.jar +0 -0
- data/lib/arjdbc/jdbc/adapter_require.rb +12 -31
- data/lib/arjdbc/jdbc/base_ext.rb +6 -25
- data/lib/arjdbc/jdbc/column.rb +15 -1
- data/lib/arjdbc/jdbc/connection_methods.rb +7 -1
- data/lib/arjdbc/jdbc/type_cast.rb +16 -4
- data/lib/arjdbc/jdbc/type_converter.rb +0 -1
- data/lib/arjdbc/mssql/adapter.rb +9 -21
- data/lib/arjdbc/mysql/adapter.rb +14 -19
- data/lib/arjdbc/mysql/connection_methods.rb +3 -5
- data/lib/arjdbc/oracle/adapter.rb +4 -38
- data/lib/arjdbc/oracle/connection_methods.rb +0 -4
- data/lib/arjdbc/postgresql/adapter.rb +18 -22
- data/lib/arjdbc/postgresql/connection_methods.rb +2 -5
- data/lib/arjdbc/postgresql/oid/bytea.rb +0 -1
- data/lib/arjdbc/postgresql/oid_types.rb +6 -6
- data/lib/arjdbc/sqlite3/adapter.rb +493 -404
- data/lib/arjdbc/tasks/database_tasks.rb +1 -1
- data/lib/arjdbc/tasks/databases3.rake +1 -1
- data/lib/arjdbc/tasks/databases4.rake +3 -8
- data/lib/arjdbc/version.rb +1 -1
- data/rakelib/db.rake +5 -8
- data/src/java/arjdbc/jdbc/RubyJdbcConnection.java +102 -37
- data/src/java/arjdbc/mysql/MySQLRubyJdbcConnection.java +0 -7
- metadata +10 -17
- data/lib/arjdbc/jdbc/arel_support.rb +0 -133
- data/lib/arjdbc/mssql/attributes_for_update.rb +0 -22
- data/lib/arjdbc/sqlite3/explain_support.rb +0 -29
@@ -39,7 +39,7 @@ module ArJdbc
|
|
39
39
|
register_tasks(/(oci|oracle)/, OracleDatabaseTasks)
|
40
40
|
register_tasks(/mssql/, MSSQLDatabaseTasks) # (built-in) alias
|
41
41
|
# tasks for custom (JDBC) adapters :
|
42
|
-
register_tasks(/
|
42
|
+
register_tasks(/db2/, DB2DatabaseTasks)
|
43
43
|
register_tasks(/derby/, DerbyDatabaseTasks)
|
44
44
|
register_tasks(/h2/, H2DatabaseTasks)
|
45
45
|
register_tasks(/hsqldb/, HSQLDBDatabaseTasks)
|
@@ -112,7 +112,7 @@ namespace :db do
|
|
112
112
|
unless search_path.blank?
|
113
113
|
search_path = search_path.split(",").map{ |part| "--schema=#{Shellwords.escape(part.strip)}" }.join(" ")
|
114
114
|
end
|
115
|
-
sh "pg_dump -s -x -O -f #{Shellwords.escape(filename)} #{search_path} #{Shellwords.escape(config['database'])}"
|
115
|
+
sh "pg_dump -i -s -x -O -f #{Shellwords.escape(filename)} #{search_path} #{Shellwords.escape(config['database'])}"
|
116
116
|
|
117
117
|
File.open(filename, 'a') { |f| f << "SET search_path TO #{ActiveRecord::Base.connection.schema_search_path};\n\n" }
|
118
118
|
when /sqlite/
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module ActiveRecord::Tasks
|
2
2
|
|
3
3
|
DatabaseTasks.module_eval do
|
4
|
-
|
4
|
+
|
5
5
|
# patched to adapt jdbc configuration
|
6
6
|
def each_current_configuration(environment)
|
7
7
|
environments = [environment]
|
@@ -31,14 +31,9 @@ module ActiveRecord::Tasks
|
|
31
31
|
MySQLDatabaseTasks.class_eval do
|
32
32
|
|
33
33
|
def error_class
|
34
|
-
|
35
|
-
unless ActiveRecord::JDBCError.instance_methods.include?(:error)
|
36
|
-
ActiveRecord::JDBCError.send :alias_method, :error, :sql_exception
|
37
|
-
end
|
38
|
-
ActiveRecord::JDBCError
|
39
|
-
end
|
34
|
+
ActiveRecord::JDBCError
|
40
35
|
end
|
41
36
|
|
42
37
|
end
|
43
|
-
|
38
|
+
|
44
39
|
end
|
data/lib/arjdbc/version.rb
CHANGED
data/rakelib/db.rake
CHANGED
@@ -6,8 +6,6 @@ namespace :db do
|
|
6
6
|
task :mysql do
|
7
7
|
fail "could not create test database: mysql executable not found" unless mysql = which('mysql')
|
8
8
|
load 'test/db/mysql_config.rb' # rescue nil
|
9
|
-
puts MYSQL_CONFIG.inspect if $VERBOSE
|
10
|
-
# DROP USER arjdbc@localhost; __ERROR 1396 (HY000): Operation CREATE USER failed__
|
11
9
|
script = sql_script <<-SQL, 'mysql'
|
12
10
|
DROP DATABASE IF EXISTS `#{MYSQL_CONFIG[:database]}`;
|
13
11
|
CREATE USER #{MYSQL_CONFIG[:username]}@localhost;
|
@@ -17,13 +15,13 @@ GRANT ALL PRIVILEGES ON `test\_%`.* TO #{MYSQL_CONFIG[:username]}@localhost;
|
|
17
15
|
SET PASSWORD FOR #{MYSQL_CONFIG[:username]}@localhost = PASSWORD('#{MYSQL_CONFIG[:password]}');
|
18
16
|
SQL
|
19
17
|
params = { '-u' => 'root' }
|
20
|
-
if ENV['DATABASE_YML']
|
21
|
-
|
18
|
+
if ENV['DATABASE_YML']
|
19
|
+
require 'yaml'
|
20
|
+
password = YAML.load(File.new(ENV['DATABASE_YML']))["production"]["password"]
|
21
|
+
params['--password'] = password
|
22
22
|
end
|
23
|
-
params['-u'] = ENV['MY_USER'] if ENV['MY_USER']
|
24
|
-
params['-p'] = ENV['MY_PASSWORD'] if ENV['MY_PASSWORD']
|
25
23
|
puts "Creating MySQL (test) database: #{MYSQL_CONFIG[:database]}"
|
26
|
-
sh "cat #{script.path} | #{mysql} -f #{params.
|
24
|
+
sh "cat #{script.path} | #{mysql} -f #{params.to_a.join(' ')}", :verbose => $VERBOSE # so password is not echoed
|
27
25
|
end
|
28
26
|
|
29
27
|
desc "Creates the test database for PostgreSQL"
|
@@ -31,7 +29,6 @@ SQL
|
|
31
29
|
fail 'could not create test database: psql executable not found' unless psql = which('psql')
|
32
30
|
fail 'could not create test database: missing "postgres" role' unless PostgresHelper.postgres_role?
|
33
31
|
load 'test/db/postgres_config.rb' # rescue nil
|
34
|
-
puts POSTGRES_CONFIG.inspect if $VERBOSE
|
35
32
|
script = sql_script <<-SQL, 'psql'
|
36
33
|
DROP DATABASE IF EXISTS #{POSTGRES_CONFIG[:database]};
|
37
34
|
DROP USER IF EXISTS #{POSTGRES_CONFIG[:username]};
|
@@ -244,7 +244,7 @@ public class RubyJdbcConnection extends RubyObject {
|
|
244
244
|
});
|
245
245
|
}
|
246
246
|
|
247
|
-
@JRubyMethod(name = "begin", optional = 1) // optional isolation argument for AR-4.0
|
247
|
+
@JRubyMethod(name = {"begin", "transaction"}, optional = 1) // optional isolation argument for AR-4.0
|
248
248
|
public IRubyObject begin(final ThreadContext context, final IRubyObject[] args) {
|
249
249
|
final IRubyObject isolation = args.length > 0 ? args[0] : null;
|
250
250
|
try { // handleException == false so we can handle setTXIsolation
|
@@ -588,19 +588,25 @@ public class RubyJdbcConnection extends RubyObject {
|
|
588
588
|
public IRubyObject call(final Connection connection) throws SQLException {
|
589
589
|
Statement statement = null;
|
590
590
|
final String query = sql.convertToString().getUnicodeValue();
|
591
|
+
|
591
592
|
try {
|
592
593
|
statement = createStatement(context, connection);
|
593
594
|
if ( doExecute(statement, query) ) {
|
594
|
-
|
595
|
+
ResultSet resultSet = statement.getResultSet();
|
596
|
+
ColumnData[] columns = extractColumns(context.runtime, connection, resultSet, false);
|
597
|
+
|
598
|
+
return mapToResult(context, context.runtime, connection, resultSet, columns);
|
595
599
|
} else {
|
596
|
-
return
|
600
|
+
//return context.runtime.newFixnum( statement.getUpdateCount());
|
601
|
+
return context.runtime.newEmptyArray();
|
602
|
+
//return mapGeneratedKeysOrUpdateCount(context, connection, statement);
|
597
603
|
}
|
598
|
-
}
|
599
|
-
catch (final SQLException e) {
|
604
|
+
} catch (final SQLException e) {
|
600
605
|
debugErrorSQL(context, query);
|
601
606
|
throw e;
|
607
|
+
} finally {
|
608
|
+
close(statement);
|
602
609
|
}
|
603
|
-
finally { close(statement); }
|
604
610
|
}
|
605
611
|
});
|
606
612
|
}
|
@@ -695,6 +701,14 @@ public class RubyJdbcConnection extends RubyObject {
|
|
695
701
|
}
|
696
702
|
}
|
697
703
|
|
704
|
+
@JRubyMethod(name = {"execute_prepared_update"}, required = 2)
|
705
|
+
public IRubyObject execute_prepared_update(final ThreadContext context,
|
706
|
+
final IRubyObject sql, final IRubyObject binds) throws SQLException {
|
707
|
+
|
708
|
+
final String query = sql.convertToString().getUnicodeValue();
|
709
|
+
return executePreparedUpdate(context, query, (List) binds, false);
|
710
|
+
}
|
711
|
+
|
698
712
|
/**
|
699
713
|
* @param context
|
700
714
|
* @param query
|
@@ -879,7 +893,6 @@ public class RubyJdbcConnection extends RubyObject {
|
|
879
893
|
* @param sql
|
880
894
|
* @return raw query result as a name => value Hash (unless block given)
|
881
895
|
* @throws SQLException
|
882
|
-
* @see #execute_query(ThreadContext, IRubyObject[], Block)
|
883
896
|
*/
|
884
897
|
@JRubyMethod(name = "execute_query", required = 1)
|
885
898
|
public IRubyObject execute_query(final ThreadContext context,
|
@@ -895,7 +908,6 @@ public class RubyJdbcConnection extends RubyObject {
|
|
895
908
|
* @return and <code>ActiveRecord::Result</code>
|
896
909
|
* @throws SQLException
|
897
910
|
*
|
898
|
-
* @see #execute_query(ThreadContext, IRubyObject, IRubyObject, Block)
|
899
911
|
*/
|
900
912
|
@JRubyMethod(name = "execute_query", required = 2, optional = 1)
|
901
913
|
// @JRubyMethod(name = "execute_query", required = 1, optional = 2)
|
@@ -930,6 +942,18 @@ public class RubyJdbcConnection extends RubyObject {
|
|
930
942
|
}
|
931
943
|
}
|
932
944
|
|
945
|
+
@JRubyMethod(name = "execute_prepared_query")
|
946
|
+
public IRubyObject execute_prepared_query(final ThreadContext context,
|
947
|
+
final IRubyObject sql, final IRubyObject binds) throws SQLException {
|
948
|
+
final String query = sql.convertToString().getUnicodeValue();
|
949
|
+
|
950
|
+
if (binds == null || !(binds instanceof RubyArray)) {
|
951
|
+
throw context.runtime.newArgumentError("binds exptected to an instance of Array");
|
952
|
+
}
|
953
|
+
|
954
|
+
return executePreparedQuery(context, query, (List) binds, 0);
|
955
|
+
}
|
956
|
+
|
933
957
|
/**
|
934
958
|
* NOTE: This methods behavior changed in AR-JDBC 1.3 the old behavior is
|
935
959
|
* achievable using {@link #executeQueryRaw(ThreadContext, String, int, Block)}.
|
@@ -939,25 +963,59 @@ public class RubyJdbcConnection extends RubyObject {
|
|
939
963
|
* @param maxRows
|
940
964
|
* @return AR (mapped) query result
|
941
965
|
*
|
942
|
-
* @see #execute_query(ThreadContext, IRubyObject)
|
943
|
-
* @see #execute_query(ThreadContext, IRubyObject, IRubyObject)
|
944
|
-
* @see #mapToResult(ThreadContext, Ruby, DatabaseMetaData, ResultSet, RubyJdbcConnection.ColumnData[])
|
945
966
|
*/
|
946
967
|
protected IRubyObject executeQuery(final ThreadContext context, final String query, final int maxRows) {
|
947
968
|
return withConnection(context, new Callable<IRubyObject>() {
|
948
969
|
public IRubyObject call(final Connection connection) throws SQLException {
|
949
|
-
Statement statement = null;
|
970
|
+
Statement statement = null;
|
971
|
+
ResultSet resultSet = null;
|
972
|
+
|
950
973
|
try {
|
951
974
|
statement = createStatement(context, connection);
|
952
975
|
statement.setMaxRows(maxRows); // zero means there is no limit
|
953
976
|
resultSet = statement.executeQuery(query);
|
954
977
|
return mapQueryResult(context, connection, resultSet);
|
978
|
+
} catch (final SQLException e) {
|
979
|
+
debugErrorSQL(context, query);
|
980
|
+
throw e;
|
981
|
+
} finally {
|
982
|
+
close(resultSet);
|
983
|
+
close(statement);
|
955
984
|
}
|
956
|
-
|
985
|
+
}
|
986
|
+
});
|
987
|
+
}
|
988
|
+
|
989
|
+
@JRubyMethod
|
990
|
+
public IRubyObject execute_prepared(final ThreadContext context, final IRubyObject sql, final IRubyObject binds) {
|
991
|
+
return withConnection(context, new Callable<IRubyObject>() {
|
992
|
+
public IRubyObject call(final Connection connection) throws SQLException {
|
993
|
+
PreparedStatement statement = null;
|
994
|
+
final String query = sql.convertToString().getUnicodeValue();
|
995
|
+
|
996
|
+
// FIXME: array type check for binds
|
997
|
+
|
998
|
+
try {
|
999
|
+
statement = connection.prepareStatement(query);
|
1000
|
+
setStatementParameters(context, connection, statement, (List) binds);
|
1001
|
+
boolean hasResultSet = statement.execute();
|
1002
|
+
|
1003
|
+
if (hasResultSet) {
|
1004
|
+
ResultSet resultSet = statement.getResultSet();
|
1005
|
+
ColumnData[] columns = extractColumns(context.runtime, connection, resultSet, false);
|
1006
|
+
|
1007
|
+
return mapToResult(context, context.runtime, connection, resultSet, columns);
|
1008
|
+
} else {
|
1009
|
+
return context.runtime.newEmptyArray();
|
1010
|
+
//return context.runtime.newFixnum( statement.getUpdateCount());
|
1011
|
+
// return mapGeneratedKeysOrUpdateCount(context, connection, statement);
|
1012
|
+
}
|
1013
|
+
} catch (final SQLException e) {
|
957
1014
|
debugErrorSQL(context, query);
|
958
1015
|
throw e;
|
1016
|
+
} finally {
|
1017
|
+
close(statement);
|
959
1018
|
}
|
960
|
-
finally { close(resultSet); close(statement); }
|
961
1019
|
}
|
962
1020
|
});
|
963
1021
|
}
|
@@ -1473,8 +1531,8 @@ public class RubyJdbcConnection extends RubyObject {
|
|
1473
1531
|
final IRubyObject record, final IRubyObject column, final IRubyObject value)
|
1474
1532
|
throws SQLException {
|
1475
1533
|
|
1476
|
-
// column.type == :binary
|
1477
|
-
|
1534
|
+
final boolean binary = // column.type == :binary
|
1535
|
+
column.callMethod(context, "type").toString() == (Object) "binary";
|
1478
1536
|
|
1479
1537
|
final IRubyObject recordClass = record.callMethod(context, "class");
|
1480
1538
|
final IRubyObject adapter = recordClass.callMethod(context, "connection");
|
@@ -1671,7 +1729,7 @@ public class RubyJdbcConnection extends RubyObject {
|
|
1671
1729
|
|
1672
1730
|
/**
|
1673
1731
|
* @deprecated this method is no longer used, instead consider overriding
|
1674
|
-
* {@link #mapToResult(ThreadContext, Ruby,
|
1732
|
+
* {@link #mapToResult(ThreadContext, Ruby, Connection, ResultSet, RubyJdbcConnection.ColumnData[])}
|
1675
1733
|
*/
|
1676
1734
|
@Deprecated
|
1677
1735
|
protected void populateFromResultSet(
|
@@ -1688,7 +1746,7 @@ public class RubyJdbcConnection extends RubyObject {
|
|
1688
1746
|
* Maps a query result into a <code>ActiveRecord</code> result.
|
1689
1747
|
* @param context
|
1690
1748
|
* @param runtime
|
1691
|
-
* @param
|
1749
|
+
* @param connection
|
1692
1750
|
* @param resultSet
|
1693
1751
|
* @param columns
|
1694
1752
|
* @return since 3.1 expected to return a <code>ActiveRecord::Result</code>
|
@@ -2163,20 +2221,26 @@ public class RubyJdbcConnection extends RubyObject {
|
|
2163
2221
|
}
|
2164
2222
|
}
|
2165
2223
|
|
2166
|
-
|
2167
|
-
|
2168
|
-
|
2169
|
-
|
2170
|
-
|
2224
|
+
// So far we have only examined the needs to Sqlite3 but for that adapter (and it is old JDBC adapter)
|
2225
|
+
// we can pass all tests but binary column types with just the supplied value. So we will leave it
|
2226
|
+
// this way until we upgrade Sqlite adapter and get some more databases supported.
|
2227
|
+
protected int typeHack(ThreadContext context, IRubyObject column, Object value) throws SQLException {
|
2228
|
+
if (column != null) {
|
2229
|
+
String columnType = column.asString().toString();
|
2171
2230
|
|
2172
|
-
|
2173
|
-
|
2174
|
-
|
2175
|
-
} else {
|
2176
|
-
value = rawValue;
|
2231
|
+
if (columnType.equals("binary")) return jdbcTypeFor(context, context.runtime, column, value);
|
2232
|
+
|
2233
|
+
column = null;
|
2177
2234
|
}
|
2178
2235
|
|
2179
|
-
|
2236
|
+
return jdbcTypeFor(context, context.runtime, column, value);
|
2237
|
+
}
|
2238
|
+
|
2239
|
+
protected void setStatementParameter(final ThreadContext context,
|
2240
|
+
final Ruby runtime, final Connection connection,
|
2241
|
+
final PreparedStatement statement, final int index,
|
2242
|
+
final Object value, IRubyObject column) throws SQLException {
|
2243
|
+
int type = typeHack(context, column, value);
|
2180
2244
|
|
2181
2245
|
switch (type) {
|
2182
2246
|
case Types.TINYINT:
|
@@ -2218,7 +2282,7 @@ public class RubyJdbcConnection extends RubyObject {
|
|
2218
2282
|
setXmlParameter(context, connection, statement, index, value, column, type);
|
2219
2283
|
break;
|
2220
2284
|
case Types.ARRAY:
|
2221
|
-
setArrayParameter(context, connection, statement, index,
|
2285
|
+
setArrayParameter(context, connection, statement, index, value, column, type);
|
2222
2286
|
break;
|
2223
2287
|
case Types.JAVA_OBJECT:
|
2224
2288
|
case Types.OTHER:
|
@@ -2878,10 +2942,11 @@ public class RubyJdbcConnection extends RubyObject {
|
|
2878
2942
|
}
|
2879
2943
|
else { // should be a RubyString
|
2880
2944
|
final ByteList blob = value.asString().getByteList();
|
2881
|
-
statement.
|
2882
|
-
|
2883
|
-
blob.
|
2884
|
-
|
2945
|
+
statement.setBytes(index, blob.bytes());
|
2946
|
+
//statement.setBinaryStream(index,
|
2947
|
+
// new ByteArrayInputStream(blob.unsafeBytes(), blob.getBegin(), blob.getRealSize()),
|
2948
|
+
// blob.getRealSize() // length
|
2949
|
+
// );
|
2885
2950
|
// JDBC 4.0 :
|
2886
2951
|
//statement.setBlob(index,
|
2887
2952
|
// new ByteArrayInputStream(bytes.unsafeBytes(), bytes.getBegin(), bytes.getRealSize())
|
@@ -3117,7 +3182,7 @@ public class RubyJdbcConnection extends RubyObject {
|
|
3117
3182
|
/**
|
3118
3183
|
* Create a string which represents a SQL type usable by Rails from the
|
3119
3184
|
* resultSet column meta-data
|
3120
|
-
* @param resultSet
|
3185
|
+
* @param resultSet
|
3121
3186
|
*/
|
3122
3187
|
protected String typeFromResultSet(final ResultSet resultSet) throws SQLException {
|
3123
3188
|
final int precision = intFromResultSet(resultSet, COLUMN_SIZE);
|
@@ -3432,7 +3497,7 @@ public class RubyJdbcConnection extends RubyObject {
|
|
3432
3497
|
/**
|
3433
3498
|
* Extract columns from result set.
|
3434
3499
|
* @param runtime
|
3435
|
-
* @param
|
3500
|
+
* @param connection
|
3436
3501
|
* @param resultSet
|
3437
3502
|
* @param downCase
|
3438
3503
|
* @return columns data
|
@@ -3452,7 +3517,7 @@ public class RubyJdbcConnection extends RubyObject {
|
|
3452
3517
|
}
|
3453
3518
|
|
3454
3519
|
/**
|
3455
|
-
* @deprecated renamed and parameterized to {@link #withConnection(ThreadContext,
|
3520
|
+
* @deprecated renamed and parameterized to {@link #withConnection(ThreadContext, boolean, Callable)}
|
3456
3521
|
*/
|
3457
3522
|
@Deprecated
|
3458
3523
|
@SuppressWarnings("unchecked")
|
@@ -54,7 +54,6 @@ import org.jruby.exceptions.RaiseException;
|
|
54
54
|
import org.jruby.runtime.ObjectAllocator;
|
55
55
|
import org.jruby.runtime.ThreadContext;
|
56
56
|
import org.jruby.runtime.builtin.IRubyObject;
|
57
|
-
import org.jruby.util.ByteList;
|
58
57
|
|
59
58
|
/**
|
60
59
|
*
|
@@ -103,12 +102,6 @@ public class MySQLRubyJdbcConnection extends RubyJdbcConnection {
|
|
103
102
|
final int value = resultSet.getInt(column);
|
104
103
|
return resultSet.wasNull() ? runtime.getNil() : runtime.newFixnum(value);
|
105
104
|
}
|
106
|
-
else if ( type == Types.BINARY || type == Types.VARBINARY) {
|
107
|
-
final byte[] bytes = resultSet.getBytes(column);
|
108
|
-
if ( bytes == null || resultSet.wasNull() ) return runtime.getNil();
|
109
|
-
final ByteList byteList = new ByteList(bytes, false);
|
110
|
-
return new RubyString(runtime, runtime.getString(), byteList);
|
111
|
-
}
|
112
105
|
return super.jdbcToRuby(context, runtime, column, type, resultSet);
|
113
106
|
}
|
114
107
|
|
metadata
CHANGED
@@ -1,35 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-jdbc-adapter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 5.0.pre1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Sieger, Ola Bini, Karol Bucek and JRuby contributors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-11-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
+
name: activerecord
|
14
15
|
requirement: !ruby/object:Gem::Requirement
|
15
16
|
requirements:
|
16
17
|
- - ">="
|
17
18
|
- !ruby/object:Gem::Version
|
18
19
|
version: '2.2'
|
19
|
-
- - "<"
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '5.0'
|
22
|
-
name: activerecord
|
23
|
-
prerelease: false
|
24
|
-
type: :runtime
|
25
20
|
version_requirements: !ruby/object:Gem::Requirement
|
26
21
|
requirements:
|
27
22
|
- - ">="
|
28
23
|
- !ruby/object:Gem::Version
|
29
24
|
version: '2.2'
|
30
|
-
|
31
|
-
|
32
|
-
version: '5.0'
|
25
|
+
prerelease: false
|
26
|
+
type: :runtime
|
33
27
|
description: 'AR-JDBC is a database adapter for Rails'' ActiveRecord component designed
|
34
28
|
to be used with JRuby built upon Java''s JDBC API for database access. Provides
|
35
29
|
(ActiveRecord) built-in adapters: MySQL, PostgreSQL and SQLite3 as well as adapters
|
@@ -85,6 +79,7 @@ files:
|
|
85
79
|
- lib/arel/visitors/sql_server.rb
|
86
80
|
- lib/arel/visitors/sql_server/ng42.rb
|
87
81
|
- lib/arjdbc.rb
|
82
|
+
- lib/arjdbc/common_jdbc_methods.rb
|
88
83
|
- lib/arjdbc/db2.rb
|
89
84
|
- lib/arjdbc/db2/adapter.rb
|
90
85
|
- lib/arjdbc/db2/as400.rb
|
@@ -114,7 +109,6 @@ files:
|
|
114
109
|
- lib/arjdbc/jdbc/adapter.rb
|
115
110
|
- lib/arjdbc/jdbc/adapter_java.jar
|
116
111
|
- lib/arjdbc/jdbc/adapter_require.rb
|
117
|
-
- lib/arjdbc/jdbc/arel_support.rb
|
118
112
|
- lib/arjdbc/jdbc/base_ext.rb
|
119
113
|
- lib/arjdbc/jdbc/callbacks.rb
|
120
114
|
- lib/arjdbc/jdbc/column.rb
|
@@ -134,7 +128,6 @@ files:
|
|
134
128
|
- lib/arjdbc/mimer/adapter.rb
|
135
129
|
- lib/arjdbc/mssql.rb
|
136
130
|
- lib/arjdbc/mssql/adapter.rb
|
137
|
-
- lib/arjdbc/mssql/attributes_for_update.rb
|
138
131
|
- lib/arjdbc/mssql/column.rb
|
139
132
|
- lib/arjdbc/mssql/connection_methods.rb
|
140
133
|
- lib/arjdbc/mssql/explain_support.rb
|
@@ -170,7 +163,6 @@ files:
|
|
170
163
|
- lib/arjdbc/sqlite3.rb
|
171
164
|
- lib/arjdbc/sqlite3/adapter.rb
|
172
165
|
- lib/arjdbc/sqlite3/connection_methods.rb
|
173
|
-
- lib/arjdbc/sqlite3/explain_support.rb
|
174
166
|
- lib/arjdbc/sybase.rb
|
175
167
|
- lib/arjdbc/sybase/adapter.rb
|
176
168
|
- lib/arjdbc/tasks.rb
|
@@ -251,13 +243,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
251
243
|
version: '0'
|
252
244
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
253
245
|
requirements:
|
254
|
-
- - "
|
246
|
+
- - ">"
|
255
247
|
- !ruby/object:Gem::Version
|
256
|
-
version:
|
248
|
+
version: 1.3.1
|
257
249
|
requirements: []
|
258
250
|
rubyforge_project: jruby-extras
|
259
|
-
rubygems_version: 2.6.
|
251
|
+
rubygems_version: 2.6.8
|
260
252
|
signing_key:
|
261
253
|
specification_version: 4
|
262
254
|
summary: JDBC adapter for ActiveRecord, for use within JRuby on Rails.
|
263
255
|
test_files: []
|
256
|
+
has_rdoc:
|