Loading CHANGELOG.md +4 −0 Original line number Diff line number Diff line CHANGELOG ========= 4.0.3 ----- - Amélioration du RunSQLProcess : petite désadhérance avec Oracle, nouveaux attributs dans RunSQLResult, correction d'un warning. 4.0.2 (15/12/2021) ------------------ - [FIX] uploader cassé : FormElementManagerV3Polyfill est deprecated et inutilisé, remplacé par FormElementManager Loading src/UnicaenApp/Process/ProcessResult.php +4 −1 Original line number Diff line number Diff line Loading @@ -68,8 +68,11 @@ abstract class ProcessResult implements ProcessResultInterface public function __destruct() { // Test ajouté pour éviter l'étrange "Warning: fclose(): supplied resource is not a valid stream resource" if (is_resource($this->logStream)) { fclose($this->logStream); } } /** * Attache un logger pour stocker les éventuels logs qu'il génèrera. Loading src/UnicaenApp/Service/SQL/RunSQLProcess.php +21 −3 Original line number Diff line number Diff line Loading @@ -4,15 +4,15 @@ namespace UnicaenApp\Service\SQL; use Doctrine\DBAL\Connection; use Exception; use UnicaenApp\Exception\RuntimeException; use Laminas\Log\LoggerAwareTrait; use Laminas\Stdlib\Glob; use UnicaenApp\Exception\RuntimeException; class RunSQLProcess { use LoggerAwareTrait; const QUERIES_SPLIT_PATTERN = "#^/$#m"; const QUERIES_SPLIT_PATTERN = "#^/$#m"; // oracle !! const LOG_FILE_EXT = '.log.sql'; const LOG_FILE_EXT_PATTERN = '.log.*.sql'; const LOG_FILE_EXT_TEMPLATE = '.log.%d.sql'; Loading @@ -32,6 +32,11 @@ class RunSQLProcess */ private $connection; /** * @var string */ private $queriesSplitPattern = self::QUERIES_SPLIT_PATTERN; /** * @var string[] */ Loading Loading @@ -75,6 +80,17 @@ class RunSQLProcess return $this; } /** * @param string $queriesSplitPattern * @return self */ public function setQueriesSplitPattern($queriesSplitPattern) { $this->queriesSplitPattern = $queriesSplitPattern; return $this; } /** * Exécute dans la transaction courante toutes les instructions d'un script SQL. * Loading Loading @@ -126,7 +142,7 @@ class RunSQLProcess */ protected function extractQueriesFromScript() { $parts = preg_split(self::QUERIES_SPLIT_PATTERN, file_get_contents($this->scriptPath)); $parts = preg_split($this->queriesSplitPattern, file_get_contents($this->scriptPath)); $queries = array_filter(array_map('trim', $parts)); if (count($queries) === 0) { Loading @@ -144,6 +160,8 @@ class RunSQLProcess private function executeQueries() { $result = new RunSQLResult(); $result->setScriptPath($this->scriptPath); $result->setLogFilePath($this->logFilePath); $result->attachLogger($this->logger); $result->setIsSuccess(true); Loading src/UnicaenApp/Service/SQL/RunSQLResult.php +44 −0 Original line number Diff line number Diff line Loading @@ -11,5 +11,49 @@ use UnicaenApp\Process\ProcessResult; */ class RunSQLResult extends ProcessResult { /** * @var string */ protected $scriptPath; /** * @var string */ protected $logFilePath; /** * @return string */ public function getScriptPath() { return $this->scriptPath; } /** * @param string $scriptPath * @return self */ public function setScriptPath($scriptPath) { $this->scriptPath = $scriptPath; return $this; } /** * @return string */ public function getLogFilePath() { return $this->logFilePath; } /** * @param string $logFilePath * @return self */ public function setLogFilePath($logFilePath) { $this->logFilePath = $logFilePath; return $this; } } No newline at end of file Loading
CHANGELOG.md +4 −0 Original line number Diff line number Diff line CHANGELOG ========= 4.0.3 ----- - Amélioration du RunSQLProcess : petite désadhérance avec Oracle, nouveaux attributs dans RunSQLResult, correction d'un warning. 4.0.2 (15/12/2021) ------------------ - [FIX] uploader cassé : FormElementManagerV3Polyfill est deprecated et inutilisé, remplacé par FormElementManager Loading
src/UnicaenApp/Process/ProcessResult.php +4 −1 Original line number Diff line number Diff line Loading @@ -68,8 +68,11 @@ abstract class ProcessResult implements ProcessResultInterface public function __destruct() { // Test ajouté pour éviter l'étrange "Warning: fclose(): supplied resource is not a valid stream resource" if (is_resource($this->logStream)) { fclose($this->logStream); } } /** * Attache un logger pour stocker les éventuels logs qu'il génèrera. Loading
src/UnicaenApp/Service/SQL/RunSQLProcess.php +21 −3 Original line number Diff line number Diff line Loading @@ -4,15 +4,15 @@ namespace UnicaenApp\Service\SQL; use Doctrine\DBAL\Connection; use Exception; use UnicaenApp\Exception\RuntimeException; use Laminas\Log\LoggerAwareTrait; use Laminas\Stdlib\Glob; use UnicaenApp\Exception\RuntimeException; class RunSQLProcess { use LoggerAwareTrait; const QUERIES_SPLIT_PATTERN = "#^/$#m"; const QUERIES_SPLIT_PATTERN = "#^/$#m"; // oracle !! const LOG_FILE_EXT = '.log.sql'; const LOG_FILE_EXT_PATTERN = '.log.*.sql'; const LOG_FILE_EXT_TEMPLATE = '.log.%d.sql'; Loading @@ -32,6 +32,11 @@ class RunSQLProcess */ private $connection; /** * @var string */ private $queriesSplitPattern = self::QUERIES_SPLIT_PATTERN; /** * @var string[] */ Loading Loading @@ -75,6 +80,17 @@ class RunSQLProcess return $this; } /** * @param string $queriesSplitPattern * @return self */ public function setQueriesSplitPattern($queriesSplitPattern) { $this->queriesSplitPattern = $queriesSplitPattern; return $this; } /** * Exécute dans la transaction courante toutes les instructions d'un script SQL. * Loading Loading @@ -126,7 +142,7 @@ class RunSQLProcess */ protected function extractQueriesFromScript() { $parts = preg_split(self::QUERIES_SPLIT_PATTERN, file_get_contents($this->scriptPath)); $parts = preg_split($this->queriesSplitPattern, file_get_contents($this->scriptPath)); $queries = array_filter(array_map('trim', $parts)); if (count($queries) === 0) { Loading @@ -144,6 +160,8 @@ class RunSQLProcess private function executeQueries() { $result = new RunSQLResult(); $result->setScriptPath($this->scriptPath); $result->setLogFilePath($this->logFilePath); $result->attachLogger($this->logger); $result->setIsSuccess(true); Loading
src/UnicaenApp/Service/SQL/RunSQLResult.php +44 −0 Original line number Diff line number Diff line Loading @@ -11,5 +11,49 @@ use UnicaenApp\Process\ProcessResult; */ class RunSQLResult extends ProcessResult { /** * @var string */ protected $scriptPath; /** * @var string */ protected $logFilePath; /** * @return string */ public function getScriptPath() { return $this->scriptPath; } /** * @param string $scriptPath * @return self */ public function setScriptPath($scriptPath) { $this->scriptPath = $scriptPath; return $this; } /** * @return string */ public function getLogFilePath() { return $this->logFilePath; } /** * @param string $logFilePath * @return self */ public function setLogFilePath($logFilePath) { $this->logFilePath = $logFilePath; return $this; } } No newline at end of file