Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
b7d236d6
G
Gpdb
项目概览
Greenplum
/
Gpdb
通知
7
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
Gpdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b7d236d6
编写于
1月 29, 2005
作者:
T
Tom Lane
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Make sure contrib C functions are marked strict where needed.
Kris Jurka
上级
750d9171
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
48 addition
and
63 deletion
+48
-63
contrib/chkpass/chkpass.c
contrib/chkpass/chkpass.c
+2
-17
contrib/chkpass/chkpass.sql.in
contrib/chkpass/chkpass.sql.in
+6
-6
contrib/isbn_issn/isbn_issn.sql.in
contrib/isbn_issn/isbn_issn.sql.in
+19
-19
contrib/lo/lo.sql.in
contrib/lo/lo.sql.in
+7
-7
contrib/miscutil/misc_utils.c
contrib/miscutil/misc_utils.c
+1
-1
contrib/miscutil/misc_utils.sql.in
contrib/miscutil/misc_utils.sql.in
+2
-2
contrib/userlock/user_locks.sql.in
contrib/userlock/user_locks.sql.in
+11
-11
未找到文件。
contrib/chkpass/chkpass.c
浏览文件 @
b7d236d6
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
* darcy@druid.net
* darcy@druid.net
* http://www.druid.net/darcy/
* http://www.druid.net/darcy/
*
*
* $PostgreSQL: pgsql/contrib/chkpass/chkpass.c,v 1.1
2 2003/11/29 22:39:18 pgsq
l Exp $
* $PostgreSQL: pgsql/contrib/chkpass/chkpass.c,v 1.1
3 2005/01/29 22:35:01 tg
l Exp $
* best viewed with tabs set to 4
* best viewed with tabs set to 4
*/
*/
...
@@ -82,14 +82,10 @@ chkpass_in(PG_FUNCTION_ARGS)
...
@@ -82,14 +82,10 @@ chkpass_in(PG_FUNCTION_ARGS)
}
}
if
(
verify_pass
(
str
)
!=
0
)
if
(
verify_pass
(
str
)
!=
0
)
{
ereport
(
ERROR
,
ereport
(
ERROR
,
(
errcode
(
ERRCODE_DATA_EXCEPTION
),
(
errcode
(
ERRCODE_DATA_EXCEPTION
),
errmsg
(
"password
\"
%s
\"
is weak"
,
str
)));
errmsg
(
"password
\"
%s
\"
is weak"
,
str
)));
PG_RETURN_POINTER
(
NULL
);
}
result
=
(
chkpass
*
)
palloc
(
sizeof
(
chkpass
));
result
=
(
chkpass
*
)
palloc
(
sizeof
(
chkpass
));
mysalt
[
0
]
=
salt_chars
[
random
()
&
0x3f
];
mysalt
[
0
]
=
salt_chars
[
random
()
&
0x3f
];
...
@@ -112,9 +108,6 @@ chkpass_out(PG_FUNCTION_ARGS)
...
@@ -112,9 +108,6 @@ chkpass_out(PG_FUNCTION_ARGS)
chkpass
*
password
=
(
chkpass
*
)
PG_GETARG_POINTER
(
0
);
chkpass
*
password
=
(
chkpass
*
)
PG_GETARG_POINTER
(
0
);
char
*
result
;
char
*
result
;
if
(
password
==
NULL
)
PG_RETURN_POINTER
(
NULL
);
if
((
result
=
(
char
*
)
palloc
(
16
))
!=
NULL
)
if
((
result
=
(
char
*
)
palloc
(
16
))
!=
NULL
)
{
{
result
[
0
]
=
':'
;
result
[
0
]
=
':'
;
...
@@ -134,10 +127,7 @@ Datum
...
@@ -134,10 +127,7 @@ Datum
chkpass_rout
(
PG_FUNCTION_ARGS
)
chkpass_rout
(
PG_FUNCTION_ARGS
)
{
{
chkpass
*
password
=
(
chkpass
*
)
PG_GETARG_POINTER
(
0
);
chkpass
*
password
=
(
chkpass
*
)
PG_GETARG_POINTER
(
0
);
text
*
result
=
NULL
;
text
*
result
;
if
(
password
==
NULL
)
PG_RETURN_POINTER
(
NULL
);
if
((
result
=
(
text
*
)
palloc
(
VARHDRSZ
+
16
))
!=
NULL
)
if
((
result
=
(
text
*
)
palloc
(
VARHDRSZ
+
16
))
!=
NULL
)
{
{
...
@@ -162,9 +152,6 @@ chkpass_eq(PG_FUNCTION_ARGS)
...
@@ -162,9 +152,6 @@ chkpass_eq(PG_FUNCTION_ARGS)
char
str
[
10
];
char
str
[
10
];
int
sz
=
8
;
int
sz
=
8
;
if
(
!
a1
||
!
a2
)
PG_RETURN_BOOL
(
0
);
if
(
a2
->
vl_len
<
12
)
if
(
a2
->
vl_len
<
12
)
sz
=
a2
->
vl_len
-
4
;
sz
=
a2
->
vl_len
-
4
;
strncpy
(
str
,
a2
->
vl_dat
,
sz
);
strncpy
(
str
,
a2
->
vl_dat
,
sz
);
...
@@ -181,8 +168,6 @@ chkpass_ne(PG_FUNCTION_ARGS)
...
@@ -181,8 +168,6 @@ chkpass_ne(PG_FUNCTION_ARGS)
char
str
[
10
];
char
str
[
10
];
int
sz
=
8
;
int
sz
=
8
;
if
(
!
a1
||
!
a2
)
PG_RETURN_BOOL
(
0
);
if
(
a2
->
vl_len
<
12
)
if
(
a2
->
vl_len
<
12
)
sz
=
a2
->
vl_len
-
4
;
sz
=
a2
->
vl_len
-
4
;
strncpy
(
str
,
a2
->
vl_dat
,
sz
);
strncpy
(
str
,
a2
->
vl_dat
,
sz
);
...
...
contrib/chkpass/chkpass.sql.in
浏览文件 @
b7d236d6
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
-- darcy@druid.net
-- darcy@druid.net
-- http://www.druid.net/darcy/
-- http://www.druid.net/darcy/
--
--
-- $PostgreSQL: pgsql/contrib/chkpass/chkpass.sql.in,v 1.
5 2003/11/29 19:51:19 pgsq
l Exp $
-- $PostgreSQL: pgsql/contrib/chkpass/chkpass.sql.in,v 1.
6 2005/01/29 22:35:01 tg
l Exp $
--
--
-- best viewed with tabs set to 4
-- best viewed with tabs set to 4
--
--
...
@@ -19,12 +19,12 @@ SET search_path = public;
...
@@ -19,12 +19,12 @@ SET search_path = public;
CREATE FUNCTION chkpass_in(cstring)
CREATE FUNCTION chkpass_in(cstring)
RETURNS chkpass
RETURNS chkpass
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'c'
;
LANGUAGE
C STRICT
;
CREATE FUNCTION chkpass_out(chkpass)
CREATE FUNCTION chkpass_out(chkpass)
RETURNS cstring
RETURNS cstring
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'c'
;
LANGUAGE
C STRICT
;
CREATE TYPE chkpass (
CREATE TYPE chkpass (
internallength = 16,
internallength = 16,
...
@@ -36,7 +36,7 @@ CREATE TYPE chkpass (
...
@@ -36,7 +36,7 @@ CREATE TYPE chkpass (
CREATE FUNCTION raw(chkpass)
CREATE FUNCTION raw(chkpass)
RETURNS text
RETURNS text
AS 'MODULE_PATHNAME', 'chkpass_rout'
AS 'MODULE_PATHNAME', 'chkpass_rout'
LANGUAGE
'c'
;
LANGUAGE
C STRICT
;
--
--
-- The various boolean tests:
-- The various boolean tests:
...
@@ -45,12 +45,12 @@ CREATE FUNCTION raw(chkpass)
...
@@ -45,12 +45,12 @@ CREATE FUNCTION raw(chkpass)
CREATE FUNCTION eq(chkpass, text)
CREATE FUNCTION eq(chkpass, text)
RETURNS bool
RETURNS bool
AS 'MODULE_PATHNAME', 'chkpass_eq'
AS 'MODULE_PATHNAME', 'chkpass_eq'
LANGUAGE
'c'
;
LANGUAGE
C STRICT
;
CREATE FUNCTION ne(chkpass, text)
CREATE FUNCTION ne(chkpass, text)
RETURNS bool
RETURNS bool
AS 'MODULE_PATHNAME', 'chkpass_ne'
AS 'MODULE_PATHNAME', 'chkpass_ne'
LANGUAGE
'c'
;
LANGUAGE
C STRICT
;
--
--
-- Now the operators. Note how some of the parameters to some
-- Now the operators. Note how some of the parameters to some
...
...
contrib/isbn_issn/isbn_issn.sql.in
浏览文件 @
b7d236d6
--
--
-- PostgreSQL code for ISSNs.
-- PostgreSQL code for ISSNs.
--
--
-- $PostgreSQL: pgsql/contrib/isbn_issn/isbn_issn.sql.in,v 1.1
0 2003/11/29 22:39:20 pgsq
l Exp $
-- $PostgreSQL: pgsql/contrib/isbn_issn/isbn_issn.sql.in,v 1.1
1 2005/01/29 22:35:02 tg
l Exp $
--
--
-- Adjust this setting to control where the objects get created.
-- Adjust this setting to control where the objects get created.
...
@@ -14,12 +14,12 @@ SET search_path = public;
...
@@ -14,12 +14,12 @@ SET search_path = public;
CREATE FUNCTION issn_in(cstring)
CREATE FUNCTION issn_in(cstring)
RETURNS issn
RETURNS issn
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
CREATE FUNCTION issn_out(issn)
CREATE FUNCTION issn_out(issn)
RETURNS cstring
RETURNS cstring
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
CREATE TYPE issn (
CREATE TYPE issn (
INTERNALLENGTH = 16,
INTERNALLENGTH = 16,
...
@@ -39,32 +39,32 @@ COMMENT ON TYPE issn
...
@@ -39,32 +39,32 @@ COMMENT ON TYPE issn
CREATE FUNCTION issn_lt(issn, issn)
CREATE FUNCTION issn_lt(issn, issn)
RETURNS bool
RETURNS bool
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
CREATE FUNCTION issn_le(issn, issn)
CREATE FUNCTION issn_le(issn, issn)
RETURNS bool
RETURNS bool
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
CREATE FUNCTION issn_eq(issn, issn)
CREATE FUNCTION issn_eq(issn, issn)
RETURNS bool
RETURNS bool
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
CREATE FUNCTION issn_ge(issn, issn)
CREATE FUNCTION issn_ge(issn, issn)
RETURNS bool
RETURNS bool
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
CREATE FUNCTION issn_gt(issn, issn)
CREATE FUNCTION issn_gt(issn, issn)
RETURNS bool
RETURNS bool
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
CREATE FUNCTION issn_ne(issn, issn)
CREATE FUNCTION issn_ne(issn, issn)
RETURNS bool
RETURNS bool
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
--
--
-- Now the operators. Note how some of the parameters to some
-- Now the operators. Note how some of the parameters to some
...
@@ -120,7 +120,7 @@ CREATE OPERATOR <> (
...
@@ -120,7 +120,7 @@ CREATE OPERATOR <> (
CREATE FUNCTION issn_cmp(issn, issn)
CREATE FUNCTION issn_cmp(issn, issn)
RETURNS integer
RETURNS integer
AS '$libdir/isbn_issn'
AS '$libdir/isbn_issn'
LANGUAGE c;
LANGUAGE c
STRICT
;
-- Create default operator class for 'issn' --
-- Create default operator class for 'issn' --
-- Needed to create index or primary key --
-- Needed to create index or primary key --
...
@@ -147,12 +147,12 @@ AS
...
@@ -147,12 +147,12 @@ AS
CREATE FUNCTION isbn_in(cstring)
CREATE FUNCTION isbn_in(cstring)
RETURNS isbn
RETURNS isbn
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
CREATE FUNCTION isbn_out(isbn)
CREATE FUNCTION isbn_out(isbn)
RETURNS cstring
RETURNS cstring
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
CREATE TYPE isbn (
CREATE TYPE isbn (
INTERNALLENGTH = 16,
INTERNALLENGTH = 16,
...
@@ -171,32 +171,32 @@ COMMENT ON TYPE isbn IS 'International Standard Book Number';
...
@@ -171,32 +171,32 @@ COMMENT ON TYPE isbn IS 'International Standard Book Number';
CREATE FUNCTION isbn_lt(isbn, isbn)
CREATE FUNCTION isbn_lt(isbn, isbn)
RETURNS bool
RETURNS bool
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
CREATE FUNCTION isbn_le(isbn, isbn)
CREATE FUNCTION isbn_le(isbn, isbn)
RETURNS bool
RETURNS bool
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
CREATE FUNCTION isbn_eq(isbn, isbn)
CREATE FUNCTION isbn_eq(isbn, isbn)
RETURNS bool
RETURNS bool
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
CREATE FUNCTION isbn_ge(isbn, isbn)
CREATE FUNCTION isbn_ge(isbn, isbn)
RETURNS bool
RETURNS bool
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
CREATE FUNCTION isbn_gt(isbn, isbn)
CREATE FUNCTION isbn_gt(isbn, isbn)
RETURNS bool
RETURNS bool
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
CREATE FUNCTION isbn_ne(isbn, isbn)
CREATE FUNCTION isbn_ne(isbn, isbn)
RETURNS bool
RETURNS bool
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
--
--
-- Now the operators. Note how some of the parameters to some
-- Now the operators. Note how some of the parameters to some
...
@@ -253,7 +253,7 @@ CREATE OPERATOR <> (
...
@@ -253,7 +253,7 @@ CREATE OPERATOR <> (
CREATE FUNCTION isbn_cmp(isbn, isbn)
CREATE FUNCTION isbn_cmp(isbn, isbn)
RETURNS integer
RETURNS integer
AS '$libdir/isbn_issn'
AS '$libdir/isbn_issn'
LANGUAGE c;
LANGUAGE c
STRICT
;
-- Create default operator class for 'isbn' --
-- Create default operator class for 'isbn' --
-- Needed to create index or primary key --
-- Needed to create index or primary key --
...
...
contrib/lo/lo.sql.in
浏览文件 @
b7d236d6
--
--
-- PostgreSQL code for LargeObjects
-- PostgreSQL code for LargeObjects
--
--
-- $PostgreSQL: pgsql/contrib/lo/lo.sql.in,v 1.1
1 2003/11/29 22:39:22 pgsq
l Exp $
-- $PostgreSQL: pgsql/contrib/lo/lo.sql.in,v 1.1
2 2005/01/29 22:35:02 tg
l Exp $
--
--
--
--
-- Create the data type
-- Create the data type
...
@@ -15,13 +15,13 @@ SET search_path = public;
...
@@ -15,13 +15,13 @@ SET search_path = public;
CREATE FUNCTION lo_in(cstring)
CREATE FUNCTION lo_in(cstring)
RETURNS lo
RETURNS lo
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C' IMMUTABLE
;
LANGUAGE
C IMMUTABLE STRICT
;
-- used by the lo type, it returns the oid of the object
-- used by the lo type, it returns the oid of the object
CREATE FUNCTION lo_out(lo)
CREATE FUNCTION lo_out(lo)
RETURNS cstring
RETURNS cstring
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C' IMMUTABLE
;
LANGUAGE
C IMMUTABLE STRICT
;
-- finally the type itself
-- finally the type itself
CREATE TYPE lo (
CREATE TYPE lo (
...
@@ -35,7 +35,7 @@ CREATE TYPE lo (
...
@@ -35,7 +35,7 @@ CREATE TYPE lo (
CREATE FUNCTION lo_oid(lo)
CREATE FUNCTION lo_oid(lo)
RETURNS oid
RETURNS oid
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C' IMMUTABLE
;
LANGUAGE
C IMMUTABLE STRICT
;
-- same function, named to allow it to be used as a type coercion, eg:
-- same function, named to allow it to be used as a type coercion, eg:
-- CREATE TABLE a (image lo);
-- CREATE TABLE a (image lo);
...
@@ -44,7 +44,7 @@ LANGUAGE 'C' IMMUTABLE;
...
@@ -44,7 +44,7 @@ LANGUAGE 'C' IMMUTABLE;
CREATE FUNCTION oid(lo)
CREATE FUNCTION oid(lo)
RETURNS oid
RETURNS oid
AS 'MODULE_PATHNAME', 'lo_oid'
AS 'MODULE_PATHNAME', 'lo_oid'
LANGUAGE
'C' IMMUTABLE
;
LANGUAGE
C IMMUTABLE STRICT
;
CREATE CAST (lo as oid) WITH FUNCTION oid(lo) AS IMPLICIT;
CREATE CAST (lo as oid) WITH FUNCTION oid(lo) AS IMPLICIT;
-- this allows us to convert an oid to a managed lo object
-- this allows us to convert an oid to a managed lo object
...
@@ -52,11 +52,11 @@ CREATE CAST (lo as oid) WITH FUNCTION oid(lo) AS IMPLICIT;
...
@@ -52,11 +52,11 @@ CREATE CAST (lo as oid) WITH FUNCTION oid(lo) AS IMPLICIT;
CREATE FUNCTION lo(oid)
CREATE FUNCTION lo(oid)
RETURNS lo
RETURNS lo
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C' IMMUTABLE
;
LANGUAGE
C IMMUTABLE STRICT
;
CREATE CAST (oid as lo) WITH FUNCTION lo(oid) AS IMPLICIT;
CREATE CAST (oid as lo) WITH FUNCTION lo(oid) AS IMPLICIT;
-- This is used in triggers
-- This is used in triggers
CREATE FUNCTION lo_manage()
CREATE FUNCTION lo_manage()
RETURNS trigger
RETURNS trigger
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C
;
contrib/miscutil/misc_utils.c
浏览文件 @
b7d236d6
...
@@ -96,7 +96,7 @@ active_listeners(text *relname)
...
@@ -96,7 +96,7 @@ active_listeners(text *relname)
{
{
d
=
heap_getattr
(
lTuple
,
Anum_pg_listener_pid
,
tdesc
,
&
isnull
);
d
=
heap_getattr
(
lTuple
,
Anum_pg_listener_pid
,
tdesc
,
&
isnull
);
pid
=
DatumGetInt32
(
d
);
pid
=
DatumGetInt32
(
d
);
if
((
pid
==
ourpid
)
||
(
kill
(
pid
,
SIGTSTP
)
==
0
))
if
((
pid
==
ourpid
)
||
(
kill
(
pid
,
0
)
==
0
))
count
++
;
count
++
;
}
}
heap_endscan
(
sRel
);
heap_endscan
(
sRel
);
...
...
contrib/miscutil/misc_utils.sql.in
浏览文件 @
b7d236d6
...
@@ -37,14 +37,14 @@ LANGUAGE 'SQL';
...
@@ -37,14 +37,14 @@ LANGUAGE 'SQL';
CREATE OR REPLACE FUNCTION min(int4,int4)
CREATE OR REPLACE FUNCTION min(int4,int4)
RETURNS int4
RETURNS int4
AS 'MODULE_PATHNAME', 'int4min'
AS 'MODULE_PATHNAME', 'int4min'
LANGUAGE 'C';
LANGUAGE 'C'
STRICT
;
-- max(x,y)
-- max(x,y)
--
--
CREATE OR REPLACE FUNCTION max(int4,int4)
CREATE OR REPLACE FUNCTION max(int4,int4)
RETURNS int4
RETURNS int4
AS 'MODULE_PATHNAME', 'int4max'
AS 'MODULE_PATHNAME', 'int4max'
LANGUAGE 'C';
LANGUAGE 'C'
STRICT
;
-- Return the number of active listeners on a relation
-- Return the number of active listeners on a relation
--
--
...
...
contrib/userlock/user_locks.sql.in
浏览文件 @
b7d236d6
...
@@ -15,74 +15,74 @@ SET search_path = public;
...
@@ -15,74 +15,74 @@ SET search_path = public;
CREATE OR REPLACE FUNCTION user_lock(int4,int4,int4)
CREATE OR REPLACE FUNCTION user_lock(int4,int4,int4)
RETURNS int4
RETURNS int4
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
-- SELECT user_unlock(group,id,mode);
-- SELECT user_unlock(group,id,mode);
--
--
CREATE OR REPLACE FUNCTION user_unlock(int4,int4,int4)
CREATE OR REPLACE FUNCTION user_unlock(int4,int4,int4)
RETURNS int4
RETURNS int4
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
-- SELECT user_write_lock(group,id);
-- SELECT user_write_lock(group,id);
--
--
CREATE OR REPLACE FUNCTION user_write_lock(int4,int4)
CREATE OR REPLACE FUNCTION user_write_lock(int4,int4)
RETURNS int4
RETURNS int4
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
-- SELECT user_write_unlock(group,id);
-- SELECT user_write_unlock(group,id);
--
--
CREATE OR REPLACE FUNCTION user_write_unlock(int4,int4)
CREATE OR REPLACE FUNCTION user_write_unlock(int4,int4)
RETURNS int4
RETURNS int4
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
-- SELECT user_write_lock(group,oid);
-- SELECT user_write_lock(group,oid);
--
--
CREATE OR REPLACE FUNCTION user_write_lock(int4,oid)
CREATE OR REPLACE FUNCTION user_write_lock(int4,oid)
RETURNS int4
RETURNS int4
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
-- SELECT user_write_unlock(group,oid);
-- SELECT user_write_unlock(group,oid);
--
--
CREATE OR REPLACE FUNCTION user_write_unlock(int4,oid)
CREATE OR REPLACE FUNCTION user_write_unlock(int4,oid)
RETURNS int4
RETURNS int4
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
-- SELECT user_write_lock_oid(oid);
-- SELECT user_write_lock_oid(oid);
--
--
CREATE OR REPLACE FUNCTION user_write_lock_oid(oid)
CREATE OR REPLACE FUNCTION user_write_lock_oid(oid)
RETURNS int4
RETURNS int4
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
-- SELECT user_write_unlock_oid(oid);
-- SELECT user_write_unlock_oid(oid);
--
--
CREATE OR REPLACE FUNCTION user_write_unlock_oid(oid)
CREATE OR REPLACE FUNCTION user_write_unlock_oid(oid)
RETURNS int4
RETURNS int4
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
-- SELECT user_write_lock_oid(int4);
-- SELECT user_write_lock_oid(int4);
--
--
CREATE OR REPLACE FUNCTION user_write_lock_oid(int4)
CREATE OR REPLACE FUNCTION user_write_lock_oid(int4)
RETURNS int4
RETURNS int4
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
-- SELECT user_write_unlock_oid(int4);
-- SELECT user_write_unlock_oid(int4);
--
--
CREATE OR REPLACE FUNCTION user_write_unlock_oid(int4)
CREATE OR REPLACE FUNCTION user_write_unlock_oid(int4)
RETURNS int4
RETURNS int4
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
-- SELECT user_unlock_all();
-- SELECT user_unlock_all();
--
--
CREATE OR REPLACE FUNCTION user_unlock_all()
CREATE OR REPLACE FUNCTION user_unlock_all()
RETURNS int4
RETURNS int4
AS 'MODULE_PATHNAME'
AS 'MODULE_PATHNAME'
LANGUAGE
'C'
;
LANGUAGE
C STRICT
;
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录