[Vtigercrm-commits] [vtiger-commits] r9170 - /vtigercrm/trunk/modules/Contacts/ListView.php

vtigercrm-commits at vtiger.fosslabs.com vtigercrm-commits at vtiger.fosslabs.com
Mon Aug 28 15:38:47 EDT 2006


Author: richie
Date: Mon Aug 28 13:38:40 2006
New Revision: 9170

Log:
Support for PostGres DB done

Modified:
    vtigercrm/trunk/modules/Contacts/ListView.php

Modified: vtigercrm/trunk/modules/Contacts/ListView.php
==============================================================================
--- vtigercrm/trunk/modules/Contacts/ListView.php (original)
+++ vtigercrm/trunk/modules/Contacts/ListView.php Mon Aug 28 13:38:40 2006
@@ -29,6 +29,8 @@
 require_once('include/ComboUtil.php');
 require_once('include/utils/utils.php');
 require_once('modules/CustomView/CustomView.php');
+require_once('include/database/Postgres8.php');
+require_once('include/DatabaseUtil.php');
 
 global $app_strings;
 global $list_max_entries_per_page;
@@ -158,13 +160,17 @@
 {
 	if($order_by == 'smownerid')
         {
+		if( $adb->dbType == "pgsql")
+ 		    $list_query .= ' GROUP BY user_name';	
                 $list_query .= ' ORDER BY user_name '.$sorder;
         }
         else
         {
 		$tablename = getTableNameForField('Contacts',$order_by);
 		$tablename = (($tablename != '')?($tablename."."):'');
-
+		if( $adb->dbType == "pgsql")
+ 		    $list_query .= ' GROUP BY '.$tablename.$order_by;
+		
                 $list_query .= ' ORDER BY '.$tablename.$order_by.' '.$sorder;
         }
 }
@@ -181,7 +187,7 @@
 $smarty->assign("CUSTOMVIEW_OPTION",$customviewcombo_html);
 $smarty->assign("VIEWID", $viewid);
 //Retreiving the no of rows
-$count_result = $adb->query("select count(*) count ".substr($list_query, strpos($list_query,'FROM'),strlen($list_query)));
+$count_result = $adb->query( mkCountQuery( $list_query));
 $noofrows = $adb->query_result($count_result,0,"count");
 //Storing Listview session object
 if($_SESSION['lvs'][$currentModule])
@@ -193,6 +199,11 @@
 
 //Retreive the Navigation array
 $navigation_array = getNavigationValues($start, $noofrows, $list_max_entries_per_page);
+//Postgres 8 fixes
+ if( $adb->dbType == "pgsql")
+     $list_query = fixPostgresQuery( $list_query, $log, 0);
+
+
 
 // Setting the record count string
 //modified by rdhital
@@ -206,7 +217,10 @@
 else
 	$limit_start_rec = $start_rec -1;
 	
-$list_result = $adb->query($list_query. " limit ".$limit_start_rec.",".$list_max_entries_per_page);
+if( $adb->dbType == "pgsql")
+     $list_result = $adb->query($list_query. " OFFSET ".$limit_start_rec." LIMIT ".$list_max_entries_per_page);
+else
+    $list_result = $adb->query($list_query. " LIMIT ".$limit_start_rec.",".$list_max_entries_per_page);
 
 //mass merge for word templates -- *Raj*17/11
 while($row = $adb->fetch_array($list_result))





More information about the vtigercrm-commits mailing list