PostgreSQL Source Code  git master
generate_unaccent_rules Namespace Reference

Data Structures

class  Codepoint
 

Functions

def bytes (source, encoding='ascii', errors='strict')
 
def print_record (codepoint, letter)
 
def is_mark_to_remove (codepoint)
 
def is_plain_letter (codepoint)
 
def is_mark (codepoint)
 
def is_letter_with_marks (codepoint, table)
 
def is_letter (codepoint, table)
 
def get_plain_letter (codepoint, table)
 
def is_ligature (codepoint, table)
 
def get_plain_letters (codepoint, table)
 
def parse_cldr_latin_ascii_transliterator (latinAsciiFilePath)
 
def special_cases ()
 
def main (args)
 

Variables

 stdout
 
 chr = unichr
 
tuple PLAIN_LETTER_RANGES
 
tuple COMBINING_MARK_RANGES
 
 parser = argparse.ArgumentParser(description='This script builds unaccent.rules on standard output when given the contents of UnicodeData.txt and Latin-ASCII.xml given as arguments.')
 
 help
 
 type
 
 str
 
 required
 
 True
 
 dest
 
 action
 
 args = parser.parse_args()
 

Function Documentation

◆ bytes()

def generate_unaccent_rules.bytes (   source,
  encoding = 'ascii',
  errors = 'strict' 
)

Definition at line 46 of file generate_unaccent_rules.py.

Referenced by array_get_slice(), bn_to_mpi(), chr(), decoct(), dir_open_for_write(), fillTrgm(), ginCompressPostingList(), mp_int_binary_len(), mp_int_unsigned_len(), mp_px_rand(), parse_cldr_latin_ascii_transliterator(), pg_rightmost_one_pos64(), pg_signal_dispatch_thread(), PLyUnicode_Bytes(), SPI_sql_row_to_xmlelement(), and tar_write_padding_data().

46  def bytes(source, encoding='ascii', errors='strict'):
47  return source.encode(encoding=encoding, errors=errors)
48 # END: Python 2/3 compatibility - remove when Python 2 compatibility dropped
49 
def bytes(source, encoding='ascii', errors='strict')

◆ get_plain_letter()

def generate_unaccent_rules.get_plain_letter (   codepoint,
  table 
)
Return the base codepoint without marks. If this codepoint has more
than one combining character, do a recursive lookup on the table to
find out its plain base letter.

Definition at line 136 of file generate_unaccent_rules.py.

References assert, is_letter_with_marks(), and is_plain_letter().

Referenced by get_plain_letters(), and main().

136 def get_plain_letter(codepoint, table):
137  """Return the base codepoint without marks. If this codepoint has more
138  than one combining character, do a recursive lookup on the table to
139  find out its plain base letter."""
140  if is_letter_with_marks(codepoint, table):
141  if len(table[codepoint.combining_ids[0]].combining_ids) > 1:
142  return get_plain_letter(table[codepoint.combining_ids[0]], table)
143  elif is_plain_letter(table[codepoint.combining_ids[0]]):
144  return table[codepoint.combining_ids[0]]
145 
146  # Should not come here
147  assert(False)
148  elif is_plain_letter(codepoint):
149  return codepoint
150 
151  # Should not come here
152  assert(False)
153 
#define assert(TEST)
Definition: imath.c:73
def get_plain_letter(codepoint, table)
def is_letter_with_marks(codepoint, table)

◆ get_plain_letters()

def generate_unaccent_rules.get_plain_letters (   codepoint,
  table 
)
Return a list of plain letters from a ligature.

Definition at line 158 of file generate_unaccent_rules.py.

References assert, get_plain_letter(), and is_ligature().

Referenced by main().

158 def get_plain_letters(codepoint, table):
159  """Return a list of plain letters from a ligature."""
160  assert(is_ligature(codepoint, table))
161  return [get_plain_letter(table[id], table) for id in codepoint.combining_ids]
162 
def is_ligature(codepoint, table)
def get_plain_letters(codepoint, table)
#define assert(TEST)
Definition: imath.c:73
def get_plain_letter(codepoint, table)

◆ is_letter()

def generate_unaccent_rules.is_letter (   codepoint,
  table 
)
Return true for letter with or without diacritical marks.

Definition at line 132 of file generate_unaccent_rules.py.

References is_letter_with_marks(), and is_plain_letter().

Referenced by is_ligature().

