| // +----------------------------------------------------------------------+ // // $Id: MDB2_nonstandard_ibase.php,v 1.5 2007/03/04 21:32:31 quipo Exp $ class MDB2_nonstandard_ibase extends MDB2_nonstandard { var $trigger_body = 'AS BEGIN NEW.somedescription = OLD.somename; END'; function createTrigger($trigger_name, $table_name) { $query = 'CREATE OR ALTER TRIGGER '. $trigger_name .' FOR '. $table_name .' AFTER UPDATE '. $this->trigger_body .';'; return $this->db->exec($query); } function checkTrigger($trigger_name, $table_name, $def) { parent::checkTrigger($trigger_name, $table_name, $def); $this->test->assertEquals($this->trigger_body, $def['trigger_body']); } function dropTrigger($trigger_name, $table_name) { return $this->db->exec('DROP TRIGGER '.$trigger_name); } function createFunction($name) { $query = 'CREATE PROCEDURE '.$name.'(N1 DECIMAL(6,2), N2 DECIMAL(6,2)) RETURNS ( res DECIMAL(6,2) ) AS BEGIN FOR SELECT (:N1 + :N2) FROM RDB$DATABASE INTO :res DO BEGIN SUSPEND; END END'; return $this->db->exec($query); } function dropFunction($name) { return $this->db->exec('DROP PROCEDURE '.$name); } } ?>