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 109 of file hashfn_unstable.h.

◆ haszero64

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

Definition at line 225 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}
248
249/*
250 * specialized workhorse for fasthash_accum_cstring
251 *
252 * With an aligned pointer, we consume the string a word at a time.
253 * Loading the word containing the NUL terminator cannot segfault since
254 * allocation boundaries are suitably aligned. To keep from setting
255 * off alarms with address sanitizers, exclude this function from
256 * such testing.
257 */
259static inline size_t
261{
262 const char *const start = str;
263 size_t remainder;
265
267
268 /*
269 * For every chunk of input, check for zero bytes before mixing into the
270 * hash. The chunk with zeros must contain the NUL terminator.
271 */
272 for (;;)
273 {
274 uint64 chunk = *(const uint64 *) str;
275
276 zero_byte_low = haszero64(chunk);
277 if (zero_byte_low)
278 break;
279
280 hs->accum = chunk;
283 }
284
285 /* mix in remaining bytes */
287 str += remainder;
288
289 return str - start;
290}
291
292/*
293 * Mix 'str' into the hash state and return the length of the string.
294 */
295static inline size_t
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}
323
324/*
325 * The finalizer
326 *
327 * 'tweak' is intended to be the input length when the caller doesn't know
328 * the length ahead of time, such as for NUL-terminated strings, otherwise
329 * zero.
330 */
331static inline uint64
333{
334 return fasthash_mix(hs->hash, tweak);
335}
336
337/*
338 * Reduce a 64-bit hash to a 32-bit hash.
339 *
340 * This optional step provides a bit more additional mixing compared to
341 * just taking the lower 32-bits.
342 */
343static inline uint32
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}
352
353/* finalize and reduce */
354static inline uint32
356{
358}
359
360
361/* Standalone functions */
362
363/*
364 * The original fasthash64 function, re-implemented using the incremental
365 * interface. Returns the same 64-bit hashcode as the original,
366 * at least on little-endian machines. 'len' controls not only how
367 * many bytes to hash, but also modifies the internal seed.
368 * 'seed' can be zero.
369 */
370static inline uint64
371fasthash64(const char *k, size_t len, uint64 seed)
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}
395
396/* like fasthash64, but returns a 32-bit hashcode */
397static inline uint32
398fasthash32(const char *k, size_t len, uint64 seed)
399{
400 return fasthash_reduce32(fasthash64(k, len, seed));
401}
402
403/*
404 * Convenience function for hashing NUL-terminated strings
405 *
406 * Note: This is faster than, and computes a different result from,
407 * "fasthash32(s, strlen(s))"
408 */
409static inline uint32
410hash_string(const char *s)
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}
425
426#endif /* HASHFN_UNSTABLE_H */
#define PointerIsAligned(pointer, type)
Definition c.h:852
#define Assert(condition)
Definition c.h:943
uint64_t uint64
Definition c.h:625
uint32_t uint32
Definition c.h:624
memcpy(sums, checksumBaseOffsets, sizeof(checksumBaseOffsets))
#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 399 of file hashfn_unstable.h.

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

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 372 of file hashfn_unstable.h.

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

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 144 of file hashfn_unstable.h.

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

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

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 297 of file hashfn_unstable.h.

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

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

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

◆ fasthash_accum_cstring_unaligned()

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

Definition at line 232 of file hashfn_unstable.h.

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

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 136 of file hashfn_unstable.h.

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

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

◆ fasthash_final64()

static uint64 fasthash_final64 ( fasthash_state hs,
uint64  tweak 
)
inlinestatic

Definition at line 333 of file hashfn_unstable.h.

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

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 118 of file hashfn_unstable.h.

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

References fb().

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

◆ fasthash_mix()

static uint64 fasthash_mix ( uint64  h,
uint64  tweak 
)
inlinestatic

Definition at line 126 of file hashfn_unstable.h.

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

References fb().

Referenced by fasthash_combine(), and fasthash_final64().

◆ fasthash_reduce32()

static uint32 fasthash_reduce32 ( uint64  h)
inlinestatic

Definition at line 345 of file hashfn_unstable.h.

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

Referenced by fasthash32(), and fasthash_final32().

◆ for()

for ( ;;  )

Definition at line 273 of file hashfn_unstable.h.

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

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 411 of file hashfn_unstable.h.

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

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 290 of file hashfn_unstable.h.

Referenced by _bt_endpoint(), _bt_getstackbuf(), advanceConnectionState(), AssertCheckRanges(), big52euc_tw(), bt_leftmost_ignoring_half_dead(), check_pghost_envvar(), conninfo_uri_parse_options(), CopyAttributeOutCSV(), CopyAttributeOutText(), dfa_backref(), dumpRoleMembership(), dupnfa(), ECPGmake_struct_member(), euc_jis_20042shift_jis_2004(), euc_jp2sjis(), euc_tw2big5(), 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(), local2local(), LocalToUtf(), longest(), lseg_inside_poly(), ltree_index(), 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_sjis_verifystr(), pg_uhc_verifystr(), pg_utf8_verifystr(), pgsa_next_tsv_field(), 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(), 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 261 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(), appendEscapedValue(), 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_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(), executeStringInternalMethod(), 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_dbname_oid_list_from_mfile(), 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(), 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(), pgpa_format_advice_target(), pgpa_format_index_target(), pgpa_scanner_init(), pgsa_append_tsv_escaped_string(), pgsa_is_identifier(), pgsa_unescape_tsv_field(), 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(), postgres_fdw_connection(), 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_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(), 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 265 of file hashfn_unstable.h.

Referenced by for().