Packages

Decode / encode Postgres replication messages

Current section

Files

Jump to
postgrex_pgoutput lib postgrex extensions text_int4.ex
Raw

lib/postgrex/extensions/text_int4.ex

defmodule Postgrex.Extensions.Int4Text do
@behaviour Postgrex.Extension
def init([]), do: {}
def matching({}), do: [send: "int4send"]
def format(_), do: :text
def encode(_) do
quote do
value ->
value = to_string(value)
[<<byte_size(value)::int32()>> | value]
end
end
def decode(_) do
quote do
<<len::int32(), binary::binary-size(len)>> ->
{int, _} = Integer.parse(binary)
int
end
end
end