jeremyevans-postgres-pr 0.6.7 → 0.6.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 38bfb795e9675aebda17231820f02f1b578d2827bc0ebe35e9df082d0c5d80ab
4
- data.tar.gz: 5dd8129a92c3b7149c2ba902bd55751f8115961f9899e33ad56fc5aa57cf6376
3
+ metadata.gz: e89ed8c39cf13736bfcdeaae252cc6ad3487bac0493ffb8d874346d16bc34980
4
+ data.tar.gz: d1d176aee597030bdf5c75c728b11afd443c1a88f91316820646099547549aed
5
5
  SHA512:
6
- metadata.gz: 1eb144a11dfab4ccee3b72369b89e94cad3c291abd47f73c7a9373d391c7588cd14d705c199a689780577f22a553bf5b7982f32b35338e9e63ce10e38a4cba00
7
- data.tar.gz: d19a812984b4a917fecee8c4efa7a4d6e421d483ed0b136c8a8f4f99156f5eaa01ab40e3de367f2318d4b99cdde7199ffbe48eda818cb887015f217f358da4d2
6
+ metadata.gz: 0eadccd63ee985186ae92055d8cff6cc0f977d43ea4135dde647d47f68b24841dec8adfdba73e8eef265efe0cff0414c038079e696002bbc7cb214db3e5f38bb
7
+ data.tar.gz: 397812627a82de80f6c97ef5211ecaca2ca7c2693377b15bd64e3e7165cfed05ed05e8ae5a54cebc160608428216a55c9cd84de9a24c28dea46cef22479f91ac
@@ -491,12 +491,13 @@ class StartupMessage < Message
491
491
  fields :proto_version, :params
492
492
 
493
493
  def dump
494
- sz = @params.inject(4 + 4) {|sum, kv| sum + kv[0].size + 1 + kv[1].size + 1} + 1
494
+ params = @params.reject{|k,v| v.nil?}
495
+ sz = params.inject(4 + 4) {|sum, kv| sum + kv[0].size + 1 + kv[1].size + 1} + 1
495
496
 
496
497
  buffer = Buffer.of_size(sz)
497
498
  buffer.write_int32_network(sz)
498
499
  buffer.write_int32_network(@proto_version)
499
- @params.each_pair {|key, value|
500
+ params.each_pair {|key, value|
500
501
  buffer.write_cstring(key)
501
502
  buffer.write_cstring(value)
502
503
  }
@@ -1,3 +1,3 @@
1
1
  module PostgresPR
2
- Version = "0.6.7"
2
+ Version = "0.6.8"
3
3
  end
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jeremyevans-postgres-pr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.7
4
+ version: 0.6.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Evans
8
+ - Michael Neumann
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2018-07-09 00:00:00.000000000 Z
12
+ date: 2018-08-01 00:00:00.000000000 Z
12
13
  dependencies: []
13
14
  description:
14
15
  email: code@jeremyevans.net
@@ -16,10 +17,6 @@ executables: []
16
17
  extensions: []
17
18
  extra_rdoc_files: []
18
19
  files:
19
- - examples/client.rb
20
- - examples/og/test.rb
21
- - examples/server.rb
22
- - examples/test_connection.rb
23
20
  - lib/binary_reader.rb
24
21
  - lib/binary_writer.rb
25
22
  - lib/buffer.rb
@@ -35,7 +32,8 @@ files:
35
32
  - lib/postgres.rb
36
33
  - test/TC_message.rb
37
34
  homepage: https://github.com/jeremyevans/postgres-pr
38
- licenses: []
35
+ licenses:
36
+ - Ruby
39
37
  metadata: {}
40
38
  post_install_message:
41
39
  rdoc_options: []
@@ -1,34 +0,0 @@
1
- $LOAD_PATH.unshift "../lib"
2
- require 'postgres-pr/message'
3
- require 'socket'
4
- include PostgresPR
5
-
6
- s = UNIXSocket.new(ARGV.shift || "/tmp/.s.PGSQL.5432")
7
-
8
- msg = StartupMessage.new(196608, "user" => "mneumann", "database" => "mneumann")
9
- s << msg.dump
10
-
11
- Thread.start(s) { |s|
12
- sleep 2
13
- s << Query.new("drop table test").dump
14
- s << Query.new("create table test (i int, v varchar(100))").dump
15
- s << Parse.new("insert into test (i, v) values ($1, $2)", "blah").dump
16
- s << Query.new("EXECUTE blah(1, 'hallo')").dump
17
-
18
- while not (line = gets.chomp).empty?
19
- s << Query.new(line).dump
20
- end
21
- exit
22
- }
23
-
24
- loop do
25
- msg = Message.read(s)
26
- p msg
27
-
28
- case msg
29
- when AuthentificationOk
30
- p "OK"
31
- when ErrorResponse
32
- p "FAILED"
33
- end
34
- end
@@ -1,50 +0,0 @@
1
- $LOAD_PATH.unshift '../../lib'
2
- require 'rubygems'
3
- require 'og'
4
- require 'glue/logger'
5
-
6
- $DBG = true
7
-
8
- class User
9
- end
10
-
11
- class Comment
12
- prop_accessor :body, String
13
- belongs_to :user, User
14
- end
15
-
16
- class User
17
- prop_accessor :name, String
18
- has_many :comments, Comment
19
- end
20
-
21
- if __FILE__ == $0
22
- config = {
23
- :address => "localhost",
24
- :database => "mneumann",
25
- :backend => "psql",
26
- :user => "mneumann",
27
- :password => "",
28
- :connection_count => 1
29
- }
30
- $log = Logger.new(STDERR)
31
- $og = Og::Database.new(config)
32
-
33
- $og.get_connection
34
-
35
- u1 = User.new
36
- u1.name = "Michael Neumann"
37
- u1.save!
38
-
39
- u2 = User.new
40
- u2.name = "John User"
41
- u2.save!
42
-
43
- c1 = Comment.new
44
- c1.body = "og test"
45
- c1.user = u1
46
- c1.save!
47
-
48
- p User.all
49
- p Comment.all
50
- end
@@ -1,12 +0,0 @@
1
- $LOAD_PATH.unshift "../lib"
2
- require 'postgres-pr/message'
3
- require 'socket'
4
- include PostgresPR
5
-
6
- s = UNIXServer.open(ARGV.shift || raise).accept
7
- startup = true
8
- loop do
9
- msg = Message.read(s, startup)
10
- p msg
11
- startup = false
12
- end
@@ -1,18 +0,0 @@
1
- $LOAD_PATH.unshift '../lib'
2
- require 'postgres-pr/connection'
3
-
4
- conn = PostgresPR::Connection.new('mneumann', 'mneumann', nil, 'unix:/var/run/postgresql/.s.PGSQL.5432')
5
- p conn.query("DROP TABLE test") rescue nil
6
- p conn.query("CREATE TABLE test (a VARCHAR(100))")
7
- p conn.query("INSERT INTO test VALUES ('hallo')")
8
- p conn.query("INSERT INTO test VALUES ('leute')")
9
- conn.query("COMMIT")
10
-
11
- conn.query("BEGIN")
12
- 10000.times do |i|
13
- p i
14
- conn.query("INSERT INTO test VALUES ('#{i}')")
15
- end
16
- conn.query("COMMIT")
17
-
18
- p conn.query("SELECT * FROM test")