PostgreSQL Source Code git master
Loading...
Searching...
No Matches
hashfn_unstable.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  fasthash_state
 

Macros

#define FH_SIZEOF_ACCUM   sizeof(uint64)
 
#define haszero64(v)    (((v) - 0x0101010101010101) & ~(v) & 0x8080808080808080)
 

Typedefs

typedef struct fasthash_state fasthash_state
 

Functions

static void fasthash_init (fasthash_state *hs, uint64 seed)
 
static uint64 fasthash_mix (uint64 h, uint64 tweak)
 
static void fasthash_combine (fasthash_state *hs)
 
static void fasthash_accum (fasthash_state *hs, const char *k, size_t len)
 
static size_t fasthash_accum_cstring_unaligned (fasthash_state *hs, const char *str)
 
 pg_attribute_no_sanitize_address () static inline size_t fasthash_accum_cstring_aligned(fasthash_state *hs
 
 Assert (PointerIsAligned(start, uint64))
 
 for (;;)
 
static size_t fasthash_accum_cstring (fasthash_state *hs, const char *str)
 
static uint64 fasthash_final64 (fasthash_state *hs, uint64 tweak)
 
static uint32 fasthash_reduce32 (uint64 h)
 
static uint32 fasthash_final32 (fasthash_state *hs, uint64 tweak)
 
static uint64 fasthash64 (const char *k, size_t len, uint64 seed)
 
static uint32 fasthash32 (const char *k, size_t len, uint64 seed)
 
static uint32 hash_string (const char *s)
 

Variables

const charstr
 
size_t remainder = fasthash_accum_cstring_unaligned(hs, str)
 
uint64 zero_byte_low
 
return str start
 

Macro Definition Documentation

◆ FH_SIZEOF_ACCUM

#define FH_SIZEOF_ACCUM   sizeof(uint64)

Definition at line 108 of file hashfn_unstable.h.

◆ haszero64

#define haszero64 (   v)     (((v) - 0x0101010101010101) & ~(v) & 0x8080808080808080)

Definition at line 224 of file hashfn_unstable.h.

231{
232 const char *const start = str;
233
234 while (*str)
235 {
236 size_t chunk_len = 0;
237
238 while (chunk_len < FH_SIZEOF_ACCUM && str[chunk_len] != '\0')
239 chunk_len++;
240
242 str += chunk_len;
243 }
244
245 return str - start;
246}
247
248/*
249 * specialized workhorse for fasthash_accum_cstring
250 *
251 * With an aligned pointer, we consume the string a word at a time.
252 * Loading the word containing the NUL terminator cannot segfault since
253 * allocation boundaries are suitably aligned. To keep from setting
254 * off alarms with address sanitizers, exclude this function from
255 * such testing.
256 */
258static inline size_t
260{
261 const char *const start = str;
262 size_t remainder;
264
266
267 /*
268 * For every chunk of input, check for zero bytes before mixing into the
269 * hash. The chunk with zeros must contain the NUL terminator.
270 */
271 for (;;)
272 {
273 uint64 chunk = *(const uint64 *) str;
274
276 if (zero_byte_low)
277 break;
278
279 hs->accum = chunk;
282 }
283
284 /* mix in remaining bytes */
286 str += remainder;
287
288 return str - start;
289}
290
291/*
292 * Mix 'str' into the hash state and return the length of the string.
293 */
294static inline size_t
296{
297#if SIZEOF_VOID_P >= 8
298
299 size_t len;
300#ifdef USE_ASSERT_CHECKING
301 size_t len_check;
303
304 memcpy(&hs_check, hs, sizeof(fasthash_state));
306#endif
308 {
310 Assert(len_check == len);
311 Assert(hs_check.hash == hs->hash);
312 return len;
313 }
314#endif /* SIZEOF_VOID_P */
315
316 /*
317 * It's not worth it to try to make the word-at-a-time optimization work
318 * on 32-bit platforms.
319 */
321}
322
323/*
324 * The finalizer
325 *
326 * 'tweak' is intended to be the input length when the caller doesn't know
327 * the length ahead of time, such as for NUL-terminated strings, otherwise
328 * zero.
329 */
330static inline uint64
332{
333 return fasthash_mix(hs->hash, tweak);
334}
335
336/*
337 * Reduce a 64-bit hash to a 32-bit hash.
338 *
339 * This optional step provides a bit more additional mixing compared to
340 * just taking the lower 32-bits.
341 */
342static inline uint32
344{
345 /*
346 * Convert the 64-bit hashcode to Fermat residue, which shall retain
347 * information from both the higher and lower parts of hashcode.
348 */
349 return h - (h >> 32);
350}
351
352/* finalize and reduce */
353static inline uint32
355{
357}
358
359
360/* Standalone functions */
361
362/*
363 * The original fasthash64 function, re-implemented using the incremental
364 * interface. Returns the same 64-bit hashcode as the original,
365 * at least on little-endian machines. 'len' controls not only how
366 * many bytes to hash, but also modifies the internal seed.
367 * 'seed' can be zero.
368 */
369static inline uint64
370fasthash64(const char *k, size_t len, uint64 seed)
371{
373
374 fasthash_init(&hs, 0);
375
376 /* re-initialize the seed according to input length */
377 hs.hash = seed ^ (len * 0x880355f21e6d1965);
378
379 while (len >= FH_SIZEOF_ACCUM)
380 {
382 k += FH_SIZEOF_ACCUM;
384 }
385
386 fasthash_accum(&hs, k, len);
387
388 /*
389 * Since we already mixed the input length into the seed, we can just pass
390 * zero here. This matches upstream behavior as well.
391 */
392 return fasthash_final64(&hs, 0);
393}
394
395/* like fasthash64, but returns a 32-bit hashcode */
396static inline uint32
397fasthash32(const char *k, size_t len, uint64 seed)
398{
399 return fasthash_reduce32(fasthash64(k, len, seed));
400}
401
402/*
403 * Convenience function for hashing NUL-terminated strings
404 *
405 * Note: This is faster than, and computes a different result from,
406 * "fasthash32(s, strlen(s))"
407 */
408static inline uint32
409hash_string(const char *s)
410{
412 size_t s_len;
413
414 fasthash_init(&hs, 0);
415
416 /*
417 * Combine string into the hash and save the length for tweaking the final
418 * mix.
419 */
421
422 return fasthash_final32(&hs, s_len);
423}
424
425#endif /* HASHFN_UNSTABLE_H */
#define PointerIsAligned(pointer, type)
Definition c.h:782
#define Assert(condition)
Definition c.h:873
uint64_t uint64
Definition c.h:547
uint32_t uint32
Definition c.h:546
#define haszero64(v)
return str start
static uint32 fasthash_reduce32(uint64 h)
static uint32 fasthash32(const char *k, size_t len, uint64 seed)
#define FH_SIZEOF_ACCUM
pg_attribute_no_sanitize_address() static inline size_t fasthash_accum_cstring_aligned(fasthash_state *hs
const char * str
static size_t fasthash_accum_cstring(fasthash_state *hs, const char *str)
uint64 zero_byte_low
static uint64 fasthash64(const char *k, size_t len, uint64 seed)
static uint64 fasthash_mix(uint64 h, uint64 tweak)
static uint32 fasthash_final32(fasthash_state *hs, uint64 tweak)
static void fasthash_combine(fasthash_state *hs)
static void fasthash_accum(fasthash_state *hs, const char *k, size_t len)
static uint64 fasthash_final64(fasthash_state *hs, uint64 tweak)
static uint32 hash_string(const char *s)
size_t remainder
static size_t fasthash_accum_cstring_unaligned(fasthash_state *hs, const char *str)
static void fasthash_init(fasthash_state *hs, uint64 seed)
const void size_t len
static int fb(int x)

Typedef Documentation

◆ fasthash_state

Function Documentation

◆ Assert()

Assert ( PointerIsAligned(start, uint64 )

◆ fasthash32()

static uint32 fasthash32 ( const char k,
size_t  len,
uint64  seed 
)
inlinestatic

Definition at line 398 of file hashfn_unstable.h.

399{
400 return fasthash_reduce32(fasthash64(k, len, seed));
401}

References fasthash64(), fasthash_reduce32(), and len.

Referenced by pgstat_hash_hash_key().

◆ fasthash64()

static uint64 fasthash64 ( const char k,
size_t  len,
uint64  seed 
)
inlinestatic

Definition at line 371 of file hashfn_unstable.h.

372{
374
375 fasthash_init(&hs, 0);
376
377 /* re-initialize the seed according to input length */
378 hs.hash = seed ^ (len * 0x880355f21e6d1965);
379
380 while (len >= FH_SIZEOF_ACCUM)
381 {
383 k += FH_SIZEOF_ACCUM;
385 }
386
387 fasthash_accum(&hs, k, len);
388
389 /*
390 * Since we already mixed the input length into the seed, we can just pass
391 * zero here. This matches upstream behavior as well.
392 */
393 return fasthash_final64(&hs, 0);
394}

References fasthash_accum(), fasthash_final64(), fasthash_init(), fb(), FH_SIZEOF_ACCUM, and len.

Referenced by fasthash32().

◆ fasthash_accum()

static void fasthash_accum ( fasthash_state hs,
const char k,
size_t  len 
)
inlinestatic

Definition at line 143 of file hashfn_unstable.h.

144{
146
148 hs->accum = 0;
149
150 /*
151 * For consistency, bytewise loads must match the platform's endianness.
152 */
153#ifdef WORDS_BIGENDIAN
154 switch (len)
155 {
156 case 8:
157 memcpy(&hs->accum, k, 8);
158 break;
159 case 7:
160 hs->accum |= (uint64) k[6] << 8;
161 /* FALLTHROUGH */
162 case 6:
163 hs->accum |= (uint64) k[5] << 16;
164 /* FALLTHROUGH */
165 case 5:
166 hs->accum |= (uint64) k[4] << 24;
167 /* FALLTHROUGH */
168 case 4:
169 memcpy(&lower_four, k, sizeof(lower_four));
170 hs->accum |= (uint64) lower_four << 32;
171 break;
172 case 3:
173 hs->accum |= (uint64) k[2] << 40;
174 /* FALLTHROUGH */
175 case 2:
176 hs->accum |= (uint64) k[1] << 48;
177 /* FALLTHROUGH */
178 case 1:
179 hs->accum |= (uint64) k[0] << 56;
180 break;
181 case 0:
182 return;
183 }
184#else
185 switch (len)
186 {
187 case 8:
188 memcpy(&hs->accum, k, 8);
189 break;
190 case 7:
191 hs->accum |= (uint64) k[6] << 48;
192 /* FALLTHROUGH */
193 case 6:
194 hs->accum |= (uint64) k[5] << 40;
195 /* FALLTHROUGH */
196 case 5:
197 hs->accum |= (uint64) k[4] << 32;
198 /* FALLTHROUGH */
199 case 4:
200 memcpy(&lower_four, k, sizeof(lower_four));
201 hs->accum |= lower_four;
202 break;
203 case 3:
204 hs->accum |= (uint64) k[2] << 16;
205 /* FALLTHROUGH */
206 case 2:
207 hs->accum |= (uint64) k[1] << 8;
208 /* FALLTHROUGH */
209 case 1:
210 hs->accum |= (uint64) k[0];
211 break;
212 case 0:
213 return;
214 }
215#endif
216
218}

References Assert, fasthash_combine(), fb(), FH_SIZEOF_ACCUM, and len.

Referenced by fasthash64(), and fasthash_accum_cstring_unaligned().

◆ fasthash_accum_cstring()

static size_t fasthash_accum_cstring ( fasthash_state hs,
const char str 
)
inlinestatic

Definition at line 296 of file hashfn_unstable.h.

297{
298#if SIZEOF_VOID_P >= 8
299
300 size_t len;
301#ifdef USE_ASSERT_CHECKING
302 size_t len_check;
304
305 memcpy(&hs_check, hs, sizeof(fasthash_state));
307#endif
309 {
311 Assert(len_check == len);
312 Assert(hs_check.hash == hs->hash);
313 return len;
314 }
315#endif /* SIZEOF_VOID_P */
316
317 /*
318 * It's not worth it to try to make the word-at-a-time optimization work
319 * on 32-bit platforms.
320 */
322}

References Assert, fasthash_accum_cstring_unaligned(), fb(), len, PointerIsAligned, and str.

Referenced by hash_string(), and spcachekey_hash().

◆ fasthash_accum_cstring_unaligned()

static size_t fasthash_accum_cstring_unaligned ( fasthash_state hs,
const char str 
)
inlinestatic

Definition at line 231 of file hashfn_unstable.h.

232{
233 const char *const start = str;
234
235 while (*str)
236 {
237 size_t chunk_len = 0;
238
239 while (chunk_len < FH_SIZEOF_ACCUM && str[chunk_len] != '\0')
240 chunk_len++;
241
243 str += chunk_len;
244 }
245
246 return str - start;
247}

References fasthash_accum(), fb(), FH_SIZEOF_ACCUM, start, and str.

Referenced by fasthash_accum_cstring().

◆ fasthash_combine()

static void fasthash_combine ( fasthash_state hs)
inlinestatic

Definition at line 135 of file hashfn_unstable.h.

136{
137 hs->hash ^= fasthash_mix(hs->accum, 0);
138 hs->hash *= 0x880355f21e6d1965;
139}

References fasthash_mix(), and fb().

Referenced by fasthash_accum(), for(), and spcachekey_hash().

◆ fasthash_final32()

static uint32 fasthash_final32 ( fasthash_state hs,
uint64  tweak 
)
inlinestatic

Definition at line 355 of file hashfn_unstable.h.

356{
358}

References fasthash_final64(), fasthash_reduce32(), and fb().

Referenced by hash_string(), and spcachekey_hash().

◆ fasthash_final64()

static uint64 fasthash_final64 ( fasthash_state hs,
uint64  tweak 
)
inlinestatic

Definition at line 332 of file hashfn_unstable.h.

333{
334 return fasthash_mix(hs->hash, tweak);
335}

References fasthash_mix(), and fb().

Referenced by fasthash64(), and fasthash_final32().

◆ fasthash_init()

static void fasthash_init ( fasthash_state hs,
uint64  seed 
)
inlinestatic

Definition at line 117 of file hashfn_unstable.h.

118{
119 memset(hs, 0, sizeof(fasthash_state));
120 hs->hash = seed ^ 0x880355f21e6d1965;
121}

References fb().

Referenced by fasthash64(), hash_string(), and spcachekey_hash().

◆ fasthash_mix()

static uint64 fasthash_mix ( uint64  h,
uint64  tweak 
)
inlinestatic

Definition at line 125 of file hashfn_unstable.h.

126{
127 h ^= (h >> 23) + tweak;
128 h *= 0x2127599bf4325c37;
129 h ^= h >> 47;
130 return h;
131}

References fb().

Referenced by fasthash_combine(), and fasthash_final64().

◆ fasthash_reduce32()

static uint32 fasthash_reduce32 ( uint64  h)
inlinestatic

Definition at line 344 of file hashfn_unstable.h.

345{
346 /*
347 * Convert the 64-bit hashcode to Fermat residue, which shall retain
348 * information from both the higher and lower parts of hashcode.
349 */
350 return h - (h >> 32);
351}

Referenced by fasthash32(), and fasthash_final32().

◆ for()

for ( ;;  )

Definition at line 272 of file hashfn_unstable.h.

273 {
274 uint64 chunk = *(const uint64 *) str;
275
277 if (zero_byte_low)
278 break;
279
280 hs->accum = chunk;
283 }

References fasthash_combine(), fb(), FH_SIZEOF_ACCUM, haszero64, str, and zero_byte_low.

◆ hash_string()

static uint32 hash_string ( const char s)
inlinestatic

Definition at line 410 of file hashfn_unstable.h.

411{
413 size_t s_len;
414
415 fasthash_init(&hs, 0);
416
417 /*
418 * Combine string into the hash and save the length for tweaking the final
419 * mix.
420 */
422
423 return fasthash_final32(&hs, s_len);
424}

References fasthash_accum_cstring(), fasthash_final32(), fasthash_init(), and fb().

◆ pg_attribute_no_sanitize_address()

pg_attribute_no_sanitize_address ( )

Variable Documentation

◆ remainder

◆ start

return str start

Definition at line 289 of file hashfn_unstable.h.

Referenced by _bt_endpoint(), _bt_getstackbuf(), advanceConnectionState(), AssertCheckRanges(), big52euc_tw(), big52mic(), bt_leftmost_ignoring_half_dead(), check_pghost_envvar(), conninfo_uri_parse_options(), CopyAttributeOutCSV(), CopyAttributeOutText(), dfa_backref(), dumpRoleMembership(), dupnfa(), ECPGmake_struct_member(), euc_cn2mic(), euc_jis_20042shift_jis_2004(), euc_jp2mic(), euc_jp2sjis(), euc_kr2mic(), euc_tw2big5(), euc_tw2mic(), fasthash_accum_cstring_unaligned(), find_word(), findwrd(), FreeSpaceMapVacuumRange(), fsm_vacuum_page(), generate_combinations_recurse(), generate_dependencies_recurse(), generate_series_int4_support(), generate_series_int8_support(), generate_series_numeric_support(), generate_series_step_int4(), generate_series_step_int8(), generate_series_timestamp(), generate_series_timestamp_support(), generate_series_timestamptz_internal(), get_array_element_end(), get_array_end(), get_object_end(), get_object_field_end(), get_scalar(), get_steps_using_prefix_recurse(), getlexeme(), GETTEMP(), getvacant(), has_matching_range(), heap_fill_tuple(), init_span(), initialize(), InitializeParallelDSM(), initPopulateTable(), initStats(), inner_subltree(), internal_flush_buffer(), internal_putbytes(), iso8859_1_to_utf8(), issue_xlog_fsync(), latin2mic(), latin2mic_with_table(), local2local(), LocalToUtf(), longest(), lseg_inside_poly(), ltree_index(), mic2big5(), mic2euc_cn(), mic2euc_jp(), mic2euc_kr(), mic2euc_tw(), mic2latin(), mic2latin_with_table(), mic2sjis(), miss(), mkVoidAffix(), multi_sort_compare_dims(), numst(), overwrite(), overwrite(), pg_big5_verifystr(), pg_eucjp_verifystr(), pg_euckr_verifystr(), pg_euctw_verifystr(), pg_gb18030_verifystr(), pg_gbk_verifystr(), pg_johab_verifystr(), pg_mule_verifystr(), pg_sjis_verifystr(), pg_uhc_verifystr(), pg_utf8_verifystr(), pgss_planner(), pgss_ProcessUtility(), pgstat_index(), pickout(), pickout(), pickss(), pr_comment(), range_deduplicate_values(), recompose_code(), regexp_count(), regexp_instr(), regexp_substr(), ReinitializeParallelDSM(), removeconstraints(), runInitSteps(), SampleHeapTupleVisible(), serializeAnalyzeReceive(), shift_jis_20042euc_jis_2004(), shortest(), sjis2euc_jp(), sjis2mic(), skip(), statext_mcv_deserialize(), statext_mcv_serialize(), StringAt(), strlen_max_width(), strtokx(), subarray(), subpath(), text_substring(), textregexreplace_extended(), threadRun(), touched_lseg_inside_poly(), tzparse(), utf8_to_iso8859_1(), UtfToLocal(), XLogWalRcvWrite(), and XLogWrite().

◆ str

str
Initial value:
{
const char *const start = str

Definition at line 260 of file hashfn_unstable.h.

Referenced by _add(), _mdfd_getseg(), _outA_Const(), _outA_Expr(), _outBitString(), _outBoolean(), _outBoolExpr(), _outConst(), _outExtensibleNode(), _outFloat(), _outForeignKeyOptInfo(), _outInteger(), _outList(), _outString(), add_role_attribute(), add_stringlist_item(), add_stringlist_item(), add_typedefs_from_file(), AddToDataDirLockFile(), append_with_tabs(), appendArrayEscapedString(), appendBinaryPQExpBuffer(), appendBinaryStringInfo(), appendBinaryStringInfoNT(), appendByteaLiteral(), appendConnStrVal(), appendContextKeyword(), appendPQExpBuffer(), appendPQExpBufferChar(), appendPQExpBufferStr(), appendPQExpBufferVA(), appendShellString(), appendShellStringNoError(), appendStringInfo(), appendStringInfoChar(), appendStringInfoRegexpSubstr(), appendStringInfoSpaces(), appendStringInfoString(), appendStringInfoStringQuoted(), appendStringInfoText(), appendStringInfoVA(), appendStringLiteral(), appendStringLiteralConn(), appendStringLiteralDQ(), ASN1_STRING_to_text(), assign_text_var(), be_lo_from_bytea(), be_lo_put(), bitposition(), bits_to_text(), bmsToString(), boolin(), booltext(), box_in(), bpcharrecv(), brin_bloom_summary_out(), brin_minmax_multi_summary_out(), build_mvdependencies(), build_mvndistinct(), byleng(), bytea_substring(), bytealike(), byteanlike(), byteaoctetlen(), cash_in(), char2wchar(), check_final_sigma(), check_recovery_target_time(), check_special_conditions(), cidin(), circle_in(), circle_out(), citext_hash(), citext_hash_extended(), cliplen(), compact_trigram(), complex_in(), concat_internal(), conninfo_uri_decode(), CopyLimitPrintoutLength(), CopySendString(), cpstrdup(), create_logical_replication_slot(), create_publication(), create_subscription(), croak_cstr(), cstr2sv(), cstring_in(), cstring_out(), cstring_recv(), cstring_send(), csv_escaped_print(), csv_print_field(), cube_in(), cube_scanner_init(), date_in(), DateTimeParseError(), db_encoding_convert(), DCH_cache_fetch(), DCH_cache_getnew(), DCH_cache_search(), DCH_to_char(), deccvasc(), DecodeDate(), DecodeDate(), DecodeISO8601Interval(), DecodeISO8601Interval(), DecodeNumber(), DecodeNumber(), DecodeNumberField(), DecodeNumberField(), DecodePosixTimezone(), DecodeTextArrayToBitmapset(), DecodeTime(), DecodeTime(), DecodeTimeCommon(), DecodeTimeForInterval(), DecodeTimezone(), DecodeTimezone(), DecodeTimezoneAbbrevPrefix(), dectoasc(), defGetStringList(), dep_attnum_list(), deparseFromExprForRel(), dequote_downcase_identifier(), destroyPQExpBuffer(), destroyStringInfo(), DirectInputFunctionCallSafe(), dostr(), DoubleMetaphone(), drop_publication(), drop_replication_slot(), dtcvasc(), ean13_in(), ecpg_build_params(), ecpg_get_data(), ecpg_raise(), ecpg_store_input(), ecpg_strndup(), ECPGconnect(), ECPGdump_a_type(), ecpyalloc(), enable_subscription(), EncodeDateOnly(), EncodeDateOnly(), EncodeDateTime(), EncodeDateTime(), EncodeInterval(), EncodeInterval(), EncodeSpecialDate(), EncodeSpecialInterval(), EncodeSpecialTimestamp(), EncodeSpecialTimestamp(), EncodeTimeOnly(), EncodeTimezone(), enlargePQExpBuffer(), enlargeStringInfo(), err_generic_string(), err_gettext(), err_sendstring(), errdetail_params(), escape_json(), escape_json(), escape_json(), escape_json_text(), escape_json_with_len(), escape_param_str(), escape_xml(), escape_yaml(), escapify(), exec_assign_c_string(), ExecEvalCoerceViaIOSafe(), ExecGetJsonValueItemString(), ExecInterpExpr(), executeLikeRegex(), ExecuteSqlCommandBuf(), ExplainPrintSettings(), ExplainProperty(), ExplainPropertyList(), ExplainQueryParameters(), ExtendBufferedRelLocal(), ExtendBufferedRelShared(), fasthash_accum_cstring(), fasthash_accum_cstring_unaligned(), fetch_function_defaults(), fill_str(), fillTrgm(), filter_read_item(), find_end_token(), find_publication(), find_str(), find_struct_member(), find_word(), findchar(), findchar2(), flush_pipe_input(), for(), forkname_chars(), format_node_dump(), func_get_detail(), generate_trgm(), generate_trgm_only(), generate_wildcard_trgm(), Generic_Text_IC_like(), get_nextfield(), get_str_from_var(), get_str_from_var(), get_str_from_var_sci(), get_string_attr(), get_wildcard_part(), getRightMostDot(), hstore_in(), hstore_to_json_loose(), indent_lines(), index_seq_search(), init_libpq_conn(), initPQExpBuffer(), initReadOnlyStringInfo(), initStringInfo(), initStringInfoExt(), initStringInfoFromString(), initStringInfoInternal(), InputFunctionCall(), InputFunctionCallSafe(), interpret_func_parallel(), interpret_func_volatility(), interval_in(), intoasc(), is_an_int(), is_separator_char(), isbn_in(), ismn_in(), issn_in(), IsValidJsonNumber(), item_attnum_list(), json_populate_type(), json_recv(), jsonb_object(), jsonb_object_two_arg(), jsonb_pretty(), jsonb_recv(), JsonbValue_to_SV(), JsonItemFromDatum(), jsonpath_recv(), line_decode(), line_in(), lquery_recv(), lseg_in(), ltree_recv(), ltxtq_recv(), macaddr8_in(), macaddr_in(), main(), main(), make_text_key(), make_trigrams(), make_tsvector(), makeBitString(), makeitem(), makeString(), makeStringConst(), map_sql_value_to_xml_value(), markPQExpBufferBroken(), mb_strchr(), mxid_to_string(), my_pv_pretty(), nameiclike(), nameicnlike(), namelike(), namenlike(), namerecv(), namestrcmp(), namestrcpy(), nodeToStringInternal(), NUM_cache(), NUM_cache_fetch(), NUM_cache_getnew(), NUM_cache_search(), numeric_in(), numeric_normalize(), numeric_out(), numeric_out_sci(), object_to_string(), OidInputFunctionCall(), outBitmapset(), outChar(), outDatum(), outDouble(), outNode(), output_escaped_str(), outToken(), pair_decode(), pair_encode(), parse_affentry(), parse_args(), parse_format(), parse_hba_line(), parse_ooaffentry(), parse_snapshot(), ParseISO8601Number(), ParseISO8601Number(), parsejsonpath(), parseOidArray(), parseTypeString(), path_decode(), path_encode(), path_in(), pg_clean_ascii(), pg_dependencies_in(), pg_dependencies_out(), pg_get_expr_worker(), pg_get_function_arg_default(), pg_get_indexdef_worker(), pg_get_partkeydef_worker(), pg_get_statisticsobj_worker(), pg_get_statisticsobjdef_expressions(), pg_GSS_error_int(), pg_input_is_valid_common(), pg_is_ascii(), pg_lsn_in(), pg_lsn_in_safe(), pg_ndistinct_in(), pg_ndistinct_out(), pg_parse_query(), pg_plan_query(), pg_rewrite_query(), pg_size_bytes(), pg_snapshot_in(), pg_snapshot_out(), pg_snprintf(), pg_sprintf(), pg_str_endswith(), pg_strerror_r(), pg_strfromd(), pg_strip_crlf(), pg_ultostr(), pg_ultostr_zeropad(), pg_vsnprintf(), pg_vsprintf(), pg_wchar_strlen(), pgtypes_strdup(), PGTYPESdate_defmt_asc(), PGTYPESdate_from_asc(), PGTYPESinterval_from_asc(), PGTYPESnumeric_from_asc(), PGTYPEStimestamp_defmt_asc(), PGTYPEStimestamp_defmt_scan(), PGTYPEStimestamp_from_asc(), placeChar(), plperl_sv_to_datum(), plpgsql_scanner_init(), PLy_quote_ident(), PLy_quote_literal(), PLy_quote_nullable(), PLyBytes_FromBytea(), PLyDecimal_FromNumeric(), PLyNumber_ToJsonbValue(), PLyObject_FromJsonbValue(), PLyObject_ToScalar(), PLyUnicode_ToComposite(), point_in(), poly_in(), populate_scalar(), pq_getmsgrawstring(), pq_getmsgstring(), pq_getmsgtext(), pq_puttextmessage(), pq_send_ascii_string(), pq_sendcountedtext(), pq_sendstring(), pq_sendtext(), pq_writestring(), PQenv2encoding(), PQescapeIdentifier(), PQescapeInternal(), PQescapeLiteral(), pqResultStrdup(), pretty_format_node_dump(), print_function_arguments(), printfPQExpBuffer(), printJsonPathItem(), printsimple(), process_pipe_input(), pset_quoted_string(), pts_error_callback(), quote_ident(), raw_parser(), rdatestr(), rdefmtdate(), read_char(), read_letter(), read_pattern(), read_quoted_string(), read_tablespace_map(), read_valid_char(), regexp_count(), regexp_fixed_prefix(), regexp_instr(), regexp_like(), regexp_substr(), removeStringInfoSpaces(), replace_text(), replication_scanner_init(), resetPQExpBuffer(), resetStringInfo(), rfmtdate(), RS_compile(), RS_execute(), RS_isRegis(), rstrdate(), rupshift(), sanitize_line(), ScanKeywordLookup(), scanner_init(), seg_in(), seg_scanner_init(), sendMessageToLeader(), sendMessageToWorker(), set_errdata_field(), set_replication_progress(), set_string_attr(), set_var_from_non_decimal_integer_str(), set_var_from_str(), set_var_from_str(), ShowTransactionState(), ShowTransactionStateRec(), ShowUsage(), single_encode(), str2uint(), str_udeescape(), string2ean(), string_matches_pattern(), string_to_bytea_const(), string_to_const(), string_to_datum(), string_to_text(), stringToNode(), stringToNodeInternal(), strlen_max_width(), strspace_len(), strtodouble(), strtoint(), strtoint64(), substitute_path_macro(), suff_search(), syncrep_scanner_init(), termPQExpBuffer(), text_format(), text_format_append_string(), text_format_string_conversion(), text_left(), text_length(), text_reverse(), text_right(), text_substring(), text_to_bits(), texticlike(), texticnlike(), textlen(), textlike(), textnlike(), textoctetlen(), textpos(), textrecv(), tidin(), time_in(), timestamp_in(), timestamptz_in(), timetz_in(), TParserInit(), TrimTrailingZeros(), typeStringToTypeName(), unaccent_dict(), unistr(), unknownin(), unknownout(), unknownrecv(), unknownsend(), upc_in(), utf_e2u(), uuid_generate_internal(), varcharrecv(), verify_cb(), visibilitymap_set_vmbits(), wait_result_to_str(), widget_in(), widget_out(), writeNodeArray(), xact_desc_relations(), xid8in(), xidin(), xml_out_internal(), xml_recv(), xmlconcat(), xmlelement(), xmlroot(), XmlTableGetValue(), XmlTableSetDocument(), and xmltotext_with_options().

◆ zero_byte_low

uint64 zero_byte_low

Definition at line 264 of file hashfn_unstable.h.

Referenced by for().