diff --git a/db/schema.sql b/db/schema.sql index 64f8244..dea0716 100644 --- a/db/schema.sql +++ b/db/schema.sql @@ -18,7 +18,7 @@ CREATE INDEX events_type_idx ON en57.events (type); CREATE INDEX tags_value_event_id_idx ON en57.tags (value, event_id); -CREATE TYPE en57.event_with_tags AS ( +CREATE TYPE en57.event AS ( id uuid, type text, data jsonb, @@ -26,7 +26,7 @@ CREATE TYPE en57.event_with_tags AS ( tags text[] ); -CREATE FUNCTION en57.append_events (new_events en57.event_with_tags[], append_condition jsonb DEFAULT '{}'::jsonb) +CREATE FUNCTION en57.append_events (new_events en57.event[], append_condition jsonb DEFAULT '{}'::jsonb) RETURNS void LANGUAGE plpgsql AS $$ diff --git a/lib/en57/repository.rb b/lib/en57/repository.rb index f1c888f..0fde7f8 100644 --- a/lib/en57/repository.rb +++ b/lib/en57/repository.rb @@ -34,7 +34,7 @@ module En57 @adapter.with_serializable_transaction do |connection| connection.exec_params( - "SELECT en57.append_events($1::en57.event_with_tags[], $2::jsonb)", + "SELECT en57.append_events($1::en57.event[], $2::jsonb)", [ @array_encoder.encode(event_records), JSON.generate(append_condition), diff --git a/test/pg_regress/expected/001_schema.out b/test/pg_regress/expected/001_schema.out index 64f8244..dea0716 100644 --- a/test/pg_regress/expected/001_schema.out +++ b/test/pg_regress/expected/001_schema.out @@ -18,7 +18,7 @@ CREATE INDEX events_type_idx ON en57.events (type); CREATE INDEX tags_value_event_id_idx ON en57.tags (value, event_id); -CREATE TYPE en57.event_with_tags AS ( +CREATE TYPE en57.event AS ( id uuid, type text, data jsonb, @@ -26,7 +26,7 @@ CREATE TYPE en57.event_with_tags AS ( tags text[] ); -CREATE FUNCTION en57.append_events (new_events en57.event_with_tags[], append_condition jsonb DEFAULT '{}'::jsonb) +CREATE FUNCTION en57.append_events (new_events en57.event[], append_condition jsonb DEFAULT '{}'::jsonb) RETURNS void LANGUAGE plpgsql AS $$ diff --git a/test/test_repository.rb b/test/test_repository.rb index bca2f3f..691de31 100644 --- a/test/test_repository.rb +++ b/test/test_repository.rb @@ -36,7 +36,7 @@ module En57 :exec_params, nil, [ - "SELECT en57.append_events($1::en57.event_with_tags[], $2::jsonb)", + "SELECT en57.append_events($1::en57.event[], $2::jsonb)", [expected_events, "{}"], ], ) @@ -77,7 +77,7 @@ module En57 :exec_params, nil, [ - "SELECT en57.append_events($1::en57.event_with_tags[], $2::jsonb)", + "SELECT en57.append_events($1::en57.event[], $2::jsonb)", [expected_events, "{}"], ], ) @@ -97,7 +97,7 @@ module En57 :exec_params, nil, [ - "SELECT en57.append_events($1::en57.event_with_tags[], $2::jsonb)", + "SELECT en57.append_events($1::en57.event[], $2::jsonb)", [ array_encoder.encode([]), '{"fail_if_events_match":[{"types":["OrderPlaced"],"after":42}]}', @@ -128,7 +128,7 @@ module En57 connection.expect(:exec, nil, ["ROLLBACK"]) connection.expect(:exec_params, nil) do |sql, params| assert_equal( - "SELECT en57.append_events($1::en57.event_with_tags[], $2::jsonb)", + "SELECT en57.append_events($1::en57.event[], $2::jsonb)", sql, ) assert_equal([array_encoder.encode([]), "{}"], params)