132 def is_letter(codepoint, table):
133  """Return true for letter with or without diacritical marks."""
134  return is_plain_letter(codepoint) or is_letter_with_marks(codepoint, table)
135 
def is_letter_with_marks(codepoint, table)
def is_letter(codepoint, table)

◆ is_letter_with_marks()

def generate_unaccent_rules.is_letter_with_marks (   codepoint,
  table 
)
Returns true for letters combined with one or more marks.

Definition at line 111 of file generate_unaccent_rules.py.

References is_mark(), and is_plain_letter().

Referenced by get_plain_letter(), is_letter(), and main().

111 def is_letter_with_marks(codepoint, table):
112  """Returns true for letters combined with one or more marks."""
113  # See http://www.unicode.org/reports/tr44/tr44-14.html#General_Category_Values
114 
115  # Letter may have no combining characters, in which case it has
116  # no marks.
117  if len(codepoint.combining_ids) == 1:
118  return False
119 
120  # A letter without diacritical marks has none of them.
121  if any(is_mark(table[i]) for i in codepoint.combining_ids[1:]) is False:
122  return False
123 
124  # Check if the base letter of this letter has marks.
125  codepoint_base = codepoint.combining_ids[0]
126  if (is_plain_letter(table[codepoint_base]) is False and \
127  is_letter_with_marks(table[codepoint_base], table) is False):
128  return False
129 
130  return True
131 
def is_letter_with_marks(codepoint, table)

◆ is_ligature()

def generate_unaccent_rules.is_ligature (   codepoint,
  table 
)
Return true for letters combined with letters.

Definition at line 154 of file generate_unaccent_rules.py.

References is_letter().

Referenced by get_plain_letters(), and main().

154 def is_ligature(codepoint, table):
155  """Return true for letters combined with letters."""
156  return all(is_letter(table[i], table) for i in codepoint.combining_ids)
157 
def is_ligature(codepoint, table)
def is_letter(codepoint, table)

◆ is_mark()

def generate_unaccent_rules.is_mark (   codepoint)
Returns true for diacritical marks (combining codepoints).

Definition at line 107 of file generate_unaccent_rules.py.

Referenced by is_letter_with_marks(), and is_mark_to_remove().

107 def is_mark(codepoint):
108  """Returns true for diacritical marks (combining codepoints)."""
109  return codepoint.general_category in ("Mn", "Me", "Mc")
110 

◆ is_mark_to_remove()

def generate_unaccent_rules.is_mark_to_remove (   codepoint)
Return true if this is a combining mark to remove.

Definition at line 90 of file generate_unaccent_rules.py.

References is_mark().

Referenced by main().

90 def is_mark_to_remove(codepoint):
91  """Return true if this is a combining mark to remove."""
92  if not is_mark(codepoint):
93  return False
94 
95  for begin, end in COMBINING_MARK_RANGES:
96  if codepoint.id >= begin and codepoint.id <= end:
97  return True
98  return False
99 

◆ is_plain_letter()

def generate_unaccent_rules.is_plain_letter (   codepoint)
Return true if codepoint represents a "plain letter".

Definition at line 100 of file generate_unaccent_rules.py.

Referenced by get_plain_letter(), is_letter(), and is_letter_with_marks().

100 def is_plain_letter(codepoint):
101  """Return true if codepoint represents a "plain letter"."""
102  for begin, end in PLAIN_LETTER_RANGES:
103  if codepoint.id >= begin and codepoint.id <= end:
104  return True
105  return False
106 

◆ main()

def generate_unaccent_rules.main (   args)

Definition at line 225 of file generate_unaccent_rules.py.

References get_plain_letter(), get_plain_letters(), is_letter_with_marks(), is_ligature(), is_mark_to_remove(), parse_cldr_latin_ascii_transliterator(), print_record(), and special_cases().

