Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Postgres/src/test/regress/expected/   (Postgres Database Version 18.4©)  Datei vom 11.4.2026 mit Größe 2 kB image not shown  

Quelle  compression_pglz.out   Sprache: unbekannt

 
Spracherkennung für: .out vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

--
-- Tests for PGLZ compression
--
-- directory paths and dlsuffix are passed to us in environment variables
\getenv libdir PG_LIBDIR
\getenv dlsuffix PG_DLSUFFIX
\set regresslib :libdir '/regress' :dlsuffix
CREATE FUNCTION test_pglz_compress(bytea)
  RETURNS bytea
  AS :'regresslib' LANGUAGE C STRICT;
CREATE FUNCTION test_pglz_decompress(bytea, int4, bool)
  RETURNS bytea
  AS :'regresslib' LANGUAGE C STRICT;
-- Round-trip with pglz: compress then decompress.
SELECT test_pglz_decompress(test_pglz_compress(
    decode(repeat('abcd', 100), 'escape')), 400, false) =
    decode(repeat('abcd', 100), 'escape') AS roundtrip_ok;
 roundtrip_ok 
--------------
 t
(1 row)

SELECT test_pglz_decompress(test_pglz_compress(
    decode(repeat('abcd', 100), 'escape')), 400, true) =
    decode(repeat('abcd', 100), 'escape') AS roundtrip_ok;
 roundtrip_ok 
--------------
 t
(1 row)

-- Decompression with rawsize too large, fails to fill the destination
-- buffer.
SELECT test_pglz_decompress(test_pglz_compress(
    decode(repeat('abcd', 100), 'escape')), 500, true);
ERROR:  pglz_decompress failed
-- Decompression with rawsize too small, fails with source not fully
-- consumed.
SELECT test_pglz_decompress(test_pglz_compress(
    decode(repeat('abcd', 100), 'escape')), 100, true);
ERROR:  pglz_decompress failed
-- Corrupted compressed data.  Set control bit with read of a match tag,
-- no data follows.
SELECT length(test_pglz_decompress('\x01'::bytea, 1024, false)) AS ctrl_only_len;
 ctrl_only_len 
---------------
             0
(1 row)

SELECT test_pglz_decompress('\x01'::bytea, 1024, true);
ERROR:  pglz_decompress failed
-- Corrupted compressed data.  Set control bit with read of a match tag,
-- 1 byte follows.
SELECT test_pglz_decompress('\x01ff'::bytea, 1024, false);
ERROR:  pglz_decompress failed
SELECT test_pglz_decompress('\x01ff'::bytea, 1024, true);
ERROR:  pglz_decompress failed
-- Corrupted compressed data.  Set control bit with match tag where length
-- nibble is 3 bytes (extended length), no data follows.
SELECT test_pglz_decompress('\x010f01'::bytea, 1024, false);
ERROR:  pglz_decompress failed
SELECT test_pglz_decompress('\x010f01'::bytea, 1024, true);
ERROR:  pglz_decompress failed
-- Clean up
DROP FUNCTION test_pglz_compress;
DROP FUNCTION test_pglz_decompress;

[Dauer der Verarbeitung: 0.15 Sekunden, vorverarbeitet 2026-08-10]