mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-27 08:39:28 +08:00
138 lines
2.9 KiB
SQL
138 lines
2.9 KiB
SQL
/*
|
|
* SQL code
|
|
|
|
- - -- load the new functions
|
|
- - --
|
|
load '/home/dz/lib/postgres/array_iterator.so';
|
|
|
|
- - -- define the array operators *=, **=, *~ and **~ for type _text
|
|
- - --
|
|
create function array_texteq(_text, text)
|
|
returns bool
|
|
as '/home/dz/lib/postgres/array_iterator.so'
|
|
language 'c';
|
|
|
|
create function array_all_texteq(_text, text)
|
|
returns bool
|
|
as '/home/dz/lib/postgres/array_iterator.so'
|
|
language 'c';
|
|
|
|
create function array_textregexeq(_text, text)
|
|
returns bool
|
|
as '/home/dz/lib/postgres/array_iterator.so'
|
|
language 'c';
|
|
|
|
create function array_all_textregexeq(_text, text)
|
|
returns bool
|
|
as '/home/dz/lib/postgres/array_iterator.so'
|
|
language 'c';
|
|
|
|
create operator *= (
|
|
leftarg=_text,
|
|
rightarg=text,
|
|
procedure=array_texteq);
|
|
|
|
create operator **= (
|
|
leftarg=_text,
|
|
rightarg=text,
|
|
procedure=array_all_texteq);
|
|
|
|
create operator *~ (
|
|
leftarg=_text,
|
|
rightarg=text,
|
|
procedure=array_textregexeq);
|
|
|
|
create operator **~ (
|
|
leftarg=_text,
|
|
rightarg=text,
|
|
procedure=array_all_textregexeq);
|
|
|
|
- - -- define the array operators *=, **=, *~ and **~ for type _char16
|
|
- - --
|
|
create function array_char16eq(_char16, char16)
|
|
returns bool
|
|
as '/home/dz/lib/postgres/array_iterator.so'
|
|
language 'c';
|
|
|
|
create function array_all_char16eq(_char16, char16)
|
|
returns bool
|
|
as '/home/dz/lib/postgres/array_iterator.so'
|
|
language 'c';
|
|
|
|
create function array_char16regexeq(_char16, text)
|
|
returns bool
|
|
as '/home/dz/lib/postgres/array_iterator.so'
|
|
language 'c';
|
|
|
|
create function array_all_char16regexeq(_char16, text)
|
|
returns bool
|
|
as '/home/dz/lib/postgres/array_iterator.so'
|
|
language 'c';
|
|
|
|
create operator *= (
|
|
leftarg=_char16,
|
|
rightarg=char16,
|
|
procedure=array_char16eq);
|
|
|
|
create operator **= (
|
|
leftarg=_char16,
|
|
rightarg=char16,
|
|
procedure=array_all_char16eq);
|
|
|
|
create operator *~ (
|
|
leftarg=_char16,
|
|
rightarg=text,
|
|
procedure=array_char16regexeq);
|
|
|
|
create operator **~ (
|
|
leftarg=_char16,
|
|
rightarg=text,
|
|
procedure=array_all_char16regexeq);
|
|
|
|
- - -- define the array operators *=, **=, *> and **> for type _int4
|
|
- - --
|
|
create function array_int4eq(_int4, int4)
|
|
returns bool
|
|
as '/home/dz/lib/postgres/array_iterator.so'
|
|
language 'c';
|
|
|
|
create function array_all_int4eq(_int4, int4)
|
|
returns bool
|
|
as '/home/dz/lib/postgres/array_iterator.so'
|
|
language 'c';
|
|
|
|
create function array_int4gt(_int4, int4)
|
|
returns bool
|
|
as '/home/dz/lib/postgres/array_iterator.so'
|
|
language 'c';
|
|
|
|
create function array_all_int4gt(_int4, int4)
|
|
returns bool
|
|
as '/home/dz/lib/postgres/array_iterator.so'
|
|
language 'c';
|
|
|
|
create operator *= (
|
|
leftarg=_int4,
|
|
rightarg=int4,
|
|
procedure=array_int4eq);
|
|
|
|
create operator **= (
|
|
leftarg=_int4,
|
|
rightarg=int4,
|
|
procedure=array_all_int4eq);
|
|
|
|
create operator *> (
|
|
leftarg=_int4,
|
|
rightarg=int4,
|
|
procedure=array_int4gt);
|
|
|
|
create operator **> (
|
|
leftarg=_int4,
|
|
rightarg=int4,
|
|
procedure=array_all_int4gt);
|
|
|
|
*/
|
|
|
|
/* end of file */
|
|
|