pg_eventstore 2.0.0 → 3.0.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 +4 -4
- data/.rubocop.yml +10 -1
- data/CHANGELOG.md +186 -20
- data/README.md +25 -15
- data/db/migrations/10_setup_pg_cron.rb +1 -23
- data/db/migrations/15_create_streams_global_index.sql +17 -0
- data/db/migrations/16_populate_streams_global_index.rb +150 -0
- data/db/migrations/17_create_events_global_index.sql +62 -0
- data/db/migrations/18_populate_events_global_index.rb +124 -0
- data/db/migrations/19_populate_events_global_index_p2.rb +25 -0
- data/db/migrations/20_migrate_subscriptions_current_position.sql +19 -0
- data/db/migrations/21_create_partitions_stats.sql +2 -0
- data/db/migrations/22_drop_streams_sql_view.sql +2 -0
- data/db/migrations/23_adjust_partitions_indexes.sql +5 -0
- data/db/migrations/24_drop_legacy_events_indexes.sql +3 -0
- data/db/migrations/25_add_parent_partitions_info_to_partitions.sql +16 -0
- data/db/migrations/26_change_events_stream_revision_type.rb +35 -0
- data/db/migrations/27_drop_events_horizon.sql +3 -0
- data/db/migrations/28_create_maintenance_tasks.sql +8 -0
- data/db/migrations/29_create_event_markers.sql +35 -0
- data/db/migrations/30_improve_partitions_search_in_admin_ui.rb +24 -0
- data/db/migrations/31_drop_events_id_default_value.sql +1 -0
- data/db/migrations/32_create_parittions_triggers.sql +101 -0
- data/docs/AGENTS.fragment.md +696 -0
- data/docs/admin_ui.md +3 -1
- data/docs/appending_events.md +110 -49
- data/docs/configuration.md +69 -36
- data/docs/event_tracing.md +55 -0
- data/docs/events_and_streams.md +54 -30
- data/docs/how_it_works.md +57 -16
- data/docs/linking_events.md +2 -1
- data/docs/maintenance.md +14 -5
- data/docs/multiple_commands.md +17 -8
- data/docs/reading_events.md +208 -43
- data/docs/reading_streams.md +50 -0
- data/docs/replication.md +99 -0
- data/docs/subscriptions.md +165 -35
- data/docs/writing_middleware.md +25 -8
- data/ext/pg_eventstore_ext/extconf.rb +5 -0
- data/ext/pg_eventstore_ext/pg_eventstore_ext.c +74 -0
- data/lib/pg_eventstore/async_runner.rb +63 -0
- data/lib/pg_eventstore/basic_config.rb +15 -0
- data/lib/pg_eventstore/chunks/chunk.rb +31 -0
- data/lib/pg_eventstore/chunks/read_api_events_index_chunk.rb +83 -0
- data/lib/pg_eventstore/chunks/replica_events_index_chunk.rb +35 -0
- data/lib/pg_eventstore/chunks/repository.rb +73 -0
- data/lib/pg_eventstore/chunks/subscription_checkpoint_chunk.rb +48 -0
- data/lib/pg_eventstore/chunks/subscription_events_index_chunk.rb +99 -0
- data/lib/pg_eventstore/chunks.rb +14 -0
- data/lib/pg_eventstore/client.rb +163 -50
- data/lib/pg_eventstore/commands/append.rb +62 -43
- data/lib/pg_eventstore/commands/delete_event.rb +7 -8
- data/lib/pg_eventstore/commands/delete_stream.rb +3 -3
- data/lib/pg_eventstore/commands/event_modifiers/prepare_link_event.rb +9 -7
- data/lib/pg_eventstore/commands/event_modifiers/prepare_regular_event.rb +12 -7
- data/lib/pg_eventstore/commands/link_to.rb +5 -5
- data/lib/pg_eventstore/commands/read.rb +23 -5
- data/lib/pg_eventstore/commands/read_grouped.rb +46 -0
- data/lib/pg_eventstore/commands/read_streams.rb +18 -0
- data/lib/pg_eventstore/commands/read_streams_paginated.rb +56 -0
- data/lib/pg_eventstore/commands/regular_stream_read_paginated.rb +4 -4
- data/lib/pg_eventstore/commands/revision_check/current_revision.rb +51 -0
- data/lib/pg_eventstore/commands/revision_check/event_type_revisions_comparison.rb +46 -0
- data/lib/pg_eventstore/commands/revision_check/expected_revision.rb +135 -0
- data/lib/pg_eventstore/commands/revision_check/stream_revision_check.rb +98 -0
- data/lib/pg_eventstore/commands/revision_check/stream_revision_comparison.rb +36 -0
- data/lib/pg_eventstore/commands/stream_revision.rb +14 -0
- data/lib/pg_eventstore/commands/system_stream_read_paginated.rb +4 -4
- data/lib/pg_eventstore/commands.rb +4 -2
- data/lib/pg_eventstore/config.rb +30 -9
- data/lib/pg_eventstore/connection.rb +21 -2
- data/lib/pg_eventstore/errors.rb +136 -10
- data/lib/pg_eventstore/event.rb +34 -2
- data/lib/pg_eventstore/event_deserializer.rb +5 -4
- data/lib/pg_eventstore/event_global_index.rb +118 -0
- data/lib/pg_eventstore/event_marker.rb +16 -0
- data/lib/pg_eventstore/event_marker_index.rb +25 -0
- data/lib/pg_eventstore/event_serializer.rb +6 -0
- data/lib/pg_eventstore/extensions/acts_as_configurable.rb +88 -0
- data/lib/pg_eventstore/extensions/options_defaults.rb +25 -0
- data/lib/pg_eventstore/extensions/options_extension.rb +2 -2
- data/lib/pg_eventstore/feature_marker.rb +18 -0
- data/lib/pg_eventstore/maintenance.rb +11 -6
- data/lib/pg_eventstore/middleware/event_tracing.rb +53 -0
- data/lib/pg_eventstore/partition.rb +6 -0
- data/lib/pg_eventstore/pg_connection.rb +70 -14
- data/lib/pg_eventstore/queries/event_marker_queries.rb +74 -0
- data/lib/pg_eventstore/queries/event_queries.rb +7 -93
- data/lib/pg_eventstore/queries/events_global_index_queries.rb +131 -0
- data/lib/pg_eventstore/queries/index_filtering_queries.rb +179 -0
- data/lib/pg_eventstore/queries/links_resolver.rb +4 -4
- data/lib/pg_eventstore/queries/maintenance_queries.rb +159 -42
- data/lib/pg_eventstore/queries/partition_queries.rb +45 -103
- data/lib/pg_eventstore/queries/replica_queries.rb +110 -0
- data/lib/pg_eventstore/queries/streams_global_index_queries.rb +163 -0
- data/lib/pg_eventstore/queries/transaction_queries.rb +52 -10
- data/lib/pg_eventstore/queries.rb +29 -1
- data/lib/pg_eventstore/query_builders/basic_filtering.rb +38 -5
- data/lib/pg_eventstore/query_builders/event_markers_filtering.rb +47 -0
- data/lib/pg_eventstore/query_builders/event_markers_index_filtering.rb +275 -0
- data/lib/pg_eventstore/query_builders/event_subscription_positions_filtering.rb +37 -0
- data/lib/pg_eventstore/query_builders/events_filtering.rb +15 -164
- data/lib/pg_eventstore/query_builders/events_global_index_filtering.rb +227 -0
- data/lib/pg_eventstore/query_builders/filters/collection.rb +324 -0
- data/lib/pg_eventstore/query_builders/filters/event_type_filter.rb +37 -0
- data/lib/pg_eventstore/query_builders/filters/filter_row.rb +54 -0
- data/lib/pg_eventstore/query_builders/filters/marker_filter.rb +20 -0
- data/lib/pg_eventstore/query_builders/filters/marker_filter_row.rb +49 -0
- data/lib/pg_eventstore/query_builders/filters/stream_filter.rb +48 -0
- data/lib/pg_eventstore/query_builders/index_based_events_filtering.rb +260 -0
- data/lib/pg_eventstore/query_builders/partitions_filtering.rb +175 -51
- data/lib/pg_eventstore/query_builders/read_cursor/stream_cursor.rb +122 -0
- data/lib/pg_eventstore/query_builders/streams_global_index_filtering.rb +83 -0
- data/lib/pg_eventstore/query_builders/subscription_events_filtering.rb +79 -0
- data/lib/pg_eventstore/query_strategy/async.rb +64 -0
- data/lib/pg_eventstore/query_strategy/foreground.rb +25 -0
- data/lib/pg_eventstore/query_strategy.rb +19 -0
- data/lib/pg_eventstore/raw_event.rb +46 -0
- data/lib/pg_eventstore/rspec/test_helpers.rb +21 -8
- data/lib/pg_eventstore/sql_builder.rb +87 -8
- data/lib/pg_eventstore/stream.rb +13 -16
- data/lib/pg_eventstore/stream_global_index.rb +28 -0
- data/lib/pg_eventstore/subscriptions/callback_handlers/events_processor_handlers.rb +5 -17
- data/lib/pg_eventstore/subscriptions/callback_handlers/events_subscription_position_worker_handlers.rb +36 -0
- data/lib/pg_eventstore/subscriptions/callback_handlers/subscription_feeder_handlers.rb +12 -0
- data/lib/pg_eventstore/subscriptions/callback_handlers/subscription_runner_handlers.rb +21 -7
- data/lib/pg_eventstore/subscriptions/events_processor.rb +20 -18
- data/lib/pg_eventstore/subscriptions/events_processor_consumer/multiple.rb +63 -0
- data/lib/pg_eventstore/subscriptions/events_processor_consumer/replica.rb +68 -0
- data/lib/pg_eventstore/subscriptions/events_processor_consumer/single.rb +62 -0
- data/lib/pg_eventstore/subscriptions/events_processor_consumer.rb +44 -0
- data/lib/pg_eventstore/subscriptions/events_subscription_position_worker.rb +68 -0
- data/lib/pg_eventstore/subscriptions/queries/event_subscription_position_queries.rb +177 -0
- data/lib/pg_eventstore/subscriptions/queries/subscription_queries.rb +78 -54
- data/lib/pg_eventstore/subscriptions/replica_subscription_handler.rb +140 -0
- data/lib/pg_eventstore/subscriptions/replica_subscription_runner.rb +9 -0
- data/lib/pg_eventstore/subscriptions/subscription.rb +2 -1
- data/lib/pg_eventstore/subscriptions/subscription_feed_strategies/collection.rb +36 -0
- data/lib/pg_eventstore/subscriptions/subscription_feed_strategies/index_read_strategy.rb +82 -0
- data/lib/pg_eventstore/subscriptions/subscription_feed_strategies/replication_strategy.rb +75 -0
- data/lib/pg_eventstore/subscriptions/subscription_feed_strategy.rb +31 -0
- data/lib/pg_eventstore/subscriptions/subscription_feeder.rb +24 -0
- data/lib/pg_eventstore/subscriptions/subscription_handler_performance.rb +4 -2
- data/lib/pg_eventstore/subscriptions/subscription_runner.rb +20 -9
- data/lib/pg_eventstore/subscriptions/subscription_runner_commands/reset_position.rb +1 -1
- data/lib/pg_eventstore/subscriptions/subscription_runners_feeder.rb +9 -18
- data/lib/pg_eventstore/subscriptions/subscriptions_lifecycle.rb +0 -12
- data/lib/pg_eventstore/subscriptions/subscriptions_manager.rb +74 -14
- data/lib/pg_eventstore/{subscriptions/synchronized_array.rb → synchronized_array.rb} +15 -0
- data/lib/pg_eventstore/tasks/setup.rake +2 -2
- data/lib/pg_eventstore/utils.rb +31 -0
- data/lib/pg_eventstore/version.rb +1 -1
- data/lib/pg_eventstore/web/application.rb +100 -16
- data/lib/pg_eventstore/web/paginator/base_collection.rb +5 -1
- data/lib/pg_eventstore/web/paginator/event_types_collection.rb +14 -4
- data/lib/pg_eventstore/web/paginator/events_collection.rb +29 -33
- data/lib/pg_eventstore/web/paginator/helpers.rb +16 -9
- data/lib/pg_eventstore/web/paginator/markers_collection.rb +48 -0
- data/lib/pg_eventstore/web/paginator/stream_contexts_collection.rb +13 -2
- data/lib/pg_eventstore/web/paginator/stream_ids_collection.rb +21 -11
- data/lib/pg_eventstore/web/paginator/stream_names_collection.rb +18 -4
- data/lib/pg_eventstore/web/paginator/streams_collection.rb +95 -0
- data/lib/pg_eventstore/web/public/javascripts/pg_eventstore.js +49 -22
- data/lib/pg_eventstore/web/subscriptions/set_collection.rb +1 -1
- data/lib/pg_eventstore/web/subscriptions/subscriptions.rb +1 -1
- data/lib/pg_eventstore/web/subscriptions/with_state/set_collection.rb +1 -1
- data/lib/pg_eventstore/web/subscriptions/with_state/subscriptions.rb +1 -1
- data/lib/pg_eventstore/web/views/home/dashboard.erb +11 -9
- data/lib/pg_eventstore/web/views/home/partials/event_filter.erb +18 -5
- data/lib/pg_eventstore/web/views/home/partials/events.erb +38 -1
- data/lib/pg_eventstore/web/views/home/partials/markers_filter.erb +18 -0
- data/lib/pg_eventstore/web/views/layouts/application.erb +6 -0
- data/lib/pg_eventstore/web/views/streams/index.erb +110 -0
- data/lib/pg_eventstore/web/views/streams/partials/streams.erb +11 -0
- data/lib/pg_eventstore/web/views/subscriptions/index.erb +4 -1
- data/lib/pg_eventstore/web.rb +2 -0
- data/lib/pg_eventstore.rb +23 -60
- data/pg_eventstore.gemspec +6 -4
- data/sig/interfaces/_raw_events_handler.rbs +3 -0
- data/sig/interfaces/subscription_handler.rbs +1 -1
- data/sig/pg/result.rbs +9 -0
- data/sig/pg_eventstore/async_runner.rbs +13 -0
- data/sig/pg_eventstore/basic_config.rbs +9 -0
- data/sig/pg_eventstore/chunks/chunk.rbs +13 -0
- data/sig/pg_eventstore/chunks/read_api_events_index_chunk.rbs +30 -0
- data/sig/pg_eventstore/chunks/replica_events_index_chunk.rbs +11 -0
- data/sig/pg_eventstore/chunks/repository.rbs +22 -0
- data/sig/pg_eventstore/chunks/subscription_checkpoint_chunk.rbs +18 -0
- data/sig/pg_eventstore/chunks/subscription_events_index_chunk.rbs +37 -0
- data/sig/pg_eventstore/client.rbs +40 -42
- data/sig/pg_eventstore/commands/append.rbs +11 -25
- data/sig/pg_eventstore/commands/event_modifiers/prepare_link_event.rbs +9 -12
- data/sig/pg_eventstore/commands/event_modifiers/prepare_regular_event.rbs +5 -4
- data/sig/pg_eventstore/commands/link_to.rbs +6 -11
- data/sig/pg_eventstore/commands/read.rbs +2 -5
- data/sig/pg_eventstore/commands/read_grouped.rbs +7 -0
- data/sig/pg_eventstore/commands/read_streams.rbs +7 -0
- data/sig/pg_eventstore/commands/read_streams_paginated.rbs +16 -0
- data/sig/pg_eventstore/commands/regular_stream_read_paginated.rbs +9 -17
- data/sig/pg_eventstore/commands/revision_check/current_revision.rbs +25 -0
- data/sig/pg_eventstore/commands/revision_check/event_type_revisions_comparison.rbs +14 -0
- data/sig/pg_eventstore/commands/revision_check/expected_revision.rbs +67 -0
- data/sig/pg_eventstore/commands/revision_check/stream_revision_check.rbs +20 -0
- data/sig/pg_eventstore/commands/revision_check/stream_revision_comparison.rbs +9 -0
- data/sig/pg_eventstore/commands/stream_revision.rbs +7 -0
- data/sig/pg_eventstore/commands/system_stream_read_paginated.rbs +9 -14
- data/sig/pg_eventstore/config.rbs +15 -6
- data/sig/pg_eventstore/connection.rbs +11 -18
- data/sig/pg_eventstore/errors.rbs +64 -34
- data/sig/pg_eventstore/event.rbs +16 -2
- data/sig/pg_eventstore/event_deserializer.rbs +5 -10
- data/sig/pg_eventstore/event_global_index.rbs +60 -0
- data/sig/pg_eventstore/event_marker.rbs +9 -0
- data/sig/pg_eventstore/event_marker_index.rbs +12 -0
- data/sig/pg_eventstore/extensions/acts_as_configurable.rbs +29 -0
- data/sig/pg_eventstore/extensions/options_defaults.rbs +7 -0
- data/sig/pg_eventstore/feature_marker.rbs +10 -0
- data/sig/pg_eventstore/maintenance.rbs +12 -8
- data/sig/pg_eventstore/middleware/event_trace.rbs +14 -0
- data/sig/pg_eventstore/partition.rbs +2 -4
- data/sig/pg_eventstore/pg_connection.rbs +8 -0
- data/sig/pg_eventstore/queries/event_marker_queries.rbs +21 -0
- data/sig/pg_eventstore/queries/event_queries.rbs +4 -36
- data/sig/pg_eventstore/queries/events_global_index_queries.rbs +37 -0
- data/sig/pg_eventstore/queries/index_filtering_queries.rbs +50 -0
- data/sig/pg_eventstore/queries/links_resolver.rbs +5 -9
- data/sig/pg_eventstore/queries/maintenance_queries.rbs +12 -9
- data/sig/pg_eventstore/queries/partition_queries.rbs +32 -67
- data/sig/pg_eventstore/queries/replica_queries.rbs +31 -0
- data/sig/pg_eventstore/queries/streams_global_index_queries.rbs +39 -0
- data/sig/pg_eventstore/queries/transaction_queries.rbs +2 -0
- data/sig/pg_eventstore/queries.rbs +11 -21
- data/sig/pg_eventstore/query_builders/basic_filtering.rbs +10 -3
- data/sig/pg_eventstore/query_builders/event_markers_filtering.rbs +17 -0
- data/sig/pg_eventstore/query_builders/event_markers_index_filtering.rbs +69 -0
- data/sig/pg_eventstore/query_builders/event_subscription_positions_filtering.rbs +15 -0
- data/sig/pg_eventstore/query_builders/events_filtering_query.rbs +9 -51
- data/sig/pg_eventstore/query_builders/events_global_index_filtering.rbs +68 -0
- data/sig/pg_eventstore/query_builders/filters/collection.rbs +84 -0
- data/sig/pg_eventstore/query_builders/filters/event_type_filter.rbs +19 -0
- data/sig/pg_eventstore/query_builders/filters/filter_row.rbs +21 -0
- data/sig/pg_eventstore/query_builders/filters/marker_filter.rbs +13 -0
- data/sig/pg_eventstore/query_builders/filters/marker_filter_row.rbs +19 -0
- data/sig/pg_eventstore/query_builders/filters/stream_filter.rbs +24 -0
- data/sig/pg_eventstore/query_builders/index_based_events_filtering.rbs +60 -0
- data/sig/pg_eventstore/query_builders/partitions_filtering.rbs +29 -10
- data/sig/pg_eventstore/query_builders/read_cursor/stream_cursor.rbs +47 -0
- data/sig/pg_eventstore/query_builders/streams_global_index_filtering.rbs +27 -0
- data/sig/pg_eventstore/query_builders/subscription_events_filtering.rbs +26 -0
- data/sig/pg_eventstore/query_strategy/async.rbs +17 -0
- data/sig/pg_eventstore/query_strategy/foreground.rbs +11 -0
- data/sig/pg_eventstore/query_strategy.rbs +7 -0
- data/sig/pg_eventstore/raw_event.rbs +20 -0
- data/sig/pg_eventstore/sql_builder.rbs +32 -10
- data/sig/pg_eventstore/stream.rbs +10 -18
- data/sig/pg_eventstore/stream_global_index.rbs +14 -0
- data/sig/pg_eventstore/subscriptions/callback_handlers/events_processor_handlers.rbs +5 -4
- data/sig/pg_eventstore/subscriptions/callback_handlers/events_subscription_position_worker_handlers.rbs +9 -0
- data/sig/pg_eventstore/subscriptions/callback_handlers/subscription_feeder_handlers.rbs +17 -12
- data/sig/pg_eventstore/subscriptions/callback_handlers/subscription_runner_handlers.rbs +17 -6
- data/sig/pg_eventstore/subscriptions/event_subscription_position_queries.rbs +30 -0
- data/sig/pg_eventstore/subscriptions/events_processor.rbs +12 -5
- data/sig/pg_eventstore/subscriptions/events_processor_consumer/multiple.rbs +17 -0
- data/sig/pg_eventstore/subscriptions/events_processor_consumer/replica.rbs +17 -0
- data/sig/pg_eventstore/subscriptions/events_processor_consumer/single.rbs +17 -0
- data/sig/pg_eventstore/subscriptions/events_processor_consumer.rbs +14 -0
- data/sig/pg_eventstore/subscriptions/events_subscription_position_worker.rbs +28 -0
- data/sig/pg_eventstore/subscriptions/queries/subscription_queries.rbs +7 -39
- data/sig/pg_eventstore/subscriptions/replica_subscription_handler.rbs +33 -0
- data/sig/pg_eventstore/subscriptions/replica_subscription_runner.rbs +4 -0
- data/sig/pg_eventstore/subscriptions/subscription_feed_strategy/collection.rbs +14 -0
- data/sig/pg_eventstore/subscriptions/subscription_feed_strategy/index_read_strategy.rbs +23 -0
- data/sig/pg_eventstore/subscriptions/subscription_feed_strategy/replication_strategy.rbs +23 -0
- data/sig/pg_eventstore/subscriptions/subscription_feed_strategy.rbs +11 -0
- data/sig/pg_eventstore/subscriptions/subscription_feeder.rbs +13 -10
- data/sig/pg_eventstore/subscriptions/subscription_handler_performance.rbs +1 -1
- data/sig/pg_eventstore/subscriptions/subscription_runner.rbs +13 -2
- data/sig/pg_eventstore/subscriptions/subscription_runners_feeder.rbs +1 -8
- data/sig/pg_eventstore/subscriptions/subscriptions_lifecycle.rbs +4 -6
- data/sig/pg_eventstore/subscriptions/subscriptions_manager.rbs +29 -43
- data/sig/pg_eventstore/synchronized_array.rbs +4 -0
- data/sig/pg_eventstore/utils.rbs +10 -11
- data/sig/pg_eventstore/web/application.rbs +13 -3
- data/sig/pg_eventstore/web/paginator/base_collection.rbs +2 -0
- data/sig/pg_eventstore/web/paginator/event_types_collection.rbs +4 -0
- data/sig/pg_eventstore/web/paginator/events_collection.rbs +11 -11
- data/sig/pg_eventstore/web/paginator/helpers.rbs +6 -15
- data/sig/pg_eventstore/web/paginator/markers_collection.rbs +13 -0
- data/sig/pg_eventstore/web/paginator/stream_contexts_collection.rbs +4 -0
- data/sig/pg_eventstore/web/paginator/stream_names_collection.rbs +4 -0
- data/sig/pg_eventstore/web/paginator/streams_collection.rbs +30 -0
- data/sig/pg_eventstore.rbs +8 -26
- metadata +175 -20
- data/Dockerfile +0 -3
- data/lib/pg_eventstore/commands/all_stream_read_grouped.rb +0 -69
- data/lib/pg_eventstore/commands/regular_stream_read_grouped.rb +0 -31
- data/lib/pg_eventstore/subscriptions/queries/subscription_service_queries.rb +0 -78
- data/lib/pg_eventstore/web/views/home/partials/system_stream_filter.erb +0 -15
- data/sig/pg_eventstore/commands/all_stream_read_grouped.rbs +0 -16
- data/sig/pg_eventstore/commands/regular_stream_read_grouped.rbs +0 -8
- data/sig/pg_eventstore/subscriptions/queries/subscription_service_queries.rbs +0 -19
- data/sig/pg_eventstore/subscriptions/synchronized_array.rbs +0 -4
- /data/sig/interfaces/{_raw_event_handler.rbs → raw_event_handler.rbs} +0 -0
|
@@ -1,25 +1,20 @@
|
|
|
1
1
|
module PgEventstore
|
|
2
2
|
module Commands
|
|
3
|
-
class SystemStreamReadPaginated <
|
|
4
|
-
#
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
%a{rbs:test:skip} def call: (PgEventstore::Stream stream, ?options: ::Hash[untyped, untyped]) -> ::Enumerator[Array[PgEventstore::Event], void]
|
|
3
|
+
class SystemStreamReadPaginated < AbstractCommand
|
|
4
|
+
# Skip this type check because rbs duplicates calls to Enumerator#next
|
|
5
|
+
%a{rbs:test:skip} def call: (Stream stream, deserializer: EventDeserializer,
|
|
6
|
+
?options: ::Hash[untyped, untyped]) -> ::Enumerator[Array[Event], void]
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
#
|
|
11
|
-
# _@param_ `max_count`
|
|
12
|
-
def end_reached?: (::Array[PgEventstore::Event] events, Integer max_count) -> bool
|
|
8
|
+
private
|
|
13
9
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def calc_next_position: (::Array[PgEventstore::Event] events, (String | Symbol)? direction) -> Integer
|
|
10
|
+
def end_reached?: (::Array[Event] events, Integer max_count) -> bool
|
|
11
|
+
|
|
12
|
+
def calc_next_position: (::Array[Event] events, (String | Symbol)? direction) -> Integer
|
|
18
13
|
|
|
19
14
|
# _@param_ `direction`
|
|
20
15
|
def forwards?: ((String | Symbol)? direction) -> bool
|
|
21
16
|
|
|
22
|
-
def read_cmd: () ->
|
|
17
|
+
def read_cmd: () -> Commands::Read
|
|
23
18
|
end
|
|
24
19
|
end
|
|
25
20
|
end
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
module PgEventstore
|
|
2
|
-
class Config
|
|
3
|
-
|
|
2
|
+
class Config < BasicConfig
|
|
3
|
+
module NodeRole
|
|
4
|
+
PRIMARY: Symbol
|
|
5
|
+
REPLICA: Symbol
|
|
6
|
+
STANDALONE: Symbol
|
|
4
7
|
|
|
5
|
-
|
|
6
|
-
|
|
8
|
+
def self.maintainable: -> Array[Symbol]
|
|
9
|
+
|
|
10
|
+
def self.writable: -> Array[Symbol]
|
|
11
|
+
end
|
|
7
12
|
|
|
8
13
|
def connection_options: () -> ::Hash[untyped, untyped]
|
|
9
14
|
|
|
@@ -21,8 +26,6 @@ module PgEventstore
|
|
|
21
26
|
# _@param_ `options`
|
|
22
27
|
def init_default_values: (::Hash[untyped, untyped] options) -> void
|
|
23
28
|
|
|
24
|
-
attr_reader name: untyped
|
|
25
|
-
|
|
26
29
|
attr_accessor pg_uri: String
|
|
27
30
|
|
|
28
31
|
# _@return_ — Number of events to return in one response when reading from a stream
|
|
@@ -51,5 +54,11 @@ module PgEventstore
|
|
|
51
54
|
attr_accessor subscriptions_set_retries_interval: Integer
|
|
52
55
|
|
|
53
56
|
attr_accessor subscription_graceful_shutdown_timeout: Integer | Float
|
|
57
|
+
|
|
58
|
+
attr_accessor events_subscription_position_update_interval: Integer | Float
|
|
59
|
+
|
|
60
|
+
attr_accessor eventstore_role: Symbol
|
|
61
|
+
|
|
62
|
+
attr_accessor max_events_to_replicate: Integer
|
|
54
63
|
end
|
|
55
64
|
end
|
|
@@ -1,32 +1,25 @@
|
|
|
1
1
|
module PgEventstore
|
|
2
2
|
class Connection
|
|
3
|
-
|
|
4
|
-
end
|
|
3
|
+
@pool: ConnectionPool[PgConnection]?
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
attr_accessor uri: String
|
|
6
|
+
attr_accessor pool_size: Integer
|
|
7
|
+
attr_accessor pool_timeout: Integer
|
|
7
8
|
|
|
8
|
-
# _@param_ `uri` — PostgreSQL connection URI. Example: "postgresql://postgres:postgres@localhost:5432/eventstore"
|
|
9
|
-
#
|
|
10
|
-
# _@param_ `pool_size` — Connection pool size
|
|
11
|
-
#
|
|
12
|
-
# _@param_ `pool_timeout` — Connection pool timeout in seconds
|
|
13
9
|
def initialize: (uri: String, ?pool_size: Integer, ?pool_timeout: Integer) -> void
|
|
14
10
|
|
|
15
|
-
def
|
|
11
|
+
def discard_current_connection: -> void
|
|
16
12
|
|
|
17
|
-
def
|
|
13
|
+
def establish_connection: -> void
|
|
18
14
|
|
|
19
|
-
def
|
|
15
|
+
def shutdown: -> void
|
|
20
16
|
|
|
21
|
-
def
|
|
17
|
+
def with: () { (PgConnection connection) -> untyped } -> untyped
|
|
22
18
|
|
|
23
|
-
|
|
24
|
-
attr_accessor uri: String
|
|
19
|
+
private
|
|
25
20
|
|
|
26
|
-
|
|
27
|
-
attr_accessor pool_size: Integer
|
|
21
|
+
def init_pool: () -> ConnectionPool[PgConnection]
|
|
28
22
|
|
|
29
|
-
|
|
30
|
-
attr_accessor pool_timeout: Integer
|
|
23
|
+
def pg_type_registry: () -> PG::BasicTypeRegistry
|
|
31
24
|
end
|
|
32
25
|
end
|
|
@@ -5,28 +5,31 @@ module PgEventstore
|
|
|
5
5
|
def to_h: () -> ::Hash[untyped, untyped]
|
|
6
6
|
end
|
|
7
7
|
|
|
8
|
-
class StreamNotFoundError <
|
|
8
|
+
class StreamNotFoundError < Error
|
|
9
9
|
# _@param_ `stream`
|
|
10
|
-
def initialize: (
|
|
10
|
+
def initialize: (Stream stream) -> void
|
|
11
11
|
|
|
12
12
|
# Returns the value of attribute stream.
|
|
13
|
-
attr_accessor stream:
|
|
13
|
+
attr_accessor stream: Stream
|
|
14
14
|
end
|
|
15
15
|
|
|
16
|
-
class SystemStreamError <
|
|
16
|
+
class SystemStreamError < Error
|
|
17
17
|
# _@param_ `stream`
|
|
18
|
-
def initialize: (
|
|
18
|
+
def initialize: (Stream stream) -> void
|
|
19
19
|
|
|
20
|
-
attr_accessor stream:
|
|
20
|
+
attr_accessor stream: Stream
|
|
21
21
|
end
|
|
22
22
|
|
|
23
|
-
class WrongExpectedRevisionError <
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
class WrongExpectedRevisionError < Error
|
|
24
|
+
|
|
25
|
+
attr_accessor stream: Stream
|
|
26
|
+
attr_accessor revision: Integer
|
|
27
|
+
attr_accessor expected_revision: (Integer | Symbol)
|
|
28
|
+
attr_accessor verdict: Symbol
|
|
29
|
+
|
|
30
|
+
def initialize: (revision: Integer, expected_revision: (Integer | Symbol), stream: Stream, verdict: Symbol) -> void
|
|
31
|
+
|
|
32
|
+
private
|
|
30
33
|
|
|
31
34
|
def user_friendly_message: () -> String
|
|
32
35
|
|
|
@@ -39,28 +42,52 @@ module PgEventstore
|
|
|
39
42
|
def unmatched_stream_revision: () -> String
|
|
40
43
|
|
|
41
44
|
def stream_descr: () -> String
|
|
45
|
+
end
|
|
42
46
|
|
|
43
|
-
|
|
47
|
+
class WrongExpectedTypesRevisionError < Error
|
|
48
|
+
class Verdict
|
|
49
|
+
include Extensions::OptionsExtension
|
|
50
|
+
include Extensions::OptionsDefaults
|
|
44
51
|
|
|
45
|
-
|
|
52
|
+
attr_accessor verdict: Symbol
|
|
53
|
+
attr_accessor event_type: String | Symbol
|
|
54
|
+
attr_accessor current_revision: Integer
|
|
55
|
+
attr_accessor expected_revision: Integer | Symbol
|
|
56
|
+
attr_accessor expected_markers: Array[String]?
|
|
57
|
+
end
|
|
46
58
|
|
|
47
|
-
attr_accessor
|
|
48
|
-
|
|
59
|
+
attr_accessor stream: Stream
|
|
60
|
+
attr_accessor verdicts: Array[Verdict]
|
|
49
61
|
|
|
50
|
-
|
|
51
|
-
# _@param_ `table_name`
|
|
52
|
-
#
|
|
53
|
-
# _@param_ `id`
|
|
54
|
-
def initialize: (String table_name, (Integer | String) id) -> void
|
|
62
|
+
def initialize: (stream: Stream, verdicts: Array[Verdict]) -> void
|
|
55
63
|
|
|
56
|
-
|
|
64
|
+
private
|
|
57
65
|
|
|
66
|
+
def event_descr: (Verdict verdict) -> String
|
|
67
|
+
|
|
68
|
+
def event_is_absent: (Verdict verdict) -> String
|
|
69
|
+
|
|
70
|
+
def event_is_present: (Verdict verdict) -> String
|
|
71
|
+
|
|
72
|
+
def event_revision_does_not_match: (Verdict verdict) -> String
|
|
73
|
+
|
|
74
|
+
def revision_descr: (Verdict verdict) -> String
|
|
75
|
+
|
|
76
|
+
def stream_descr: -> String
|
|
77
|
+
|
|
78
|
+
def user_friendly_message: -> String
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
class RecordNotFound < Error
|
|
58
82
|
attr_accessor table_name: String
|
|
83
|
+
attr_accessor id: untyped
|
|
84
|
+
|
|
85
|
+
def initialize: (String table_name, untyped id) -> void
|
|
59
86
|
|
|
60
|
-
|
|
87
|
+
def user_friendly_message: () -> String
|
|
61
88
|
end
|
|
62
89
|
|
|
63
|
-
class SubscriptionAlreadyLockedError <
|
|
90
|
+
class SubscriptionAlreadyLockedError < Error
|
|
64
91
|
# _@param_ `set` — subscriptions set name
|
|
65
92
|
#
|
|
66
93
|
# _@param_ `name` — subscription's name
|
|
@@ -77,7 +104,7 @@ module PgEventstore
|
|
|
77
104
|
attr_accessor lock_id: Integer
|
|
78
105
|
end
|
|
79
106
|
|
|
80
|
-
class WrongLockIdError <
|
|
107
|
+
class WrongLockIdError < Error
|
|
81
108
|
# _@param_ `set` — subscriptions set name
|
|
82
109
|
#
|
|
83
110
|
# _@param_ `name` — subscription's name
|
|
@@ -94,7 +121,7 @@ module PgEventstore
|
|
|
94
121
|
attr_accessor lock_id: Integer
|
|
95
122
|
end
|
|
96
123
|
|
|
97
|
-
class NotPersistedEventError <
|
|
124
|
+
class NotPersistedEventError < Error
|
|
98
125
|
# _@param_ `event`
|
|
99
126
|
def initialize: (PgEventstore::Event event) -> void
|
|
100
127
|
|
|
@@ -103,32 +130,35 @@ module PgEventstore
|
|
|
103
130
|
attr_accessor event: PgEventstore::Event
|
|
104
131
|
end
|
|
105
132
|
|
|
106
|
-
class MissingPartitions <
|
|
133
|
+
class MissingPartitions < Error
|
|
107
134
|
# _@param_ `stream`
|
|
108
135
|
#
|
|
109
136
|
# _@param_ `event_types`
|
|
110
|
-
def initialize: (
|
|
137
|
+
def initialize: (Stream stream, ::Array[String] event_types) -> void
|
|
111
138
|
|
|
112
|
-
attr_accessor stream:
|
|
139
|
+
attr_accessor stream: Stream
|
|
113
140
|
|
|
114
141
|
attr_accessor event_types: ::Array[String]
|
|
115
142
|
end
|
|
116
143
|
|
|
117
|
-
class TooManyRecordsToLockError <
|
|
118
|
-
def initialize: (
|
|
144
|
+
class TooManyRecordsToLockError < Error
|
|
145
|
+
def initialize: (Stream stream, Integer number_of_records) -> void
|
|
119
146
|
|
|
120
|
-
attr_accessor stream:
|
|
147
|
+
attr_accessor stream: Stream
|
|
121
148
|
|
|
122
149
|
attr_accessor number_of_records: Integer
|
|
123
150
|
|
|
124
151
|
def user_friendly_message: -> String
|
|
125
152
|
end
|
|
126
153
|
|
|
127
|
-
class WrappedException <
|
|
154
|
+
class WrappedException < Error
|
|
128
155
|
def initialize: (StandardError original_exception, Hash[Symbol, untyped] extra) -> void
|
|
129
156
|
|
|
130
157
|
attr_accessor original_exception: StandardError
|
|
131
158
|
|
|
132
159
|
attr_accessor extra: Hash[Symbol, untyped]
|
|
133
160
|
end
|
|
161
|
+
|
|
162
|
+
class NotSupportedError < Error
|
|
163
|
+
end
|
|
134
164
|
end
|
data/sig/pg_eventstore/event.rbs
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
module PgEventstore
|
|
2
2
|
class Event
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
MARKERS_METADATA_KEY: String
|
|
4
|
+
NON_EXISTING_EVENT_REVISION: Integer
|
|
5
5
|
LINK_TYPE: String
|
|
6
6
|
PRIMARY_TABLE_NAME: String
|
|
7
|
+
SYSTEM_KEY_PREFIX: String
|
|
8
|
+
SYSTEM_SYMBOL: String
|
|
9
|
+
|
|
10
|
+
include Extensions::OptionsExtension
|
|
7
11
|
|
|
8
12
|
def ==: ((Object | Event) other) -> bool
|
|
9
13
|
|
|
@@ -35,6 +39,10 @@ module PgEventstore
|
|
|
35
39
|
|
|
36
40
|
attr_accessor data: ::Hash[untyped, untyped]
|
|
37
41
|
|
|
42
|
+
attr_accessor markers: ::Array[String]
|
|
43
|
+
|
|
44
|
+
attr_accessor feature_markers: ::Array[FeatureMarker]
|
|
45
|
+
|
|
38
46
|
attr_accessor metadata: ::Hash[untyped, untyped]
|
|
39
47
|
|
|
40
48
|
attr_accessor link_global_position: Integer?
|
|
@@ -44,5 +52,11 @@ module PgEventstore
|
|
|
44
52
|
attr_accessor link: Event?
|
|
45
53
|
|
|
46
54
|
attr_accessor created_at: Time?
|
|
55
|
+
|
|
56
|
+
attr_accessor caused_by: Event?
|
|
57
|
+
|
|
58
|
+
attr_accessor correlation_id: String?
|
|
59
|
+
|
|
60
|
+
attr_accessor causation_id: String?
|
|
47
61
|
end
|
|
48
62
|
end
|
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
module PgEventstore
|
|
2
2
|
class EventDeserializer
|
|
3
|
-
|
|
4
|
-
#
|
|
5
|
-
# _@param_ `event_class_resolver`
|
|
6
|
-
def initialize: (::Array[PgEventstore::Middleware] middlewares, _EventClassResolver event_class_resolver) -> void
|
|
3
|
+
def initialize: (::Array[Middleware] middlewares, _EventClassResolver event_class_resolver) -> void
|
|
7
4
|
|
|
8
|
-
|
|
9
|
-
def deserialize_many: (::Array[::Hash[untyped, untyped]] raw_events) -> ::Array[PgEventstore::Event]
|
|
5
|
+
def deserialize_many: (::Array[::Hash[untyped, untyped]] | Enumerator[Hash[untyped, untyped]] raw_events) -> ::Array[Event]
|
|
10
6
|
|
|
11
|
-
|
|
12
|
-
def deserialize: (::Hash[untyped, untyped] attrs) -> PgEventstore::Event
|
|
7
|
+
def deserialize: (::Hash[untyped, untyped] attrs) -> Event
|
|
13
8
|
|
|
14
|
-
def without_middlewares: () ->
|
|
9
|
+
def without_middlewares: () -> EventDeserializer
|
|
15
10
|
|
|
16
|
-
attr_accessor middlewares: ::Array[
|
|
11
|
+
attr_accessor middlewares: ::Array[Middleware]
|
|
17
12
|
|
|
18
13
|
attr_accessor event_class_resolver: _EventClassResolver
|
|
19
14
|
end
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
module PgEventstore
|
|
2
|
+
class EventGlobalIndex
|
|
3
|
+
include Extensions::OptionsExtension
|
|
4
|
+
include Extensions::OptionsDefaults
|
|
5
|
+
|
|
6
|
+
def self.create_representation: (Hash[untyped, untyped] attributes,
|
|
7
|
+
repr: Symbol?) -> (EventGlobalIndex | SubscriptionRepr | ReadApiRepr | WriteApiRepr | RevisionCheckRepr)
|
|
8
|
+
|
|
9
|
+
attr_accessor global_position: Integer
|
|
10
|
+
attr_accessor subscription_position: Integer?
|
|
11
|
+
attr_accessor stream_revision: Integer
|
|
12
|
+
attr_accessor context_partition_id: Integer
|
|
13
|
+
attr_accessor stream_name_partition_id: Integer
|
|
14
|
+
attr_accessor event_type_partition_id: Integer
|
|
15
|
+
attr_accessor streams_global_index_id: Integer
|
|
16
|
+
|
|
17
|
+
module ReprType
|
|
18
|
+
REVISION_CHECK: Symbol
|
|
19
|
+
SUBSCRIPTION: Symbol
|
|
20
|
+
READ_API: Symbol
|
|
21
|
+
WRITE_API: Symbol
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
class SubscriptionRepr
|
|
25
|
+
include Extensions::OptionsExtension
|
|
26
|
+
include Extensions::OptionsDefaults
|
|
27
|
+
|
|
28
|
+
attr_accessor global_position: Integer
|
|
29
|
+
attr_accessor subscription_position: Integer
|
|
30
|
+
attr_accessor event_type_partition_id: Integer
|
|
31
|
+
|
|
32
|
+
def to_subscription_position_attrs: -> { global_position: Integer, subscription_position: Integer }
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
class ReadApiRepr
|
|
36
|
+
include Extensions::OptionsExtension
|
|
37
|
+
include Extensions::OptionsDefaults
|
|
38
|
+
|
|
39
|
+
attr_accessor global_position: Integer
|
|
40
|
+
attr_accessor event_type_partition_id: Integer
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
class WriteApiRepr
|
|
44
|
+
include Extensions::OptionsExtension
|
|
45
|
+
include Extensions::OptionsDefaults
|
|
46
|
+
|
|
47
|
+
attr_accessor global_position: Integer
|
|
48
|
+
attr_accessor event_type_partition_id: Integer
|
|
49
|
+
attr_accessor stream_revision: Integer
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
class RevisionCheckRepr
|
|
53
|
+
include Extensions::OptionsExtension
|
|
54
|
+
include Extensions::OptionsDefaults
|
|
55
|
+
|
|
56
|
+
attr_accessor sequence_number: Integer
|
|
57
|
+
attr_accessor stream_revision: Integer
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
module PgEventstore
|
|
2
|
+
class EventMarkerIndex
|
|
3
|
+
include Extensions::OptionsExtension
|
|
4
|
+
include Extensions::OptionsDefaults
|
|
5
|
+
|
|
6
|
+
attr_accessor marker_id: Integer
|
|
7
|
+
attr_accessor streams_global_index_id: Integer
|
|
8
|
+
attr_accessor event_type_partition_id: Integer
|
|
9
|
+
attr_accessor global_position: Integer
|
|
10
|
+
attr_accessor stream_revision: Integer
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
module PgEventstore
|
|
2
|
+
module Extensions
|
|
3
|
+
module ActsAsConfigurable
|
|
4
|
+
def acts_as_configurable: (?default_config: Symbol, config_class: Class) -> void
|
|
5
|
+
|
|
6
|
+
module Configurable
|
|
7
|
+
@config: Hash[Symbol, Extensions::OptionsExtension]
|
|
8
|
+
|
|
9
|
+
@connection: Hash[Symbol, Connection]
|
|
10
|
+
|
|
11
|
+
attr_reader mutex: Thread::Mutex
|
|
12
|
+
|
|
13
|
+
def configure: (?name: Symbol) { (BasicConfig) -> untyped } -> untyped
|
|
14
|
+
|
|
15
|
+
def config: (?Symbol name) -> BasicConfig
|
|
16
|
+
|
|
17
|
+
def available_configs: () -> ::Array[Symbol]
|
|
18
|
+
|
|
19
|
+
def connection: (?Symbol name) -> Connection
|
|
20
|
+
|
|
21
|
+
private
|
|
22
|
+
|
|
23
|
+
def connection_options: (BasicConfig config) -> Hash[untyped, untyped]
|
|
24
|
+
|
|
25
|
+
def init_variables: -> void
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
module PgEventstore
|
|
2
2
|
class Maintenance
|
|
3
|
-
@config:
|
|
3
|
+
@config: Config
|
|
4
4
|
|
|
5
|
-
attr_reader config:
|
|
5
|
+
attr_reader config: Config
|
|
6
6
|
|
|
7
|
-
def initialize: (
|
|
7
|
+
def initialize: (Config config) -> void
|
|
8
8
|
|
|
9
|
-
def connection: () ->
|
|
9
|
+
def connection: () -> Connection
|
|
10
10
|
|
|
11
|
-
def delete_event: (
|
|
11
|
+
def delete_event: (Event event, ?force: bool)-> bool
|
|
12
12
|
|
|
13
|
-
def delete_stream: (
|
|
13
|
+
def delete_stream: (Stream stream)-> bool
|
|
14
14
|
|
|
15
|
-
def maintenance_queries: () ->
|
|
15
|
+
def maintenance_queries: () -> MaintenanceQueries
|
|
16
16
|
|
|
17
|
-
def transaction_queries: () ->
|
|
17
|
+
def transaction_queries: () -> TransactionQueries
|
|
18
|
+
|
|
19
|
+
private
|
|
20
|
+
|
|
21
|
+
def events_global_index_queries: -> EventsGlobalIndexQueries
|
|
18
22
|
end
|
|
19
23
|
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module PgEventstore
|
|
2
|
+
module Middleware
|
|
3
|
+
class EventTracing
|
|
4
|
+
include Middleware
|
|
5
|
+
|
|
6
|
+
CAUSATION_ID_KEY: String
|
|
7
|
+
CORRELATION_ID_KEY: String
|
|
8
|
+
|
|
9
|
+
def self.causation_marker: (String marker) -> FeatureMarker
|
|
10
|
+
|
|
11
|
+
def self.correlation_marker: (String marker) -> FeatureMarker
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -3,13 +3,11 @@ module PgEventstore
|
|
|
3
3
|
include Extensions::OptionsExtension
|
|
4
4
|
|
|
5
5
|
attr_accessor id: Integer
|
|
6
|
-
|
|
7
6
|
attr_accessor context: String
|
|
8
|
-
|
|
9
7
|
attr_accessor stream_name: String?
|
|
10
|
-
|
|
11
8
|
attr_accessor event_type: String?
|
|
12
|
-
|
|
13
9
|
attr_accessor table_name: String
|
|
10
|
+
attr_accessor parent_context_partition_id: Integer?
|
|
11
|
+
attr_accessor parent_stream_name_partition_id: Integer?
|
|
14
12
|
end
|
|
15
13
|
end
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
module PgEventstore
|
|
2
2
|
class PgConnection < PG::Connection
|
|
3
|
+
PLACEHOLDER_RE: untyped
|
|
4
|
+
|
|
3
5
|
def exec: (untyped sql) -> untyped
|
|
4
6
|
|
|
5
7
|
def exec_params: (untyped sql, untyped params) -> untyped
|
|
6
8
|
|
|
9
|
+
def compile: (String sql, Array[untyped] params) -> String
|
|
10
|
+
|
|
11
|
+
def prepared_value: (untyped value) -> String
|
|
12
|
+
|
|
13
|
+
private
|
|
14
|
+
|
|
7
15
|
def log: (untyped sql, untyped params) -> untyped
|
|
8
16
|
|
|
9
17
|
def encode_value: (untyped value) -> untyped
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module PgEventstore
|
|
2
|
+
class EventMarkerQueries
|
|
3
|
+
@query_strategy: QueryStrategy
|
|
4
|
+
|
|
5
|
+
attr_reader connection: Connection
|
|
6
|
+
|
|
7
|
+
def initialize: (Connection connection, QueryStrategy query_strategy) -> void
|
|
8
|
+
|
|
9
|
+
def create_indexes: (
|
|
10
|
+
Integer stream_idx_id,
|
|
11
|
+
Array[EventGlobalIndex::WriteApiRepr] write_api_events_index,
|
|
12
|
+
Hash[Integer, Set[Integer]] revision_to_marker_ids_map
|
|
13
|
+
) -> void
|
|
14
|
+
|
|
15
|
+
def find_or_create_by: (Array[String] names) -> Array[EventMarker]
|
|
16
|
+
|
|
17
|
+
private
|
|
18
|
+
|
|
19
|
+
def deserialize: (PG::Result pg_result) -> Array[EventMarker]
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -1,47 +1,15 @@
|
|
|
1
1
|
module PgEventstore
|
|
2
2
|
class EventQueries
|
|
3
|
-
|
|
4
|
-
#
|
|
5
|
-
# _@param_ `serializer`
|
|
6
|
-
#
|
|
7
|
-
# _@param_ `deserializer`
|
|
8
|
-
def initialize: (Connection connection, EventSerializer serializer, EventDeserializer deserializer) -> void
|
|
9
|
-
|
|
10
|
-
# _@param_ `event`
|
|
11
|
-
def event_exists?: (Event event) -> bool
|
|
12
|
-
|
|
13
|
-
def grouped_events: (Stream stream, Array[Hash[untyped, untyped]] options_by_event_type, **untyped options)-> Array[Event]
|
|
14
|
-
|
|
15
|
-
# _@param_ `events`
|
|
16
|
-
def global_positions_from_db: (::Array[Event] events) -> ::Array[Integer]
|
|
3
|
+
attr_accessor connection: Connection
|
|
17
4
|
|
|
18
|
-
|
|
19
|
-
def stream_revision: (Stream stream) -> Integer?
|
|
5
|
+
def initialize: (Connection connection) -> void
|
|
20
6
|
|
|
21
|
-
|
|
22
|
-
#
|
|
23
|
-
# _@param_ `options`
|
|
24
|
-
def stream_events: (Stream stream, ::Hash[untyped, untyped] options) -> ::Array[Event]
|
|
7
|
+
def insert: (Stream stream, ::Array[Event] events) -> ::Array[Hash[String, untyped]]
|
|
25
8
|
|
|
26
|
-
|
|
27
|
-
#
|
|
28
|
-
# _@param_ `events`
|
|
29
|
-
def insert: (Stream stream, ::Array[Event] events) -> ::Array[Event]
|
|
9
|
+
private
|
|
30
10
|
|
|
31
|
-
# _@param_ `stream`
|
|
32
|
-
#
|
|
33
|
-
# _@param_ `events`
|
|
34
11
|
def prepared_statements: (Stream stream, ::Array[Event] events) -> ::Array[(::Array[String] | ::Array[Object])]
|
|
35
12
|
|
|
36
13
|
def links_resolver: () -> LinksResolver
|
|
37
|
-
|
|
38
|
-
# Returns the value of attribute connection.
|
|
39
|
-
attr_accessor connection: Connection
|
|
40
|
-
|
|
41
|
-
# Returns the value of attribute serializer.
|
|
42
|
-
attr_accessor serializer: EventSerializer
|
|
43
|
-
|
|
44
|
-
# Returns the value of attribute deserializer.
|
|
45
|
-
attr_accessor deserializer: EventDeserializer
|
|
46
14
|
end
|
|
47
15
|
end
|