2 Commits fd0f25e012 ... dde2d5c752

Author SHA1 Message Date
  Max F dde2d5c752 Merge branch 'master' of ssh://gogs.karmas.fr/KarmaSolutions/KarmaFW 4 years ago
  Max F f1c3ea614d dev 2021-03 4 years ago
1 changed files with 20 additions and 1 deletions
  1. 20 1
      src/Database/Sql/Drivers/Mysqli/MySqliDriver.php

+ 20 - 1
src/Database/Sql/Drivers/Mysqli/MySqliDriver.php

@@ -10,6 +10,8 @@ use \KarmaFW\Database\Sql\SqlResultSetError;
 
 class MySqliDriver extends SqlDriver implements SqlDriverInterface
 {
+	protected $current_recordset = null;
+
 
 	public function connect()
 	{
@@ -48,7 +50,24 @@ class MySqliDriver extends SqlDriver implements SqlDriverInterface
 			return null;
 		}
 
-		$rs = mysqli_query($this->conn, $query);
+		$mode_use_result = false; // TODO: ce mode permet de ne pas stocker tout le resultat en local (ideal pour les gros resultats qui depassent la RAM)
+		if ($mode_use_result && $this->current_recordset) {
+			mysqli_free_result($this->current_recordset);
+			$this->current_recordset = null;
+
+			$rs = mysqli_query($this->conn, $query, MYSQLI_USE_RESULT);
+
+		} else {
+			$rs = mysqli_query($this->conn, $query);
+		}
+
+
+		if (is_bool($rs)) {
+			$this->current_recordset = null;
+
+		} else {
+			$this->current_recordset = $rs;
+		}
 
 		$error_code = $this->getConn()->errno;
 		if ($error_code) {