summaryrefslogtreecommitdiff
path: root/framework/DataAccess/adodb/drivers/adodb-netezza.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'framework/DataAccess/adodb/drivers/adodb-netezza.inc.php')
-rw-r--r--framework/DataAccess/adodb/drivers/adodb-netezza.inc.php170
1 files changed, 0 insertions, 170 deletions
diff --git a/framework/DataAccess/adodb/drivers/adodb-netezza.inc.php b/framework/DataAccess/adodb/drivers/adodb-netezza.inc.php
deleted file mode 100644
index c99e6f32..00000000
--- a/framework/DataAccess/adodb/drivers/adodb-netezza.inc.php
+++ /dev/null
@@ -1,170 +0,0 @@
-<?php
-/*
- V4.72 21 Feb 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
-
- First cut at the Netezza Driver by Josh Eldridge joshuae74#hotmail.com
- Based on the previous postgres drivers.
- http://www.netezza.com/
- Major Additions/Changes:
- MetaDatabasesSQL, MetaTablesSQL, MetaColumnsSQL
- Note: You have to have admin privileges to access the system tables
- Removed non-working keys code (Netezza has no concept of keys)
- Fixed the way data types and lengths are returned in MetaColumns()
- as well as added the default lengths for certain types
- Updated public variables for Netezza
- Still need to remove blob functions, as Netezza doesn't suppport blob
-*/
-// security - hide paths
-if (!defined('ADODB_DIR')) die();
-
-include_once(ADODB_DIR.'/drivers/adodb-postgres64.inc.php');
-
-class ADODB_netezza extends ADODB_postgres64 {
- var $databaseType = 'netezza';
- var $dataProvider = 'netezza';
- var $hasInsertID = false;
- var $_resultid = false;
- var $concat_operator='||';
- var $random = 'random';
- var $metaDatabasesSQL = "select objname from _v_object_data where objtype='database' order by 1";
- var $metaTablesSQL = "select objname from _v_object_data where objtype='table' order by 1";
- var $isoDates = true; // accepts dates in ISO format
- var $sysDate = "CURRENT_DATE";
- var $sysTimeStamp = "CURRENT_TIMESTAMP";
- var $blobEncodeType = 'C';
- var $metaColumnsSQL = "SELECT attname, atttype FROM _v_relation_column_def WHERE name = '%s' AND attnum > 0 ORDER BY attnum";
- var $metaColumnsSQL1 = "SELECT attname, atttype FROM _v_relation_column_def WHERE name = '%s' AND attnum > 0 ORDER BY attnum";
- // netezza doesn't have keys. it does have distributions, so maybe this is
- // something that can be pulled from the system tables
- var $metaKeySQL = "";
- var $hasAffectedRows = true;
- var $hasLimit = true;
- var $true = 't'; // string that represents TRUE for a database
- var $false = 'f'; // string that represents FALSE for a database
- var $fmtDate = "'Y-m-d'"; // used by DBDate() as the default date format used by the database
- var $fmtTimeStamp = "'Y-m-d G:i:s'"; // used by DBTimeStamp as the default timestamp fmt.
- var $ansiOuter = true;
- var $autoRollback = true; // apparently pgsql does not autorollback properly before 4.3.4
- // http://bugs.php.net/bug.php?id=25404
-
-
- function ADODB_netezza()
- {
-
- }
-
- function &MetaColumns($table,$upper=true)
- {
-
- // Changed this function to support Netezza which has no concept of keys
- // could posisbly work on other things from the system table later.
-
- global $ADODB_FETCH_MODE;
-
- $table = strtolower($table);
-
- $save = $ADODB_FETCH_MODE;
- $ADODB_FETCH_MODE = ADODB_FETCH_NUM;
- if ($this->fetchMode !== false) $savem = $this->SetFetchMode(false);
-
- $rs =& $this->Execute(sprintf($this->metaColumnsSQL,$table,$table));
- if (isset($savem)) $this->SetFetchMode($savem);
- $ADODB_FETCH_MODE = $save;
-
- if ($rs === false) return false;
-
- $retarr = array();
- while (!$rs->EOF) {
- $fld = new ADOFieldObject();
- $fld->name = $rs->fields[0];
-
- // since we're returning type and length as one string,
- // split them out here.
-
- if ($first = strstr($rs->fields[1], "(")) {
- $fld->max_length = trim($first, "()");
- } else {
- $fld->max_length = -1;
- }
-
- if ($first = strpos($rs->fields[1], "(")) {
- $fld->type = substr($rs->fields[1], 0, $first);
- } else {
- $fld->type = $rs->fields[1];
- }
-
- switch ($fld->type) {
- case "byteint":
- case "boolean":
- $fld->max_length = 1;
- break;
- case "smallint":
- $fld->max_length = 2;
- break;
- case "integer":
- case "numeric":
- case "date":
- $fld->max_length = 4;
- break;
- case "bigint":
- case "time":
- case "timestamp":
- $fld->max_length = 8;
- break;
- case "timetz":
- case "time with time zone":
- $fld->max_length = 12;
- break;
- }
-
- if ($ADODB_FETCH_MODE == ADODB_FETCH_NUM) $retarr[] = $fld;
- else $retarr[($upper) ? strtoupper($fld->name) : $fld->name] = $fld;
-
- $rs->MoveNext();
- }
- $rs->Close();
- return $retarr;
-
- }
-
-
-}
-
-/*--------------------------------------------------------------------------------------
- Class Name: Recordset
---------------------------------------------------------------------------------------*/
-
-class ADORecordSet_netezza extends ADORecordSet_postgres64
-{
- var $databaseType = "netezza";
- var $canSeek = true;
-
- function ADORecordSet_netezza($queryID,$mode=false)
- {
- if ($mode === false) {
- global $ADODB_FETCH_MODE;
- $mode = $ADODB_FETCH_MODE;
- }
- switch ($mode)
- {
- case ADODB_FETCH_NUM: $this->fetchMode = PGSQL_NUM; break;
- case ADODB_FETCH_ASSOC:$this->fetchMode = PGSQL_ASSOC; break;
-
- case ADODB_FETCH_DEFAULT:
- case ADODB_FETCH_BOTH:
- default: $this->fetchMode = PGSQL_BOTH; break;
- }
- $this->adodbFetchMode = $mode;
- $this->ADORecordSet($queryID);
- }
-
- // _initrs modified to disable blob handling
- function _initrs()
- {
- global $ADODB_COUNTRECS;
- $this->_numOfRows = ($ADODB_COUNTRECS)? @pg_numrows($this->_queryID):-1;
- $this->_numOfFields = @pg_numfields($this->_queryID);
- }
-
-}
-?>