[Vtigercrm-commits] [vtiger-commits] r9157 - /vtigercrm/trunk/modules/Vendors/ListView.php

vtigercrm-commits at vtiger.fosslabs.com vtigercrm-commits at vtiger.fosslabs.com
Mon Aug 28 15:09:27 EDT 2006


Author: richie
Date: Mon Aug 28 13:09:20 2006
New Revision: 9157

Log:
Support for PostGres DB done

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

Modified: vtigercrm/trunk/modules/Vendors/ListView.php
==============================================================================
--- vtigercrm/trunk/modules/Vendors/ListView.php (original)
+++ vtigercrm/trunk/modules/Vendors/ListView.php Mon Aug 28 13:09:20 2006
@@ -9,11 +9,13 @@
 *
  ********************************************************************************/
 require_once('include/database/PearDatabase.php');
+require_once('include/database/Postgres8.php');
 require_once('Smarty_setup.php');
 require_once('modules/Vendors/Vendor.php');
 require_once('include/ListView/ListView.php');
 require_once('include/utils/utils.php');
 require_once('modules/CustomView/CustomView.php');
+require_once('include/DatabaseUtil.php');
 
 global $app_strings,$mod_strings,$list_max_entries_per_page,$currentModule,$theme;
 
@@ -117,11 +119,14 @@
 	$tablename = getTableNameForField('Vendors',$order_by);
 	$tablename = (($tablename != '')?($tablename."."):'');
 
+	if( $adb->dbType == "pgsql")
+ 	    $list_query .= ' GROUP BY '.$tablename.$order_by;
+	
         $list_query .= ' ORDER BY '.$tablename.$order_by.' '.$sorder;
 }
 
 //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
@@ -134,6 +139,10 @@
 
 //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
 $start_rec = $navigation_array['start'];
@@ -146,7 +155,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);
 
 $record_string= $app_strings[LBL_SHOWING]." " .$start_rec." - ".$end_rec." " .$app_strings[LBL_LIST_OF] ." ".$noofrows;
 





More information about the vtigercrm-commits mailing list