CREATE OR REPLACE FUNCTION logidze_version(v bigint, data jsonb, ts timestamp with time zone) RETURNS jsonb AS $body$

-- version: 2
DECLARE
  buf jsonb;
BEGIN
  data = data - 'log_data';
  buf := jsonb_build_object(
            'ts',
            (extract(epoch from ts) * 1000)::bigint,
            'v',
            v,
            'c',
            data
            );
  IF coalesce(current_setting('logidze.meta', true), '') <> '' THEN
    buf := jsonb_insert(buf, '{m}', current_setting('logidze.meta')::jsonb);
  END IF;
  RETURN buf;
END;

$body$ LANGUAGE plpgsql;