Name

string_output_gz_compress — compress a string_output with gzip algorithm

Synopsis

string_output_gz_compress ( in str_out_in string_session ,
  out str_out_out string_session );
 

Description

The string_output_gz_compress compresses its string_output argument using the gzip algorithm and writes the result to another string_output given as an argument. When successful, the number of bytes written to str_out_out is returned.

Parameters

str_out_in

A string session as returned by string_output function.

str_out_out

A string session as returned by string_output function.

Return Types

INTEGER number of bytes written to str_out_out

Examples

Example 24.409. GZIP test

Test if the gzip implementation works.

create procedure
gz_test_1 (in fname varchar)
{
  declare dta, dta_2, res any;
  declare len integer;

  res := string_output ();
  dta_2 := string_output ();
  dta := file_to_string_output (fname);

  result_names (len);

  -- send length of input to client

  result (length (dta));

  -- compress and return compressed size.

  result (string_output_gz_compress (dta, res));
  gz_uncompress (string_output_string (res), dta_2);

  if (md5 (dta) <> md5 (dta_2))
    signal ('SNAFU', 'GZIP algorithm implementation is faulty.');

  result (length (dta));
  end_result();
}
;

SQL> gz_test_1 ('tmp/test.dat');
len
INTEGER
_______________________________________________________________________________

11689
2477
11689

3 Rows. -- 11 msec.

See Also

string_output