225 def main(args):
226  # http://www.unicode.org/reports/tr44/tr44-14.html#Character_Decomposition_Mappings
227  decomposition_type_pattern = re.compile(" *<[^>]*> *")
228 
229  table = {}
230  all = []
231 
232  # unordered set for ensure uniqueness
233  charactersSet = set()
234 
235  # read file UnicodeData.txt
236  unicodeDataFile = open(args.unicodeDataFilePath, 'r')
237 
238  # read everything we need into memory
239  for line in unicodeDataFile:
240  fields = line.split(";")
241  if len(fields) > 5:
242  # http://www.unicode.org/reports/tr44/tr44-14.html#UnicodeData.txt
243  general_category = fields[2]
244  decomposition = fields[5]
245  decomposition = re.sub(decomposition_type_pattern, ' ', decomposition)
246  id = int(fields[0], 16)
247  combining_ids = [int(s, 16) for s in decomposition.split(" ") if s != ""]
248  codepoint = Codepoint(id, general_category, combining_ids)
249  table[id] = codepoint
250  all.append(codepoint)
251 
252  # walk through all the codepoints looking for interesting mappings
253  for codepoint in all:
254  if codepoint.general_category.startswith('L') and \
255  len(codepoint.combining_ids) > 1:
256  if is_letter_with_marks(codepoint, table):
257  charactersSet.add((codepoint.id,
258  chr(get_plain_letter(codepoint, table).id)))
259  elif args.noLigaturesExpansion is False and is_ligature(codepoint, table):
260  charactersSet.add((codepoint.id,
261  "".join(chr(combining_codepoint.id)
262  for combining_codepoint \
263  in get_plain_letters(codepoint, table))))
264  elif is_mark_to_remove(codepoint):
265  charactersSet.add((codepoint.id, None))
266 
267  # add CLDR Latin-ASCII characters
268  if not args.noLigaturesExpansion:
269  charactersSet |= parse_cldr_latin_ascii_transliterator(args.latinAsciiFilePath)
270  charactersSet |= special_cases()
271 
272  # sort for more convenient display
273  charactersList = sorted(charactersSet, key=lambda characterPair: characterPair[0])
274 
275  for characterPair in charactersList:
276  print_record(characterPair[0], characterPair[1])
277 
def is_ligature(codepoint, table)
def get_plain_letters(codepoint, table)
def parse_cldr_latin_ascii_transliterator(latinAsciiFilePath)
def print_record(codepoint, letter)
def get_plain_letter(codepoint, table)
def is_letter_with_marks(codepoint, table)

◆ parse_cldr_latin_ascii_transliterator()

def generate_unaccent_rules.parse_cldr_latin_ascii_transliterator (   latinAsciiFilePath)
Parse the XML file and return a set of tuples (src, trg), where "src"
is the original character and "trg" the substitute.

Definition at line 163 of file generate_unaccent_rules.py.

References assert, and bytes().

Referenced by main().

163 def parse_cldr_latin_ascii_transliterator(latinAsciiFilePath):
164  """Parse the XML file and return a set of tuples (src, trg), where "src"
165  is the original character and "trg" the substitute."""
166  charactersSet = set()
167 
168  # RegEx to parse rules
169  rulePattern = re.compile(r'^(?:(.)|(\\u[0-9a-fA-F]{4})) \u2192 (?:\'(.+)\'|(.+)) ;')
170 
171  # construct tree from XML
172  transliterationTree = ET.parse(latinAsciiFilePath)
173  transliterationTreeRoot = transliterationTree.getroot()
174 
175  # Fetch all the transliteration rules. Since release 29 of Latin-ASCII.xml
176  # all the transliteration rules are located in a single tRule block with
177  # all rules separated into separate lines.
178  blockRules = transliterationTreeRoot.findall("./transforms/transform/tRule")
179  assert(len(blockRules) == 1)
180 
181  # Split the block of rules into one element per line.
182  rules = blockRules[0].text.splitlines()
183 
184  # And finish the processing of each individual rule.
185  for rule in rules:
186  matches = rulePattern.search(rule)
187 
188  # The regular expression capture four groups corresponding
189  # to the characters.
190  #
191  # Group 1: plain "src" char. Empty if group 2 is not.
192  # Group 2: unicode-escaped "src" char (e.g. "\u0110"). Empty if group 1 is not.
193  #
194  # Group 3: plain "trg" char. Empty if group 4 is not.
195  # Group 4: plain "trg" char between quotes. Empty if group 3 is not.
196  if matches is not None:
197  src = matches.group(1) if matches.group(1) is not None else bytes(matches.group(2), 'UTF-8').decode('unicode-escape')
198  trg = matches.group(3) if matches.group(3) is not None else matches.group(4)
199 
200  # "'" and """ are escaped
201  trg = trg.replace("\\'", "'").replace('\\"', '"')
202 
203  # the parser of unaccent only accepts non-whitespace characters
204  # for "src" and "trg" (see unaccent.c)
205  if not src.isspace() and not trg.isspace():
206  charactersSet.add((ord(src), trg))
207 
208  return charactersSet
209 
def bytes(source, encoding='ascii', errors='strict')
#define assert(TEST)
Definition: imath.c:73
def parse_cldr_latin_ascii_transliterator(latinAsciiFilePath)

◆ print_record()

