/[sql]/access_fix.sql
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /access_fix.sql

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations)
Fri Feb 22 17:28:19 2002 UTC (22 years, 1 month ago) by dpavlin
Branch: MAIN
some operators to make access work better with pgsql database over ODBC

1 drop function int4eq(xid,int4);
2 drop operator = (xid,int4) ;
3
4 create function int4eq(xid,int4)
5 returns bool
6 as ''
7 language 'internal';
8
9 create operator = (
10 leftarg=xid,
11 rightarg=int4,
12 procedure=int4eq,
13 commutator='=',
14 negator='<>',
15 restrict=eqsel,
16 join=eqjoinsel
17 );
18
19
20
21 DROP OPERATOR = (bool, int4);
22 DROP OPERATOR = (int4, bool);
23
24 DROP FUNCTION MsAccessBool1 (bool, int4);
25 CREATE FUNCTION MsAccessBool1 (bool, int4) RETURNS BOOL AS '
26 BEGIN
27 IF $1 ISNULL THEN
28 RETURN NULL;
29 END IF;
30
31 IF $1 IS TRUE THEN
32 IF $2 <> 0 THEN
33 RETURN TRUE;
34 END IF;
35 ELSE
36 IF $2 = 0 THEN
37 RETURN TRUE;
38 END IF;
39 END IF;
40 RETURN FALSE;
41 END;
42 ' LANGUAGE 'plpgsql';
43
44 CREATE OPERATOR = (
45 LEFTARG = BOOL,
46 RIGHTARG = INT4,
47 PROCEDURE = MsAccessBool1,
48 COMMUTATOR = '=',
49 NEGATOR = '<>',
50 RESTRICT = EQSEL,
51 JOIN = EQJOINSEL
52 );
53
54
55 DROP FUNCTION MsAccessBool2 (int4, bool);
56 CREATE FUNCTION MsAccessBool2 (int4, bool) RETURNS BOOL AS '
57 BEGIN
58 IF $2 ISNULL THEN
59 RETURN NULL;
60 END IF;
61
62 IF $2 IS TRUE THEN
63 IF $1 <> 0 THEN
64 RETURN TRUE;
65 END IF;
66 ELSE
67 IF $1 = 0 THEN
68 RETURN TRUE;
69 END IF;
70 END IF;
71 RETURN FALSE;
72 END;
73 ' LANGUAGE 'plpgsql';
74
75 CREATE OPERATOR = (
76 LEFTARG = int4,
77 RIGHTARG = bool,
78 PROCEDURE = MsAccessBool2,
79 COMMUTATOR = '=',
80 NEGATOR = '<>',
81 RESTRICT = EQSEL,
82 JOIN = EQJOINSEL
83 );
84
85 DROP FUNCTION not (int4);
86 CREATE FUNCTION not (int4) RETURNS BOOL AS '
87 BEGIN
88 IF $1 IS NULL THEN
89 RETURN NULL;
90 END IF;
91
92 IF $1 == 0 THEN
93 RETURN TRUE;
94 END IF;
95 RETURN FALSE;
96 END;
97 ' LANGUAGE 'plpgsql';
98

  ViewVC Help
Powered by ViewVC 1.1.26