Have _CDB_UserQuotaInBytes() take precedence over parameter-based quota
Closes #16
This commit is contained in:
@@ -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;
|
||||||
IF TG_NARGS > 1 THEN
|
BEGIN
|
||||||
RAISE NOTICE 'Using quota specified via trigger parameter';
|
qmax := public._CDB_UserQuotaInBytes();
|
||||||
qmax := TG_ARGV[1];
|
EXCEPTION WHEN undefined_function THEN
|
||||||
ELSE
|
IF TG_NARGS > 1 THEN
|
||||||
BEGIN
|
RAISE NOTICE 'Using quota specified via trigger parameter';
|
||||||
qmax := public._CDB_UserQuotaInBytes();
|
qmax := TG_ARGV[1];
|
||||||
EXCEPTION WHEN undefined_function THEN
|
ELSE
|
||||||
RAISE WARNING 'Missing _CDB_UserQuotaInBytes(), assuming no quota';
|
RAISE EXCEPTION 'Missing _CDB_UserQuotaInBytes(), and no quota provided as parameter';
|
||||||
qmax := 0;
|
END IF;
|
||||||
END;
|
END;
|
||||||
END IF;
|
|
||||||
|
|
||||||
IF qmax = 0 THEN
|
IF qmax = 0 THEN
|
||||||
RETURN NEW;
|
RETURN NEW;
|
||||||
|
|||||||
Reference in New Issue
Block a user