array_iterator.sql.in
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:5k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. -- SQL code to define the new array iterator functions and operators
  2. -- define the array operators *=, **=, *~ and **~ for type _text
  3. --
  4. create function array_texteq(_text, text) returns bool
  5.   as 'MODULE_PATHNAME' 
  6.   language 'c';
  7. create function array_all_texteq(_text, text) returns bool
  8.   as 'MODULE_PATHNAME' 
  9.   language 'c';
  10. create function array_textregexeq(_text, text) returns bool
  11.   as 'MODULE_PATHNAME' 
  12.   language 'c';
  13. create function array_all_textregexeq(_text, text) returns bool
  14.   as 'MODULE_PATHNAME' 
  15.   language 'c';
  16. create operator *= (
  17.   leftarg=_text, 
  18.   rightarg=text, 
  19.   procedure=array_texteq);
  20. create operator **= (
  21.   leftarg=_text,
  22.   rightarg=text,
  23.   procedure=array_all_texteq);
  24. create operator *~ (
  25.   leftarg=_text,
  26.   rightarg=text,
  27.   procedure=array_textregexeq);
  28. create operator **~ (
  29.   leftarg=_text,
  30.   rightarg=text,
  31.   procedure=array_all_textregexeq);
  32. -- define the array operators *=, **=, *~ and **~ for type _varchar
  33. --
  34. -- NOTE: "varchar" is also a reserved word and must be quoted.
  35. --
  36. create function array_varchareq(_varchar, varchar) returns bool
  37.   as 'MODULE_PATHNAME' 
  38.   language 'c';
  39. create function array_all_varchareq(_varchar, varchar) returns bool
  40.   as 'MODULE_PATHNAME' 
  41.   language 'c';
  42. create function array_varcharregexeq(_varchar, varchar) returns bool
  43.   as 'MODULE_PATHNAME' 
  44.   language 'c';
  45. create function array_all_varcharregexeq(_varchar, varchar) returns bool
  46.   as 'MODULE_PATHNAME' 
  47.   language 'c';
  48. create operator *= (
  49.   leftarg=_varchar, 
  50.   rightarg="varchar", 
  51.   procedure=array_varchareq);
  52. create operator **= (
  53.   leftarg=_varchar,
  54.   rightarg="varchar",
  55.   procedure=array_all_varchareq);
  56. create operator *~ (
  57.   leftarg=_varchar,
  58.   rightarg="varchar",
  59.   procedure=array_varcharregexeq);
  60. create operator **~ (
  61.   leftarg=_varchar,
  62.   rightarg="varchar",
  63.   procedure=array_all_varcharregexeq);
  64. -- define the array operators *=, **=, *~ and **~ for type _bpchar
  65. --
  66. create function array_bpchareq(_bpchar, bpchar) returns bool
  67.   as 'MODULE_PATHNAME' 
  68.   language 'c';
  69. create function array_all_bpchareq(_bpchar, bpchar) returns bool
  70.   as 'MODULE_PATHNAME' 
  71.   language 'c';
  72. create function array_bpcharregexeq(_bpchar, bpchar) returns bool
  73.   as 'MODULE_PATHNAME' 
  74.   language 'c';
  75. create function array_all_bpcharregexeq(_bpchar, bpchar) returns bool
  76.   as 'MODULE_PATHNAME' 
  77.   language 'c';
  78. create operator *= (
  79.   leftarg=_bpchar, 
  80.   rightarg=bpchar, 
  81.   procedure=array_bpchareq);
  82. create operator **= (
  83.   leftarg=_bpchar,
  84.   rightarg=bpchar,
  85.   procedure=array_all_bpchareq);
  86. create operator *~ (
  87.   leftarg=_bpchar,
  88.   rightarg=bpchar,
  89.   procedure=array_bpcharregexeq);
  90. create operator **~ (
  91.   leftarg=_bpchar,
  92.   rightarg=bpchar,
  93.   procedure=array_all_bpcharregexeq);
  94. -- define the array operators *=, **=, *> and **> for type _int4
  95. --
  96. create function array_int4eq(_int4, int4) returns bool
  97.   as 'MODULE_PATHNAME' 
  98.   language 'c';
  99. create function array_all_int4eq(_int4, int4) returns bool
  100.   as 'MODULE_PATHNAME' 
  101.   language 'c';
  102. create function array_int4ne(_int4, int4) returns bool
  103.   as 'MODULE_PATHNAME' 
  104.   language 'c';
  105. create function array_all_int4ne(_int4, int4) returns bool
  106.   as 'MODULE_PATHNAME' 
  107.   language 'c';
  108. create function array_int4gt(_int4, int4) returns bool
  109.   as 'MODULE_PATHNAME' 
  110.   language 'c';
  111. create function array_all_int4gt(_int4, int4) returns bool
  112.   as 'MODULE_PATHNAME' 
  113.   language 'c';
  114. create function array_int4ge(_int4, int4) returns bool
  115.   as 'MODULE_PATHNAME' 
  116.   language 'c';
  117. create function array_all_int4ge(_int4, int4) returns bool
  118.   as 'MODULE_PATHNAME' 
  119.   language 'c';
  120. create function array_int4lt(_int4, int4) returns bool
  121.   as 'MODULE_PATHNAME' 
  122.   language 'c';
  123. create function array_all_int4lt(_int4, int4) returns bool
  124.   as 'MODULE_PATHNAME' 
  125.   language 'c';
  126. create function array_int4le(_int4, int4) returns bool
  127.   as 'MODULE_PATHNAME' 
  128.   language 'c';
  129. create function array_all_int4le(_int4, int4) returns bool
  130.   as 'MODULE_PATHNAME' 
  131.   language 'c';
  132. create operator *= (
  133.   leftarg=_int4,
  134.   rightarg=int4,
  135.   procedure=array_int4eq);
  136. create operator **= (
  137.   leftarg=_int4,
  138.   rightarg=int4,
  139.   procedure=array_all_int4eq);
  140. create operator *<> (
  141.   leftarg=_int4,
  142.   rightarg=int4,
  143.   procedure=array_int4ne);
  144. create operator **<> (
  145.   leftarg=_int4,
  146.   rightarg=int4,
  147.   procedure=array_all_int4ne);
  148. create operator *> (
  149.   leftarg=_int4,
  150.   rightarg=int4,
  151.   procedure=array_int4gt);
  152. create operator **> (
  153.   leftarg=_int4,
  154.   rightarg=int4,
  155.   procedure=array_all_int4gt);
  156. create operator *>= (
  157.   leftarg=_int4,
  158.   rightarg=int4,
  159.   procedure=array_int4ge);
  160. create operator **>= (
  161.   leftarg=_int4,
  162.   rightarg=int4,
  163.   procedure=array_all_int4ge);
  164. create operator *< (
  165.   leftarg=_int4,
  166.   rightarg=int4,
  167.   procedure=array_int4lt);
  168. create operator **< (
  169.   leftarg=_int4,
  170.   rightarg=int4,
  171.   procedure=array_all_int4lt);
  172. create operator *<= (
  173.   leftarg=_int4,
  174.   rightarg=int4,
  175.   procedure=array_int4le);
  176. create operator **<= (
  177.   leftarg=_int4,
  178.   rightarg=int4,
  179.   procedure=array_all_int4le);
  180. -- define the array operators *=, **<>  for type _oid  (added tobias 1. 1999)
  181. --
  182. create function array_oideq(_oid, oid) returns bool
  183.   as 'MODULE_PATHNAME' 
  184.   language 'c';
  185. create function array_all_oidne(_oid, oid) returns bool
  186.   as 'MODULE_PATHNAME' 
  187.   language 'c';
  188. create operator *= (
  189.   leftarg=_oid, 
  190.   rightarg=oid, 
  191.   procedure=array_oideq);
  192. create operator **<> (
  193.   leftarg=_oid,
  194.   rightarg=oid,
  195.   procedure=array_all_oidne);
  196. -- end of file