def generate_unaccent_rules.print_record (   codepoint,
  letter 
)

Definition at line 76 of file generate_unaccent_rules.py.

References print().

Referenced by main().

76 def print_record(codepoint, letter):
77  if letter:
78  output = chr(codepoint) + "\t" + letter
79  else:
80  output = chr(codepoint)
81 
82  print(output)
83 
void print(const void *obj)
Definition: print.c:36
def print_record(codepoint, letter)

◆ special_cases()

def generate_unaccent_rules.special_cases ( )
Returns the special cases which are not handled by other methods

Definition at line 210 of file generate_unaccent_rules.py.

Referenced by main().

210 def special_cases():
211  """Returns the special cases which are not handled by other methods"""
212  charactersSet = set()
213 
214  # Cyrillic
215  charactersSet.add((0x0401, u"\u0415")) # CYRILLIC CAPITAL LETTER IO
216  charactersSet.add((0x0451, u"\u0435")) # CYRILLIC SMALL LETTER IO
217 
218  # Symbols of "Letterlike Symbols" Unicode Block (U+2100 to U+214F)
219  charactersSet.add((0x2103, u"\xb0C")) # DEGREE CELSIUS
220  charactersSet.add((0x2109, u"\xb0F")) # DEGREE FAHRENHEIT
221  charactersSet.add((0x2117, "(P)")) # SOUND RECORDING COPYRIGHT
222 
223  return charactersSet
224 

Variable Documentation

◆ action

◆ args

generate_unaccent_rules.args = parser.parse_args()

Definition at line 283 of file generate_unaccent_rules.py.

Referenced by _copyAggref(), _copyBoolExpr(), _copyCaseExpr(), _copyCoalesceExpr(), _copyCreateTrigStmt(), _copyDefineStmt(), _copyDistinctExpr(), _copyDoStmt(), _copyFuncCall(), _copyFuncExpr(), _copyGroupingFunc(), _copyMinMaxExpr(), _copyNullIfExpr(), _copyOpExpr(), _copyRangeTableSample(), _copyRowExpr(), _copyScalarArrayOpExpr(), _copySubPlan(), _copyTableSampleClause(), _copyVariableSetStmt(), _copyWindowFunc(), _copyXmlExpr(), _equalAggref(), _equalBoolExpr(), _equalCaseExpr(), _equalCoalesceExpr(), _equalCreateTrigStmt(), _equalDefineStmt(), _equalDistinctExpr(), _equalDoStmt(), _equalFuncCall(), _equalFuncExpr(), _equalGroupingFunc(), _equalMinMaxExpr(), _equalNullIfExpr(), _equalOpExpr(), _equalRangeTableSample(), _equalRowExpr(), _equalScalarArrayOpExpr(), _equalSubPlan(), _equalTableSampleClause(), _equalVariableSetStmt(), _equalWindowFunc(), _equalXmlExpr(), _int_matchsel(), _outAggref(), _outBoolExpr(), _outCaseExpr(), _outCoalesceExpr(), _outDistinctExpr(), _outFuncCall(), _outFuncExpr(), _outGroupingFunc(), _outMinMaxExpr(), _outNullIfExpr(), _outOpExpr(), _outRangeTableSample(), _outRowExpr(), _outScalarArrayOpExpr(), _outSubPlan(), _outTableSampleClause(), _outWindowFunc(), _outXmlExpr(), _readAggref(), _readBoolExpr(), _readCaseExpr(), _readCoalesceExpr(), _readDistinctExpr(), _readFuncExpr(), _readGroupingFunc(), _readMinMaxExpr(), _readNullIfExpr(), _readOpExpr(), _readRowExpr(), _readScalarArrayOpExpr(), _readSubPlan(), _readTableSampleClause(), _readWindowFunc(), _readXmlExpr(), ahprintf(), appendPQExpBuffer(), appendStringInfo(), archprintf(), array_unnest_support(), arraycontsel(), autoinc(), build_aggregate_combinefn_expr(), build_aggregate_deserialfn_expr(), build_aggregate_finalfn_expr(), build_aggregate_serialfn_expr(), build_aggregate_transfn_expr(), build_coercion_expression(), check_agg_arguments(), check_agglevels_and_constraints(), check_foreign_key(), check_hashjoinable(), check_mergejoinable(), check_primary_key(), clause_selectivity(), clauselist_selectivity_simple(), coerce_record_to_complex(), count_rowexpr_columns(), CreateTrigger(), does_not_exist_skipping(), ECPGclose(), ECPGdescribe(), ECPGdo(), ECPGfetch(), ECPGget_desc(), ECPGopen(), ECPGset_desc(), eqjoinsel(), eqsel_internal(), error(), eval_const_expressions_mutator(), evalStandardFunc(), evaluate_function(), ExecEvalFuncExprStrictFusage(), ExecInterpExpr(), ExecJustApplyFuncToCase(), executeQueryOrDie(), expand_function_arguments(), expression_tree_walker(), find_duplicate_ors(), flushbuffer(), FuncnameGetCandidates(), function_selectivity(), gen_partprune_steps_internal(), generate_series_int4_support(), generate_series_int8_support(), get_call_expr_arg_stable(), get_call_expr_argtype(), get_from_clause_item(), get_notclausearg(), get_oper_expr(), get_qual_for_hash(), get_rule_expr(), get_simple_binary_op_name(), inline_function(), insert_username(), isSimpleNode(), json_build_array(), json_build_object(), jsonb_build_array(), jsonb_build_object(), JumbleExpr(), llvm_compile_expr(), lo_manage(), ltreeparentsel(), make_jsp_entry_node(), make_jsp_expr_node(), make_op(), make_restrictinfo_internal(), make_scalar_array_op(), make_sub_restrictinfos(), makeBoolExpr(), makeFuncCall(), makeFuncExpr(), match_clause_to_partition_key(), MemoryContextSwitchTo(), moddatetime(), neqjoinsel(), networkjoinsel(), networksel(), parallel_exec_prog(), parallel_transfer_all_new_dbs(), patternsel(), pg_fatal(), pg_fprintf(), pg_get_object_address(), pg_get_ruledef_worker(), pg_get_viewdef_worker(), pg_identify_object_as_address(), pg_log(), pg_printf(), pg_snprintf(), pg_sprintf(), PLy_exception_set_with_details(), PLy_function_build_args(), PLy_generate_spi_exceptions(), PLy_spi_exception_set(), pqInternalNotice(), prep_status(), printfPQExpBuffer(), process_sublinks_mutator(), psprintf(), psql_command(), pull_ands(), pull_ors(), pull_up_sublinks_qual_recurse(), rangesel(), raw_expression_tree_walker(), reorder_function_arguments(), report_invalid_record(), report_status(), scalararraysel(), scalarineqsel_wrapper(), SetWALFileNameForCleanup(), simplify_function(), substitute_actual_parameters(), substitute_actual_srf_parameters(), tarPrintf(), test_support_func(), testexpr_is_hashable(), transformAExprBetween(), transformAExprIn(), transformAExprOp(), transformBoolExpr(), transformCoalesceExpr(), transformFuncCall(), transformGroupingFunc(), transformMinMaxExpr(), tsmatchsel(), ttdummy(), and warning().

