[Pkg-voip-commits] r5543 - in /freepbx-modules/trunk/debian: TODO.Debian patches/series patches/sqlite_autoincrement patches/sqlite_no_change

tzafrir-guest at alioth.debian.org tzafrir-guest at alioth.debian.org
Mon Apr 14 20:10:39 UTC 2008


Author: tzafrir-guest
Date: Mon Apr 14 20:10:39 2008
New Revision: 5543

URL: http://svn.debian.org/wsvn/pkg-voip/?sc=1&rev=5543
Log:
Fixed two common issues bothering sqlite3:
* The CHANGE keyword in ALTER TABLE (not needed).
* Different syntax than standard with AUTO(_)INCREMENT.

Added:
    freepbx-modules/trunk/debian/patches/sqlite_autoincrement
    freepbx-modules/trunk/debian/patches/sqlite_no_change
Modified:
    freepbx-modules/trunk/debian/TODO.Debian
    freepbx-modules/trunk/debian/patches/series

Modified: freepbx-modules/trunk/debian/TODO.Debian
URL: http://svn.debian.org/wsvn/pkg-voip/freepbx-modules/trunk/debian/TODO.Debian?rev=5543&op=diff
==============================================================================
--- freepbx-modules/trunk/debian/TODO.Debian (original)
+++ freepbx-modules/trunk/debian/TODO.Debian Mon Apr 14 20:10:39 2008
@@ -8,11 +8,6 @@
   - FreePBX System Status:
     Notice: Undefined offset: 2 in
     /usr/share/freepbx/modules/core/functions.inc.php on line 1868
-  - Customer DB: bad DB error: http://freepbx.org/trac/ticket/2781
-  - PHPAGI Config:
-    Warning: extract() [function.extract]: First argument should be an
-    array in /usr/share/freepbx/modules/phpagiconf/page.phpagiconf.php
-    on line 68
 * A copy of phpsysinfo under modules/dashboard/
 * Web server shows as "Timeout" in the dashboard.
 

Modified: freepbx-modules/trunk/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-voip/freepbx-modules/trunk/debian/patches/series?rev=5543&op=diff
==============================================================================
--- freepbx-modules/trunk/debian/patches/series (original)
+++ freepbx-modules/trunk/debian/patches/series Mon Apr 14 20:10:39 2008
@@ -1,3 +1,5 @@
 sqlite_trunk_query
 checkperms_indications
 logfile_messages
+sqlite_no_change
+sqlite_autoincrement

