#ifdef POSTGRESQL
CREATE FUNCTION updpass()
RETURNS trigger AS $$
- DECLARE skip INT := 0;
+ DECLARE skip BOOLEAN := FALSE;
BEGIN
- skip := current_setting('skip_password_trigger', true)::int;
- IF skip = 0 THEN
+ SELECT COALESCE(MAX(skip_password_trigger),FALSE) INTO skip
+ FROM temp_skip_flag;
+ IF skip = FALSE THEN
NEW.hash = md5(HASHING);
NEW.password = crypt (NEW.password,gen_salt('md5'));
ELSE
CREATE TRIGGER sethash
BEFORE UPDATE ON emails FOR EACH ROW
BEGIN
- DECLARE skip INT DEFAULT 0;
- SET skip = skip_password_trigger;
- IF skip = 0 THEN
+ DECLARE skip BOOLEAN DEFAULT FALSE;
+ SELECT IFNULL(MAX(skip_password_trigger),FALSE) INTO skip
+ FROM temp_skip_flag;
+ IF skip = FALSE THEN
set NEW.hash=MD5(HASHING);
set NEW.password=encrypt(NEW.password,concat('$1$',md5(rand())));
ELSE
CREATE TRIGGER updhash
BEFORE INSERT ON emails FOR EACH ROW
BEGIN
- DECLARE skip INT DEFAULT 0;
- SET skip = skip_password_trigger;
- IF skip = 0 THEN
+ DECLARE skip BOLLEAN DEFAULT FALSE;
+ SELECT IFNULL(MAX(skip_password_trigger),FALSE) INTO skip
+ FROM temp_skip_flag;
+ IF skip = FALSE THEN
set NEW.hash=MD5(HASHING);
set NEW.password=encrypt(NEW.password,concat('$1$',md5(rand())));
ELSE
/* */
/********************************************************/
-//to update password the literal way
-SET skip_password_trigger = '1';
+CREATE TEMPORARY TABLE temp_skip_flag (
+ skip_password_trigger BOOLEAN
+ );
+
+INSERT INTO temp_skip_flag VALUES (TRUE);
/********************************************************/
/* */
/* Creating the bare minimun user configuration */
/* Preset value completed */
/* */
/********************************************************/
-RESET skip_password_trigger;
+DELETE FROM temp_skip_flag;
+