En exécutant le code de déclenchement ci-dessous à l'aide de ANT, j'obtiens l'erreur suivante
org.postgresql.util.PSQLException: ERROR: unterminated quoted string at or near "' DECLARE timeout integer"
Position: 57
Je suis en mesure d'exécuter avec succès le code ci-dessous via PGADmin (fourni par postgres) et l'utilitaire de ligne de commande "psql" et la fonction de déclenchement est ajoutée, mais lors de l'exécution via ANT, il échoue à chaque fois.
BEGIN TRANSACTION;
CREATE OR REPLACE FUNCTION sweeper() RETURNS trigger as '
DECLARE
timeout integer;
BEGIN
timeout = 30 * 24 * 60 * 60 ;
DELETE FROM diagnosticdata WHERE current_timestamp - teststarttime > (timeout * ''1 sec''::interval);
return NEW;
END;
' LANGUAGE 'plpgsql';
-- Trigger: sweep on diagnosticdata
CREATE TRIGGER sweep
AFTER INSERT
ON diagnosticdata
FOR EACH ROW
EXECUTE PROCEDURE sweeper();
END;