Added: freepbx-modules/trunk/debian/patches/sqlite_autoincrement
URL: http://svn.debian.org/wsvn/pkg-voip/freepbx-modules/trunk/debian/patches/sqlite_autoincrement?rev=5543&op=file
==============================================================================
--- freepbx-modules/trunk/debian/patches/sqlite_autoincrement (added)
+++ freepbx-modules/trunk/debian/patches/sqlite_autoincrement Mon Apr 14 20:10:39 2008
@@ -1,0 +1,50 @@
+sqlite allows AUTO_INCREMENT. But only if it is called AUTOINCREMENT.
+And on a PRIMARY KEY (part of its definition).
+--- freepbx-modules-2.3.1.orig/modules/backup/install.php
++++ freepbx-modules-2.3.1/modules/backup/install.php
+@@ -20,8 +20,7 @@ CREATE TABLE IF NOT EXISTS Backup (
+ 	  Weekdays varchar(50) default NULL,
+ 	  Command varchar(200) default NULL,
+ 	  Method varchar(50) default NULL,
+-	  ID int(11) NOT NULL $autoincrement,
+-	  PRIMARY KEY  (ID)
++	  ID int(11) NOT NULL PRIMARY KEY $autoincrement
+ );";
+ 
+ $check = $db->query($sql);
+--- freepbx-modules-2.3.1.orig/modules/ivr/install.php
++++ freepbx-modules-2.3.1/modules/ivr/install.php
+@@ -1,5 +1,15 @@
+ <?php
+-sql('CREATE TABLE IF NOT EXISTS ivr ( ivr_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, displayname VARCHAR(50), deptname VARCHAR(50), enable_directory VARCHAR(8), enable_directdial VARCHAR(8), timeout INT, announcement VARCHAR(255), dircontext VARCHAR ( 50 ) DEFAULT "default" )');
++$autoincrement = ($amp_conf["AMPDBENGINE"] == "sqlite3") ? "AUTOINCREMENT":"AUTO_INCREMENT";
++sql('CREATE TABLE IF NOT EXISTS ivr ( 
++	ivr_id INT NOT NULL'.$autoincrement.' PRIMARY KEY, 
++	displayname VARCHAR(50), 
++	deptname VARCHAR(50), 
++	enable_directory VARCHAR(8), 
++	enable_directdial VARCHAR(8), 
++	timeout INT, 
++	announcement VARCHAR(255), 
++	dircontext VARCHAR ( 50 ) DEFAULT "default" 
++)');
+ sql('CREATE TABLE IF NOT EXISTS ivr_dests ( ivr_id INT NOT NULL, selection VARCHAR(10), dest VARCHAR(50))');
+ 
+ global $db;
+--- freepbx-modules-2.3.1.orig/modules/recordings/install.php
++++ freepbx-modules-2.3.1/modules/recordings/install.php
+@@ -22,7 +22,13 @@ $fcc->update();
+ unset($fcc);
+ 
+ // Make sure table exists
+-$sql = "CREATE TABLE IF NOT EXISTS recordings ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, displayname VARCHAR(50) , filename BLOB, description VARCHAR(254));";
++$autoincrement = (($amp_conf["AMPDBENGINE"] == "sqlite") || ($amp_conf["AMPDBENGINE"] == "sqlite3")) ? "AUTOINCREMENT":"AUTO_INCREMENT";
++$sql = "CREATE TABLE IF NOT EXISTS recordings ( 
++	id INT NOT NULL $autoincrement PRIMARY KEY, 
++	displayname VARCHAR(50) , 
++	filename BLOB, description 
++	VARCHAR(254)
++);";
+ $result = $db->query($sql);
+ if(DB::IsError($result)) {
+         die_freepbx($result->getDebugInfo());

Added: freepbx-modules/trunk/debian/patches/sqlite_no_change
URL: http://svn.debian.org/wsvn/pkg-voip/freepbx-modules/trunk/debian/patches/sqlite_no_change?rev=5543&op=file
==============================================================================
--- freepbx-modules/trunk/debian/patches/sqlite_no_change (added)
+++ freepbx-modules/trunk/debian/patches/sqlite_no_change Mon Apr 14 20:10:39 2008
@@ -1,0 +1,109 @@
+sqlite(3) does ont support the CHANGE keyword for ALTER TABLE. And it
+will actually work fine with data of a different size.
+--- freepbx-modules-2.3.1.orig/modules/findmefollow/install.php
++++ freepbx-modules-2.3.1/modules/findmefollow/install.php
+@@ -37,8 +37,11 @@ if(DB::IsError($check)) {
+     $result = $db->query($sql);
+     if(DB::IsError($result)) { die_freepbx($result->getDebugInfo()); }
+ }
+-// increase size for older installs
+-$db->query("ALTER TABLE findmefollow CHANGE dring dring VARCHAR( 255 ) NULL");
++$db_engine = $amp_conf["AMPDBENGINE"];
++if ( ($db_engine != 'sqlite') && ($db_engine != 'sqlite3' ) ) {
++	// increase size for older installs
++	$db->query("ALTER TABLE findmefollow CHANGE dring dring VARCHAR( 255 ) NULL");
++}
+ 
+ $results = array();
+ $sql = "SELECT grpnum, postdest FROM findmefollow";
+@@ -92,10 +95,12 @@ if ($astman) {
+ 
+ // Version 2.4.13 change (#1961)
+ //
+-$results = $db->query("ALTER TABLE `findmefollow` CHANGE `grpnum` `grpnum` VARCHAR( 20 ) NOT NULL");
+-if(DB::IsError($results)) {
+-	echo $results->getMessage();
+-	return false;
++if ( ($db_engine != 'sqlite') && ($db_engine != 'sqlite3' ) ) {
++	$results = $db->query("ALTER TABLE `findmefollow` CHANGE `grpnum` `grpnum` VARCHAR( 20 ) NOT NULL");
++	if(DB::IsError($results)) {
++		echo $results->getMessage();
++		return false;
++	}
+ }
+ 
+ ?>
+--- freepbx-modules-2.3.1.orig/modules/ringgroups/install.php
++++ freepbx-modules-2.3.1/modules/ringgroups/install.php
+@@ -2,6 +2,8 @@
+ 
+ global $db;
+ 
++$db_engine = $amp_conf["AMPDBENGINE"];
++
+ // Version 1.1 upgrade
+ $sql = "SELECT description FROM ringgroups";
+ $check = $db->getRow($sql, DB_FETCHMODE_ASSOC);
+@@ -20,11 +22,13 @@ if(DB::IsError($check)) {
+             die_freepbx($result->getDebugInfo());
+     }
+ 
+-	// make new field required
+-	$sql = "ALTER TABLE `ringgroups` CHANGE `description` `description` VARCHAR( 35 ) NOT NULL ;";
+-    $result = $db->query($sql);
+-    if(DB::IsError($result)) {
++    if ( ($db_engine != 'sqlite') && ($db_engine != 'sqlite3' ) ) {
++        // make new field required
++        $sql = "ALTER TABLE `ringgroups` CHANGE `description` `description` VARCHAR( 35 ) NOT NULL ;";
++        $result = $db->query($sql);
++        if(DB::IsError($result)) {
+             die_freepbx($result->getDebugInfo());
++        }
+     }
+ }
+ // Version 1.2 upgrade
+@@ -38,9 +42,11 @@ if(DB::IsError($check)) {
+             die_freepbx($result->getDebugInfo());
+     }
+ }
+-// increase size for older installs
+-$db->query("ALTER TABLE ringgroups CHANGE alertinfo alertinfo VARCHAR( 255 ) NULL");
+ 
++if ( ($db_engine != 'sqlite') && ($db_engine != 'sqlite3' ) ) {
++    // increase size for older installs
++    $db->query("ALTER TABLE ringgroups CHANGE alertinfo alertinfo VARCHAR( 255 ) NULL");
++}
+ // Version 2.0 upgrade. Yeah. 2.0 baby! 
+ $sql = "SELECT remotealert FROM ringgroups";
+ $check = $db->getRow($sql, DB_FETCHMODE_ASSOC);
+@@ -89,10 +95,12 @@ if (!DB::IsError($results)) { // error -
+ 
+ // Version 2.2.16 change (#1961)
+ //
+-$results = $db->query("ALTER TABLE `ringgroups` CHANGE `grpnum` `grpnum` VARCHAR( 20 ) NOT NULL");
+-if(DB::IsError($results)) {
+-	echo $results->getMessage();
+-	return false;
++if ( ($db_engine != 'sqlite') && ($db_engine != 'sqlite3' ) ) {
++	$results = $db->query("ALTER TABLE `ringgroups` CHANGE `grpnum` `grpnum` VARCHAR( 20 ) NOT NULL");
++	if(DB::IsError($results)) {
++		echo $results->getMessage();
++		return false;
++	}
+ }
+ 
+ ?>
+--- freepbx-modules-2.3.1.orig/modules/queues/install.php
++++ freepbx-modules-2.3.1/modules/queues/install.php
+@@ -23,6 +23,11 @@ if (!DB::IsError($results)) { // error -
+ 	}
+ }
+ 
++$db_engine = $amp_conf["AMPDBENGINE"];
++if ( ($db_engine != 'sqlite') && ($db_engine != 'sqlite3' ) ) {
++	// No need to CHANGE table columns below.
++	return true;
++}
+ // Version 2.2.11 change (#1659)
+ //
+ $results = $db->query("ALTER TABLE `queues` CHANGE `id` `id` VARCHAR( 45 ) NOT NULL DEFAULT '-1'");




More information about the Pkg-voip-commits mailing list