
# 内部函数
GaussDB中下列函数使用了内部数据类型，用户无法直接调用，在此章节列出。
- 选择率计算函数
  
  |   areajoinsel    |     areasel     | arraycontjoinsel |  arraycontsel  |  contjoinsel   |     contsel      |  eqjoinsel   |
  |---|---|---|---|---|---|---|
  | eqsel            | iclikejoinsel   | iclikesel        | icnlikejoinsel | icnlikesel     | icregexeqjoinsel | icregexeqsel |
  | icregexnejoinsel | icregexnesel    | likejoinsel      | likesel        | neqjoinsel     | neqsel           | nlikejoinsel |
  | nlikesel         | positionjoinsel | positionsel      | regexeqjoinsel | regexeqsel     | regexnejoinsel   | regexnesel   |
  | scalargtjoinsel  | scalargtsel     | scalarltjoinsel  | scalarltsel    | tsmatchjoinsel | tsmatchsel       | -            |
     
  
- 统计信息收集函数
  
  | array_typanalyze | range_typanalyze | ts_typanalyze |
  |---|---|---|
  | local_rto_stat   | remote_rto_stat  | -             |
     
  
- 排序内部功能函数
  
  | bpchar_sortsupport | bytea_sortsupport | date_sortsupport | numeric_sortsupport | timestamp_sortsupport |
  |---|---|---|---|---|
     
  