◆ chr

generate_unaccent_rules.chr = unichr

Definition at line 43 of file generate_unaccent_rules.py.

◆ COMBINING_MARK_RANGES

tuple generate_unaccent_rules.COMBINING_MARK_RANGES
Initial value:
1 = ((0x0300, 0x0362), # Mn: Accents, IPA
2  (0x20dd, 0x20E0), # Me: Symbols
3  (0x20e2, 0x20e4),)

Definition at line 72 of file generate_unaccent_rules.py.

◆ dest

generate_unaccent_rules.dest

Definition at line 280 of file generate_unaccent_rules.py.

Referenced by _SPI_execute_plan(), begin_tup_output_tupdesc(), BeginCopy(), big5_to_euc_tw(), big5_to_mic(), big5_to_utf8(), brin_copy_tuple(), compute_scalar_stats(), CreateQueryDesc(), CreateReplicationSlot(), euc_cn_to_mic(), euc_cn_to_utf8(), euc_jis_2004_to_shift_jis_2004(), euc_jis_2004_to_utf8(), euc_jp_to_mic(), euc_jp_to_sjis(), euc_jp_to_utf8(), euc_kr_to_mic(), euc_kr_to_utf8(), euc_tw_to_big5(), euc_tw_to_mic(), euc_tw_to_utf8(), exec_execute_message(), exec_replication_command(), exec_simple_query(), ExecCreateTableAs(), ExecRefreshMatView(), execute_sql_string(), ExplainOnePlan(), gb18030_to_utf8(), gbk_to_utf8(), hashline_number(), IdentifySystem(), iso8859_1_to_utf8(), iso8859_to_utf8(), iso_to_koi8r(), iso_to_mic(), iso_to_win1251(), iso_to_win866(), johab_to_utf8(), koi8r_to_iso(), koi8r_to_mic(), koi8r_to_utf8(), koi8r_to_win1251(), koi8r_to_win866(), koi8u_to_utf8(), latin1_to_mic(), latin2_to_mic(), latin2_to_win1250(), latin3_to_mic(), latin4_to_mic(), mic_to_big5(), mic_to_euc_cn(), mic_to_euc_jp(), mic_to_euc_kr(), mic_to_euc_tw(), mic_to_iso(), mic_to_koi8r(), mic_to_latin1(), mic_to_latin2(), mic_to_latin3(), mic_to_latin4(), mic_to_sjis(), mic_to_win1250(), mic_to_win1251(), mic_to_win866(), partition_bounds_copy(), pglz_decompress(), PortalRunSelect(), PostmasterMarkPIDForWorkerNotify(), postquel_start(), PQcopyResult(), printtup_create_DR(), process_pipe_input(), ProcessUtility(), sepgsql_utility_command(), shift_jis_2004_to_euc_jis_2004(), shift_jis_2004_to_utf8(), sjis_to_euc_jp(), sjis_to_mic(), sjis_to_utf8(), standard_ExecutorRun(), StartReplication(), store_coded_char(), str_numth(), uhc_to_utf8(), utf8_to_big5(), utf8_to_euc_cn(), utf8_to_euc_jis_2004(), utf8_to_euc_jp(), utf8_to_euc_kr(), utf8_to_euc_tw(), utf8_to_gb18030(), utf8_to_gbk(), utf8_to_iso8859(), utf8_to_iso8859_1(), utf8_to_johab(), utf8_to_koi8r(), utf8_to_koi8u(), utf8_to_shift_jis_2004(), utf8_to_sjis(), utf8_to_uhc(), utf8_to_win(), win1250_to_latin2(), win1250_to_mic(), win1251_to_iso(), win1251_to_koi8r(), win1251_to_mic(), win1251_to_win866(), win866_to_iso(), win866_to_koi8r(), win866_to_mic(), win866_to_win1251(), and win_to_utf8().

