diff options
| author | Damien Regad <dregad@mantisbt.org> | 2021-08-17 01:08:57 +0200 |
|---|---|---|
| committer | Damien Regad <dregad@mantisbt.org> | 2021-08-17 01:08:57 +0200 |
| commit | 2595a935bc272a451595d27939ba4aaddc4ee68e (patch) | |
| tree | d5455991ea11e61648ccefb352ebd6a3eb6ccd21 /adodb.inc.php | |
| parent | d558d101c514beeb8c91f65ae61d106b201dc472 (diff) | |
| download | adodb-2595a935bc272a451595d27939ba4aaddc4ee68e.tar.gz adodb-2595a935bc272a451595d27939ba4aaddc4ee68e.tar.bz2 adodb-2595a935bc272a451595d27939ba4aaddc4ee68e.zip | |
Redo Merge tag 'v5.21.1'
# Conflicts:
# adodb.inc.php
# docs/changelog.md
# drivers/adodb-mssqlnative.inc.php
# drivers/adodb-mysqli.inc.php
Fixes #751
Diffstat (limited to 'adodb.inc.php')
| -rw-r--r-- | adodb.inc.php | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/adodb.inc.php b/adodb.inc.php index 15a3da97..ea971b8a 100644 --- a/adodb.inc.php +++ b/adodb.inc.php @@ -198,7 +198,7 @@ if (!defined('_ADODB_LAYER')) { /** * ADODB version as a string. */ - $ADODB_vers = 'v5.21.1-dev Unreleased'; + $ADODB_vers = 'v5.22.0-dev Unreleased'; /** * Determines whether recordset->RecordCount() is used. @@ -3829,7 +3829,8 @@ class ADORecordSet implements IteratorAggregate { */ var $_numOfRows = -1; /** number of rows, or -1 */ var $_numOfFields = -1; /** number of fields in recordset */ - var $_queryID = -1; /** This variable keeps the result link identifier. */ + /** @var resource result link identifier */ + var $_queryID = -1; var $_currentRow = -1; /** This variable keeps the current row in the Recordset. */ var $_closed = false; /** has recordset been closed */ var $_inited = false; /** Init() should only be called once */ @@ -3848,6 +3849,12 @@ class ADORecordSet implements IteratorAggregate { /** + * @var ADOFieldObject[] Field metadata cache + * @see fieldTypesArray() + */ + protected $fieldObjectsCache; + + /** * Constructor * * @param resource|int $queryID Query ID returned by ADOConnection->_query() @@ -4679,15 +4686,16 @@ class ADORecordSet implements IteratorAggregate { } /** - * Get Field metadata for of a specific column. + * Get a Field's metadata from database. + * + * Must be defined by child class. * - * @param fieldoffset is the column position to access(0-based). + * @param int $fieldOffset * - * @return ADOFieldObject|false for that column, or false. + * @return ADOFieldObject|false */ - function fetchField($fieldoffset = -1) { - // must be defined by child class - + function fetchField($fieldOffset) + { return false; } @@ -4697,13 +4705,12 @@ class ADORecordSet implements IteratorAggregate { * @return ADOFieldObject[] */ function fieldTypesArray() { - static $arr = array(); - if (empty($arr)) { - for ($i=0, $max=$this->_numOfFields; $i < $max; $i++) { - $arr[] = $this->FetchField($i); + if (empty($this->fieldObjectsCache)) { + for ($i = 0; $i < $this->_numOfFields; $i++) { + $this->fieldObjectsCache[] = $this->fetchField($i); } } - return $arr; + return $this->fieldObjectsCache; } /** |
