Skip to content

Commit

Permalink
Address review comments.
Browse files Browse the repository at this point in the history
  • Loading branch information
shubhamdhama committed Nov 17, 2022
1 parent 94254f8 commit cc73952
Show file tree
Hide file tree
Showing 3 changed files with 116 additions and 15 deletions.
93 changes: 92 additions & 1 deletion expected/numeric_data_types_as_string.out
Expand Up @@ -104,7 +104,80 @@ SELECT data FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, 'fo
}
(1 row)

SELECT data FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, 'format-version', '2', 'pretty-print', '1', 'numeric-data-types-as-string', '1');
SELECT data FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, 'format-version', '1', 'pretty-print', '1');
data
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
{ +
"change": [ +
{ +
"kind": "insert", +
"schema": "public", +
"table": "table_integer", +
"columnnames": ["a", "b", "c", "d"], +
"columntypes": ["smallint", "smallint", "integer", "bigint"], +
"columnvalues": [1, 32767, 2147483647, 9223372036854775807] +
} +
,{ +
"kind": "insert", +
"schema": "public", +
"table": "table_integer", +
"columnnames": ["a", "b", "c", "d"], +
"columntypes": ["smallint", "smallint", "integer", "bigint"], +
"columnvalues": [2, -32768, -2147483648, -9223372036854775808] +
} +
,{ +
"kind": "insert", +
"schema": "public", +
"table": "table_decimal", +
"columnnames": ["a", "b", "c"], +
"columntypes": ["real", "double precision", "numeric"], +
"columnvalues": [null, null, null] +
} +
,{ +
"kind": "insert", +
"schema": "public", +
"table": "table_decimal", +
"columnnames": ["a", "b", "c"], +
"columntypes": ["real", "double precision", "numeric"], +
"columnvalues": [null, null, null] +
} +
,{ +
"kind": "insert", +
"schema": "public", +
"table": "table_decimal", +
"columnnames": ["a", "b", "c"], +
"columntypes": ["real", "double precision", "numeric"], +
"columnvalues": [null, null, null] +
} +
,{ +
"kind": "insert", +
"schema": "public", +
"table": "table_decimal", +
"columnnames": ["a", "b", "c"], +
"columntypes": ["real", "double precision", "numeric"], +
"columnvalues": [123.456, 123456789.012345, 1234567890987654321.1234567890987654321] +
} +
,{ +
"kind": "insert", +
"schema": "public", +
"table": "table_decimal", +
"columnnames": ["a", "b", "c"], +
"columntypes": ["real", "double precision", "numeric"], +
"columnvalues": [-123.456, -123456789.012345, -1234567890987654321.1234567890987654321] +
} +
,{ +
"kind": "insert", +
"schema": "public", +
"table": "table_others", +
"columnnames": ["a", "b", "c", "d", "e", "f", "g", "h", "i"], +
"columntypes": ["character(10)", "character varying(30)", "text", "bit varying(20)", "timestamp without time zone", "date", "boolean", "json", "tsvector"], +
"columnvalues": ["teste ", "testando", "um texto longo", "001110010101010", "Sat Nov 02 17:30:52 2013", "02-04-2013", true, "{ \"a\": 123 }", "'Old' 'Parr'"]+
} +
] +
}
(1 row)

SELECT data FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, 'format-version', '2', 'numeric-data-types-as-string', '1');
data
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
{"action":"B"}
Expand All @@ -119,9 +192,27 @@ SELECT data FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, 'fo
{"action":"C"}
(10 rows)

SELECT data FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, 'format-version', '2');
data
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
{"action":"B"}
{"action":"I","schema":"public","table":"table_integer","columns":[{"name":"a","type":"smallint","value":1},{"name":"b","type":"smallint","value":32767},{"name":"c","type":"integer","value":2147483647},{"name":"d","type":"bigint","value":9223372036854775807}]}
{"action":"I","schema":"public","table":"table_integer","columns":[{"name":"a","type":"smallint","value":2},{"name":"b","type":"smallint","value":-32768},{"name":"c","type":"integer","value":-2147483648},{"name":"d","type":"bigint","value":-9223372036854775808}]}
{"action":"I","schema":"public","table":"table_decimal","columns":[{"name":"a","type":"real","value":null},{"name":"b","type":"double precision","value":null},{"name":"c","type":"numeric","value":null}]}
{"action":"I","schema":"public","table":"table_decimal","columns":[{"name":"a","type":"real","value":null},{"name":"b","type":"double precision","value":null},{"name":"c","type":"numeric","value":null}]}
{"action":"I","schema":"public","table":"table_decimal","columns":[{"name":"a","type":"real","value":null},{"name":"b","type":"double precision","value":null},{"name":"c","type":"numeric","value":null}]}
{"action":"I","schema":"public","table":"table_decimal","columns":[{"name":"a","type":"real","value":123.456},{"name":"b","type":"double precision","value":123456789.012345},{"name":"c","type":"numeric","value":1234567890987654321.1234567890987654321}]}
{"action":"I","schema":"public","table":"table_decimal","columns":[{"name":"a","type":"real","value":-123.456},{"name":"b","type":"double precision","value":-123456789.012345},{"name":"c","type":"numeric","value":-1234567890987654321.1234567890987654321}]}
{"action":"I","schema":"public","table":"table_others","columns":[{"name":"a","type":"character(10)","value":"teste "},{"name":"b","type":"character varying(30)","value":"testando"},{"name":"c","type":"text","value":"um texto longo"},{"name":"d","type":"bit varying(20)","value":"001110010101010"},{"name":"e","type":"timestamp without time zone","value":"Sat Nov 02 17:30:52 2013"},{"name":"f","type":"date","value":"02-04-2013"},{"name":"g","type":"boolean","value":true},{"name":"h","type":"json","value":"{ \"a\": 123 }"},{"name":"i","type":"tsvector","value":"'Old' 'Parr'"}]}
{"action":"C"}
(10 rows)

SELECT 'stop' FROM pg_drop_replication_slot('regression_slot');
?column?
----------
stop
(1 row)

DROP TABLE table_integer;
DROP TABLE table_decimal;
DROP TABLE table_others;
8 changes: 7 additions & 1 deletion sql/numeric_data_types_as_string.sql
Expand Up @@ -36,6 +36,12 @@ INSERT INTO table_others (a, b, c, d, e, f, g, h, i) VALUES('teste', 'testando',
COMMIT;

SELECT data FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, 'format-version', '1', 'pretty-print', '1', 'numeric-data-types-as-string', '1');
SELECT data FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, 'format-version', '2', 'pretty-print', '1', 'numeric-data-types-as-string', '1');
SELECT data FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, 'format-version', '1', 'pretty-print', '1');
SELECT data FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, 'format-version', '2', 'numeric-data-types-as-string', '1');
SELECT data FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, 'format-version', '2');

SELECT 'stop' FROM pg_drop_replication_slot('regression_slot');

DROP TABLE table_integer;
DROP TABLE table_decimal;
DROP TABLE table_others;

0 comments on commit cc73952

Please sign in to comment.