◆ help

generate_unaccent_rules.help

Definition at line 280 of file generate_unaccent_rules.py.

Referenced by helpSQL().

◆ parser

generate_unaccent_rules.parser = argparse.ArgumentParser(description='This script builds unaccent.rules on standard output when given the contents of UnicodeData.txt and Latin-ASCII.xml given as arguments.')

Definition at line 279 of file generate_unaccent_rules.py.

◆ PLAIN_LETTER_RANGES

tuple generate_unaccent_rules.PLAIN_LETTER_RANGES
Initial value:
1 = ((ord('a'), ord('z')), # Latin lower case
2  (ord('A'), ord('Z')), # Latin upper case
3  (0x03b1, 0x03c9), # GREEK SMALL LETTER ALPHA, GREEK SMALL LETTER OMEGA
4  (0x0391, 0x03a9))

Definition at line 59 of file generate_unaccent_rules.py.

◆ required

◆ stdout

generate_unaccent_rules.stdout

Definition at line 40 of file generate_unaccent_rules.py.

Referenced by _allocAH(), BeginCopyTo(), bootstrap_template1(), check_ok(), CloseArchive(), ClosePager(), cluster_all_databases(), create_data_directory(), create_xlog_or_symlink(), DebugFileOpen(), do_copy(), echo_hidden_command(), errfinish(), exec_command_echo(), exec_command_print(), exec_command_prompt(), exec_command_sf_sv(), exec_prog(), ExecQueryTuples(), ExecQueryUsingCursor(), fork_process(), generate_partitionwise_join_paths(), geqo(), get_control_data(), get_su_pwd(), gets_interactive(), handleCopyIn(), header(), helpSQL(), InitArchiveFmt_Custom(), InitArchiveFmt_Tar(), initialize_data_directory(), InteractiveBackend(), IsPagerNeeded(), log_pre_callback(), main(), MainLoop(), OpenPipeStream(), openQueryOutputFile(), PageOutput(), perform_spin_delay(), pg_log_generic_v(), pg_log_v(), pg_printf(), pg_regcomp(), pg_vprintf(), pipe_read_line(), plpgsql_dumptree(), popen_check(), pprint(), PQdisplayTuples(), PQprint(), print(), print_aligned_text(), print_aligned_vertical(), print_filemap(), print_msg(), PSQLexec(), ReceiveTarFile(), reindex_all_databases(), report_error_message(), report_multiple_error_messages(), run_permutation(), runPgDump(), SendQuery(), SetOutput(), setQFout(), setup_config(), spawn_process(), sql_exec(), start_postmaster(), startup_hacks(), status(), status_end(), stop_postmaster(), StreamLogicalLog(), SysLogger_Start(), SysLoggerMain(), test_config_settings(), test_file_descriptor_sync(), test_non_sync(), test_open_sync(), test_sync(), TopoSort(), update_spins_per_delay(), vacuum_one_database(), vacuumlo(), and writezone().

