From d81e8630c197f311f8f0791a82683a879e62ff01 Mon Sep 17 00:00:00 2001
From: Matthieu Marcillaud <marcimat@rezo.net>
Date: Fri, 4 Jul 2008 20:45:10 +0000
Subject: [PATCH] =?UTF-8?q?SQLite=20-=20prise=20en=20compte=20(ignorer)=20?=
 =?UTF-8?q?FIRST=20dans=20les=20requetes=20ALTER=20-=20sql=5Ffree()=20lib?=
 =?UTF-8?q?=C3=A8re=20la=20ressource=20-=20auto=5Fincrement=20non=20conser?=
 =?UTF-8?q?v=C3=A9=20dans=20les=20requetes=20create=20(il=20semble=20que?=
 =?UTF-8?q?=20cela=20g=C3=A8ne=20parfois).=20A=20voir=20s'il=20ne=20faudra?=
 =?UTF-8?q?it=20pas=20syst=C3=A9matiquement=20remplacer=20un=20auto=5Fincr?=
 =?UTF-8?q?ement=20par=20la=20formule=20unique=20correcte=20en=20SQlite=20?=
 =?UTF-8?q?:=20'INTEGER=20NOT=20NULL=20PRIMARY=20KEY'?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/req/sqlite_generique.php | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/ecrire/req/sqlite_generique.php b/ecrire/req/sqlite_generique.php
index f6a7e73852..a5e73361f0 100644
--- a/ecrire/req/sqlite_generique.php
+++ b/ecrire/req/sqlite_generique.php
@@ -245,7 +245,7 @@ function spip_sqlite_alter($query, $serveur='',$requeter=true){
 					$do = "ADD".substr($do, 10);
 			case 'ADD':
 			default:
-				if (preg_match('/^(.*)(BEFORE|AFTER)(.*)$/is', $do, $matches)) {
+				if (preg_match('/^(.*)(BEFORE|AFTER|FIRST)(.*)$/is', $do, $matches)) {
 					$do = $matches[1];
 				}
 				
@@ -473,7 +473,9 @@ function spip_sqlite_fetch($r, $t='', $serveur='',$requeter=true) {
 
 
 // http://doc.spip.org/@spip_sqlite_free
-function spip_sqlite_free($r, $serveur='',$requeter=true) {
+function spip_sqlite_free(&$r, $serveur='',$requeter=true) {
+	unset($r);
+	return true;
 	//return sqlite_free_result($r);
 }
 
@@ -1218,7 +1220,8 @@ function _sqlite_remplacements_definitions_table($query){
 		// pour l'autoincrement, il faut des INTEGER NOT NULL PRIMARY KEY
 		'/(big|small|medium)?int(eger)?'.$num.'/is' => 'INTEGER',		
 		'/enum'.$enum.'/is' => 'VARCHAR',
-		'/binary/is' => ''
+		'/binary/is' => '',
+		'/auto_increment/is' => ''
 	);
 
 	return preg_replace(array_keys($remplace), $remplace, $query);
@@ -1402,7 +1405,7 @@ class sqlite_traiter_requete{
 // http://doc.spip.org/@executer_requete
 	function executer_requete(){
 		$t = $this->tracer ? trace_query_start(): 0;
-//		echo("<br /><b>executer_requete() $this->serveur >></b> $this->query"); // boum ? pourquoi ?
+		# spip_log("requete: $this->serveur >> $this->query",'query'); // boum ? pourquoi ?
 		if ($this->link){
 			if ($this->sqlite_version == 3) {
 				$r = $this->link->query($this->query);
-- 
GitLab