1%%% @doc 2%%% Codec for `bool'. 3%%% `unknown' is represented by `null'. 4%%% https://www.postgresql.org/docs/current/static/datatype-boolean.html 5%%% $PG$/src/backend/utils/adt/bool.c 6%%% @end 7%%% Created : 12 Oct 2017 by Sergey Prokhorov <me@seriyps.ru> 8 9-module(epgsql_codec_boolean). 10-behaviour(epgsql_codec). 11 12-export([init/2, names/0, encode/3, decode/3, decode_text/3]). 13 14-export_type([data/0]). 15 16-type data() :: boolean(). 17 18init(_, _) -> []. 19 20names() -> 21 [bool]. 22 23encode(true, bool, _) -> 24 <<1:1/big-signed-unit:8>>; 25encode(false, bool, _) -> 26 <<0:1/big-signed-unit:8>>. 27 28decode(<<1:1/big-signed-unit:8>>, bool, _) -> true; 29decode(<<0:1/big-signed-unit:8>>, bool, _) -> false. 30 31decode_text(V, _, _) -> V. 32