|
166 | 166 | * |
167 | 167 | * Copyright (c) 1999-2007, PostgreSQL Global Development Group |
168 | 168 | * |
169 | | - * $PostgreSQL: pgsql/src/backend/utils/adt/pg_lzcompress.c,v 1.26 2007/04/06 04:21:43 tgl Exp $ |
| 169 | + * $PostgreSQL: pgsql/src/backend/utils/adt/pg_lzcompress.c,v 1.27 2007/08/0421:53:00 tgl Exp $ |
170 | 170 | * ---------- |
171 | 171 | */ |
172 | 172 | #include"postgres.h" |
@@ -211,29 +211,27 @@ typedef struct PGLZ_HistEntry |
211 | 211 | * ---------- |
212 | 212 | */ |
213 | 213 | staticconstPGLZ_Strategystrategy_default_data= { |
214 | | -256,/* Data chunks smaller 256 bytes are not |
215 | | - * compressed */ |
216 | | -6144,/* Data chunks greater equal 6K force |
217 | | - * compression */ |
218 | | -/* except compressed result is greater uncompressed data*/ |
219 | | -20,/* Compression rates below 20% mean fallback |
220 | | - * to uncompressed */ |
221 | | -/* storage except compression is forced by previous parameter*/ |
| 214 | +256,/* Data chunks less than 256 bytes are not |
| 215 | + * compressed */ |
| 216 | +6144,/* Data chunks >= 6K force compression, unless |
| 217 | + * compressed output is larger than input */ |
| 218 | +20,/* Below 6K, compression rates below 20% mean |
| 219 | + * fallback to uncompressed */ |
222 | 220 | 128,/* Stop history lookup if a match of 128 bytes |
223 | | - * is found*/ |
| 221 | + * is found*/ |
224 | 222 | 10/* Lower good match size by 10% at every |
225 | | - * lookup loop iteration. */ |
| 223 | + * lookup loop iteration */ |
226 | 224 | }; |
227 | 225 | constPGLZ_Strategy*constPGLZ_strategy_default=&strategy_default_data; |
228 | 226 |
|
229 | 227 |
|
230 | 228 | staticconstPGLZ_Strategystrategy_always_data= { |
231 | | -0,/* Chunks of any size are compressed*/ |
232 | | -0,/* */ |
233 | | -0,/*We want to saveat leastone single byte*/ |
| 229 | +0,/* Chunks of any size are compressed*/ |
| 230 | +0, |
| 231 | +0,/*It's enough to save one single byte*/ |
234 | 232 | 128,/* Stop history lookup if a match of 128 bytes |
235 | | - * is found*/ |
236 | | -6/* Look harder for a good match.*/ |
| 233 | + * is found*/ |
| 234 | +6/* Look harder for a good match*/ |
237 | 235 | }; |
238 | 236 | constPGLZ_Strategy*constPGLZ_strategy_always=&strategy_always_data; |
239 | 237 |
|
@@ -511,7 +509,7 @@ pglz_compress(const char *source, int32 slen, PGLZ_Header *dest, |
511 | 509 | * If the strategy forbids compression (at all or if source chunk too |
512 | 510 | * small), fail. |
513 | 511 | */ |
514 | | -if (strategy->match_size_good==0|| |
| 512 | +if (strategy->match_size_good<=0|| |
515 | 513 | slen<strategy->min_input_size) |
516 | 514 | return false; |
517 | 515 |
|
|