From 5f2deb4d5c9d5ccd0e1272f1c2928a65e31eaf5e Mon Sep 17 00:00:00 2001 From: kares Date: Wed, 20 Feb 2013 12:16:01 +0100 Subject: [PATCH] a better (default) table_exists? (aligned with columns_internal) for all --- lib/arjdbc/jdbc/adapter.rb | 2 +- lib/arjdbc/jdbc/adapter_java.jar | Bin 76841 -> 78211 bytes lib/arjdbc/mssql/adapter.rb | 4 -- src/java/arjdbc/jdbc/RubyJdbcConnection.java | 66 +++++++++++++------ test/db/oracle/simple_test.rb | 5 ++ test/simple.rb | 42 ++++++------ 6 files changed, 74 insertions(+), 45 deletions(-) diff --git a/lib/arjdbc/jdbc/adapter.rb b/lib/arjdbc/jdbc/adapter.rb index 2e28665d5..e4c121705 100644 --- a/lib/arjdbc/jdbc/adapter.rb +++ b/lib/arjdbc/jdbc/adapter.rb @@ -330,7 +330,7 @@ def tables(name = nil) end def table_exists?(name) - jdbc_columns(name) rescue nil + @connection.table_exists?(name) # schema_name = nil end def indexes(table_name, name = nil, schema_name = nil) diff --git a/lib/arjdbc/jdbc/adapter_java.jar b/lib/arjdbc/jdbc/adapter_java.jar index a27ccb3dc13c42dd282417c64518940a8d402fa9..5e19ef322e200915b4d3b885757ead799dee764b 100644 GIT binary patch delta 41523 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 delta 40075 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�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 1 ? args[1] : null; + if ( ! ( name instanceof RubyString ) ) { + name = name.callMethod(context, "to_s"); + } + final String tableName = ((RubyString) name).getUnicodeValue(); + final String tableSchema = schema_name == null ? null : schema_name.convertToString().getUnicodeValue(); + final Ruby runtime = context.getRuntime(); + + return (RubyBoolean) withConnectionAndRetry(context, new SQLBlock() { + public Object call(final Connection connection) throws SQLException { + final TableNameComponents components = + extractTableNameComponents(connection, tableSchema, tableName); + + final Collection matchingTables = (Collection) tableLookupBlock( + runtime, components.catalog, components.schema, components.table, getTableTypes() + ).call(connection); + + return runtime.newBoolean( ! matchingTables.isEmpty() ); + } + }); + } + @JRubyMethod(name = {"columns", "columns_internal"}, required = 1, optional = 2) public IRubyObject columns_internal(final ThreadContext context, final IRubyObject[] args) throws SQLException, IOException { @@ -474,10 +500,10 @@ public Object call(final Connection connection) throws SQLException { String tableName = rubyApi.convertToRubyString(args[0]).getUnicodeValue(); TableNameComponents components = extractTableNameComponents(connection, defaultSchema, tableName); - RubyArray matchingTables = (RubyArray) tableLookupBlock(context.getRuntime(), + Collection matchingTables = (Collection) tableLookupBlock(context.getRuntime(), components.catalog, components.schema, components.table, getTableTypes()).call(connection); if (matchingTables.isEmpty()) { - throw new SQLException("Table " + tableName + " does not exist"); + throw new SQLException("table: " + tableName + " does not exist"); } final DatabaseMetaData metaData = connection.getMetaData(); diff --git a/test/db/oracle/simple_test.rb b/test/db/oracle/simple_test.rb index 85eea331d..7c12e00e9 100644 --- a/test/db/oracle/simple_test.rb +++ b/test/db/oracle/simple_test.rb @@ -6,6 +6,11 @@ class OracleSimpleTest < Test::Unit::TestCase include ActiveRecord3TestMethods include DirtyAttributeTests + # #override + def test_insert_returns_id + # TODO not supported/implemented + end + def test_default_id_type_is_integer assert Integer === Entry.first.id end diff --git a/test/simple.rb b/test/simple.rb index 1e8e04991..d0a4d1844 100644 --- a/test/simple.rb +++ b/test/simple.rb @@ -162,12 +162,16 @@ def with_partial_updates(klass, on = true) module SimpleTestMethods include FixtureSetup - def test_entries_created - assert ActiveRecord::Base.connection.tables.find{|t| t =~ /^entries$/i}, "entries not created" + def test_tables + assert_not_empty ActiveRecord::Base.connection.tables + tables = ActiveRecord::Base.connection.tables + assert tables.find { |t| t =~ /^entries$/i }, "entries not created: #{tables.inspect}" + assert tables.map(&:downcase).include?('users'), "users table not found: #{tables.inspect}" end - def test_users_created - assert ActiveRecord::Base.connection.tables.find{|t| t =~ /^users$/i}, "users not created" + def test_table_exists? + assert_true ActiveRecord::Base.connection.table_exists? 'entries' + assert_false ActiveRecord::Base.connection.table_exists? 'blahbls' end def test_entries_empty @@ -182,23 +186,21 @@ def test_find_with_string_slug end def test_insert_returns_id - unless ActiveRecord::Base.connection.adapter_name =~ /oracle/i - value = ActiveRecord::Base.connection.insert("INSERT INTO entries (title, content, rating) VALUES('insert_title', 'some content', 1)") + value = ActiveRecord::Base.connection.insert("INSERT INTO entries (title, content, rating) VALUES('insert_title', 'some content', 1)") + assert !value.nil? + entry = Entry.find_by_title('insert_title') + assert_equal entry.id, value + + # Ensure we get the id even if the PK column is not named 'id' + 1.upto(4) do |i| + cpn_name = "return id test#{i}" + cpn = CustomPkName.new + cpn.name = cpn_name + cpn.save + value = cpn.custom_id assert !value.nil? - entry = Entry.find_by_title('insert_title') - assert_equal entry.id, value - - # Ensure we get the id even if the PK column is not named 'id' - 1.upto(4) do |i| - cpn_name = "return id test#{i}" - cpn = CustomPkName.new - cpn.name = cpn_name - cpn.save - value = cpn.custom_id - assert !value.nil? - cpn = CustomPkName.find_by_name(cpn_name) - assert_equal cpn.custom_id, value - end + cpn = CustomPkName.find_by_name(cpn_name) + assert_equal cpn.custom_id, value end end