summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--adodb.inc.php28
-rw-r--r--drivers/adodb-oci8.inc.php40
-rw-r--r--drivers/adodb-postgres7.inc.php23
3 files changed, 28 insertions, 63 deletions
diff --git a/adodb.inc.php b/adodb.inc.php
index d90775f7..934ca278 100644
--- a/adodb.inc.php
+++ b/adodb.inc.php
@@ -4195,6 +4195,34 @@ http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10759/statements_1
}
}
+ /**
+ * Convert case of field names associative array, if needed
+ * @return void
+ */
+ protected function _updatefields()
+ {
+ if( empty($this->fields)) {
+ return;
+ }
+
+ // Determine case conversion function
+ $fn_change_case = $this->AssocCaseConvertFunction();
+ if(!$fn_change_case) {
+ // No conversion needed
+ return;
+ }
+
+ $arr = array();
+
+ // Change the case
+ foreach($this->fields as $k => $v) {
+ if (!is_integer($k)) {
+ $k = $fn_change_case($k);
+ }
+ $arr[$k] = $v;
+ }
+ $this->fields = $arr;
+ }
function _close() {}
diff --git a/drivers/adodb-oci8.inc.php b/drivers/adodb-oci8.inc.php
index faaa5ef0..206e4826 100644
--- a/drivers/adodb-oci8.inc.php
+++ b/drivers/adodb-oci8.inc.php
@@ -1715,46 +1715,6 @@ class ADORecordset_oci8 extends ADORecordSet {
return false;
}
- /**
- * Sets the case for the fields associative array based on value of
- * ADODB_ASSOC_CASE
- */
- function _updatefields()
- {
- // No fields to update
- if($this->fields === false) {
- return;
- }
-
- // Nothing to do if fetch mode is not associative
- if(!($this->fetchMode & OCI_ASSOC)) {
- return;
- }
-
- switch(ADODB_ASSOC_CASE) {
- case ADODB_ASSOC_CASE_UPPER:
- $fn_change_case = 'strtoupper';
- break;
- case ADODB_ASSOC_CASE_LOWER:
- $fn_change_case = 'strtolower';
- break;
- case ADODB_ASSOC_CASE_NATIVE:
- default:
- // Nothing to do
- return;
- }
-
- // Change the case
- $arr = array();
- foreach($this->fields as $key => $val) {
- if(!is_numeric($key)) {
- $key = $fn_change_case($key);
- }
- $arr[$key] = $val;
- }
- $this->fields = $arr;
- }
-
function _fetch()
{
$this->fields = @oci_fetch_array($this->_queryID,$this->fetchMode);
diff --git a/drivers/adodb-postgres7.inc.php b/drivers/adodb-postgres7.inc.php
index 2ff70157..b848032c 100644
--- a/drivers/adodb-postgres7.inc.php
+++ b/drivers/adodb-postgres7.inc.php
@@ -358,29 +358,6 @@ class ADORecordSet_assoc_postgres7 extends ADORecordSet_postgres64{
return (is_array($this->fields));
}
- /**
- * Convert case of field names associative array, if needed
- * @return void
- */
- function _updatefields()
- {
- $fn_change_case = $this->AssocCaseConvertFunction();
- if(!$fn_change_case) {
- // No conversion needed
- return;
- }
-
- $arr = array();
-
- foreach($this->fields as $k => $v) {
- if (!is_integer($k)) {
- $k = $fn_change_case($k);
- }
- $arr[$k] = $v;
- }
- $this->fields = $arr;
- }
-
function MoveNext()
{
if (!$this->EOF) {