Have _CDB_UserQuotaInBytes() take precedence over parameter-based quota

Closes #16
master
Sandro Santilli 11 years ago
parent f98071cdac
commit 8d6188e282

@ -35,17 +35,16 @@ BEGIN
IF dice < pbfact THEN IF dice < pbfact THEN
RAISE DEBUG 'Checking quota on table % (dice:%, needed:<%)', TG_RELID::text, dice, pbfact; RAISE DEBUG 'Checking quota on table % (dice:%, needed:<%)', TG_RELID::text, dice, pbfact;
BEGIN
qmax := public._CDB_UserQuotaInBytes();
EXCEPTION WHEN undefined_function THEN
IF TG_NARGS > 1 THEN IF TG_NARGS > 1 THEN
RAISE NOTICE 'Using quota specified via trigger parameter'; RAISE NOTICE 'Using quota specified via trigger parameter';
qmax := TG_ARGV[1]; qmax := TG_ARGV[1];
ELSE ELSE
BEGIN RAISE EXCEPTION 'Missing _CDB_UserQuotaInBytes(), and no quota provided as parameter';
qmax := public._CDB_UserQuotaInBytes();
EXCEPTION WHEN undefined_function THEN
RAISE WARNING 'Missing _CDB_UserQuotaInBytes(), assuming no quota';
qmax := 0;
END;
END IF; END IF;
END;
IF qmax = 0 THEN IF qmax = 0 THEN
RETURN NEW; RETURN NEW;

Loading…
Cancel
Save