1*5153720fSfkaag71<?php 2*5153720fSfkaag71/** 3*5153720fSfkaag71 * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) 4*5153720fSfkaag71 * @author Steven te Brinke <s.tebrinke@utwente.nl> 5*5153720fSfkaag71 */ 6*5153720fSfkaag71// must be run within Dokuwiki 7*5153720fSfkaag71if(!defined('DOKU_INC')) die('Meh.'); 8*5153720fSfkaag71 9*5153720fSfkaag71require_once(DOKU_PLUGIN.'strata/driver/driver.php'); 10*5153720fSfkaag71 11*5153720fSfkaag71/** 12*5153720fSfkaag71 * The MySQL database driver. 13*5153720fSfkaag71 */ 14*5153720fSfkaag71class plugin_strata_driver_pgsql extends plugin_strata_driver { 15*5153720fSfkaag71 16*5153720fSfkaag71 public function stringCompare() { 17*5153720fSfkaag71 return 'ILIKE'; 18*5153720fSfkaag71 } 19*5153720fSfkaag71 20*5153720fSfkaag71 public function castToNumber($val) { 21*5153720fSfkaag71 return "SUBSTRING($val FROM E'^(-?[0-9]+\\\\.?[0-9]*)')::numeric"; 22*5153720fSfkaag71 } 23*5153720fSfkaag71 24*5153720fSfkaag71 public function orderBy($val) { 25*5153720fSfkaag71 return array( 26*5153720fSfkaag71 "$val IS NOT NULL", 27*5153720fSfkaag71 $this->castToNumber($val), 28*5153720fSfkaag71 $val 29*5153720fSfkaag71 ); 30*5153720fSfkaag71 } 31*5153720fSfkaag71 32*5153720fSfkaag71 public function isInitialized() { 33*5153720fSfkaag71 return $this->_db->query("SELECT * FROM pg_tables WHERE schemaname = 'public' AND tablename = 'data'")->rowCount() != 0; 34*5153720fSfkaag71 } 35*5153720fSfkaag71} 36