PostgreSQL Source Code git master
|
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 |
#define FH_SIZEOF_ACCUM sizeof(uint64) |
Definition at line 103 of file hashfn_unstable.h.
#define firstbyte64 | ( | v | ) | ((v) & 0xFF) |
Definition at line 226 of file hashfn_unstable.h.
#define haszero64 | ( | v | ) | (((v) - 0x0101010101010101) & ~(v) & 0x8080808080808080) |
Definition at line 219 of file hashfn_unstable.h.
typedef struct fasthash_state fasthash_state |
Assert | ( | PointerIsAligned(start, uint64) | ) |
Referenced by fasthash_accum(), and fasthash_accum_cstring().
Definition at line 428 of file hashfn_unstable.h.
References fasthash64(), fasthash_reduce32(), and len.
Referenced by pgstat_hash_hash_key().
Definition at line 406 of file hashfn_unstable.h.
References fasthash_accum(), fasthash_final64(), fasthash_init(), FH_SIZEOF_ACCUM, fasthash_state::hash, and len.
Referenced by fasthash32().
|
inlinestatic |
Definition at line 138 of file hashfn_unstable.h.
References fasthash_state::accum, Assert(), fasthash_combine(), FH_SIZEOF_ACCUM, and len.
Referenced by fasthash64(), and fasthash_accum_cstring_unaligned().
|
inlinestatic |
Definition at line 335 of file hashfn_unstable.h.
References Assert(), fasthash_accum_cstring_unaligned(), fasthash_state::hash, len, PointerIsAligned, and str.
Referenced by hash_string(), and spcachekey_hash().
|
inlinestatic |
Definition at line 233 of file hashfn_unstable.h.
References fasthash_accum(), FH_SIZEOF_ACCUM, start, and str.
Referenced by fasthash_accum_cstring().
|
inlinestatic |
Definition at line 130 of file hashfn_unstable.h.
References fasthash_state::accum, fasthash_mix(), and fasthash_state::hash.
Referenced by fasthash_accum(), for(), if(), and spcachekey_hash().
|
inlinestatic |
Definition at line 394 of file hashfn_unstable.h.
References fasthash_final64(), and fasthash_reduce32().
Referenced by hash_string(), and spcachekey_hash().
|
inlinestatic |
Definition at line 371 of file hashfn_unstable.h.
References fasthash_mix(), and fasthash_state::hash.
Referenced by fasthash64(), and fasthash_final32().
|
inlinestatic |
Definition at line 112 of file hashfn_unstable.h.
References fasthash_state::hash.
Referenced by fasthash64(), hash_string(), and spcachekey_hash().
Definition at line 120 of file hashfn_unstable.h.
Referenced by fasthash_combine(), and fasthash_final64().
Definition at line 383 of file hashfn_unstable.h.
Referenced by fasthash32(), and fasthash_final32().
for | ( | ;; | ) |
Definition at line 283 of file hashfn_unstable.h.
References chunk, fasthash_combine(), FH_SIZEOF_ACCUM, haszero64, pg_bswap64(), str, and zero_byte_low.
Referenced by _bt_advance_array_keys_increment(), _bt_check_compare(), _bt_rewind_nonrequired_arrays(), _PrepParallelRestore(), alloc_pool(), array_subscript_check_subscripts(), collectMatchesForHeapRow(), ConstraintImpliedByRelConstraint(), dependency_degree(), free_pool(), gimme_tree(), gistSplit(), gistSplitByKey(), hashagg_spill_init(), heap_deform_tuple(), miss(), parse_one_reloption(), pg_regexec(), printTableCleanup(), removeabbrev_cluster(), removeabbrev_index(), slot_deform_heap_tuple_internal(), startScan(), startScanKey(), statext_mcv_build(), system_nextsampleblock(), text_position_setup(), tzloadbody(), XLogRegisterBlock(), and XLogRegisterBuffer().
|
inlinestatic |
Definition at line 437 of file hashfn_unstable.h.
References fasthash_accum_cstring(), fasthash_final32(), and fasthash_init().
if | ( | firstbyte64(chunk) ! | = 0 | ) |
Definition at line 300 of file hashfn_unstable.h.
References BITS_PER_BYTE, chunk, fasthash_combine(), FH_SIZEOF_ACCUM, pg_rightmost_one_pos64(), str, and zero_byte_low.
pg_attribute_no_sanitize_address | ( | ) |
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(), escape_json_with_len(), 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_private_iterate(), and tbm_shared_iterate().
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_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(), 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().
const char* 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_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(), DecodeISO8601Interval(), DecodeNumber(), DecodeNumberField(), DecodePosixTimezone(), DecodeTextArrayToBitmapset(), DecodeTime(), DecodeTimeCommon(), DecodeTimeForInterval(), DecodeTimezone(), DecodeTimezoneAbbrevPrefix(), dectoasc(), defGetStringList(), 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(), EncodeDateTime(), EncodeInterval(), EncodeSpecialDate(), EncodeSpecialInterval(), EncodeSpecialTimestamp(), EncodeTimeOnly(), EncodeTimezone(), enlargePQExpBuffer(), enlargeStringInfo(), err_generic_string(), err_gettext(), err_sendstring(), errdetail_params(), escape_json(), escape_json_text(), escape_json_with_len(), 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(), hstore_to_json_loose(), if(), 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(), 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(), parsejsonpath(), 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(), 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(), 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(), 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(), wait_result_to_str(), widget_in(), widget_out(), writeNodeArray(), xid8in(), xidin(), xml_out_internal(), xml_recv(), xmlconcat(), xmlelement(), xmlroot(), XmlTableGetValue(), XmlTableSetDocument(), and xmltotext_with_options().
uint64 zero_byte_low |
Definition at line 266 of file hashfn_unstable.h.