PMCORE-2148 Cases gets stuck whem there is an error in routing section triggers

This commit is contained in:
Roly Rudy Gutierrez Pinto
2020-09-11 09:09:34 -04:00
parent ae2669e4c7
commit 82c760e320

View File

@@ -318,33 +318,32 @@ function executeQuery ($SqlStatement, $DBConnectionUID = 'workflow', $aParameter
// Check to see if we're not running oracle, which is usually a safe default // Check to see if we're not running oracle, which is usually a safe default
if (config('database.connections.' . $DBConnectionUID . '.driver') != 'oracle') { if (config('database.connections.' . $DBConnectionUID . '.driver') != 'oracle') {
switch (true) { try {
case preg_match( "/^(SELECT|EXECUTE|EXEC|SHOW|DESCRIBE|EXPLAIN|BEGIN)\s/i", $statement ): switch (true) {
$result = $con->select( $SqlStatement ); case preg_match( "/^(SELECT|EXECUTE|EXEC|SHOW|DESCRIBE|EXPLAIN|BEGIN)\s/i", $statement ):
$result = $con->select( $SqlStatement );
// Convert to 1 index key array of array results // Convert to 1 index key array of array results
$result = collect($result)->map(function($x) { return (array)$x; })->toArray(); $result = collect($result)->map(function($x) { return (array)$x; })->toArray();
array_unshift($result, []); array_unshift($result, []);
unset($result[0]); unset($result[0]);
break;
$con->commit(); case preg_match( "/^INSERT\s/i", $statement ):
break; $result = $con->insert( $SqlStatement );
case preg_match( "/^INSERT\s/i", $statement ): break;
$result = $con->insert( $SqlStatement ); case preg_match( "/^REPLACE\s/i", $statement ):
$con->commit(); $result = $con->update( $SqlStatement );
break; break;
case preg_match( "/^REPLACE\s/i", $statement ): case preg_match( "/^UPDATE\s/i", $statement ):
$result = $con->update( $SqlStatement ); $result = $con->update( $SqlStatement );
$con->commit(); break;
break; case preg_match( "/^DELETE\s/i", $statement ):
case preg_match( "/^UPDATE\s/i", $statement ): $result = $con->delete( $SqlStatement );
$result = $con->update( $SqlStatement ); break;
$con->commit(); }
break; $con->commit();
case preg_match( "/^DELETE\s/i", $statement ): } catch (Exception $e) {
$result = $con->delete( $SqlStatement ); $con->rollback();
$con->commit(); throw new SQLException($e->getMessage());
break;
} }
} else { } else {
$dataEncode = $con->getDSN(); $dataEncode = $con->getDSN();