gooderp18绿色标准版
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

255 lines
7.8KB

  1. /* contrib/pg_trgm/pg_trgm--1.3.sql */
  2. -- complain if script is sourced in psql, rather than via CREATE EXTENSION
  3. \echo Use "CREATE EXTENSION pg_trgm" to load this file. \quit
  4. -- Deprecated function
  5. CREATE FUNCTION set_limit(float4)
  6. RETURNS float4
  7. AS 'MODULE_PATHNAME'
  8. LANGUAGE C STRICT VOLATILE PARALLEL UNSAFE;
  9. -- Deprecated function
  10. CREATE FUNCTION show_limit()
  11. RETURNS float4
  12. AS 'MODULE_PATHNAME'
  13. LANGUAGE C STRICT STABLE PARALLEL SAFE;
  14. CREATE FUNCTION show_trgm(text)
  15. RETURNS _text
  16. AS 'MODULE_PATHNAME'
  17. LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
  18. CREATE FUNCTION similarity(text,text)
  19. RETURNS float4
  20. AS 'MODULE_PATHNAME'
  21. LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
  22. CREATE FUNCTION similarity_op(text,text)
  23. RETURNS bool
  24. AS 'MODULE_PATHNAME'
  25. LANGUAGE C STRICT STABLE PARALLEL SAFE; -- stable because depends on pg_trgm.similarity_threshold
  26. CREATE OPERATOR % (
  27. LEFTARG = text,
  28. RIGHTARG = text,
  29. PROCEDURE = similarity_op,
  30. COMMUTATOR = '%',
  31. RESTRICT = contsel,
  32. JOIN = contjoinsel
  33. );
  34. CREATE FUNCTION word_similarity(text,text)
  35. RETURNS float4
  36. AS 'MODULE_PATHNAME'
  37. LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
  38. CREATE FUNCTION word_similarity_op(text,text)
  39. RETURNS bool
  40. AS 'MODULE_PATHNAME'
  41. LANGUAGE C STRICT STABLE PARALLEL SAFE; -- stable because depends on pg_trgm.word_similarity_threshold
  42. CREATE FUNCTION word_similarity_commutator_op(text,text)
  43. RETURNS bool
  44. AS 'MODULE_PATHNAME'
  45. LANGUAGE C STRICT STABLE PARALLEL SAFE; -- stable because depends on pg_trgm.word_similarity_threshold
  46. CREATE OPERATOR <% (
  47. LEFTARG = text,
  48. RIGHTARG = text,
  49. PROCEDURE = word_similarity_op,
  50. COMMUTATOR = '%>',
  51. RESTRICT = contsel,
  52. JOIN = contjoinsel
  53. );
  54. CREATE OPERATOR %> (
  55. LEFTARG = text,
  56. RIGHTARG = text,
  57. PROCEDURE = word_similarity_commutator_op,
  58. COMMUTATOR = '<%',
  59. RESTRICT = contsel,
  60. JOIN = contjoinsel
  61. );
  62. CREATE FUNCTION similarity_dist(text,text)
  63. RETURNS float4
  64. AS 'MODULE_PATHNAME'
  65. LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
  66. CREATE OPERATOR <-> (
  67. LEFTARG = text,
  68. RIGHTARG = text,
  69. PROCEDURE = similarity_dist,
  70. COMMUTATOR = '<->'
  71. );
  72. CREATE FUNCTION word_similarity_dist_op(text,text)
  73. RETURNS float4
  74. AS 'MODULE_PATHNAME'
  75. LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
  76. CREATE FUNCTION word_similarity_dist_commutator_op(text,text)
  77. RETURNS float4
  78. AS 'MODULE_PATHNAME'
  79. LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
  80. CREATE OPERATOR <<-> (
  81. LEFTARG = text,
  82. RIGHTARG = text,
  83. PROCEDURE = word_similarity_dist_op,
  84. COMMUTATOR = '<->>'
  85. );
  86. CREATE OPERATOR <->> (
  87. LEFTARG = text,
  88. RIGHTARG = text,
  89. PROCEDURE = word_similarity_dist_commutator_op,
  90. COMMUTATOR = '<<->'
  91. );
  92. -- gist key
  93. CREATE FUNCTION gtrgm_in(cstring)
  94. RETURNS gtrgm
  95. AS 'MODULE_PATHNAME'
  96. LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
  97. CREATE FUNCTION gtrgm_out(gtrgm)
  98. RETURNS cstring
  99. AS 'MODULE_PATHNAME'
  100. LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
  101. CREATE TYPE gtrgm (
  102. INTERNALLENGTH = -1,
  103. INPUT = gtrgm_in,
  104. OUTPUT = gtrgm_out
  105. );
  106. -- support functions for gist
  107. CREATE FUNCTION gtrgm_consistent(internal,text,smallint,oid,internal)
  108. RETURNS bool
  109. AS 'MODULE_PATHNAME'
  110. LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
  111. CREATE FUNCTION gtrgm_distance(internal,text,smallint,oid,internal)
  112. RETURNS float8
  113. AS 'MODULE_PATHNAME'
  114. LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
  115. CREATE FUNCTION gtrgm_compress(internal)
  116. RETURNS internal
  117. AS 'MODULE_PATHNAME'
  118. LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
  119. CREATE FUNCTION gtrgm_decompress(internal)
  120. RETURNS internal
  121. AS 'MODULE_PATHNAME'
  122. LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
  123. CREATE FUNCTION gtrgm_penalty(internal,internal,internal)
  124. RETURNS internal
  125. AS 'MODULE_PATHNAME'
  126. LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
  127. CREATE FUNCTION gtrgm_picksplit(internal, internal)
  128. RETURNS internal
  129. AS 'MODULE_PATHNAME'
  130. LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
  131. CREATE FUNCTION gtrgm_union(internal, internal)
  132. RETURNS gtrgm
  133. AS 'MODULE_PATHNAME'
  134. LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
  135. CREATE FUNCTION gtrgm_same(gtrgm, gtrgm, internal)
  136. RETURNS internal
  137. AS 'MODULE_PATHNAME'
  138. LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
  139. -- create the operator class for gist
  140. CREATE OPERATOR CLASS gist_trgm_ops
  141. FOR TYPE text USING gist
  142. AS
  143. OPERATOR 1 % (text, text),
  144. FUNCTION 1 gtrgm_consistent (internal, text, smallint, oid, internal),
  145. FUNCTION 2 gtrgm_union (internal, internal),
  146. FUNCTION 3 gtrgm_compress (internal),
  147. FUNCTION 4 gtrgm_decompress (internal),
  148. FUNCTION 5 gtrgm_penalty (internal, internal, internal),
  149. FUNCTION 6 gtrgm_picksplit (internal, internal),
  150. FUNCTION 7 gtrgm_same (gtrgm, gtrgm, internal),
  151. STORAGE gtrgm;
  152. -- Add operators and support functions that are new in 9.1. We do it like
  153. -- this, leaving them "loose" in the operator family rather than bound into
  154. -- the gist_trgm_ops opclass, because that's the only state that can be
  155. -- reproduced during an upgrade from 9.0 (see pg_trgm--unpackaged--1.0.sql).
  156. ALTER OPERATOR FAMILY gist_trgm_ops USING gist ADD
  157. OPERATOR 2 <-> (text, text) FOR ORDER BY pg_catalog.float_ops,
  158. OPERATOR 3 pg_catalog.~~ (text, text),
  159. OPERATOR 4 pg_catalog.~~* (text, text),
  160. FUNCTION 8 (text, text) gtrgm_distance (internal, text, smallint, oid, internal);
  161. -- Add operators that are new in 9.3.
  162. ALTER OPERATOR FAMILY gist_trgm_ops USING gist ADD
  163. OPERATOR 5 pg_catalog.~ (text, text),
  164. OPERATOR 6 pg_catalog.~* (text, text);
  165. -- Add operators that are new in 9.6 (pg_trgm 1.2).
  166. ALTER OPERATOR FAMILY gist_trgm_ops USING gist ADD
  167. OPERATOR 7 %> (text, text),
  168. OPERATOR 8 <->> (text, text) FOR ORDER BY pg_catalog.float_ops;
  169. -- support functions for gin
  170. CREATE FUNCTION gin_extract_value_trgm(text, internal)
  171. RETURNS internal
  172. AS 'MODULE_PATHNAME'
  173. LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
  174. CREATE FUNCTION gin_extract_query_trgm(text, internal, int2, internal, internal, internal, internal)
  175. RETURNS internal
  176. AS 'MODULE_PATHNAME'
  177. LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
  178. CREATE FUNCTION gin_trgm_consistent(internal, int2, text, int4, internal, internal, internal, internal)
  179. RETURNS bool
  180. AS 'MODULE_PATHNAME'
  181. LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
  182. -- create the operator class for gin
  183. CREATE OPERATOR CLASS gin_trgm_ops
  184. FOR TYPE text USING gin
  185. AS
  186. OPERATOR 1 % (text, text),
  187. FUNCTION 1 btint4cmp (int4, int4),
  188. FUNCTION 2 gin_extract_value_trgm (text, internal),
  189. FUNCTION 3 gin_extract_query_trgm (text, internal, int2, internal, internal, internal, internal),
  190. FUNCTION 4 gin_trgm_consistent (internal, int2, text, int4, internal, internal, internal, internal),
  191. STORAGE int4;
  192. -- Add operators that are new in 9.1.
  193. ALTER OPERATOR FAMILY gin_trgm_ops USING gin ADD
  194. OPERATOR 3 pg_catalog.~~ (text, text),
  195. OPERATOR 4 pg_catalog.~~* (text, text);
  196. -- Add operators that are new in 9.3.
  197. ALTER OPERATOR FAMILY gin_trgm_ops USING gin ADD
  198. OPERATOR 5 pg_catalog.~ (text, text),
  199. OPERATOR 6 pg_catalog.~* (text, text);
  200. -- Add functions that are new in 9.6 (pg_trgm 1.2).
  201. CREATE FUNCTION gin_trgm_triconsistent(internal, int2, text, int4, internal, internal, internal)
  202. RETURNS "char"
  203. AS 'MODULE_PATHNAME'
  204. LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
  205. ALTER OPERATOR FAMILY gin_trgm_ops USING gin ADD
  206. OPERATOR 7 %> (text, text),
  207. FUNCTION 6 (text,text) gin_trgm_triconsistent (internal, int2, text, int4, internal, internal, internal);
上海开阖软件有限公司 沪ICP备12045867号-1