diff --git a/dibi/libs/DibiConnection.php b/dibi/libs/DibiConnection.php index 33988945..e53cf08b 100644 --- a/dibi/libs/DibiConnection.php +++ b/dibi/libs/DibiConnection.php @@ -641,14 +641,21 @@ class DibiConnection extends DibiObject } $count = 0; + $delimiter = ';'; $sql = ''; while (!feof($handle)) { - $s = fgets($handle); - $sql .= $s; - if (substr(rtrim($s), -1) === ';') { + $s = rtrim(fgets($handle)); + if (substr($s, 0, 10) === 'DELIMITER ') { + $delimiter = substr($s, 10); + + } elseif (substr($s, -strlen($delimiter)) === $delimiter) { + $sql .= substr($s, 0, -strlen($delimiter)); $this->driver->query($sql); $sql = ''; $count++; + + } else { + $sql .= $s . "\n"; } } if (trim($sql) !== '') {