From: | Mathieu Arnold <mat(at)mat(dot)cc> |
---|---|
To: | Didier BRETIN <dbr(at)informactis(dot)com> |
Cc: | Pgsql Generale Fr <pgsql-fr-generale(at)postgresql(dot)org> |
Subject: | Re: Comment retrouver le source d'une fonction utilisé par un trigger ? |
Date: | 2005-10-08 13:08:12 |
Message-ID: | 2A8DAE48AEF5C66A446AAC9E@cc-126-240.int.t-online.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
+-le 06/10/2005 15:54 +0200, Didier BRETIN écrivait :
| Bonjour,
|
| J'ai bataillé ce matin pour arriver à retrouver dans ma bdd, sous
| une version 7.2, (oui je sais c'est une vielle version ;) ), le source
| d'une fonction utilisé par un déclencheur (version française de trigger).
Tout dépends de ce en quoi est écrit cette fonction :-)
compta=> \d client_rib
(..)
Contraintes :
«client_rib_check» CHECK (rib_valid(etablissement, guichet, compte, clef))
(..)
Déclencheurs :
client_rib_hist AFTER INSERT OR DELETE OR UPDATE ON client_rib FOR EACH
ROW EXECUTE PROCEDURE historisation()
compta=> \df+ rib_valid
Liste des fonctions
Schéma | Nom | Type de données du résultat | Type de données
des paramètres | Propriétaire | Langage |
Code source
| Description
--------+-----------+-----------------------------+----------------------------------------------+--------------+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------
public | rib_valid | boolean | integer, integer,
character varying, integer | compta | plruby |
cle = args[0].to_i % 97;
cle = (cle * 100000 + args[1].to_i) % 97;
cle = (cle * 100000000000 +
args[2].upcase.tr('ABCDEFGHIJKLMNOPQRSTUVWXYZ',
'12345678912345678923456789').to_i) % 97;
cle = ( cle * 100 ) % 97;
cle = 97 - cle;
return args[3] == cle;
|
(1 ligne)
mais :
compta=> \df+ historisation
Liste des
fonctions
Schéma | Nom | Type de données du résultat | Type de données des
paramètres | Propriétaire | Langage | Code source | Description
--------+---------------+-----------------------------+--------------------------------+--------------+---------+---------------+-------------
public | historisation | "trigger" |
| pgsql | c | historisation |
(1 ligne)
En effet, la 1ere est dans un langage interprété par le serveur, l'autre est
une librairie C. Dans le cas ou c'est du compilé, a moins d'avoir la source
ou un *bon* décompilateur, c'est chaud :-)
--
Mathieu Arnold
From | Date | Subject | |
---|---|---|---|
Next Message | Florian Ledoux | 2005-10-10 09:22:36 | SQLCode dans handler d'exception PL/pgSQL |
Previous Message | Francois Suter | 2005-10-07 14:12:47 | Re: Liste de consultances [WAS: Autorisation d'une pub] |