716 lines
17 KiB
SQL
716 lines
17 KiB
SQL
create extension gms_compress;
|
|
create schema gms_compress_test;
|
|
set search_path=gms_compress_test;
|
|
|
|
-- test gms_compress.compress
|
|
select gms_compress.lz_compress('123'::raw);
|
|
select gms_compress.lz_compress('df'::raw);
|
|
select gms_compress.lz_compress('12ab56'::raw);
|
|
select gms_compress.lz_compress('123'::raw, 1);
|
|
select gms_compress.lz_compress('df'::raw, 6);
|
|
select gms_compress.lz_compress('12ab56'::raw, 9);
|
|
select gms_compress.lz_compress('123'::blob);
|
|
select gms_compress.lz_compress('df'::blob);
|
|
select gms_compress.lz_compress('12ab56'::blob);
|
|
select gms_compress.lz_compress('123'::blob, 1);
|
|
select gms_compress.lz_compress('df'::blob, 6);
|
|
select gms_compress.lz_compress('12ab56'::blob, 9);
|
|
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
r_content BLOB;
|
|
v_handle int;
|
|
v_raw raw;
|
|
r_raw raw;
|
|
v_bool boolean;
|
|
BEGIN
|
|
content := '123';
|
|
v_raw := '12345';
|
|
r_content := GMS_COMPRESS.LZ_COMPRESS(content);
|
|
r_raw := GMS_COMPRESS.LZ_COMPRESS(v_raw);
|
|
RAISE NOTICE 'r_content=%,r_raw=%', r_content, r_raw;
|
|
r_content := '111';
|
|
GMS_COMPRESS.LZ_COMPRESS(content, r_content);
|
|
RAISE NOTICE 'r_content=%', r_content;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
r_content BLOB;
|
|
v_handle int;
|
|
v_raw raw;
|
|
r_raw raw;
|
|
v_bool boolean;
|
|
BEGIN
|
|
content := 'abc';
|
|
v_raw := 'df';
|
|
r_content := GMS_COMPRESS.LZ_COMPRESS(content, 1);
|
|
r_raw := GMS_COMPRESS.LZ_COMPRESS(v_raw, 9);
|
|
RAISE NOTICE 'r_content=%,r_raw=%', r_content, r_raw;
|
|
r_content := '111';
|
|
GMS_COMPRESS.LZ_COMPRESS(content, r_content, 5);
|
|
RAISE NOTICE 'r_content=%', r_content;
|
|
END;
|
|
/
|
|
|
|
-- abnormal scenario
|
|
select gms_compress.lz_compress(null::raw);
|
|
select gms_compress.lz_compress(''::raw);
|
|
select gms_compress.lz_compress('dfg'::raw);
|
|
select gms_compress.lz_compress('dfg'::raw, 5);
|
|
select gms_compress.lz_compress('123'::raw, 0);
|
|
select gms_compress.lz_compress('123'::raw, 10);
|
|
select gms_compress.lz_compress(null::blob);
|
|
select gms_compress.lz_compress(''::blob);
|
|
select gms_compress.lz_compress('dfg'::blob);
|
|
select gms_compress.lz_compress('dfg'::blob, 5);
|
|
select gms_compress.lz_compress('123'::blob, 0);
|
|
select gms_compress.lz_compress('123'::blob, 10);
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
r_content BLOB;
|
|
v_raw raw;
|
|
r_raw raw;
|
|
BEGIN
|
|
content := '';
|
|
v_raw := 'dfg';
|
|
r_content := GMS_COMPRESS.LZ_COMPRESS(content);
|
|
r_raw := GMS_COMPRESS.LZ_COMPRESS(v_raw);
|
|
RAISE NOTICE 'r_content=%,r_raw=%', r_content, r_raw;
|
|
r_content := '111';
|
|
GMS_COMPRESS.LZ_COMPRESS(content, r_content);
|
|
RAISE NOTICE 'r_content=%', r_content;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
r_content BLOB;
|
|
v_raw raw;
|
|
r_raw raw;
|
|
BEGIN
|
|
content := 'abc';
|
|
v_raw := 'df';
|
|
r_content := GMS_COMPRESS.LZ_COMPRESS(content, 0);
|
|
r_raw := GMS_COMPRESS.LZ_COMPRESS(v_raw, 10);
|
|
RAISE NOTICE 'r_content=%,r_raw=%', r_content, r_raw;
|
|
r_content := '111';
|
|
GMS_COMPRESS.LZ_COMPRESS(content, r_content, -1);
|
|
RAISE NOTICE 'r_content=%', r_content;
|
|
END;
|
|
/
|
|
|
|
-- test gms_compress.lz_uncompress
|
|
select gms_compress.lz_uncompress(gms_compress.lz_compress('123'::raw));
|
|
select gms_compress.lz_uncompress(gms_compress.lz_compress('df'::raw));
|
|
select gms_compress.lz_uncompress(gms_compress.lz_compress('12ab56'::raw));
|
|
select gms_compress.lz_uncompress(gms_compress.lz_compress('123'::raw, 1));
|
|
select gms_compress.lz_uncompress(gms_compress.lz_compress('df'::raw, 6));
|
|
select gms_compress.lz_uncompress(gms_compress.lz_compress('12ab56'::raw, 9));
|
|
select gms_compress.lz_uncompress(gms_compress.lz_compress('123'::blob));
|
|
select gms_compress.lz_uncompress(gms_compress.lz_compress('df'::blob));
|
|
select gms_compress.lz_uncompress(gms_compress.lz_compress('12ab56'::blob));
|
|
select gms_compress.lz_uncompress(gms_compress.lz_compress('123'::blob, 1));
|
|
select gms_compress.lz_uncompress(gms_compress.lz_compress('df'::blob, 6));
|
|
select gms_compress.lz_uncompress(gms_compress.lz_compress('12ab56'::blob, 9));
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
r_content BLOB;
|
|
v_content BLOB;
|
|
v_bool boolean;
|
|
BEGIN
|
|
content := '123';
|
|
v_content := '123';
|
|
r_content := GMS_COMPRESS.LZ_COMPRESS(content);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS(r_content, v_content);
|
|
RAISE NOTICE 'content=%,r_content=%,v_content=%', content, r_content, v_content;
|
|
END;
|
|
/
|
|
|
|
-- abnormal scenario
|
|
select gms_compress.lz_uncompress(null::raw);
|
|
select gms_compress.lz_uncompress(''::raw);
|
|
select gms_compress.lz_uncompress('dfg'::raw);
|
|
select gms_compress.lz_uncompress('123'::raw);
|
|
select gms_compress.lz_uncompress(null::blob);
|
|
select gms_compress.lz_uncompress(''::blob);
|
|
select gms_compress.lz_uncompress('dfg'::blob);
|
|
select gms_compress.lz_uncompress('123'::blob);
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
r_content BLOB;
|
|
v_content BLOB;
|
|
v_bool boolean;
|
|
BEGIN
|
|
r_content := NULL;
|
|
v_content := '123';
|
|
GMS_COMPRESS.LZ_UNCOMPRESS(r_content, v_content);
|
|
RAISE NOTICE 'content=%,r_content=%,v_content=%', content, r_content, v_content;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
r_content BLOB;
|
|
v_content BLOB;
|
|
v_bool boolean;
|
|
BEGIN
|
|
r_content := '123';
|
|
v_content := '123';
|
|
GMS_COMPRESS.LZ_UNCOMPRESS(r_content, v_content);
|
|
RAISE NOTICE 'content=%,r_content=%,v_content=%', content, r_content, v_content;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
r_content BLOB;
|
|
v_content BLOB;
|
|
v_bool boolean;
|
|
BEGIN
|
|
content := '123';
|
|
r_content := GMS_COMPRESS.LZ_COMPRESS(content);
|
|
v_content := NULL;
|
|
GMS_COMPRESS.LZ_UNCOMPRESS(r_content, v_content);
|
|
RAISE NOTICE 'content=%,r_content=%,v_content=%', content, r_content, v_content;
|
|
END;
|
|
/
|
|
|
|
-- test gms_compress.lz_compress_open and ms_compress.lz_compress_close
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
BEGIN
|
|
content := '123';
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(v_handle,content);
|
|
RAISE NOTICE 'content=%', content;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
BEGIN
|
|
content := '123';
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content,5);
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(v_handle,content);
|
|
RAISE NOTICE 'content=%', content;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
BEGIN
|
|
content := '123';
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(1,content);
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(2,content);
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(3,content);
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(4,content);
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(5,content);
|
|
END;
|
|
/
|
|
|
|
-- abnormal scenario
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
BEGIN
|
|
content := '';
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(v_handle,content);
|
|
RAISE NOTICE 'content=%', content;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
BEGIN
|
|
content := '123';
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content, 0);
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(v_handle,content);
|
|
RAISE NOTICE 'content=%', content;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
BEGIN
|
|
content := '123';
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(0,content);
|
|
RAISE NOTICE 'content=%', content;
|
|
END;
|
|
/
|
|
DECLARE
|
|
content BLOB;
|
|
BEGIN
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(1,content);
|
|
RAISE NOTICE 'content=%', content;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
BEGIN
|
|
content := '123';
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(v_handle+1,content);
|
|
RAISE NOTICE 'content=%', content;
|
|
END;
|
|
/
|
|
DECLARE
|
|
content BLOB;
|
|
BEGIN
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(1,content);
|
|
RAISE NOTICE 'content=%', content;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
BEGIN
|
|
content := '123';
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
RAISE NOTICE 'content=%', content;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
BEGIN
|
|
content := '123';
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(1,content);
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(2,content);
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(3,content);
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(4,content);
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(5,content);
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(1,content);
|
|
RAISE NOTICE 'content=%', content;
|
|
END;
|
|
/
|
|
|
|
|
|
-- test gms_compress.lz_compress_add
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
src raw;
|
|
BEGIN
|
|
content := '123';
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
src := '123';
|
|
GMS_COMPRESS.LZ_COMPRESS_ADD(v_handle,content,src);
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(v_handle,content);
|
|
RAISE NOTICE 'content=%', content;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
src raw;
|
|
BEGIN
|
|
content := '123';
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
src := '123';
|
|
GMS_COMPRESS.LZ_COMPRESS_ADD(v_handle,content,src);
|
|
GMS_COMPRESS.LZ_COMPRESS_ADD(v_handle,content,src);
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(v_handle,content);
|
|
RAISE NOTICE 'content=%', content;
|
|
END;
|
|
/
|
|
|
|
-- abnormal scenario
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
src raw;
|
|
BEGIN
|
|
content := '123';
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
src := '123';
|
|
GMS_COMPRESS.LZ_COMPRESS_ADD(v_handle,content,NULL);
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(v_handle,content);
|
|
RAISE NOTICE 'content=%', content;
|
|
END;
|
|
/
|
|
DECLARE
|
|
content BLOB;
|
|
BEGIN
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(1,content);
|
|
RAISE NOTICE 'content=%', content;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
src raw;
|
|
BEGIN
|
|
content := '123';
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
src := '123';
|
|
GMS_COMPRESS.LZ_COMPRESS_ADD(0,content,src);
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(v_handle,content);
|
|
RAISE NOTICE 'content=%', content;
|
|
END;
|
|
/
|
|
DECLARE
|
|
content BLOB;
|
|
BEGIN
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(1,content);
|
|
RAISE NOTICE 'content=%', content;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
src raw;
|
|
BEGIN
|
|
content := '123';
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
src := '123';
|
|
GMS_COMPRESS.LZ_COMPRESS_ADD(v_handle+1,content,src);
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(v_handle,content);
|
|
RAISE NOTICE 'content=%', content;
|
|
END;
|
|
/
|
|
DECLARE
|
|
content BLOB;
|
|
BEGIN
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(1,content);
|
|
RAISE NOTICE 'content=%', content;
|
|
END;
|
|
/
|
|
|
|
-- test gms_compress.lz_uncompress_open and ms_compress.lz_uncompress_close
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
BEGIN
|
|
content := '123';
|
|
content := GMS_COMPRESS.LZ_COMPRESS(content);
|
|
v_handle := GMS_COMPRESS.LZ_UNCOMPRESS_OPEN(content);
|
|
RAISE NOTICE 'v_handle=%', v_handle;
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(v_handle);
|
|
RAISE NOTICE 'content=%', content;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
BEGIN
|
|
content := '123';
|
|
content := GMS_COMPRESS.LZ_COMPRESS(content);
|
|
v_handle := GMS_COMPRESS.LZ_UNCOMPRESS_OPEN(content);
|
|
RAISE NOTICE 'v_handle=%', v_handle;
|
|
v_handle := GMS_COMPRESS.LZ_UNCOMPRESS_OPEN(content);
|
|
RAISE NOTICE 'v_handle=%', v_handle;
|
|
v_handle := GMS_COMPRESS.LZ_UNCOMPRESS_OPEN(content);
|
|
RAISE NOTICE 'v_handle=%', v_handle;
|
|
v_handle := GMS_COMPRESS.LZ_UNCOMPRESS_OPEN(content);
|
|
RAISE NOTICE 'v_handle=%', v_handle;
|
|
v_handle := GMS_COMPRESS.LZ_UNCOMPRESS_OPEN(content);
|
|
RAISE NOTICE 'v_handle=%', v_handle;
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(1);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(2);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(3);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(4);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(5);
|
|
END;
|
|
/
|
|
|
|
-- abnormal scenario
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
BEGIN
|
|
content := '';
|
|
v_handle := GMS_COMPRESS.LZ_UNCOMPRESS_OPEN(content);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(v_handle);
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
BEGIN
|
|
content := '123';
|
|
v_handle := GMS_COMPRESS.LZ_UNCOMPRESS_OPEN(content);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(v_handle);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(v_handle);
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
BEGIN
|
|
content := '123';
|
|
v_handle := GMS_COMPRESS.LZ_UNCOMPRESS_OPEN(content);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(v_handle);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(0);
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
BEGIN
|
|
content := '123';
|
|
v_handle := GMS_COMPRESS.LZ_UNCOMPRESS_OPEN(content);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(v_handle);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(2);
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
BEGIN
|
|
content := '123';
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(v_handle);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(2);
|
|
END;
|
|
/
|
|
DECLARE
|
|
content BLOB;
|
|
BEGIN
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(1, content);
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
BEGIN
|
|
content := '123';
|
|
content := GMS_COMPRESS.LZ_COMPRESS(content);
|
|
v_handle := GMS_COMPRESS.LZ_UNCOMPRESS_OPEN(content);
|
|
RAISE NOTICE 'v_handle=%', v_handle;
|
|
v_handle := GMS_COMPRESS.LZ_UNCOMPRESS_OPEN(content);
|
|
RAISE NOTICE 'v_handle=%', v_handle;
|
|
v_handle := GMS_COMPRESS.LZ_UNCOMPRESS_OPEN(content);
|
|
RAISE NOTICE 'v_handle=%', v_handle;
|
|
v_handle := GMS_COMPRESS.LZ_UNCOMPRESS_OPEN(content);
|
|
RAISE NOTICE 'v_handle=%', v_handle;
|
|
v_handle := GMS_COMPRESS.LZ_UNCOMPRESS_OPEN(content);
|
|
RAISE NOTICE 'v_handle=%', v_handle;
|
|
v_handle := GMS_COMPRESS.LZ_UNCOMPRESS_OPEN(content);
|
|
RAISE NOTICE 'v_handle=%', v_handle;
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(1);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(2);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(3);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(4);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(5);
|
|
END;
|
|
/
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
BEGIN
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(1);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(2);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(3);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(4);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(5);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(6);
|
|
END;
|
|
/
|
|
|
|
-- test gms_compress.lz_uncompress_extract
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
v_raw raw;
|
|
BEGIN
|
|
content := '123';
|
|
content := GMS_COMPRESS.LZ_COMPRESS(content);
|
|
v_handle := GMS_COMPRESS.LZ_UNCOMPRESS_OPEN(content);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_EXTRACT(v_handle, v_raw);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(v_handle);
|
|
RAISE NOTICE 'content=%', content;
|
|
RAISE NOTICE 'v_raw=%', v_raw;
|
|
END;
|
|
/
|
|
|
|
-- abnormal scenario
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
v_raw raw;
|
|
BEGIN
|
|
content := '123';
|
|
content := GMS_COMPRESS.LZ_COMPRESS(content);
|
|
v_handle := GMS_COMPRESS.LZ_UNCOMPRESS_OPEN(content);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_EXTRACT(0, v_raw);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(v_handle);
|
|
RAISE NOTICE 'content=%', content;
|
|
RAISE NOTICE 'v_raw=%', v_raw;
|
|
END;
|
|
/
|
|
DECLARE
|
|
content BLOB;
|
|
BEGIN
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(1);
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
v_raw raw;
|
|
BEGIN
|
|
content := '123';
|
|
content := GMS_COMPRESS.LZ_COMPRESS(content);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_EXTRACT(1, v_raw);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(v_handle);
|
|
RAISE NOTICE 'content=%', content;
|
|
RAISE NOTICE 'v_raw=%', v_raw;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
v_raw raw;
|
|
BEGIN
|
|
content := '123';
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_EXTRACT(v_handle, v_raw);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(v_handle);
|
|
RAISE NOTICE 'content=%', content;
|
|
RAISE NOTICE 'v_raw=%', v_raw;
|
|
END;
|
|
/
|
|
DECLARE
|
|
content BLOB;
|
|
BEGIN
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(1);
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
v_raw raw;
|
|
BEGIN
|
|
content := '123';
|
|
content := GMS_COMPRESS.LZ_COMPRESS(content);
|
|
v_handle := GMS_COMPRESS.LZ_UNCOMPRESS_OPEN(content);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_EXTRACT(v_handle, v_raw);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_EXTRACT(v_handle, v_raw);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(v_handle);
|
|
RAISE NOTICE 'content=%', content;
|
|
RAISE NOTICE 'v_raw=%', v_raw;
|
|
END;
|
|
/
|
|
DECLARE
|
|
content BLOB;
|
|
BEGIN
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(1);
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
v_raw raw;
|
|
BEGIN
|
|
content := '123';
|
|
v_handle := GMS_COMPRESS.LZ_UNCOMPRESS_OPEN(content);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_EXTRACT(v_handle, v_raw);
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(v_handle);
|
|
RAISE NOTICE 'content=%', content;
|
|
RAISE NOTICE 'v_raw=%', v_raw;
|
|
END;
|
|
/
|
|
DECLARE
|
|
content BLOB;
|
|
BEGIN
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(1);
|
|
END;
|
|
/
|
|
|
|
-- test gms_compress.lz_isopen
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
v_bool boolean;
|
|
BEGIN
|
|
content := '123';
|
|
v_bool := false;
|
|
v_handle := GMS_COMPRESS.LZ_COMPRESS_OPEN(content);
|
|
v_bool := GMS_COMPRESS.ISOPEN(v_handle);
|
|
RAISE NOTICE 'v_bool=%', v_bool;
|
|
GMS_COMPRESS.LZ_COMPRESS_CLOSE(v_handle,content);
|
|
v_bool := GMS_COMPRESS.ISOPEN(v_handle);
|
|
RAISE NOTICE 'v_bool=%', v_bool;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
content BLOB;
|
|
v_handle int;
|
|
v_bool boolean;
|
|
BEGIN
|
|
content := '123';
|
|
v_bool := false;
|
|
content := GMS_COMPRESS.LZ_COMPRESS(content);
|
|
v_handle := GMS_COMPRESS.LZ_UNCOMPRESS_OPEN(content);
|
|
v_bool := GMS_COMPRESS.ISOPEN(v_handle);
|
|
RAISE NOTICE 'v_bool=%', v_bool;
|
|
GMS_COMPRESS.LZ_UNCOMPRESS_CLOSE(v_handle);
|
|
v_bool := GMS_COMPRESS.ISOPEN(v_handle);
|
|
RAISE NOTICE 'v_bool=%', v_bool;
|
|
END;
|
|
/
|
|
|
|
-- abnormal scenario
|
|
DECLARE
|
|
v_bool boolean;
|
|
BEGIN
|
|
v_bool := true;
|
|
v_bool := GMS_COMPRESS.ISOPEN(0);
|
|
RAISE NOTICE 'v_bool=%', v_bool;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
v_bool boolean;
|
|
BEGIN
|
|
v_bool := true;
|
|
v_bool := GMS_COMPRESS.ISOPEN(1);
|
|
RAISE NOTICE 'v_bool=%', v_bool;
|
|
END;
|
|
/
|
|
|
|
|
|
reset search_path;
|
|
drop schema gms_compress_test cascade;
|