Dear Gurus,
Version: PostgreSQL 7.3.3
Log:
%----------------------- cut here -----------------------%
tir=# CREATE INDEX ajanlat_cikk ON ajanlat (antinuller(cikk),
antinuller(minoseg), tol);
ERROR: parser: parse error at or near "," at character 55
tir=# CREATE INDEX ajanlat_szolg ON ajanlat (antinuller(szolgaltatas), tol);
ERROR: parser: parse error at or near "," at character 64
%----------------------- cut here -----------------------%
I'm not sure what happened, I'm quite sure it worked before, even with
7.3.3. The index was there and probably worked, but accidentally dropped it
and can't recreate.
May it be something in postgresql.conf (fumbled with it recently)?
May it be a bug in 7.3.3 (despite my memories)?
Relevant definitions:
%----------------------- cut here -----------------------%
CREATE FUNCTION antinuller (int4) RETURNS int4 AS '
SELECT CASE WHEN $1 ISNULL THEN -1 ELSE $1 END;'
LANGUAGE 'SQL' immutable;
CREATE TABLE ajanlat ( az serial NOT NULL PRIMARY KEY, cikk integer REFERENCES cikk(az) ON UPDATE CASCADE,
minoseginteger REFERENCES minoseg(az) ON UPDATE CASCADE, -- a minőség default 1 triggerből, mert csak ha nem
szolgáltatás! szolgaltatas integer REFERENCES szolgaltatas(az) ON UPDATE CASCADE, tol date DEFAULT now() NOT NULL,
igdate DEFAULT '3000-01-01' NOT NULL, CONSTRAINT kitoltes CHECK ((cikk ISNULL = minoseg ISNULL) AND (cikk
ISNULL= szolgaltatas
NOTNULL))
);
CREATE INDEX ajanlat_cikk ON ajanlat (antinuller(cikk), antinuller(minoseg),
tol);
CREATE INDEX ajanlat_szolg ON ajanlat (antinuller(szolgaltatas), tol);
%----------------------- cut here -----------------------%
TIA,
G.
%----------------------- cut here -----------------------%
\end