Packages
eventstore
1.3.1
1.4.8
1.4.7
1.4.6
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.2
1.3.1
1.3.0
1.2.3
1.2.2
1.2.1
1.2.0
1.1.0
1.0.3
1.0.2
1.0.1
1.0.0
1.0.0-rc.0
0.17.0
0.16.2
0.16.1
0.16.0
0.15.1
0.15.0
0.14.0
0.14.0-rc.0
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.0
0.11.0-rc.0
0.10.1
0.10.0
0.9.0
0.8.1
0.8.0
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.2
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.3
0.4.2
0.4.1
0.4.0
0.3.0
0.2.1
0.2.0
0.1.0
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
Event store using PostgreSQL for persistence.
Current section
Files
Jump to
Current section
Files
lib/event_store/sql/statements/insert_events.sql.eex
WITH
new_events_indexes (event_id, index, stream_version) AS (
VALUES
<%= for i <- 0..(number_of_events - 1) do %>
<%= unless i == 0 do %>,<% end %>
($<%= i*9+3 %>::uuid, $<%= i*9+10 %>::int, $<%= i*9+11 %>::bigint)
<% end %>
),
events AS (
INSERT INTO <%= schema %>.events
(
event_id,
event_type,
causation_id,
correlation_id,
data,
metadata,
created_at
)
VALUES
<%= for i <- 0..(number_of_events - 1) do %>
<%= unless i == 0 do %>,<% end %>
($<%= i*9+3 %>, $<%= i*9+4 %>, $<%= i*9+5 %>, $<%= i*9+6 %>, $<%= i*9+7 %>, $<%= i*9+8 %>, $<%= i*9+9 %>)
<% end %>
),
stream AS (
<%= if stream_id do %>
UPDATE <%= schema %>.streams
SET stream_version = stream_version + $2::bigint
WHERE stream_id = $1::bigint
returning stream_id
<% else %>
INSERT INTO <%= schema %>.streams (stream_uuid, stream_version)
VALUES ($1, $2::bigint)
returning stream_id
<% end %>
),
source_stream_events AS (
INSERT INTO <%= schema %>.stream_events
(
event_id,
stream_id,
stream_version,
original_stream_id,
original_stream_version
)
SELECT
new_events_indexes.event_id,
stream.stream_id,
new_events_indexes.stream_version,
stream.stream_id,
new_events_indexes.stream_version
FROM new_events_indexes, stream
),
linked_stream AS (
UPDATE <%= schema %>.streams
SET stream_version = stream_version + $2::bigint
WHERE stream_id = 0
RETURNING stream_version - $2::bigint as initial_stream_version
)
INSERT INTO <%= schema %>.stream_events
(
event_id,
stream_id,
stream_version,
original_stream_id,
original_stream_version
)
SELECT
new_events_indexes.event_id,
0,
linked_stream.initial_stream_version + new_events_indexes.index,
stream.stream_id,
new_events_indexes.stream_version
FROM
new_events_indexes, linked_stream, stream;