- 内部类型处理函数
  
  |            abstimerecv            |  euc_jis_2004_to_utf8   |       int2recv       |       line_recv       |      oidvectorrecv_extend      |       tidrecv        |      utf8_to_koi8u       |
  |---|---|---|---|---|---|---|
  | anyarray_recv                     | euc_jp_to_mic           | int2vectorrecv       | lseg_recv             | path_recv                      | time_recv            | utf8_to_shift_jis_2004   |
  | array_recv                        | euc_jp_to_sjis          | int4recv             | macaddr_recv          | pg_node_tree_recv              | time_transform       | utf8_to_sjis             |
  | ascii_to_mic                      | euc_jp_to_utf8          | int8recv             | mic_to_ascii          | point_recv                     | timestamp_recv       | utf8_to_uhc              |
  | ascii_to_utf8                     | euc_kr_to_mic           | internal_out         | mic_to_big5           | poly_recv                      | timestamp_transform  | utf8_to_win              |
  | big5_to_euc_tw                    | euc_kr_to_utf8          | interval_recv        | mic_to_euc_cn         | pound_nexttoken                | timestamptz_recv     | uuid_recv                |
  | big5_to_mic                       | euc_tw_to_big5          | interval_transform   | mic_to_euc_jp         | prsd_nexttoken                 | timetz_recv          | varbit_recv              |
  | big5_to_utf8                      | euc_tw_to_mic           | iso_to_koi8r         | mic_to_euc_kr         | range_recv                     | tintervalrecv        | varbit_transform         |
  | bit_recv                          | euc_tw_to_utf8          | iso_to_mic           | mic_to_euc_tw         | rawrecv                        | tsqueryrecv          | varchar_transform        |
  | boolrecv                          | float4recv              | iso_to_win1251       | mic_to_iso            | record_recv                    | tsvectorrecv         | varcharrecv              |
  | box_recv                          | float8recv              | iso_to_win866        | mic_to_koi8r          | regclassrecv                   | txid_snapshot_recv   | void_recv                |
  | bpcharrecv                        | gb18030_to_utf8         | iso8859_1_to_utf8    | mic_to_latin1         | regconfigrecv                  | uhc_to_utf8          | win_to_utf8              |
  | btoidsortsupport                  | gbk_to_utf8             | iso8859_to_utf8      | mic_to_latin2         | regdictionaryrecv              | unknownrecv          | win1250_to_latin2        |
  | bytearecv                         | gin_extract_tsvector    | johab_to_utf8        | mic_to_latin3         | regoperatorrecv                | utf8_to_ascii        | win1250_to_mic           |
  | byteawithoutorderwithequalcolrecv | gtsvector_compress      | json_recv            | mic_to_latin4         | regoperrecv                    | utf8_to_big5         | win1251_to_iso           |
  | cash_recv                         | gtsvector_consistent    | koi8r_to_iso         | mic_to_sjis           | regprocedurerecv               | utf8_to_euc_cn       | win1251_to_koi8r         |
  | charrecv                          | gtsvector_decompress    | koi8r_to_mic         | mic_to_win1250        | regprocrecv                    | utf8_to_euc_jis_2004 | win1251_to_mic           |
  | cidr_recv                         | gtsvector_penalty       | koi8r_to_utf8        | mic_to_win1251        | regtyperecv                    | utf8_to_euc_jp       | win1251_to_win866        |
  | cidrecv                           | gtsvector_picksplit     | koi8r_to_win1251     | mic_to_win866         | reltimerecv                    | utf8_to_euc_kr       | win866_to_iso            |
  | circle_recv                       | gtsvector_same          | koi8r_to_win866      | namerecv              | shift_jis_2004_to_euc_jis_2004 | utf8_to_euc_tw       | win866_to_koi8r          |
  | cstring_recv                      | gtsvector_union         | koi8u_to_utf8        | ngram_nexttoken       | shift_jis_2004_to_utf8         | utf8_to_gb18030      | win866_to_mic            |
  | date_recv                         | hll_recv                | latin1_to_mic        | numeric_recv          | sjis_to_euc_jp                 | utf8_to_gbk          | win866_to_win1251        |
  | domain_recv                       | hll_trans_recv          | latin2_to_mic        | numeric_transform     | sjis_to_mic                    | utf8_to_iso8859      | xidrecv                  |
  | euc_cn_to_mic                     | large_seq_upgrade_ntree | latin2_to_win1250    | nvarchar2recv         | sjis_to_utf8                   | utf8_to_iso8859_1    | xidrecv4                 |
  | euc_cn_to_utf8                    | inet_recv               | latin3_to_mic        | oidrecv               | smalldatetime_recv             | utf8_to_johab        | xml_recv                 |
  | euc_jis_2004_to_shift_jis_2004    | int1recv                | latin4_to_mic        | oidvectorrecv         | textrecv                       | utf8_to_koi8r        | cstore_tid_out           |
  | numeric_bool                      | int2vectorin_extend     | int2vectorout_extend | int2vectorrecv_extend | int2vectorsend_extend          | int8_accum           | large_seq_rollback_ntree |
  | i16toi1                           | int16eq                 | int16ge              | int16gt               | int16in                        | int16le              | int16lt                  |
  | int16mi                           | int16mul                | int16ne              | int16out              | int16pl                        | int16recv            | int16send                |
  | int16_bool                        | -                       | -                    | -                     | -                              | -                    | -                        |
     
  
- 聚合操作内部函数
  
  |          array_agg_finalfn          |       array_agg_transfn        |     bytea_string_agg_finalfn     |   bytea_string_agg_transfn   |                                     date_list_agg_noarg2_transfn                                     |       date_list_agg_transfn       | float4_list_agg_noarg2_transfn |
  |---|---|---|---|---|---|---|
  | float4_list_agg_transfn             | float8_list_agg_noarg2_transfn | float8_list_agg_transfn          | int2_list_agg_noarg2_transfn | int2_list_agg_transfn                                                                                | int4_list_agg_noarg2_transfn      | int4_list_agg_transfn          |
  | int8_list_agg_noarg2_transfn        | int8_list_agg_transfn          | interval_list_agg_noarg2_transfn | interval_list_agg_transfn    | list_agg_finalfn                                                                                     | list_agg_noarg2_transfn           | list_agg_transfn               |
  | median                              | median_float8_finalfn          | median_interval_finalfn          | median_transfn               | mode_final                                                                                           | numeric_list_agg_noarg2_transfn   | numeric_list_agg_transfn       |
  | ordered_set_transition              | percentile_cont_float8_final   | percentile_cont_interval_final   | string_agg_finalfn           | string_agg_transfn                                                                                   | timestamp_list_agg_noarg2_transfn | timestamp_list_agg_transfn     |
  | timestamptz_list_agg_noarg2_transfn | timestamptz_list_agg_transfn   | checksumtext_agg_transfn         | json_agg_transfn             | json_agg_finalfn  | json_object_agg_transfn           | json_object_agg_finalfn        |
     
  
