PostgreSQL Source Code  git master
hashfn_unstable.h File Reference
#include "port/pg_bitutils.h"
#include "port/pg_bswap.h"
Include dependency graph for hashfn_unstable.h:
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)
 
#define firstbyte64(v)   ((v) & 0xFF)
 

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 (;;)
 
 if (firstbyte64(chunk) !=0)
 
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 char * str
 
uint64 chunk
 
uint64 zero_byte_low
 
return str start
 

Macro Definition Documentation

◆ FH_SIZEOF_ACCUM

#define FH_SIZEOF_ACCUM   sizeof(uint64)

Definition at line 103 of file hashfn_unstable.h.

◆ firstbyte64

#define firstbyte64 (   v)    ((v) & 0xFF)

Definition at line 226 of file hashfn_unstable.h.

◆ haszero64

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

Definition at line 219 of file hashfn_unstable.h.

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

429 {
430  return fasthash_reduce32(fasthash64(k, len, seed));
431 }
static uint32 fasthash_reduce32(uint64 h)
static uint64 fasthash64(const char *k, size_t len, uint64 seed)
const void size_t len

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

407 {
408  fasthash_state hs;
409 
410  fasthash_init(&hs, 0);
411 
412  /* re-initialize the seed according to input length */
413  hs.hash = seed ^ (len * 0x880355f21e6d1965);
414 
415  while (len >= FH_SIZEOF_ACCUM)
416  {
418  k += FH_SIZEOF_ACCUM;
419  len -= FH_SIZEOF_ACCUM;
420  }
421 
422  fasthash_accum(&hs, k, len);
423  return fasthash_final64(&hs, 0);
424 }
#define FH_SIZEOF_ACCUM
static void fasthash_accum(fasthash_state *hs, const char *k, size_t len)
static uint64 fasthash_final64(fasthash_state *hs, uint64 tweak)
static void fasthash_init(fasthash_state *hs, uint64 seed)

References fasthash_accum(), fasthash_final64(), fasthash_init(), FH_SIZEOF_ACCUM, fasthash_state::hash, and len.

Referenced by fasthash32().

◆ fasthash_accum()

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

Definition at line 138 of file hashfn_unstable.h.

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

References fasthash_state::accum, Assert(), fasthash_combine(), 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 335 of file hashfn_unstable.h.

336 {
337 #if SIZEOF_VOID_P >= 8
338 
339  size_t len;
340 #ifdef USE_ASSERT_CHECKING
341  size_t len_check;
342  fasthash_state hs_check;
343 
344  memcpy(&hs_check, hs, sizeof(fasthash_state));
345  len_check = fasthash_accum_cstring_unaligned(&hs_check, str);
346 #endif
347  if (PointerIsAligned(str, uint64))
348  {
349  len = fasthash_accum_cstring_aligned(hs, str);
350  Assert(len_check == len);
351  Assert(hs_check.hash == hs->hash);
352  return len;
353  }
354 #endif /* SIZEOF_VOID_P */
355 
356  /*
357  * It's not worth it to try to make the word-at-a-time optimization work
358  * on 32-bit platforms.
359  */
361 }
#define PointerIsAligned(pointer, type)
Definition: c.h:769
static size_t fasthash_accum_cstring_unaligned(fasthash_state *hs, const char *str)
const char * str

References Assert(), fasthash_accum_cstring_unaligned(), fasthash_state::hash, 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 233 of file hashfn_unstable.h.

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

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

Referenced by fasthash_accum_cstring().

◆ fasthash_combine()

static void fasthash_combine ( fasthash_state hs)
inlinestatic

Definition at line 130 of file hashfn_unstable.h.

131 {
132  hs->hash ^= fasthash_mix(hs->accum, 0);
133  hs->hash *= 0x880355f21e6d1965;
134 }
static uint64 fasthash_mix(uint64 h, uint64 tweak)

References fasthash_state::accum, fasthash_mix(), and fasthash_state::hash.

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

◆ fasthash_final32()

