Created
January 16, 2018 02:32
-
-
Save yahonda/80664ed7de2c3b8fa270ac4d8f1edcbc to your computer and use it in GitHub Desktop.
rep1626_rails51.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# frozen_string_literal: true | |
begin | |
require "bundler/inline" | |
rescue LoadError => e | |
$stderr.puts "Bundler version 1.10 or later is required. Please update your Bundler" | |
raise e | |
end | |
gemfile(true) do | |
source "https://rubygems.org" | |
git_source(:github) { |repo| "https://github.com/#{repo}.git" } | |
gem "rails", github: "rails/rails", branch: "5-1-stable" | |
gem "activerecord-oracle_enhanced-adapter", github: "rsim/oracle-enhanced", branch: "release18" | |
gem "minitest" | |
platforms :ruby do | |
gem "ruby-oci8" | |
end | |
end | |
require "active_record" | |
require "minitest/autorun" | |
require "logger" | |
require "active_record/connection_adapters/oracle_enhanced_adapter" | |
# Ensure backward compatibility with Minitest 4 | |
Minitest::Test = MiniTest::Unit::TestCase unless defined?(Minitest::Test) | |
# Set Oracle enhanced adapter specific connection parameters | |
DATABASE_NAME = ENV["DATABASE_NAME"] || "orcl" | |
DATABASE_HOST = ENV["DATABASE_HOST"] | |
DATABASE_PORT = ENV["DATABASE_PORT"] | |
DATABASE_USER = ENV["DATABASE_USER"] || "oracle_enhanced" | |
DATABASE_PASSWORD = ENV["DATABASE_PASSWORD"] || "oracle_enhanced" | |
DATABASE_SYS_PASSWORD = ENV["DATABASE_SYS_PASSWORD"] || "admin" | |
CONNECTION_PARAMS = { | |
adapter: "oracle_enhanced", | |
database: DATABASE_NAME, | |
host: DATABASE_HOST, | |
port: DATABASE_PORT, | |
username: DATABASE_USER, | |
password: DATABASE_PASSWORD | |
} | |
ActiveRecord::Base.establish_connection(CONNECTION_PARAMS) | |
ActiveRecord::Base.logger = Logger.new(STDOUT) | |
ActiveRecord::Schema.define do | |
create_table :users, :force => true do |t| | |
t.string :fullname | |
end | |
end | |
class User < ActiveRecord::Base | |
end | |
class BugTest < Minitest::Test | |
def test_some_unicode_test | |
u2 = User.create(fullname: '(ง ͠° ͟ل ͡°)ง') | |
u2.reload.fullname | |
assert_equal u2.fullname, '(ง ͠° ͟ل ͡°)ง' | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
$ ruby rep1626_rails51.rb
Fetching https://github.com/rails/rails.git
Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/..........
Resolving dependencies...
Using rake 12.3.0
Using concurrent-ruby 1.0.5
Using i18n 0.9.1
Using minitest 5.11.1
Using thread_safe 0.3.6
Using tzinfo 1.2.4
Using activesupport 5.1.4 from https://github.com/rails/rails.git (at 5-1-stable@f7e5f19)
Using builder 3.2.3
Using erubi 1.7.0
Using mini_portile2 2.3.0
Using nokogiri 1.8.1
Using rails-dom-testing 2.0.3
Using crass 1.0.3
Using loofah 2.1.1
Using rails-html-sanitizer 1.0.3
Using actionview 5.1.4 from https://github.com/rails/rails.git (at 5-1-stable@f7e5f19)
Using rack 2.0.3
Using rack-test 0.8.2
Using actionpack 5.1.4 from https://github.com/rails/rails.git (at 5-1-stable@f7e5f19)
Using nio4r 2.2.0
Using websocket-extensions 0.1.3
Using websocket-driver 0.6.5
Using actioncable 5.1.4 from https://github.com/rails/rails.git (at 5-1-stable@f7e5f19)
Using globalid 0.4.1
Using activejob 5.1.4 from https://github.com/rails/rails.git (at 5-1-stable@f7e5f19)
Using mini_mime 1.0.0
Using mail 2.7.0
Using actionmailer 5.1.4 from https://github.com/rails/rails.git (at 5-1-stable@f7e5f19)
Using activemodel 5.1.4 from https://github.com/rails/rails.git (at 5-1-stable@f7e5f19)
Using arel 8.0.0
Using activerecord 5.1.4 from https://github.com/rails/rails.git (at 5-1-stable@f7e5f19)
Using ruby-plsql 0.6.0
Using activerecord-oracle_enhanced-adapter 1.8.2 from https://github.com/rsim/oracle-enhanced.git (at /home/yahonda/git/oracle-enhanced@6eaf3a4)
Using bundler 1.16.1
Using method_source 0.9.0
Using thor 0.20.0
Using railties 5.1.4 from https://github.com/rails/rails.git (at 5-1-stable@f7e5f19)
Using sprockets 3.7.1
Using sprockets-rails 3.2.1
Using rails 5.1.4 from https://github.com/rails/rails.git (at 5-1-stable@f7e5f19)
Using ruby-oci8 2.2.5.1
-- create_table(:users, {:force=>true})
D, [2018-01-16T02:32:47.091621 #1588] DEBUG -- : (30.9ms) DROP TABLE "USERS"
D, [2018-01-16T02:32:47.100575 #1588] DEBUG -- : (8.4ms) DROP SEQUENCE "USERS_SEQ"
D, [2018-01-16T02:32:47.122795 #1588] DEBUG -- : (21.4ms) CREATE TABLE "USERS" ("ID" NUMBER(38) NOT NULL PRIMARY KEY, "FULLNAME" VARCHAR2(255))
D, [2018-01-16T02:32:47.127514 #1588] DEBUG -- : (4.3ms) CREATE SEQUENCE "USERS_SEQ" START WITH 10000
-> 0.1203s
D, [2018-01-16T02:32:47.161141 #1588] DEBUG -- : (2.4ms) SELECT SYS_CONTEXT('userenv', 'current_schema') FROM dual
D, [2018-01-16T02:32:47.178375 #1588] DEBUG -- : (6.5ms) SELECT cols.column_name AS name, cols.data_type AS sql_type, cols.data_default, cols.nullable, cols.virtual_column, cols.hidden_column, cols.data_type_owner AS sql_type_owner, DECODE(cols.data_type, 'NUMBER', data_precision, 'FLOAT', data_precision, 'VARCHAR2', DECODE(char_used, 'C', char_length, data_length), 'RAW', DECODE(char_used, 'C', char_length, data_length), 'CHAR', DECODE(char_used, 'C', char_length, data_length), NULL) AS limit, DECODE(data_type, 'NUMBER', data_scale, NULL) AS scale, comments.comments as column_comment FROM all_tab_cols cols, all_col_comments comments WHERE cols.owner = 'ORACLE_ENHANCED' AND cols.table_name = 'AR_INTERNAL_METADATA' AND cols.hidden_column = 'NO' AND cols.owner = comments.owner AND cols.table_name = comments.table_name AND cols.column_name = comments.column_name ORDER BY cols.column_id
D, [2018-01-16T02:32:47.182230 #1588] DEBUG -- : ActiveRecord::InternalMetadata Load (1.5ms) SELECT "AR_INTERNAL_METADATA".* FROM "AR_INTERNAL_METADATA" WHERE "AR_INTERNAL_METADATA"."KEY" = :a1 FETCH FIRST :a2 ROWS ONLY [["key", "environment"], ["LIMIT", 1]]
D, [2018-01-16T02:32:47.183435 #1588] DEBUG -- : (0.6ms) SELECT SYS_CONTEXT('userenv', 'current_schema') FROM dual
Run options: --seed 46018
Running:
D, [2018-01-16T02:32:47.208940 #1588] DEBUG -- : (4.4ms) SELECT cols.column_name AS name, cols.data_type AS sql_type, cols.data_default, cols.nullable, cols.virtual_column, cols.hidden_column, cols.data_type_owner AS sql_type_owner, DECODE(cols.data_type, 'NUMBER', data_precision, 'FLOAT', data_precision, 'VARCHAR2', DECODE(char_used, 'C', char_length, data_length), 'RAW', DECODE(char_used, 'C', char_length, data_length), 'CHAR', DECODE(char_used, 'C', char_length, data_length), NULL) AS limit, DECODE(data_type, 'NUMBER', data_scale, NULL) AS scale, comments.comments as column_comment FROM all_tab_cols cols, all_col_comments comments WHERE cols.owner = 'ORACLE_ENHANCED' AND cols.table_name = 'USERS' AND cols.hidden_column = 'NO' AND cols.owner = comments.owner AND cols.table_name = comments.table_name AND cols.column_name = comments.column_name ORDER BY cols.column_id
D, [2018-01-16T02:32:47.334985 #1588] DEBUG -- : (105.0ms) SELECT LOWER(view_name) FROM all_views WHERE owner = SYS_CONTEXT('userenv', 'current_schema')
D, [2018-01-16T02:32:47.337595 #1588] DEBUG -- : Sequence (1.2ms) select us.sequence_name from all_sequences us where us.sequence_owner = 'ORACLE_ENHANCED' and us.sequence_name = upper('USERS_seq')
D, [2018-01-16T02:32:47.341369 #1588] DEBUG -- : Primary Key (3.3ms) SELECT cc.column_name FROM all_constraints c, all_cons_columns cc WHERE c.owner = 'ORACLE_ENHANCED' AND c.table_name = 'USERS' AND c.constraint_type = 'P' AND cc.owner = c.owner AND cc.constraint_name = c.constraint_name
D, [2018-01-16T02:32:47.346792 #1588] DEBUG -- : Sequence (0.9ms) select us.sequence_name from all_sequences us where us.sequence_owner = 'ORACLE_ENHANCED' and us.sequence_name = upper('USERS_seq')
D, [2018-01-16T02:32:47.348836 #1588] DEBUG -- : Primary Key (1.6ms) SELECT cc.column_name FROM all_constraints c, all_cons_columns cc WHERE c.owner = 'ORACLE_ENHANCED' AND c.table_name = 'USERS' AND c.constraint_type = 'P' AND cc.owner = c.owner AND cc.constraint_name = c.constraint_name
D, [2018-01-16T02:32:47.350593 #1588] DEBUG -- : Primary Key Trigger (1.3ms) SELECT trigger_name
FROM all_triggers
WHERE owner = 'ORACLE_ENHANCED'
AND trigger_name = q'[USERS_PKT]'
AND table_owner = 'ORACLE_ENHANCED'
AND table_name = q'[USERS]'
AND status = 'ENABLED'
D, [2018-01-16T02:32:47.403521 #1588] DEBUG -- : SQL (48.6ms) INSERT INTO "USERS" ("FULLNAME", "ID") VALUES (:a1, :a2) [["fullname", "(ง ͠° ͟ل ͡°)ง"], ["id", 10000]]
D, [2018-01-16T02:32:47.410713 #1588] DEBUG -- : User Load (4.4ms) SELECT "USERS".* FROM "USERS" WHERE "USERS"."ID" = :a1 FETCH FIRST :a2 ROWS ONLY [["id", 10000], ["LIMIT", 1]]
.
Finished in 0.209073s, 4.7830 runs/s, 4.7830 assertions/s.
1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
$