Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  pg_lzcompress.h

  Sprache: C
 

/* ----------
 * pg_lzcompress.h -
 *
 * Definitions for the builtin LZ compressor
 *
 * src/include/common/pg_lzcompress.h
 * ----------
 */


#ifndef _PG_LZCOMPRESS_H_
#define _PG_LZCOMPRESS_H_


/* ----------
 * PGLZ_MAX_OUTPUT -
 *
 *  Macro to compute the buffer size required by pglz_compress().
 *  We allow 4 bytes for overrun before detecting compression failure.
 * ----------
 */

#define PGLZ_MAX_OUTPUT(_dlen)   ((_dlen) + 4)


/* ----------
 * PGLZ_Strategy -
 *
 *  Some values that control the compression algorithm.
 *
 *  min_input_size  Minimum input data size to consider compression.
 *
 *  max_input_size  Maximum input data size to consider compression.
 *
 *  min_comp_rate  Minimum compression rate (0-99%) to require.
 *       Regardless of min_comp_rate, the output must be
 *       smaller than the input, else we don't store
 *       compressed.
 *
 *  first_success_by Abandon compression if we find no compressible
 *       data within the first this-many bytes.
 *
 *  match_size_good  The initial GOOD match size when starting history
 *       lookup. When looking up the history to find a
 *       match that could be expressed as a tag, the
 *       algorithm does not always walk back entirely.
 *       A good match fast is usually better than the
 *       best possible one very late. For each iteration
 *       in the lookup, this value is lowered so the
 *       longer the lookup takes, the smaller matches
 *       are considered good.
 *
 *  match_size_drop  The percentage by which match_size_good is lowered
 *       after each history check. Allowed values are
 *       0 (no change until end) to 100 (only check
 *       latest history entry at all).
 * ----------
 */

typedef struct PGLZ_Strategy
{
 int32  min_input_size;
 int32  max_input_size;
 int32  min_comp_rate;
 int32  first_success_by;
 int32  match_size_good;
 int32  match_size_drop;
} PGLZ_Strategy;


/* ----------
 * The standard strategies
 *
 *  PGLZ_strategy_default  Recommended default strategy for TOAST.
 *
 *  PGLZ_strategy_always  Try to compress inputs of any length.
 *         Fallback to uncompressed storage only if
 *         output would be larger than input.
 * ----------
 */

extern PGDLLIMPORT const PGLZ_Strategy *const PGLZ_strategy_default;
extern PGDLLIMPORT const PGLZ_Strategy *const PGLZ_strategy_always;


/* ----------
 * Global function declarations
 * ----------
 */

extern int32 pglz_compress(const char *source, int32 slen, char *dest,
         const PGLZ_Strategy *strategy);
extern int32 pglz_decompress(const char *source, int32 slen, char *dest,
        int32 rawsize, bool check_complete);
extern int32 pglz_maximum_compressed_size(int32 rawsize,
            int32 total_compressed_size);

#endif       /* _PG_LZCOMPRESS_H_ */

Messung V0.5 in Prozent
C=92 H=99 G=95

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet am  2026-08-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=141584
#Domains=752002