◆ str

generate_unaccent_rules.str

Definition at line 280 of file generate_unaccent_rules.py.

Referenced by _ShowOption(), appendByteaLiteral(), appendStringLiteral(), ArrayCount(), be_lo_from_bytea(), be_lo_put(), bitposition(), bits_to_text(), blowfish_setkey(), bmsToString(), boolin(), booltext(), box_in(), bpcharrecv(), bytealike(), byteanlike(), byteaoctetlen(), cash_in(), char2wchar(), check_recovery_target_time(), cidin(), circle_in(), circle_out(), citext_hash(), citext_hash_extended(), complex_in(), concat_internal(), conninfo_uri_decode(), cstring_in(), cstring_out(), cstring_recv(), cstring_send(), cube_in(), date_in(), DCH_to_char(), deccvasc(), DecodeDate(), DecodeISO8601Interval(), DecodePosixTimezone(), dectoasc(), defGetStringList(), dtcvasc(), ean13_in(), ecpg_build_params(), ecpg_get_data(), ecpg_store_input(), ECPGconnect(), ECPGdump_a_type(), EncodeInterval(), EncodeTimezone(), err_gettext(), ExecInterpExpr(), ExecuteSqlCommandBuf(), ExplainPrintSettings(), ExplainProperty(), ExplainPropertyList(), fetch_function_defaults(), fill_str(), fillTrgm(), find_word(), findchar(), findchar2(), flush_pipe_input(), flushbuffer(), format_node_dump(), func_get_detail(), generate_trgm_only(), generate_wildcard_trgm(), get_collation_actual_version(), get_str_from_var(), get_str_from_var_sci(), get_wildcard_part(), GetMessageEncoding(), int2int4_sum(), int8in(), interpret_func_parallel(), interpret_func_volatility(), interval_in(), is_an_int(), isbn_in(), ismn_in(), issn_in(), jsonb_object(), jsonb_object_two_arg(), jsonb_pretty(), jsonb_recv(), JsonbValue_to_SV(), jsonpath_recv(), libpqConnect(), line_in(), lowerstr_with_len(), lseg_in(), macaddr8_in(), macaddr_in(), main(), make_trigrams(), make_tsvector(), makeBitString(), makeCompoundFlags(), makeString(), map_sql_value_to_xml_value(), mb_strchr(), mp_int_read_cstring(), mp_int_sqrt(), mp_int_to_string(), mxid_to_string(), nameiclike(), nameicnlike(), namelike(), namenlike(), namerecv(), namestrcpy(), nodeToString(), NUM_cache(), numeric_in(), numeric_normalize(), numeric_out(), numeric_out_sci(), object_to_string(), pair_decode(), parse_args(), parse_hba_line(), parse_snapshot(), path_decode(), path_encode(), path_in(), pg_collation_actual_version(), pg_dependencies_out(), pg_get_expr_worker(), pg_get_function_arg_default(), pg_get_indexdef_worker(), pg_get_partkeydef_worker(), pg_lsn_in(), pg_ltostr(), pg_ltostr_zeropad(), pg_ndistinct_out(), pg_plan_query(), pg_rewrite_query(), pg_size_bytes(), pg_strerror_r(), pg_strfromd(), pg_vsnprintf(), pg_vsprintf(), PGTYPEStimestamp_defmt_scan(), placeChar(), plperl_sv_to_datum(), plperl_sv_to_literal(), plpgsql_scanner_init(), PLy_quote_ident(), PLy_quote_literal(), PLy_quote_nullable(), PLyBytes_FromBytea(), PLyDecimal_FromNumeric(), PLyNumber_ToJsonbValue(), PLyObject_FromJsonbValue(), PLyObject_ToScalar(), PLyString_ToComposite(), point_in(), poly_in(), populate_scalar(), pq_getmsgrawstring(), pq_getmsgstring(), pq_getmsgtext(), pq_sendint(), PQenv2encoding(), PQescapeInternal(), pretty_format_node_dump(), print_function_arguments(), printsimple(), process_pipe_input(), pset_quoted_string(), pts_error_callback(), quote_ident(), read_tablespace_map(), regexp_fixed_prefix(), replace_text(), RS_compile(), RS_execute(), RS_isRegis(), scanint8(), seg_in(), SendXlogRecPtrResult(), set_var_from_str(), ShowUsage(), SPI_sql_row_to_xmlelement(), string2ean(), stringToNode(), stringToNodeInternal(), strlen_max_width(), strnlen(), strtoint64(), text_format(), text_format_string_conversion(), text_left(), text_reverse(), text_right(), texticlike(), texticnlike(), textlen(), textlike(), textnlike(), textoctetlen(), textpos(), textrecv(), tidin(), time_in(), timestamp_in(), timestamptz_in(), timetz_in(), TParserInit(), txid_snapshot_in(), txid_snapshot_out(), unaccent_dict(), unknownin(), unknownout(), unknownrecv(), unknownsend(), upc_in(), varcharrecv(), wait_result_to_str(), widget_in(), widget_out(), xidin(), xml_is_document(), xml_out_internal(), xml_recv(), xmlconcat(), xmlelement(), xmlroot(), XmlTableGetValue(), and XmlTableSetDocument().

