PHP 4.0 Bug #5440 Updated: Major Design Flaw(s) in FilePro access
| From: | sniper@php.net | Date: | Thu, 18 Jan 2001 14:40:47 +0000 |
| Subject: | PHP 4.0 Bug #5440 Updated: Major Design Flaw(s) in FilePro access | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-44478@lists.php.net to get a copy of this message | ||
ID: 5440
Updated by: sniper
Reported By: gilem@wsg.net
Old-Status: Open
Status: Feedback
Bug Type: filePro related
Assigned To:
Comments:
If you have made some improvements for the code,
please send a patch made against the latest CVS
(cvs diff -u)
and someone will commit it if it is good.
--Jani
Previous Comments:
---------------------------------------------------------------------------
[2000-07-07 20:32:08] gilem@wsg.net
filepro access has some major design flaws.
The two functions that are currently used to pull data from a db are filepro_rowcount, and
filepro_retrieve. filepro_rowcount returns the number of rows in the db that are NOT deleted.
filepro_retrieve returns a row/column of the database, regardless of whether or not the row is (not)
deleted. This makes it impossible for php to actually retrieve only the undeleted rows from the
table.
Recommendations:
We have added an additional function in order to check if a row is deleted (filepro_is_deleted), and
are happy to contribute this code. However, because of the inefficiency of the current retrieve
function, we recommend adding a new function to obsolete the retrieve function. This function
should be written like the dbase getrecord function, that returns a deleted member along with all
the fields in a given record.
In addition, the filepro_rowcount function is essentially useless, since it gives you the number of
undeleted records. In order to improve the results of someone who is currently using this to
iterate through their db, it is recommended that this function be changed to return the total
(deleted or undeleted) number of records.
---------------------------------------------------------------------------
Full Bug description available at: http://bugs.php.net/?id=5440