Sha256: 7ba1b1a9868a4181e92bc270ec0ed89f74694b42fc89af982ec03d7507c52bff

Contents?: true

Size: 917 Bytes

Versions: 25

Compression:

Stored size: 917 Bytes

Contents

CREATE OR REPLACE FUNCTION get_category_messages(
  _category_name varchar,
  _position bigint DEFAULT 0,
  _batch_size bigint DEFAULT 1000,
  _condition varchar DEFAULT NULL
)
RETURNS SETOF message
AS $$
DECLARE
  command text;
BEGIN
  command := '
    SELECT
      id::varchar,
      stream_name::varchar,
      type::varchar,
      position::bigint,
      global_position::bigint,
      data::varchar,
      metadata::varchar,
      time::timestamp
    FROM
      messages
    WHERE
      category(stream_name) = $1 AND
      global_position >= $2';

  if _condition is not null then
    command := command || ' AND
      %s';
    command := format(command, _condition);
  end if;

  command := command || '
    ORDER BY
      global_position ASC
    LIMIT
      $3';

  -- RAISE NOTICE '%', command;

  RETURN QUERY EXECUTE command USING _category_name, _position, _batch_size;
END;
$$ LANGUAGE plpgsql
VOLATILE;

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
evt-message_store-postgres-database-1.1.0.2 database/functions/get-category-messages.sql
evt-message_store-postgres-database-1.1.0.1 database/functions/get-category-messages.sql
evt-message_store-postgres-database-1.1.0.0 database/functions/get-category-messages.sql
evt-message_store-postgres-database-1.0.0.0 database/functions/get-category-messages.sql
evt-message_store-postgres-database-0.11.0.0 database/functions/get-category-messages.sql
evt-message_store-postgres-database-0.10.1.3 database/functions/get-category-messages.sql
evt-message_store-postgres-database-0.10.1.2 database/functions/get-category-messages.sql
evt-message_store-postgres-database-0.10.1.1 database/functions/get-category-messages.sql
evt-message_store-postgres-database-0.10.1.0 database/functions/get-category-messages.sql
evt-message_store-postgres-database-0.10.0.1 database/functions/get-category-messages.sql
evt-message_store-postgres-database-0.10.0.0 database/functions/get-category-messages.sql
evt-message_store-postgres-database-0.9.0.1 database/functions/get-category-messages.sql
evt-message_store-postgres-database-0.9.0.0 database/functions/get-category-messages.sql
evt-message_store-postgres-database-0.8.0.0 database/functions/get-category-messages.sql
evt-message_store-postgres-database-0.7.1.1 database/functions/get-category-messages.sql
evt-message_store-postgres-database-0.7.1.0 database/functions/get-category-messages.sql
evt-message_store-postgres-database-0.7.0.0 database/functions/get-category-messages.sql
evt-message_store-postgres-database-0.6.0.0 database/functions/get-category-messages.sql
evt-message_store-postgres-database-0.5.0.0 database/functions/get-category-messages.sql
evt-message_store-postgres-database-0.4.1.0 database/functions/get-category-messages.sql