static uint32 fasthash_final32 ( fasthash_state hs,
uint64  tweak 
)
inlinestatic

Definition at line 394 of file hashfn_unstable.h.

395 {
396  return fasthash_reduce32(fasthash_final64(hs, tweak));
397 }

References fasthash_final64(), and fasthash_reduce32().

Referenced by hash_string(), and spcachekey_hash().

◆ fasthash_final64()

static uint64 fasthash_final64 ( fasthash_state hs,
uint64  tweak 
)
inlinestatic

Definition at line 371 of file hashfn_unstable.h.

372 {
373  return fasthash_mix(hs->hash, tweak);
374 }

References fasthash_mix(), and fasthash_state::hash.

Referenced by fasthash64(), and fasthash_final32().

◆ fasthash_init()

static void fasthash_init ( fasthash_state hs,
uint64  seed 
)
inlinestatic

Definition at line 112 of file hashfn_unstable.h.

113 {
114  memset(hs, 0, sizeof(fasthash_state));
115  hs->hash = seed ^ 0x880355f21e6d1965;
116 }

References fasthash_state::hash.

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

◆ fasthash_mix()

static uint64 fasthash_mix ( uint64  h,
uint64  tweak 
)
inlinestatic

Definition at line 120 of file hashfn_unstable.h.

121 {
122  h ^= (h >> 23) + tweak;
123  h *= 0x2127599bf4325c37;
124  h ^= h >> 47;
125  return h;
126 }

Referenced by fasthash_combine(), and fasthash_final64().

◆ fasthash_reduce32()

static uint32 fasthash_reduce32 ( uint64  h)
inlinestatic

Definition at line 383 of file hashfn_unstable.h.

384 {
385  /*
386  * Convert the 64-bit hashcode to Fermat residue, which shall retain
387  * information from both the higher and lower parts of hashcode.
388  */
389  return h - (h >> 32);
390 }

Referenced by fasthash32(), and fasthash_final32().

◆ for()

◆ hash_string()

static uint32 hash_string ( const char *  s)
inlinestatic

Definition at line 437 of file hashfn_unstable.h.

438 {
439  fasthash_state hs;
440  size_t s_len;
441 
442  fasthash_init(&hs, 0);
443 
444  /*
445  * Combine string into the hash and save the length for tweaking the final
446  * mix.
447  */
448  s_len = fasthash_accum_cstring(&hs, s);
449 
450  return fasthash_final32(&hs, s_len);
451 }
static size_t fasthash_accum_cstring(fasthash_state *hs, const char *str)
static uint32 fasthash_final32(fasthash_state *hs, uint64 tweak)

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

◆ if()

if ( firstbyte64(chunk) !  = 0)

Definition at line 300 of file hashfn_unstable.h.

301  {
302  size_t remainder;
303  uint64 mask;
304 
305  /*
306  * The byte corresponding to the NUL will be 0x80, so the rightmost
307  * bit position will be in the range 15, 23, ..., 63. Turn this into
308  * byte position by dividing by 8.
309  */
311 
312  /*
313  * Create a mask for the remaining bytes so we can combine them into
314  * the hash. This must have the same result as mixing the remaining
315  * bytes with fasthash_accum().
316  */
317 #ifdef WORDS_BIGENDIAN
318  mask = ~UINT64CONST(0) << BITS_PER_BYTE * (FH_SIZEOF_ACCUM - remainder);
319 #else
320  mask = ~UINT64CONST(0) >> BITS_PER_BYTE * (FH_SIZEOF_ACCUM - remainder);
321 #endif
322  hs->accum = chunk & mask;
323  fasthash_combine(hs);
324 
325  str += remainder;
326  }
static int pg_rightmost_one_pos64(uint64 word)
Definition: pg_bitutils.h:145
#define BITS_PER_BYTE

References BITS_PER_BYTE, chunk, fasthash_combine(), FH_SIZEOF_ACCUM, pg_rightmost_one_pos64(), str, and zero_byte_low.

