ruby-plsql 0.8.0 → 0.9.9
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.
- checksums.yaml +4 -4
- data/History.txt +2 -0
- data/README.md +19 -3
- data/VERSION +1 -1
- data/lib/plsql/connection.rb +14 -14
- data/lib/plsql/helpers.rb +3 -3
- data/lib/plsql/jdbc_connection.rb +62 -22
- data/lib/plsql/oci_connection.rb +10 -10
- data/lib/plsql/package.rb +3 -3
- data/lib/plsql/procedure.rb +57 -22
- data/lib/plsql/procedure_call.rb +15 -15
- data/lib/plsql/schema.rb +17 -10
- data/lib/plsql/sequence.rb +2 -2
- data/lib/plsql/table.rb +6 -6
- data/lib/plsql/type.rb +7 -7
- data/lib/plsql/variable.rb +6 -5
- data/lib/plsql/version.rb +1 -1
- data/lib/plsql/view.rb +2 -2
- metadata +14 -140
- data/.github/stale.yml +0 -37
- data/.github/workflows/rubocop.yml +0 -37
- data/.github/workflows/test.yml +0 -69
- data/.rubocop.yml +0 -147
- data/.travis/oracle/download.sh +0 -15
- data/.travis/oracle/install.sh +0 -32
- data/.travis/setup_accounts.sh +0 -9
- data/.travis.yml +0 -88
- data/Gemfile +0 -24
- data/Rakefile +0 -53
- data/Vagrantfile +0 -38
- data/ci/network/admin/tnsnames.ora +0 -7
- data/ci/setup_accounts.sh +0 -9
- data/gemfiles/Gemfile.activerecord-5.0 +0 -21
- data/gemfiles/Gemfile.activerecord-5.1 +0 -21
- data/gemfiles/Gemfile.activerecord-5.2 +0 -21
- data/gemfiles/Gemfile.activerecord-6.0 +0 -21
- data/gemfiles/Gemfile.activerecord-6.1 +0 -21
- data/gemfiles/Gemfile.activerecord-main +0 -21
- data/lib/plsql/oci8_patches.rb +0 -25
- data/ruby-plsql.gemspec +0 -114
- data/spec/plsql/connection_spec.rb +0 -505
- data/spec/plsql/package_spec.rb +0 -172
- data/spec/plsql/procedure_spec.rb +0 -2390
- data/spec/plsql/schema_spec.rb +0 -364
- data/spec/plsql/sequence_spec.rb +0 -67
- data/spec/plsql/sql_statements_spec.rb +0 -91
- data/spec/plsql/table_spec.rb +0 -376
- data/spec/plsql/type_spec.rb +0 -299
- data/spec/plsql/variable_spec.rb +0 -497
- data/spec/plsql/version_spec.rb +0 -8
- data/spec/plsql/view_spec.rb +0 -264
- data/spec/spec.opts +0 -6
- data/spec/spec_helper.rb +0 -121
- data/spec/support/create_arunit_user.sql +0 -2
- data/spec/support/custom_config.rb.sample +0 -14
- data/spec/support/file_check_script.sh +0 -9
- data/spec/support/test_db.rb +0 -149
- data/spec/support/unlock_and_setup_hr_user.sql +0 -2
data/.github/workflows/test.yml
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
name: test
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
pull_request:
|
|
6
|
-
|
|
7
|
-
jobs:
|
|
8
|
-
build:
|
|
9
|
-
|
|
10
|
-
runs-on: ubuntu-20.04
|
|
11
|
-
continue-on-error: true
|
|
12
|
-
strategy:
|
|
13
|
-
matrix:
|
|
14
|
-
ruby: [
|
|
15
|
-
3.0,
|
|
16
|
-
2.7,
|
|
17
|
-
2.6,
|
|
18
|
-
2.5,
|
|
19
|
-
ruby-head,
|
|
20
|
-
ruby-debug
|
|
21
|
-
]
|
|
22
|
-
env:
|
|
23
|
-
ORACLE_HOME: /usr/lib/oracle/18.5/client64
|
|
24
|
-
LD_LIBRARY_PATH: /usr/lib/oracle/18.5/client64/lib
|
|
25
|
-
NLS_LANG: AMERICAN_AMERICA.AL32UTF8
|
|
26
|
-
TNS_ADMIN: ./ci/network/admin
|
|
27
|
-
DATABASE_NAME: XEPDB1
|
|
28
|
-
TZ: Europe/Riga
|
|
29
|
-
DATABASE_SYS_PASSWORD: Oracle18
|
|
30
|
-
DATABASE_VERSION: 18.4.0.0
|
|
31
|
-
|
|
32
|
-
services:
|
|
33
|
-
oracle:
|
|
34
|
-
image: quillbuilduser/oracle-18-xe
|
|
35
|
-
ports:
|
|
36
|
-
- 1521:1521
|
|
37
|
-
env:
|
|
38
|
-
TZ: Europe/Riga
|
|
39
|
-
steps:
|
|
40
|
-
- uses: actions/checkout@v2
|
|
41
|
-
- name: Set up Ruby
|
|
42
|
-
uses: ruby/setup-ruby@v1
|
|
43
|
-
with:
|
|
44
|
-
ruby-version: ${{ matrix.ruby }}
|
|
45
|
-
- name: Install required package
|
|
46
|
-
run: |
|
|
47
|
-
sudo apt-get install alien
|
|
48
|
-
- name: Download Oracle client
|
|
49
|
-
run: |
|
|
50
|
-
wget -q https://download.oracle.com/otn_software/linux/instantclient/185000/oracle-instantclient18.5-basic-18.5.0.0.0-3.x86_64.rpm
|
|
51
|
-
wget -q https://download.oracle.com/otn_software/linux/instantclient/185000/oracle-instantclient18.5-sqlplus-18.5.0.0.0-3.x86_64.rpm
|
|
52
|
-
wget -q https://download.oracle.com/otn_software/linux/instantclient/185000/oracle-instantclient18.5-devel-18.5.0.0.0-3.x86_64.rpm
|
|
53
|
-
- name: Install Oracle client
|
|
54
|
-
run: |
|
|
55
|
-
sudo alien -i oracle-instantclient18.5-basic-18.5.0.0.0-3.x86_64.rpm
|
|
56
|
-
sudo alien -i oracle-instantclient18.5-sqlplus-18.5.0.0.0-3.x86_64.rpm
|
|
57
|
-
sudo alien -i oracle-instantclient18.5-devel-18.5.0.0.0-3.x86_64.rpm
|
|
58
|
-
- name: Install JDBC Driver
|
|
59
|
-
run: |
|
|
60
|
-
cp $ORACLE_HOME/lib/ojdbc8.jar lib/.
|
|
61
|
-
- name: Create database user
|
|
62
|
-
run: |
|
|
63
|
-
./ci/setup_accounts.sh
|
|
64
|
-
- name: Bundle install
|
|
65
|
-
run: |
|
|
66
|
-
bundle install --jobs 4 --retry 3
|
|
67
|
-
- name: Run RSpec
|
|
68
|
-
run: |
|
|
69
|
-
bundle exec rspec
|
data/.rubocop.yml
DELETED
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
# rubocop 0.51.0 requires Ruby 2.1
|
|
2
|
-
# We should not use cops only available for Ruby 2.1 or later
|
|
3
|
-
# since ruby-plsql itself supports Ruby 1.9.3
|
|
4
|
-
AllCops:
|
|
5
|
-
TargetRubyVersion: 2.3
|
|
6
|
-
DisabledByDefault: true
|
|
7
|
-
|
|
8
|
-
# Prefer &&/|| over and/or.
|
|
9
|
-
Style/AndOr:
|
|
10
|
-
Enabled: true
|
|
11
|
-
|
|
12
|
-
# Align `when` with `case`.
|
|
13
|
-
Layout/CaseIndentation:
|
|
14
|
-
Enabled: true
|
|
15
|
-
|
|
16
|
-
# Align comments with method definitions.
|
|
17
|
-
Layout/CommentIndentation:
|
|
18
|
-
Enabled: true
|
|
19
|
-
|
|
20
|
-
Layout/ElseAlignment:
|
|
21
|
-
Enabled: true
|
|
22
|
-
|
|
23
|
-
Layout/EmptyLineAfterMagicComment:
|
|
24
|
-
Enabled: true
|
|
25
|
-
|
|
26
|
-
# No extra empty lines.
|
|
27
|
-
Layout/EmptyLines:
|
|
28
|
-
Enabled: true
|
|
29
|
-
|
|
30
|
-
# In a regular class definition, no empty lines around the body.
|
|
31
|
-
Layout/EmptyLinesAroundClassBody:
|
|
32
|
-
Enabled: true
|
|
33
|
-
|
|
34
|
-
# In a regular method definition, no empty lines around the body.
|
|
35
|
-
Layout/EmptyLinesAroundMethodBody:
|
|
36
|
-
Enabled: true
|
|
37
|
-
|
|
38
|
-
# In a regular module definition, no empty lines around the body.
|
|
39
|
-
Layout/EmptyLinesAroundModuleBody:
|
|
40
|
-
Enabled: true
|
|
41
|
-
|
|
42
|
-
Layout/FirstArgumentIndentation:
|
|
43
|
-
Enabled: true
|
|
44
|
-
|
|
45
|
-
# Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.
|
|
46
|
-
Style/HashSyntax:
|
|
47
|
-
Enabled: true
|
|
48
|
-
|
|
49
|
-
# Method definitions after `private` or `protected` isolated calls need one
|
|
50
|
-
# extra level of indentation.
|
|
51
|
-
Layout/IndentationConsistency:
|
|
52
|
-
Enabled: true
|
|
53
|
-
EnforcedStyle: indented_internal_methods
|
|
54
|
-
|
|
55
|
-
# Two spaces, no tabs (for indentation).
|
|
56
|
-
Layout/IndentationWidth:
|
|
57
|
-
Enabled: true
|
|
58
|
-
|
|
59
|
-
Layout/LeadingCommentSpace:
|
|
60
|
-
Enabled: true
|
|
61
|
-
|
|
62
|
-
Layout/SpaceAfterColon:
|
|
63
|
-
Enabled: true
|
|
64
|
-
|
|
65
|
-
Layout/SpaceAfterComma:
|
|
66
|
-
Enabled: true
|
|
67
|
-
|
|
68
|
-
Layout/SpaceAroundEqualsInParameterDefault:
|
|
69
|
-
Enabled: true
|
|
70
|
-
|
|
71
|
-
Layout/SpaceAroundKeyword:
|
|
72
|
-
Enabled: true
|
|
73
|
-
|
|
74
|
-
Layout/SpaceAroundOperators:
|
|
75
|
-
Enabled: true
|
|
76
|
-
|
|
77
|
-
Layout/SpaceBeforeComma:
|
|
78
|
-
Enabled: true
|
|
79
|
-
|
|
80
|
-
Layout/SpaceBeforeFirstArg:
|
|
81
|
-
Enabled: true
|
|
82
|
-
|
|
83
|
-
Style/DefWithParentheses:
|
|
84
|
-
Enabled: true
|
|
85
|
-
|
|
86
|
-
# Defining a method with parameters needs parentheses.
|
|
87
|
-
Style/MethodDefParentheses:
|
|
88
|
-
Enabled: true
|
|
89
|
-
|
|
90
|
-
Style/FrozenStringLiteralComment:
|
|
91
|
-
Enabled: false
|
|
92
|
-
EnforcedStyle: always
|
|
93
|
-
|
|
94
|
-
# Use `foo {}` not `foo{}`.
|
|
95
|
-
Layout/SpaceBeforeBlockBraces:
|
|
96
|
-
Enabled: true
|
|
97
|
-
|
|
98
|
-
# Use `foo { bar }` not `foo {bar}`.
|
|
99
|
-
Layout/SpaceInsideBlockBraces:
|
|
100
|
-
Enabled: true
|
|
101
|
-
|
|
102
|
-
# Use `{ a: 1 }` not `{a:1}`.
|
|
103
|
-
Layout/SpaceInsideHashLiteralBraces:
|
|
104
|
-
Enabled: true
|
|
105
|
-
|
|
106
|
-
Layout/SpaceInsideParens:
|
|
107
|
-
Enabled: true
|
|
108
|
-
|
|
109
|
-
# Check quotes usage according to lint rule below.
|
|
110
|
-
Style/StringLiterals:
|
|
111
|
-
Enabled: true
|
|
112
|
-
EnforcedStyle: double_quotes
|
|
113
|
-
|
|
114
|
-
# Detect hard tabs, no hard tabs.
|
|
115
|
-
Layout/Tab:
|
|
116
|
-
Enabled: true
|
|
117
|
-
|
|
118
|
-
# Blank lines should not have any spaces.
|
|
119
|
-
Layout/TrailingEmptyLines:
|
|
120
|
-
Enabled: true
|
|
121
|
-
|
|
122
|
-
# No trailing whitespace.
|
|
123
|
-
Layout/TrailingWhitespace:
|
|
124
|
-
Enabled: true
|
|
125
|
-
|
|
126
|
-
# Use quotes for string literals when they are enough.
|
|
127
|
-
Style/RedundantPercentQ:
|
|
128
|
-
Enabled: true
|
|
129
|
-
|
|
130
|
-
# Align `end` with the matching keyword or starting expression except for
|
|
131
|
-
# assignments, where it should be aligned with the LHS.
|
|
132
|
-
Layout/EndAlignment:
|
|
133
|
-
Enabled: true
|
|
134
|
-
EnforcedStyleAlignWith: variable
|
|
135
|
-
AutoCorrect: true
|
|
136
|
-
|
|
137
|
-
# Use my_method(my_arg) not my_method( my_arg ) or my_method my_arg.
|
|
138
|
-
Lint/RequireParentheses:
|
|
139
|
-
Enabled: true
|
|
140
|
-
|
|
141
|
-
Style/RedundantReturn:
|
|
142
|
-
Enabled: true
|
|
143
|
-
AllowMultipleReturnValues: true
|
|
144
|
-
|
|
145
|
-
Style/Semicolon:
|
|
146
|
-
Enabled: true
|
|
147
|
-
AllowAsExpressionSeparator: true
|
data/.travis/oracle/download.sh
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
cd "$(dirname "$(readlink -f "$0")")"
|
|
4
|
-
|
|
5
|
-
deb_file=oracle-xe_11.2.0-1.0_amd64.deb
|
|
6
|
-
|
|
7
|
-
git clone https://github.com/wnameless/docker-oracle-xe-11g.git
|
|
8
|
-
|
|
9
|
-
cd docker-oracle-xe-11g/assets &&
|
|
10
|
-
cat "${deb_file}aa" "${deb_file}ab" "${deb_file}ac" > "${deb_file}"
|
|
11
|
-
|
|
12
|
-
pwd
|
|
13
|
-
|
|
14
|
-
ls -lAh "${deb_file}"
|
|
15
|
-
|
data/.travis/oracle/install.sh
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
[ -n "$ORACLE_FILE" ] || { echo "Missing ORACLE_FILE environment variable!"; exit 1; }
|
|
4
|
-
[ -n "$ORACLE_HOME" ] || { echo "Missing ORACLE_HOME environment variable!"; exit 1; }
|
|
5
|
-
|
|
6
|
-
cd "$(dirname "$(readlink -f "$0")")"
|
|
7
|
-
|
|
8
|
-
ORACLE_DEB=docker-oracle-xe-11g/assets/oracle-xe_11.2.0-1.0_amd64.deb
|
|
9
|
-
|
|
10
|
-
sudo apt-get -qq update
|
|
11
|
-
sudo apt-get --no-install-recommends -qq install bc libaio1
|
|
12
|
-
|
|
13
|
-
df -B1 /dev/shm | awk 'END { if ($1 != "shmfs" && $1 != "tmpfs" || $2 < 2147483648) exit 1 }' ||
|
|
14
|
-
( sudo rm -r /dev/shm && sudo mkdir /dev/shm && sudo mount -t tmpfs shmfs -o size=2G /dev/shm )
|
|
15
|
-
|
|
16
|
-
test -f /sbin/chkconfig ||
|
|
17
|
-
( echo '#!/bin/sh' | sudo tee /sbin/chkconfig > /dev/null && sudo chmod u+x /sbin/chkconfig )
|
|
18
|
-
|
|
19
|
-
test -d /var/lock/subsys || sudo mkdir /var/lock/subsys
|
|
20
|
-
|
|
21
|
-
sudo dpkg -i "${ORACLE_DEB}"
|
|
22
|
-
|
|
23
|
-
echo 'OS_AUTHENT_PREFIX=""' | sudo tee -a "$ORACLE_HOME/config/scripts/init.ora" > /dev/null
|
|
24
|
-
echo 'disk_asynch_io=false' | sudo tee -a "$ORACLE_HOME/config/scripts/init.ora" > /dev/null
|
|
25
|
-
sudo usermod -aG dba $USER
|
|
26
|
-
|
|
27
|
-
( echo ; echo ; echo travis ; echo travis ; echo n ) | sudo AWK='/usr/bin/awk' /etc/init.d/oracle-xe configure
|
|
28
|
-
|
|
29
|
-
"$ORACLE_HOME/bin/sqlplus" -L -S / AS SYSDBA <<SQL
|
|
30
|
-
CREATE USER $USER IDENTIFIED EXTERNALLY;
|
|
31
|
-
GRANT CONNECT, RESOURCE TO $USER;
|
|
32
|
-
SQL
|
data/.travis/setup_accounts.sh
DELETED
data/.travis.yml
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
dist: xenial
|
|
2
|
-
sudo: required
|
|
3
|
-
|
|
4
|
-
jdk:
|
|
5
|
-
- openjdk8
|
|
6
|
-
env:
|
|
7
|
-
global:
|
|
8
|
-
- ORACLE_COOKIE=sqldev
|
|
9
|
-
- ORACLE_FILE=oracle11g/xe/oracle-xe-11.2.0-1.0.x86_64.rpm.zip
|
|
10
|
-
- ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
|
|
11
|
-
- NLS_LANG=AMERICAN_AMERICA.AL32UTF8
|
|
12
|
-
- ORACLE_BASE=/u01/app/oracle
|
|
13
|
-
- LD_LIBRARY_PATH=$ORACLE_HOME/lib
|
|
14
|
-
- PATH=$PATH:$ORACLE_HOME/jdbc/lib
|
|
15
|
-
- DATABASE_VERSION=11.2.0.2
|
|
16
|
-
- ORACLE_SID=XE
|
|
17
|
-
- DATABASE_NAME=XE
|
|
18
|
-
- ORA_SDTZ='Europe/London' #Needed as a client parameter
|
|
19
|
-
- TZ='Europe/London' #Needed as a DB Server parameter
|
|
20
|
-
|
|
21
|
-
before_install:
|
|
22
|
-
- chmod +x .travis/oracle/download.sh
|
|
23
|
-
- chmod +x .travis/oracle/install.sh
|
|
24
|
-
- chmod +x .travis/setup_accounts.sh
|
|
25
|
-
- 'gem install bundler || gem install bundler -v 1.17.3'
|
|
26
|
-
|
|
27
|
-
install:
|
|
28
|
-
- .travis/oracle/download.sh
|
|
29
|
-
- .travis/oracle/install.sh
|
|
30
|
-
- .travis/setup_accounts.sh
|
|
31
|
-
- bundle install --without=development
|
|
32
|
-
|
|
33
|
-
language: ruby
|
|
34
|
-
rvm:
|
|
35
|
-
- 3.0.2
|
|
36
|
-
- 2.7.4
|
|
37
|
-
- 2.6.8
|
|
38
|
-
- 2.5.9
|
|
39
|
-
- 2.4.10
|
|
40
|
-
- 2.3.8
|
|
41
|
-
- jruby-9.2.17.0
|
|
42
|
-
- ruby-head
|
|
43
|
-
- jruby-head
|
|
44
|
-
|
|
45
|
-
gemfile:
|
|
46
|
-
- Gemfile
|
|
47
|
-
- gemfiles/Gemfile.activerecord-5.0
|
|
48
|
-
- gemfiles/Gemfile.activerecord-5.1
|
|
49
|
-
- gemfiles/Gemfile.activerecord-5.2
|
|
50
|
-
- gemfiles/Gemfile.activerecord-6.0
|
|
51
|
-
- gemfiles/Gemfile.activerecord-6.1
|
|
52
|
-
- gemfiles/Gemfile.activerecord-main
|
|
53
|
-
|
|
54
|
-
matrix:
|
|
55
|
-
exclude:
|
|
56
|
-
- gemfile: gemfiles/Gemfile.activerecord-main
|
|
57
|
-
rvm: jruby-head
|
|
58
|
-
- gemfile: gemfiles/Gemfile.activerecord-main
|
|
59
|
-
rvm: jruby-9.2.17.0
|
|
60
|
-
- gemfile: gemfiles/Gemfile.activerecord-main
|
|
61
|
-
rvm: 2.6.8
|
|
62
|
-
- gemfile: gemfiles/Gemfile.activerecord-main
|
|
63
|
-
rvm: 2.5.9
|
|
64
|
-
- gemfile: gemfiles/Gemfile.activerecord-main
|
|
65
|
-
rvm: 2.4.10
|
|
66
|
-
- gemfile: gemfiles/Gemfile.activerecord-main
|
|
67
|
-
rvm: 2.3.8
|
|
68
|
-
- gemfile: gemfiles/Gemfile.activerecord-main
|
|
69
|
-
rvm: 2.2.10
|
|
70
|
-
- gemfile: gemfiles/Gemfile.activerecord-6.0
|
|
71
|
-
rvm: 2.4.10
|
|
72
|
-
- gemfile: gemfiles/Gemfile.activerecord-6.0
|
|
73
|
-
rvm: 2.3.8
|
|
74
|
-
- gemfile: gemfiles/Gemfile.activerecord-6.0
|
|
75
|
-
rvm: 2.2.10
|
|
76
|
-
- gemfile: gemfiles/Gemfile.activerecord-6.1
|
|
77
|
-
rvm: 2.4.10
|
|
78
|
-
- gemfile: gemfiles/Gemfile.activerecord-6.1
|
|
79
|
-
rvm: 2.3.8
|
|
80
|
-
- gemfile: gemfiles/Gemfile.activerecord-6.1
|
|
81
|
-
rvm: 2.2.10
|
|
82
|
-
allow_failures:
|
|
83
|
-
- rvm: ruby-head
|
|
84
|
-
- rvm: jruby-head
|
|
85
|
-
- gemfile: gemfiles/Gemfile.activerecord-main
|
|
86
|
-
rvm: 3.0.2
|
|
87
|
-
- gemfile: gemfiles/Gemfile.activerecord-main
|
|
88
|
-
rvm: 2.7.4
|
data/Gemfile
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
source "http://rubygems.org"
|
|
2
|
-
|
|
3
|
-
group :development do
|
|
4
|
-
gem "juwelier", "~> 2.0"
|
|
5
|
-
gem "rspec_junit_formatter"
|
|
6
|
-
gem "rubocop", "0.81", require: false
|
|
7
|
-
gem "rubocop-performance", require: false
|
|
8
|
-
gem "rubocop-rails", require: false
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
group :test, :development do
|
|
12
|
-
gem "rake", ">= 10.0"
|
|
13
|
-
gem "rspec", "~> 3.1"
|
|
14
|
-
|
|
15
|
-
unless ENV["NO_ACTIVERECORD"]
|
|
16
|
-
gem "activerecord", "~> 5.0"
|
|
17
|
-
gem "activerecord-oracle_enhanced-adapter", "~> 1.7"
|
|
18
|
-
gem "simplecov", ">= 0"
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
platforms :ruby, :mswin, :mingw do
|
|
22
|
-
gem "ruby-oci8", "~> 2.1"
|
|
23
|
-
end
|
|
24
|
-
end
|
data/Rakefile
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
require "rubygems"
|
|
2
|
-
require "bundler"
|
|
3
|
-
begin
|
|
4
|
-
Bundler.setup(:default, :development)
|
|
5
|
-
rescue Bundler::BundlerError => e
|
|
6
|
-
$stderr.puts e.message
|
|
7
|
-
$stderr.puts "Run `bundle install` to install missing gems"
|
|
8
|
-
exit e.status_code
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
require "rake"
|
|
12
|
-
|
|
13
|
-
begin
|
|
14
|
-
require "juwelier"
|
|
15
|
-
Juwelier::Tasks.new do |gem|
|
|
16
|
-
gem.name = "ruby-plsql"
|
|
17
|
-
gem.summary = "Ruby API for calling Oracle PL/SQL procedures."
|
|
18
|
-
gem.description = <<-EOS
|
|
19
|
-
ruby-plsql gem provides simple Ruby API for calling Oracle PL/SQL procedures.
|
|
20
|
-
It could be used both for accessing Oracle PL/SQL API procedures in legacy applications
|
|
21
|
-
as well as it could be used to create PL/SQL unit tests using Ruby testing libraries.
|
|
22
|
-
EOS
|
|
23
|
-
gem.email = "raimonds.simanovskis@gmail.com"
|
|
24
|
-
gem.homepage = "http://github.com/rsim/ruby-plsql"
|
|
25
|
-
gem.license = "MIT".freeze
|
|
26
|
-
gem.authors = ["Raimonds Simanovskis"]
|
|
27
|
-
gem.extra_rdoc_files = ["README.md"]
|
|
28
|
-
end
|
|
29
|
-
Juwelier::RubygemsDotOrgTasks.new
|
|
30
|
-
rescue LoadError
|
|
31
|
-
# juwelier not installed
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
require "rspec/core/rake_task"
|
|
35
|
-
RSpec::Core::RakeTask.new(:spec)
|
|
36
|
-
|
|
37
|
-
desc "Code coverage detail"
|
|
38
|
-
task :simplecov do
|
|
39
|
-
ENV["COVERAGE"] = "true"
|
|
40
|
-
Rake::Task["spec"].execute
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
task default: :spec
|
|
44
|
-
|
|
45
|
-
require "rdoc/task"
|
|
46
|
-
Rake::RDocTask.new do |rdoc|
|
|
47
|
-
version = File.exist?("VERSION") ? File.read("VERSION") : ""
|
|
48
|
-
|
|
49
|
-
rdoc.rdoc_dir = "doc"
|
|
50
|
-
rdoc.title = "ruby-plsql #{version}"
|
|
51
|
-
rdoc.rdoc_files.include("README*")
|
|
52
|
-
rdoc.rdoc_files.include("lib/**/*.rb")
|
|
53
|
-
end
|
data/Vagrantfile
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
|
|
2
|
-
VAGRANTFILE_API_VERSION = "2"
|
|
3
|
-
|
|
4
|
-
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|
5
|
-
|
|
6
|
-
# Every Vagrant virtual environment requires a box to build off of.
|
|
7
|
-
config.vm.box = "boxcutter/centos72"
|
|
8
|
-
config.vm.hostname = "vagrant.oracle"
|
|
9
|
-
config.vm.network :forwarded_port, guest: 1521, host: 1521
|
|
10
|
-
|
|
11
|
-
config.vm.provider :virtualbox do |vb|
|
|
12
|
-
vb.name = "Ruby-PLSQL Oracle XE box"
|
|
13
|
-
# Speed up network
|
|
14
|
-
# http://serverfault.com/a/453260/105586
|
|
15
|
-
# http://serverfault.com/a/595010/105586
|
|
16
|
-
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
|
|
17
|
-
vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
# Check for Oracle XE installation file
|
|
21
|
-
config.vm.provision :shell, path: "./spec/support/file_check_script.sh"
|
|
22
|
-
|
|
23
|
-
config.vm.provision :shell, inline: "yum update -y"
|
|
24
|
-
config.vm.provision :shell, inline: "yum install -y libaio bc flex unzip"
|
|
25
|
-
config.vm.provision :shell, inline: "mkdir -p /opt/oracle"
|
|
26
|
-
config.vm.provision :shell, inline: "unzip -o -q -d /opt/oracle /vagrant/oracle-xe-11.2.0-1.0.x86_64.rpm.zip"
|
|
27
|
-
config.vm.provision :shell, inline: "cd /opt/oracle/Disk1 && rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm"
|
|
28
|
-
config.vm.provision :shell, inline: 'sed -i -E "s/<value required>/oracle/" /opt/oracle/Disk1/response/xe.rsp'
|
|
29
|
-
config.vm.provision :shell, inline: "/etc/init.d/oracle-xe configure responseFile=/opt/oracle/Disk1/response/xe.rsp >> /opt/oracle/XEsilentinstall.log"
|
|
30
|
-
config.vm.provision :shell, inline: ". /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh"
|
|
31
|
-
config.vm.provision :shell, inline: "touch /etc/profile.d/oracle_profile.sh && cat /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh >> /etc/profile.d/oracle_profile.sh"
|
|
32
|
-
config.vm.provision :shell, inline: 'sed -i -E "s/HOST = [^)]+/HOST = $HOSTNAME/g" /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora'
|
|
33
|
-
config.vm.provision :shell, inline: %q{sed -i -E "s/<ORACLE_BASE>/\/u01\/app\/oracle/" /u01/app/oracle/product/11.2.0/xe/dbs/init.ora}
|
|
34
|
-
|
|
35
|
-
# Change password for Oracle user
|
|
36
|
-
config.vm.provision :shell, inline: "echo -e \"oracle\noracle\" | passwd oracle"
|
|
37
|
-
|
|
38
|
-
end
|
data/ci/setup_accounts.sh
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
source 'http://rubygems.org'
|
|
2
|
-
|
|
3
|
-
group :development do
|
|
4
|
-
gem 'juwelier', '~> 2.0'
|
|
5
|
-
gem 'rspec_junit_formatter'
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
group :test, :development do
|
|
9
|
-
gem 'rake', '>= 10.0'
|
|
10
|
-
gem 'rspec', '~> 3.1'
|
|
11
|
-
|
|
12
|
-
unless ENV['NO_ACTIVERECORD']
|
|
13
|
-
gem 'activerecord', '~> 5.0.0'
|
|
14
|
-
gem 'activerecord-oracle_enhanced-adapter', '~> 1.7.0'
|
|
15
|
-
gem 'simplecov', '>= 0'
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
platforms :ruby, :mswin, :mingw do
|
|
19
|
-
gem 'ruby-oci8', '~> 2.1'
|
|
20
|
-
end
|
|
21
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
source 'http://rubygems.org'
|
|
2
|
-
|
|
3
|
-
group :development do
|
|
4
|
-
gem 'juwelier', '~> 2.0'
|
|
5
|
-
gem 'rspec_junit_formatter'
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
group :test, :development do
|
|
9
|
-
gem 'rake', '>= 10.0'
|
|
10
|
-
gem 'rspec', '~> 3.1'
|
|
11
|
-
|
|
12
|
-
unless ENV['NO_ACTIVERECORD']
|
|
13
|
-
gem 'activerecord', '~> 5.1.0'
|
|
14
|
-
gem 'activerecord-oracle_enhanced-adapter', '~> 1.8.0'
|
|
15
|
-
gem 'simplecov', '>= 0'
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
platforms :ruby, :mswin, :mingw do
|
|
19
|
-
gem 'ruby-oci8', '~> 2.1'
|
|
20
|
-
end
|
|
21
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
source 'http://rubygems.org'
|
|
2
|
-
|
|
3
|
-
group :development do
|
|
4
|
-
gem 'juwelier', '~> 2.0'
|
|
5
|
-
gem 'rspec_junit_formatter'
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
group :test, :development do
|
|
9
|
-
gem 'rake', '>= 10.0'
|
|
10
|
-
gem 'rspec', '~> 3.1'
|
|
11
|
-
|
|
12
|
-
unless ENV['NO_ACTIVERECORD']
|
|
13
|
-
gem 'activerecord', '~> 5.2.0.beta'
|
|
14
|
-
gem 'activerecord-oracle_enhanced-adapter', '~> 5.2.0.beta'
|
|
15
|
-
gem 'simplecov', '>= 0'
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
platforms :ruby, :mswin, :mingw do
|
|
19
|
-
gem 'ruby-oci8', '~> 2.1'
|
|
20
|
-
end
|
|
21
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
source 'http://rubygems.org'
|
|
2
|
-
|
|
3
|
-
group :development do
|
|
4
|
-
gem 'juwelier', '~> 2.0'
|
|
5
|
-
gem 'rspec_junit_formatter'
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
group :test, :development do
|
|
9
|
-
gem 'rake', '>= 10.0'
|
|
10
|
-
gem 'rspec', '~> 3.1'
|
|
11
|
-
|
|
12
|
-
unless ENV['NO_ACTIVERECORD']
|
|
13
|
-
gem 'activerecord', '~> 6.0.0.rc1'
|
|
14
|
-
gem 'activerecord-oracle_enhanced-adapter', '~>6.0.0.rc1'
|
|
15
|
-
gem 'simplecov', '>= 0'
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
platforms :ruby, :mswin, :mingw do
|
|
19
|
-
gem 'ruby-oci8', '~> 2.1'
|
|
20
|
-
end
|
|
21
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
source 'http://rubygems.org'
|
|
2
|
-
|
|
3
|
-
group :development do
|
|
4
|
-
gem 'juwelier', '~> 2.0'
|
|
5
|
-
gem 'rspec_junit_formatter'
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
group :test, :development do
|
|
9
|
-
gem 'rake', '>= 10.0'
|
|
10
|
-
gem 'rspec', '~> 3.1'
|
|
11
|
-
|
|
12
|
-
unless ENV['NO_ACTIVERECORD']
|
|
13
|
-
gem 'activerecord', '~> 6.1.0'
|
|
14
|
-
gem 'activerecord-oracle_enhanced-adapter', '~>6.1.0'
|
|
15
|
-
gem 'simplecov', '>= 0'
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
platforms :ruby, :mswin, :mingw do
|
|
19
|
-
gem 'ruby-oci8', '~> 2.1'
|
|
20
|
-
end
|
|
21
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
source 'http://rubygems.org'
|
|
2
|
-
|
|
3
|
-
group :development do
|
|
4
|
-
gem 'juwelier', '~> 2.0'
|
|
5
|
-
gem 'rspec_junit_formatter'
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
group :test, :development do
|
|
9
|
-
gem 'rake', '>= 10.0'
|
|
10
|
-
gem 'rspec', '~> 3.1'
|
|
11
|
-
|
|
12
|
-
unless ENV['NO_ACTIVERECORD']
|
|
13
|
-
gem 'activerecord', github: 'rails/rails', branch: 'main'
|
|
14
|
-
gem 'activerecord-oracle_enhanced-adapter', github: 'rsim/oracle-enhanced', branch: 'master'
|
|
15
|
-
gem 'simplecov', '>= 0'
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
platforms :ruby, :mswin, :mingw do
|
|
19
|
-
gem 'ruby-oci8', '~> 2.1'
|
|
20
|
-
end
|
|
21
|
-
end
|
data/lib/plsql/oci8_patches.rb
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# apply TIMESTAMP fractional seconds patch to ruby-oci8 2.0.3
|
|
2
|
-
# see http://rubyforge.org/forum/forum.php?thread_id=46576&forum_id=1078
|
|
3
|
-
if OCI8::VERSION == "2.0.3" &&
|
|
4
|
-
!OCI8::BindType::Util.method_defined?(:datetime_to_array_without_timestamp_patch)
|
|
5
|
-
|
|
6
|
-
OCI8::BindType::Util.module_eval do
|
|
7
|
-
alias :datetime_to_array_without_timestamp_patch :datetime_to_array
|
|
8
|
-
def datetime_to_array(val, full)
|
|
9
|
-
result = datetime_to_array_without_timestamp_patch(val, full)
|
|
10
|
-
if result && result[6] == 0
|
|
11
|
-
if val.respond_to? :nsec
|
|
12
|
-
fsec = val.nsec
|
|
13
|
-
elsif val.respond_to? :usec
|
|
14
|
-
fsec = val.usec * 1000
|
|
15
|
-
else
|
|
16
|
-
fsec = 0
|
|
17
|
-
end
|
|
18
|
-
result[6] = fsec
|
|
19
|
-
end
|
|
20
|
-
result
|
|
21
|
-
end
|
|
22
|
-
private :datetime_to_array_without_timestamp_patch, :datetime_to_array
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
end
|