dibi::loadFile problém s delimiter

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Saurian
Člen | 28
+
0
-

Ahoj, potřeboval bych nahrát sql dump s triggery, kde je použit DELIMITER $$ , vždy však skončím s chybou

DibiDriverException #1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‚DELIMITER $$‘ at line 1

Výpis „critical místa“ sql dumpu je zhruba následující:

DROP TRIGGER IF EXISTS `after_insert_article`;

DELIMITER $$	// (**tady dibi hlásí syntaxy ...**)

CREATE TRIGGER `after_insert_article` AFTER INSERT ON `article`
	FOR EACH ROW BEGIN
		INSERT INTO `komunikace`.`log` (`id`, `description`) VALUES (NULL, 'insertovano');
	END$$

DELIMITER ;

Nepomůže ani „$$“ nahradit např. „|“ , „//“' .

Zkoušel jsem to i přes postupné dotazování dibi::query ..

$sql = file( APP_DIR . '/files/setup.sql' );

$sql_line = '';
foreach ( $sql as $query ) {
	if ( chr( 0xd ) . chr( 0xa ) == $query ) {
		dibi::query(trim($sql_line));
		$sql_line = '';
	}
	$sql_line .= $query;
}
print "Rebuid databaze completed ...\n";

dibi::dump();

Rovněž skončí na řádku s DELIMITER $$

Jaký by podle Vás měl být správný zápis ?

(pozn. uvedený triger je jen pro příklad, zkoušeno na verzi MySQL 5.5.16 a 5.1.41 )