◆ pg_attribute_no_sanitize_address()

pg_attribute_no_sanitize_address ( )

Variable Documentation

◆ chunk

uint64 chunk

Definition at line 265 of file hashfn_unstable.h.

Referenced by afterTriggerAddEvent(), AfterTriggerEndSubXact(), afterTriggerFreeEventList(), afterTriggerInvokeEvents(), afterTriggerMarkEvents(), AfterTriggerPendingOnRel(), afterTriggerRestoreEventList(), AlignedAllocFree(), AllocSetAlloc(), AllocSetAllocChunkFromBlock(), AllocSetAllocFromNewBlock(), AllocSetAllocLarge(), AllocSetFree(), AllocSetGetChunkContext(), AllocSetGetChunkSpace(), AllocSetRealloc(), AllocSetStats(), BlockRefTableEntryMarkBlockModified(), build_dummy_expanded_header(), BumpAllocChunkFromBlock(), BumpAllocLarge(), cancel_prior_stmt_triggers(), check_toast_tuple(), convert_any_priv_string(), deconstruct_expanded_record(), dir_write(), exec_move_row(), exec_move_row_from_fields(), ExecHashIncreaseNumBuckets(), ExecHashTableDetachBatch(), ExecParallelHashIncreaseNumBuckets(), ExecParallelHashPopChunkQueue(), ExecParallelHashRepartitionFirst(), ExecParallelHashTupleAlloc(), for(), GenerationAllocChunkFromBlock(), GenerationAllocLarge(), GenerationFree(), GenerationGetChunkContext(), GenerationGetChunkSpace(), GenerationRealloc(), heap_fetch_toast_slice(), if(), is_valid_ascii(), json_parse_manifest_incremental_chunk(), make_expanded_record_from_exprecord(), make_expanded_record_from_tupdesc(), make_expanded_record_from_typeid(), MemoryChunkGetBlock(), MemoryChunkGetValue(), MemoryChunkIsExternal(), MemoryChunkSetHdrMask(), MemoryChunkSetHdrMaskExternal(), pg_lfind8(), pg_lfind8_le(), pgstat_init_entry(), process_queued_fetch_requests(), ReorderBufferToastAppendChunk(), ReorderBufferToastReplace(), RT_ADD_CHILD_16(), RT_ADD_CHILD_256(), RT_ADD_CHILD_4(), RT_ADD_CHILD_48(), RT_GET_SLOT_RECURSIVE(), RT_GROW_NODE_16(), RT_GROW_NODE_4(), RT_GROW_NODE_48(), RT_NODE_16_GET_INSERTPOS(), RT_NODE_16_SEARCH_EQ(), RT_NODE_256_GET_CHILD(), RT_NODE_256_IS_CHUNK_USED(), RT_NODE_48_GET_CHILD(), RT_NODE_48_IS_CHUNK_USED(), RT_NODE_4_GET_INSERTPOS(), RT_NODE_INSERT(), RT_NODE_ITERATE_NEXT(), RT_NODE_SEARCH(), SlabAlloc(), SlabAllocFromNewBlock(), SlabAllocSetupNewChunk(), SlabFree(), SlabGetChunkContext(), SlabGetChunkSpace(), SlabGetNextFreeChunk(), SlabRealloc(), tbm_advance_schunkbit(), tbm_iterate(), and tbm_shared_iterate().

◆ start

return str start

Definition at line 328 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_step_int4(), generate_series_step_int8(), generate_series_timestamp(), 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(), MultiXactOffsetWouldWrap(), numst(), 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(), 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(), and XLogWrite().

◆ str

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

Definition at line 262 of file hashfn_unstable.h.

