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