evt-event_source-postgres 0.12.0.1 → 0.12.1.0

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 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