evt-event_source-postgres 0.12.0.1 → 0.12.1.0

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
  SHA1:
3
- metadata.gz: 84c8bceab129dc1394f115298795e21927bd0742
4
- data.tar.gz: 28be18c65c329654e1ccc84a5e7bbd7f26c235ff
3
+ metadata.gz: fea4a1a5b5061640f1dc909255300399e6496dae
4
+ data.tar.gz: b88748ea3a15f16d181dc6029002d1b637018150
5
5
  SHA512:
6
- metadata.gz: b5f151dd726bb7b53f6225442a5ae17c371458c4fb700547b3315e4413d891ec73b6f0871c414d1f2a4353ecb30c86ffcc26e3697d9352a8d69aecf4f4cc9ef8
7
- data.tar.gz: e22187b7a220799903970dab0a8cb0edacf7f9b52d51d6f353cf910a1ceaf1fe57d12ce4a0fd624bc7dcebece5a5461cc73f32cbbe4f4b5cafdf2ebfc87dc724
6
+ metadata.gz: 4f74e09e9395d8d798123d350a257a5f16c35f480158d02c1e8483ddd6b710badcc11d729be41d207b77cb3963570b23a4343bfcb9726f4743eeec22600648ea
7
+ data.tar.gz: 952eec25fdf3c39c07d502326b7001967c9cf5691b7143158a750b2648e0d1a0e3e75d60312a33e94107bd79776b833682b821f651a56f492d447b76c3437172
@@ -5,10 +5,17 @@ module EventSource
5
5
  def self.call(instances: nil, stream_name: nil, event: nil, category: nil)
6
6
  instances ||= 1
7
7
  stream_name ||= StreamName.example(category: category)
8
+
9
+ event_specified = !event.nil?
10
+
8
11
  event ||= EventData::Write.example
9
12
 
10
13
  instances.times do
11
14
  EventSource::Postgres::Put.(event, stream_name)
15
+
16
+ unless event_specified
17
+ event.id = EventData::Write.id
18
+ end
12
19
  end
13
20
 
14
21
  stream_name
@@ -36,6 +36,7 @@ module EventSource
36
36
 
37
37
  statement = <<-SQL
38
38
  SELECT
39
+ id::varchar,
39
40
  stream_name::varchar,
40
41
  position::int,
41
42
  type::varchar,
@@ -30,37 +30,41 @@ module EventSource
30
30
  logger.trace { "Putting event data (Stream Name: #{stream_name}, Type: #{write_event.type}, Expected Version: #{expected_version.inspect})" }
31
31
  logger.trace(tags: [:data, :event_data]) { write_event.pretty_inspect }
32
32
 
33
- type, data, metadata = destructure_event(write_event)
33
+ id, type, data, metadata = destructure_event(write_event)
34
34
  expected_version = ExpectedVersion.canonize(expected_version)
35
35
 
36
- insert_event(stream_name, type, data, metadata, expected_version).tap do |position|
37
- logger.info { "Put event data (Position: #{position}, Stream Name: #{stream_name}, Type: #{write_event.type}, Expected Version: #{expected_version.inspect})" }
36
+ insert_event(id, stream_name, type, data, metadata, expected_version).tap do |position|
37
+ logger.info { "Put event data (Position: #{position}, Stream Name: #{stream_name}, Type: #{write_event.type}, Expected Version: #{expected_version.inspect}, ID: #{id.inspect})" }
38
38
  logger.info(tags: [:data, :event_data]) { write_event.pretty_inspect }
39
39
  end
40
40
  end
41
41
 
42
42
  def destructure_event(write_event)
43
+ id = write_event.id
43
44
  type = write_event.type
44
45
  data = write_event.data
45
46
  metadata = write_event.metadata
46
47
 
48
+ logger.debug(tags: [:data, :event_data]) { "ID: #{id.pretty_inspect}" }
49
+ logger.debug(tags: [:data, :event_data]) { "Type: #{type.pretty_inspect}" }
47
50
  logger.debug(tags: [:data, :event_data]) { "Data: #{data.pretty_inspect}" }
48
51
  logger.debug(tags: [:data, :event_data]) { "Metadata: #{metadata.pretty_inspect}" }
49
52
 
50
- return type, data, metadata
53
+ return id, type, data, metadata
51
54
  end
52
55
 
53
- def insert_event(stream_name, type, data, metadata, expected_version)
56
+ def insert_event(id, stream_name, type, data, metadata, expected_version)
54
57
  serialized_data = serialized_data(data)
55
58
  serialized_metadata = serialized_metadata(metadata)
56
- records = execute_query(stream_name, type, serialized_data, serialized_metadata, expected_version)
59
+ records = execute_query(id, stream_name, type, serialized_data, serialized_metadata, expected_version)
57
60
  position(records)
58
61
  end
59
62
 
60
- def execute_query(stream_name, type, serialized_data, serialized_metadata, expected_version)
61
- logger.trace { "Executing insert (Stream Name: #{stream_name}, Type: #{type}, Expected Version: #{expected_version.inspect})" }
63
+ def execute_query(id, stream_name, type, serialized_data, serialized_metadata, expected_version)
64
+ logger.trace { "Executing insert (Stream Name: #{stream_name}, Type: #{type}, Expected Version: #{expected_version.inspect}, ID: #{id.inspect})" }
62
65
 
63
66
  params = [
67
+ id,
64
68
  stream_name,
65
69
  type,
66
70
  serialized_data,
@@ -74,13 +78,13 @@ module EventSource
74
78
  raise_error e
75
79
  end
76
80
 
77
- logger.debug { "Executed insert (Stream Name: #{stream_name}, Type: #{type}, Expected Version: #{expected_version.inspect})" }
81
+ logger.debug { "Executed insert (Stream Name: #{stream_name}, Type: #{type}, Expected Version: #{expected_version.inspect}, ID: #{id.inspect})" }
78
82
 
79
83
  records
80
84
  end
81
85
 
82
86
  def self.statement
83
- @statement ||= "SELECT write_event($1::varchar, $2::varchar, $3::jsonb, $4::jsonb, $5::int);"
87
+ @statement ||= "SELECT write_event($1::varchar, $2::varchar, $3::varchar, $4::jsonb, $5::jsonb, $6::int);"
84
88
  end
85
89
 
86
90
  def serialized_data(data)
@@ -29,7 +29,7 @@ module EventSource
29
29
  end
30
30
 
31
31
  def connect
32
- logger.trace "Connecting to database"
32
+ logger.trace { "Connecting to database" }
33
33
 
34
34
  if connected?
35
35
  logger.debug { "Already connected. A new connection will not be built." }
@@ -81,14 +81,22 @@ module EventSource
81
81
  end
82
82
 
83
83
  def execute(statement, params=nil)
84
+ logger.trace { "Executing statement" }
85
+ logger.trace(tag: :data) { statement }
86
+ logger.trace(tag: :data) { params.pretty_inspect }
87
+
84
88
  unless connected?
85
89
  connect
86
90
  end
87
91
 
88
92
  if params.nil?
89
- connection.exec(statement)
93
+ connection.exec(statement).tap do
94
+ logger.debug { "Executed statement" }
95
+ end
90
96
  else
91
- connection.exec_params(statement, params)
97
+ connection.exec_params(statement, params).tap do
98
+ logger.debug { "Executed statement with params" }
99
+ end
92
100
  end
93
101
  end
94
102
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evt-event_source-postgres
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0.1
4
+ version: 0.12.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Eventide Project
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-11 00:00:00.000000000 Z
11
+ date: 2017-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: evt-event_source