- 哈希内部功能函数
  
  | hashbeginscan | hashbuild  | hashbuildempty | hashbulkdelete | hashcostestimate | hashendscan  |   hashgetbitmap   |
  |---|---|---|---|---|---|---|
  | hashgettuple  | hashinsert | hashmarkpos    | hashmerge      | hashrescan       | hashrestrpos | hashvacuumcleanup |
  | hashvarlena   | jsonb_hash | -              | -              | -                | -            | -                 |
     
  
- Btree索引内部功能函数
  
  | cbtreebuild  |  cbtreecanreturn  | cbtreecostestimate |  cbtreegetbitmap  |  cbtreegettuple   |     btbeginscan     |       btbuild       |
  |---|---|---|---|---|---|---|
  | btbuildempty | btbulkdelete      | btcanreturn        | btcostestimate    | btendscan         | btfloat4sortsupport | btfloat8sortsupport |
  | btgetbitmap  | btgettuple        | btinsert           | btint2sortsupport | btint4sortsupport | btint8sortsupport   | btmarkpos           |
  | btmerge      | btnamesortsupport | btrescan           | btrestrpos        | bttextsortsupport | btvacuumcleanup     | cbtreeoptions       |
     
  
- Psort索引内部函数
  
  | psortbuild | psortcanreturn | psortcostestimate | psortgetbitmap | psortgettuple |
  |---|---|---|---|---|
     
  
- Ubtree索引内部函数
  
  |   ubtbeginscan   |  ubtbuild  | ubtbuildempty | ubtbulkdelete | ubtcanreturn |
  |---|---|---|---|---|
  | ubtcostestimate  | ubtendscan | ubtgetbitmap  | ubtgettuple   | ubtinsert    |
  | ubtmarkpos       | ubtmerge   | ubtoptions    | ubtrescan     | ubtrestrpos  |
  | ubtvacuumcleanup | -          | -             | -             | -            |
     
  
- plpgsql内部函数 plpgsql_inline_handler
  
- 外表相关内部函数
  
  | dist_fdw_handler |  roach_handler   | streaming_fdw_handler | dist_fdw_validator | file_fdw_handler | file_fdw_validator | log_fdw_handler |
  |---|---|---|---|---|---|---|
  | gc_fdw_handler   | gc_fdw_validator | -                     | -                  | -                | -                  | -               |
     
  
- 数据倾斜优化相关内部函数 distributed_count
  
- 表统计信息相关内部函数
  
  | pgxc_get_stat_dirty_tables | pgxc_stat_dirty_tables | get_global_stat_all_tables | get_summary_stat_all_tables |
  |---|---|---|---|
     
  
- 远程读取数据函数 gs_read_block_from_remote 用于读取非段页式表文件的页面。默认只有初始化用户可以查看，其余用户需要赋权后才可以使用。
  gs_read_segment_block_from_remote 用于读取段页式表文件的页面。默认只有初始化用户可以查看，其余用户需要赋权后才可以使用。
  
- 远程读取文件函数 gs_read_file_size_from_remote 用于读取指定文件的大小，gs_repair_file函数修复文件时，要先获取远端关于这个文件的大小，用于校验本地文件缺失的文件信息，然后将缺失的文件逐个修复。默认只有初始化用户可以查看，其余用户需要赋权后才可以使用。
  gs_read_file_from_remote 用于读取指定的文件，gs_repair_file利用gs_read_file_size_from_remote函数获取文件大小后，依赖这个函数将远端文件逐段读取。默认只有初始化用户可以查看，其余用户需要赋权后才可以使用。
  
- 视图相关引用函数 adm_hist_sqlstat_func
  adm_hist_sqlstat_idlog_func
  
 