◆ True

generate_unaccent_rules.True

Definition at line 280 of file generate_unaccent_rules.py.

◆ type

generate_unaccent_rules.type

Definition at line 280 of file generate_unaccent_rules.py.

Referenced by _copySQLValueFunction(), _copyValue(), _copyXmlExpr(), _equalList(), _equalSQLValueFunction(), _equalValue(), _equalXmlExpr(), _getObjectDescription(), _outSQLValueFunction(), _outXmlExpr(), _readSQLValueFunction(), _readXmlExpr(), addJsonbToParseState(), addtt(), allocate_reloption(), AutoVacuumRequestWork(), brin_page_init(), brin_page_type(), build_mss(), cannotCastJsonbValue(), check_foreign_key(), CreateStatistics(), datum_to_jsonb(), DecodeDate(), DecodeDateTime(), DecodeInterval(), DecodePosixTimezone(), DecodeSpecial(), DecodeTimeOnly(), DecodeTimezoneAbbrev(), DecodeUnits(), dependency_degree(), dumpDefaultACL(), ean2isn(), ean2string(), ecpg_do_prologue(), ECPGdescribe(), ECPGget_desc(), ECPGmake_array_type(), ECPGmake_simple_type(), ECPGmake_struct_member(), ECPGstruct_member_dup(), enable_timeouts(), evalStandardFunc(), exprCollation(), exprSetCollation(), exprType(), extract_jsp_bool_expr(), fillTypeDesc(), findoprnd_recurse(), flushbuffer(), fmtfloat(), ForwardSyncRequest(), get_command_type(), get_docrep(), get_typdefault(), get_type(), gin_extract_tsquery(), ginint4_queryextract(), hash_page_type(), init_compress(), init_custom_variable(), init_litdata_packet(), interval_part(), interval_trunc(), isDataGram(), isSimpleNode(), iterate_jsonb_values(), json_typeof(), jsonb_agg_transfn(), jsonb_object_agg_transfn(), jsonb_strip_nulls(), JsonbToCStringWorker(), JsonbType(), libpqProcessFileList(), main(), make_jsp_expr_node(), makepol(), ndistinct_for_combination(), new_list(), new_variable(), NIAddAffix(), NIImportOOAffixes(), nodeRead(), outzone(), parse_jsonb_index_flags(), parse_sane_timezone(), pg_decrypt(), pg_decrypt_iv(), pg_encrypt(), pg_encrypt_iv(), pg_event_trigger_ddl_commands(), pg_get_object_address(), pg_prewarm(), pgstat_reset_single_counter(), PGTYPEStimestamp_defmt_scan(), PLy_subtransaction_exit(), prepare_column_cache(), process_source_file(), process_target_file(), prs_setup_firstcall(), radius_add_attribute(), reindex_one_database(), relabel_to_typmod(), sendCommand(), sqlda_common_total_size(), string2ean(), testprs_getlexeme(), time_part(), timestamp_part(), timestamp_trunc(), timestamp_zone(), timestamptz_part(), timestamptz_trunc_internal(), timestamptz_trunc_zone(), timestamptz_zone(), timetz_part(), timetz_zone(), transform_jsonb_string_values(), typeidTypeRelid(), typeOrDomainTypeRelid(), and writezone().