pg_jruby 0.14.1.rc1-java
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 +7 -0
- data/.gemtest +0 -0
- data/CHANGELOG.rdoc +7 -0
- data/Manifest.txt +11 -0
- data/README.rdoc +122 -0
- data/Rakefile +95 -0
- data/bin/pg +3 -0
- data/lib/pg.rb +58 -0
- data/lib/pg/connection.rb +72 -0
- data/lib/pg/constants.rb +11 -0
- data/lib/pg/exceptions.rb +17 -0
- data/lib/pg/result.rb +11 -0
- data/lib/pg_ext.jar +0 -0
- metadata +202 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 782608f451aebd291bb0c2081f735e401b39abaa
|
4
|
+
data.tar.gz: 8b22644fffd58f284c1c8154764082fb1a24dde4
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 15d5ff7f2a125287b98111624cfa63dd692e473e2986480262793a6b818d71be9620033e56193f62eea3899473d3bae906b22bdc7fdde02b5807826b344b8aff
|
7
|
+
data.tar.gz: 5257b765e157ecd6111db1795fd3523252ce6744e24bee469da57b3c2e3410a4088a4c3357446ad519f7347239cc8ca5b351222c9549e7b0edf5d3c2aa26c33b
|
data/.gemtest
ADDED
File without changes
|
data/CHANGELOG.rdoc
ADDED
data/Manifest.txt
ADDED
data/README.rdoc
ADDED
@@ -0,0 +1,122 @@
|
|
1
|
+
= pg
|
2
|
+
|
3
|
+
* https://github.com/headius/jruby-pg
|
4
|
+
|
5
|
+
== DESCRIPTION:
|
6
|
+
|
7
|
+
This is a native implementation of the Postsgres protocol written
|
8
|
+
entirely in Java. The project was started by @headius as a ruby-pg
|
9
|
+
replacement for JRuby that uses the JDBC driver and private API of
|
10
|
+
Postgres. Unfortunately ruby-pg (which uses libpq under the hood)
|
11
|
+
exposed a lot of features of Postgres that were impossible to
|
12
|
+
implement or were complicated given the nature of the JDBC and the
|
13
|
+
encapsulation of many features that are exposed in ruby-pg.
|
14
|
+
|
15
|
+
*WARNING* this gem is not production ready yet. There are many
|
16
|
+
bugs that needs to be fixed and more testing. So please checkout
|
17
|
+
the code and submit pull requests with some fixes. If your Java-Fu
|
18
|
+
isn't that great you can still contribute by submitting test cases
|
19
|
+
and We'll be happy to fix them.
|
20
|
+
|
21
|
+
== FEATURES:
|
22
|
+
|
23
|
+
* A ruby-pg drop in replacement for JRuby
|
24
|
+
* Async operations are supported
|
25
|
+
* Large Object API
|
26
|
+
* SSL connections
|
27
|
+
* Copy operations
|
28
|
+
* Zero dependencies on other jars and gems
|
29
|
+
* All active record test suite pass (except 5 tests see PROBLEMS).
|
30
|
+
|
31
|
+
== PROBLEMS:
|
32
|
+
|
33
|
+
* Due to a bug in JRuby Array#delete
|
34
|
+
(https://github.com/jruby/jruby/issues/411) you'll need JRuby 1.7.1
|
35
|
+
or later.
|
36
|
+
* Due to a bug in the json gem
|
37
|
+
(https://github.com/flori/json/pull/152) and (https://github.com/flori/json/pull/155)
|
38
|
+
you'll need gem version
|
39
|
+
1.7.7 or later.
|
40
|
+
* We currently have some failing tests when we run the activerecord test suite.
|
41
|
+
The failing tests are due to the inconsistencies between JRuby and MRI (see
|
42
|
+
https://github.com/jruby/jruby/issues/540 and https://github.com/jruby/jruby/pull/539)
|
43
|
+
* The current implementation targets postgres protocol V3 (introduced in v 7.4)
|
44
|
+
only. I'll wait until someone ask for support of earlier versions.
|
45
|
+
* Run pg_search test suites on this implementation
|
46
|
+
* lo_import and lo_export are not implemented yet
|
47
|
+
* More Documentation especially in the parts that deal with the protocol.
|
48
|
+
* Profiling the library would be awesome, but will try to get it running first
|
49
|
+
then optimize.
|
50
|
+
* JRuby 1.6.x (1.8 mode) needs to be tested.
|
51
|
+
|
52
|
+
== REQUIREMENTS:
|
53
|
+
|
54
|
+
* Just a Postgres server and the gem.
|
55
|
+
|
56
|
+
== INSTALL:
|
57
|
+
|
58
|
+
* Currently we don't have the gem on rubygems, but I'll work on that if we can
|
59
|
+
get a stable version out.
|
60
|
+
|
61
|
+
== DEVELOPERS:
|
62
|
+
|
63
|
+
You'll need postgres to be installed on your system. In order for you
|
64
|
+
to be able to run rails test suite, you'll also need the +hstore+ extension
|
65
|
+
which is also available in the +postgresql-contrib+ Ubuntu package (see
|
66
|
+
http://www.postgresql.org/docs/9.0/static/hstore.html
|
67
|
+
for more info) and +postgresql-server-dev+ to get the pg_config binary.
|
68
|
+
|
69
|
+
You'll also need to create a new super user using your username and no password. You can
|
70
|
+
use the following command to do that:
|
71
|
+
|
72
|
+
$ sudo -u postgres createuser -s <insert your username here>
|
73
|
+
|
74
|
+
You'll also need to add the following line in the your pg_hba.conf (in order to disable password authentication):
|
75
|
+
|
76
|
+
host all <insert your username here> 127.0.0.1/32 trust
|
77
|
+
|
78
|
+
After checking out the source, run:
|
79
|
+
|
80
|
+
$ rake
|
81
|
+
|
82
|
+
This task will install any missing dependencies, run the tests/specs.
|
83
|
+
|
84
|
+
There are currently two test suites that run, the ruby-pg specs and
|
85
|
+
more specs targetted towards the JRuby implementation details in
|
86
|
+
jruby-spec. When you run `rake` both test suites are merged under
|
87
|
+
the 'spec' directory.
|
88
|
+
|
89
|
+
You can set +PG_TEST_SLL+ to 1, e.g.
|
90
|
+
|
91
|
+
$ PG_TEST_SLL=1 rake
|
92
|
+
|
93
|
+
to run the entire test suite using SSL sockets instead of plain sockets. Also
|
94
|
+
|
95
|
+
$ test_all.sh
|
96
|
+
|
97
|
+
runs the test suite with and without SSL.
|
98
|
+
|
99
|
+
== LICENSE:
|
100
|
+
|
101
|
+
(The MIT License)
|
102
|
+
|
103
|
+
Copyright (c) 2012 John V. Shahid and Charles Nutter.
|
104
|
+
|
105
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
106
|
+
a copy of this software and associated documentation files (the
|
107
|
+
'Software'), to deal in the Software without restriction, including
|
108
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
109
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
110
|
+
permit persons to whom the Software is furnished to do so, subject to
|
111
|
+
the following conditions:
|
112
|
+
|
113
|
+
The above copyright notice and this permission notice shall be
|
114
|
+
included in all copies or substantial portions of the Software.
|
115
|
+
|
116
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
117
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
118
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
119
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
120
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
121
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
122
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Rakefile
ADDED
@@ -0,0 +1,95 @@
|
|
1
|
+
# -*- ruby -*-
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'hoe'
|
5
|
+
require 'git'
|
6
|
+
require 'logger'
|
7
|
+
|
8
|
+
Hoe.plugin :gemspec
|
9
|
+
Hoe.plugin :bundler
|
10
|
+
Hoe.plugin :test
|
11
|
+
|
12
|
+
HOE = Hoe.spec 'pg_jruby' do
|
13
|
+
self.readme_file = ['README', ENV['HLANG'], 'rdoc'].compact.join('.')
|
14
|
+
self.history_file = ['CHANGELOG', ENV['HLANG'], 'rdoc'].compact.join('.')
|
15
|
+
|
16
|
+
developer('Charles Nutter', 'headius@headius.com')
|
17
|
+
developer('John Shahid', 'jvshahid@gmail.com')
|
18
|
+
|
19
|
+
self.extra_dev_deps += [
|
20
|
+
["hoe-bundler", ">= 1.1"],
|
21
|
+
["hoe-gemspec", ">= 1.0"],
|
22
|
+
["rake", ">= 0.9"],
|
23
|
+
["rake-compiler", "= 0.8.0"],
|
24
|
+
["git"],
|
25
|
+
["logger"],
|
26
|
+
["rspec"]
|
27
|
+
]
|
28
|
+
|
29
|
+
self.spec_extras = { :platform => 'java' }
|
30
|
+
|
31
|
+
self.clean_globs = ['spec/*', 'tmp_test_specs', 'tmp']
|
32
|
+
end
|
33
|
+
|
34
|
+
require "rake/javaextensiontask"
|
35
|
+
Rake::JavaExtensionTask.new("pg_ext", HOE.spec) do |ext|
|
36
|
+
jruby_home = RbConfig::CONFIG['prefix']
|
37
|
+
ext.ext_dir = 'ext/java'
|
38
|
+
ext.lib_dir = 'lib'
|
39
|
+
jars = ["#{jruby_home}/lib/jruby.jar"] + FileList['lib/*.jar']
|
40
|
+
ext.classpath = jars.map { |x| File.expand_path x }.join ':'
|
41
|
+
end
|
42
|
+
|
43
|
+
def remote
|
44
|
+
"git://github.com/jvshahid/ruby-pg.git"
|
45
|
+
end
|
46
|
+
|
47
|
+
desc 'fetch the specs from the ruby-pg repo'
|
48
|
+
task 'get-ruby-pg-specs' do
|
49
|
+
if Dir.glob('spec/*').empty?
|
50
|
+
FileUtils.rm_rf '/tmp/checkout'
|
51
|
+
g = Git.clone(remote, '/tmp/checkout', :log => Logger.new(STDOUT))
|
52
|
+
g.checkout('fix_path_to_pg_binaries')
|
53
|
+
FileUtils.cp_r Dir.glob('/tmp/checkout/spec/*'), 'spec/'
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
desc "make sure the spec directory has the latest ruby-pg and jruby-pg specs"
|
58
|
+
task :'sync-files' => 'get-ruby-pg-specs'
|
59
|
+
|
60
|
+
Rake::Task[:spec].prerequisites << 'sync-files'
|
61
|
+
Rake::Task[:spec].prerequisites << :compile
|
62
|
+
Rake::Task[:spec].prerequisites << :java_debug
|
63
|
+
Rake::Task[:spec].prerequisites << :import_certs
|
64
|
+
|
65
|
+
desc "import server certificates"
|
66
|
+
task :import_certs do
|
67
|
+
puts "Importing server certificates now, don't freak out, this will need sudo access."
|
68
|
+
puts "For more info on what this is doing take a look at certs/import_key.sh"
|
69
|
+
system 'certs/import_key.sh'
|
70
|
+
end
|
71
|
+
|
72
|
+
# sync specs from jruby-spec to spec/jruby
|
73
|
+
target_dir = 'spec/jruby'
|
74
|
+
directory target_dir
|
75
|
+
Dir.chdir 'jruby-spec' do
|
76
|
+
Dir.glob('**/*').each do |f|
|
77
|
+
file_name = "jruby-spec/#{f}"
|
78
|
+
new_name = "#{target_dir}/#{f}"
|
79
|
+
t = file new_name => [file_name, target_dir] do |t|
|
80
|
+
if File.directory? file_name
|
81
|
+
FileUtils.mkpath new_name
|
82
|
+
else
|
83
|
+
puts "copying #{file_name} to #{new_name}, pwd: #{Dir.pwd}"
|
84
|
+
FileUtils.chmod 0644, new_name if File.exist?(new_name)
|
85
|
+
FileUtils.cp file_name, new_name
|
86
|
+
File.chmod 0444, new_name
|
87
|
+
end
|
88
|
+
end
|
89
|
+
Rake::Task[:'sync-files'].prerequisites << t
|
90
|
+
end
|
91
|
+
end
|
92
|
+
task :java_debug do
|
93
|
+
ENV['JAVA_OPTS'] = '-Xdebug -Xrunjdwp:transport=dt_socket,address=8080,server=y,suspend=n' if ENV['JAVA_DEBUG'] == '1'
|
94
|
+
end
|
95
|
+
# vim: syntax=ruby
|
data/bin/pg
ADDED
data/lib/pg.rb
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
if RUBY_PLATFORM == 'java'
|
4
|
+
require 'pg_ext'
|
5
|
+
require 'jruby'
|
6
|
+
org.jruby.pg.Postgresql.new.load(JRuby.runtime, false)
|
7
|
+
else
|
8
|
+
begin
|
9
|
+
require 'pg_ext'
|
10
|
+
rescue LoadError
|
11
|
+
# If it's a Windows binary gem, try the <major>.<minor> subdirectory
|
12
|
+
if RUBY_PLATFORM =~/(mswin|mingw)/i
|
13
|
+
major_minor = RUBY_VERSION[ /^(\d+\.\d+)/ ] or
|
14
|
+
raise "Oops, can't extract the major/minor version from #{RUBY_VERSION.dump}"
|
15
|
+
require "#{major_minor}/pg_ext"
|
16
|
+
else
|
17
|
+
raise
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
|
24
|
+
# The top-level PG namespace.
|
25
|
+
module PG
|
26
|
+
|
27
|
+
# Library version
|
28
|
+
VERSION = '0.14.1.rc1'
|
29
|
+
|
30
|
+
# VCS revision
|
31
|
+
REVISION = %q$Revision$
|
32
|
+
|
33
|
+
|
34
|
+
### Get the PG library version. If +include_buildnum+ is +true+, include the build ID.
|
35
|
+
def self::version_string( include_buildnum=false )
|
36
|
+
vstring = "%s %s" % [ self.name, VERSION ]
|
37
|
+
vstring << " (build %s)" % [ REVISION[/: ([[:xdigit:]]+)/, 1] || '0' ] if include_buildnum
|
38
|
+
return vstring
|
39
|
+
end
|
40
|
+
|
41
|
+
|
42
|
+
### Convenience alias for PG::Connection.new.
|
43
|
+
def self::connect( *args )
|
44
|
+
return PG::Connection.new( *args )
|
45
|
+
end
|
46
|
+
|
47
|
+
|
48
|
+
require 'pg/exceptions'
|
49
|
+
require 'pg/constants'
|
50
|
+
require 'pg/connection'
|
51
|
+
require 'pg/result'
|
52
|
+
|
53
|
+
end # module PG
|
54
|
+
|
55
|
+
|
56
|
+
# Backward-compatible aliase
|
57
|
+
PGError = PG::Error
|
58
|
+
|
@@ -0,0 +1,72 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'pg' unless defined?( PG )
|
4
|
+
|
5
|
+
# The PG connection class.
|
6
|
+
class PG::Connection
|
7
|
+
|
8
|
+
# The order the options are passed to the ::connect method.
|
9
|
+
CONNECT_ARGUMENT_ORDER = %w[host port options tty dbname user password]
|
10
|
+
|
11
|
+
|
12
|
+
### Quote the given +value+ for use in a connection-parameter string.
|
13
|
+
def self::quote_connstr( value )
|
14
|
+
return "'" + value.to_s.gsub( /[\\']/ ) {|m| '\\' + m } + "'"
|
15
|
+
end
|
16
|
+
|
17
|
+
def escape_literal str
|
18
|
+
"'#{escape_literal_native str}'"
|
19
|
+
end
|
20
|
+
|
21
|
+
def escape_identifier str
|
22
|
+
"\"#{escape_literal_native str}\""
|
23
|
+
end
|
24
|
+
|
25
|
+
### Parse the connection +args+ into a connection-parameter string. See PG::Connection.new
|
26
|
+
### for valid arguments.
|
27
|
+
def self::parse_connect_args( *args )
|
28
|
+
return '' if args.empty?
|
29
|
+
|
30
|
+
# This will be swapped soon for code that makes options like those required for
|
31
|
+
# PQconnectdbParams()/PQconnectStartParams(). For now, stick to an options string for
|
32
|
+
# PQconnectdb()/PQconnectStart().
|
33
|
+
connopts = []
|
34
|
+
|
35
|
+
# Handle an options hash first
|
36
|
+
if args.last.is_a?( Hash )
|
37
|
+
opthash = args.pop
|
38
|
+
opthash.each do |key, val|
|
39
|
+
connopts.push( "%s=%s" % [key, PG::Connection.quote_connstr(val)] )
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
# Option string style
|
44
|
+
if args.length == 1 && args.first.to_s.index( '=' )
|
45
|
+
connopts.unshift( args.first )
|
46
|
+
|
47
|
+
# Append positional parameters
|
48
|
+
else
|
49
|
+
args.each_with_index do |val, i|
|
50
|
+
next unless val # Skip nil placeholders
|
51
|
+
|
52
|
+
key = CONNECT_ARGUMENT_ORDER[ i ] or
|
53
|
+
raise ArgumentError, "Extra positional parameter %d: %p" % [ i+1, val ]
|
54
|
+
connopts.push( "%s=%s" % [key, PG::Connection.quote_connstr(val.to_s)] )
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
return connopts.join(' ')
|
59
|
+
end
|
60
|
+
|
61
|
+
|
62
|
+
# Backward-compatibility aliases for stuff that's moved into PG.
|
63
|
+
class << self
|
64
|
+
define_method( :isthreadsafe, &PG.method(:isthreadsafe) )
|
65
|
+
end
|
66
|
+
|
67
|
+
|
68
|
+
end # class PG::Connection
|
69
|
+
|
70
|
+
# Backward-compatible alias
|
71
|
+
PGconn = PG::Connection
|
72
|
+
|
data/lib/pg/constants.rb
ADDED
data/lib/pg/result.rb
ADDED
data/lib/pg_ext.jar
ADDED
Binary file
|
metadata
ADDED
@@ -0,0 +1,202 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: pg_jruby
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.14.1.rc1
|
5
|
+
platform: java
|
6
|
+
authors:
|
7
|
+
- Charles Nutter
|
8
|
+
- John Shahid
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-11-08 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rdoc
|
16
|
+
version_requirements: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ~>
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '3.10'
|
21
|
+
requirement: !ruby/object:Gem::Requirement
|
22
|
+
requirements:
|
23
|
+
- - ~>
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: '3.10'
|
26
|
+
prerelease: false
|
27
|
+
type: :development
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: hoe-bundler
|
30
|
+
version_requirements: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - '>='
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '1.1'
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - '>='
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '1.1'
|
40
|
+
prerelease: false
|
41
|
+
type: :development
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: hoe-gemspec
|
44
|
+
version_requirements: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - '>='
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '1.0'
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '1.0'
|
54
|
+
prerelease: false
|
55
|
+
type: :development
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: rake
|
58
|
+
version_requirements: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0.9'
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - '>='
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '0.9'
|
68
|
+
prerelease: false
|
69
|
+
type: :development
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: rake-compiler
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - '='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 0.8.0
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - '='
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: 0.8.0
|
82
|
+
prerelease: false
|
83
|
+
type: :development
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: git
|
86
|
+
version_requirements: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - '>='
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '0'
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - '>='
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
prerelease: false
|
97
|
+
type: :development
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: logger
|
100
|
+
version_requirements: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - '>='
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0'
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
prerelease: false
|
111
|
+
type: :development
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: rspec
|
114
|
+
version_requirements: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - '>='
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
119
|
+
requirement: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - '>='
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '0'
|
124
|
+
prerelease: false
|
125
|
+
type: :development
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: hoe
|
128
|
+
version_requirements: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - ~>
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '3.1'
|
133
|
+
requirement: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - ~>
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '3.1'
|
138
|
+
prerelease: false
|
139
|
+
type: :development
|
140
|
+
description: |-
|
141
|
+
This is a native implementation of the Postsgres protocol written
|
142
|
+
entirely in Java. The project was started by @headius as a ruby-pg
|
143
|
+
replacement for JRuby that uses the JDBC driver and private API of
|
144
|
+
Postgres. Unfortunately ruby-pg (which uses libpq under the hood)
|
145
|
+
exposed a lot of features of Postgres that were impossible to
|
146
|
+
implement or were complicated given the nature of the JDBC and the
|
147
|
+
encapsulation of many features that are exposed in ruby-pg.
|
148
|
+
|
149
|
+
*WARNING* this gem is not production ready yet. There are many
|
150
|
+
bugs that needs to be fixed and more testing. So please checkout
|
151
|
+
the code and submit pull requests with some fixes. If your Java-Fu
|
152
|
+
isn't that great you can still contribute by submitting test cases
|
153
|
+
and We'll be happy to fix them.
|
154
|
+
email:
|
155
|
+
- headius@headius.com
|
156
|
+
- jvshahid@gmail.com
|
157
|
+
executables:
|
158
|
+
- pg
|
159
|
+
extensions: []
|
160
|
+
extra_rdoc_files:
|
161
|
+
- CHANGELOG.rdoc
|
162
|
+
- Manifest.txt
|
163
|
+
- README.rdoc
|
164
|
+
files:
|
165
|
+
- CHANGELOG.rdoc
|
166
|
+
- Manifest.txt
|
167
|
+
- README.rdoc
|
168
|
+
- Rakefile
|
169
|
+
- bin/pg
|
170
|
+
- lib/pg.rb
|
171
|
+
- lib/pg/result.rb
|
172
|
+
- lib/pg/constants.rb
|
173
|
+
- lib/pg/connection.rb
|
174
|
+
- lib/pg/exceptions.rb
|
175
|
+
- lib/pg_ext.jar
|
176
|
+
- .gemtest
|
177
|
+
homepage: https://github.com/headius/jruby-pg
|
178
|
+
licenses: []
|
179
|
+
metadata: {}
|
180
|
+
post_install_message:
|
181
|
+
rdoc_options:
|
182
|
+
- --main
|
183
|
+
- README.rdoc
|
184
|
+
require_paths:
|
185
|
+
- lib
|
186
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
187
|
+
requirements:
|
188
|
+
- - '>='
|
189
|
+
- !ruby/object:Gem::Version
|
190
|
+
version: '0'
|
191
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
192
|
+
requirements:
|
193
|
+
- - '>'
|
194
|
+
- !ruby/object:Gem::Version
|
195
|
+
version: 1.3.1
|
196
|
+
requirements: []
|
197
|
+
rubyforge_project: pg_jruby
|
198
|
+
rubygems_version: 2.1.9
|
199
|
+
signing_key:
|
200
|
+
specification_version: 4
|
201
|
+
summary: This is a native implementation of the Postsgres protocol written entirely in Java
|
202
|
+
test_files: []
|