Referenced by _add(), _outA_Const(), _outA_Expr(), _outBitString(), _outBoolean(), _outBoolExpr(), _outConst(), _outExtensibleNode(), _outFloat(), _outForeignKeyOptInfo(), _outInteger(), _outList(), _outString(), add_role_attribute(), 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(), byleng(), bytea_substring(), bytealike(), byteanlike(), byteaoctetlen(), cash_in(), char2wchar(), check_publisher(), check_recovery_target_time(), 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(), date_in(), DateTimeParseError(), db_encoding_convert(), DCH_cache_fetch(), DCH_cache_getnew(), DCH_cache_search(), DCH_to_char(), deccvasc(), DecodeDate(), DecodeISO8601Interval(), DecodeNumber(), DecodeNumberField(), DecodePosixTimezone(), DecodeTextArrayToBitmapset(), DecodeTime(), DecodeTimeCommon(), DecodeTimeForInterval(), DecodeTimezone(), DecodeTimezoneAbbrevPrefix(), dectoasc(), defGetStringList(), deparseFromExprForRel(), destroyPQExpBuffer(), destroyStringInfo(), DirectInputFunctionCallSafe(), dostr(), DoubleMetaphone(), drop_publication(), drop_replication_slot(), dtcvasc(), ean13_in(), ecpg_build_params(), ecpg_get_data(), ecpg_raise(), ecpg_store_input(), ECPGconnect(), ECPGdump_a_type(), ecpyalloc(), enable_subscription(), EncodeDateOnly(), EncodeDateTime(), EncodeInterval(), EncodeSpecialDate(), EncodeSpecialInterval(), EncodeSpecialTimestamp(), EncodeTimeOnly(), EncodeTimezone(), enlargePQExpBuffer(), enlargeStringInfo(), err_generic_string(), err_gettext(), err_sendstring(), errdetail_params(), escape_json(), escape_param_str(), escape_xml(), escape_yaml(), exec_assign_c_string(), ExecEvalCoerceViaIOSafe(), ExecGetJsonValueItemString(), ExecInterpExpr(), executeLikeRegex(), ExecuteSqlCommandBuf(), ExplainPrintSettings(), ExplainProperty(), ExplainPropertyList(), ExplainQueryParameters(), fasthash_accum_cstring(), fasthash_accum_cstring_unaligned(), fetch_function_defaults(), fill_str(), fillTrgm(), filter_read_item(), find_end_token(), 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_sci(), get_string_attr(), get_wildcard_part(), getRightMostDot(), hstore_in(), if(), indent_lines(), index_seq_search(), init_libpq_conn(), initPQExpBuffer(), initReadOnlyStringInfo(), initStringInfo(), initStringInfoFromString(), InputFunctionCall(), InputFunctionCallSafe(), interpret_func_parallel(), interpret_func_volatility(), interval_in(), intoasc(), is_an_int(), is_separator_char(), isbn_in(), ismn_in(), issn_in(), IsValidJsonNumber(), json_recv(), jsonb_object(), jsonb_object_two_arg(), jsonb_pretty(), jsonb_recv(), JsonbValue_to_SV(), JsonItemFromDatum(), jsonpath_recv(), line_decode(), line_in(), lowerstr(), lowerstr_with_len(), 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(), parseOidArray(), parseTypeString(), path_decode(), path_encode(), path_in(), pg_clean_ascii(), 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_internal(), 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(), 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(), resetPQExpBuffer(), resetStringInfo(), rfmtdate(), RS_compile(), RS_execute(), RS_isRegis(), rstrdate(), rupshift(), sanitize_line(), ScanKeywordLookup(), seg_in(), sendMessageToLeader(), sendMessageToWorker(), set_errdata_field(), set_replication_progress(), set_string_attr(), set_var_from_non_decimal_integer_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(), strnlen(), strspace_len(), strtodouble(), strtoint(), strtoint64(), suff_search(), 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(), wait_result_to_str(), widget_in(), widget_out(), writeNodeArray(), xid8in(), xidin(), xml_out_internal(), xml_recv(), xmlconcat(), xmlelement(), xmlroot(), XmlTableGetValue(), and XmlTableSetDocument().

◆ zero_byte_low

uint64 zero_byte_low

Definition at line 266 of file hashfn_unstable.h.

Referenced by for(), and if().