From: Operating system: linux PHP version: 5.3.3 Package: SQLite related Bug Type: Bug Bug description:queries on create_function return only one result
Description: ------------ Using sqlite3, create a function to do a comparison (SQLite3::createFunction) Then query a table using the function. Only one result is returned when multiple results would be expected. Test script: --------------- // callback function for use by the sqlite3 class which returns the distance between 2 points on the earth function SqLDistance($Latitude,$Longitude,$Lat,$Long) { $result = 10000.0; // flag to be off the earth! if (isset($Latitude) && isset($Longitude)) { $lat1rad = $Latitude * 0.01745327;// degrees * pi over 180 $lat2rad = $Lat * 0.01745327;// degrees * pi over 180 $long1rad = $Longitude * 0.01745327;// degrees * pi over 180 $long2rad = $Long * 0.01745327;// degrees * pi over 180 // apply the spherical law of cosines to our $earthRadius = 6378.1; //km $result = $earthRadius * acos(sin($lat1rad) * sin($lat2rad) + cos($lat1rad) * cos($lat2rad) * cos($long2rad - $long1rad)); } return $result; } class MyDB extends SQLite3 { function __construct() { $this->open('zipcode.db'); $this->createFunction('Distance','SqlDistance',4); } function Borked($lat,$long,$count) { $result = $this->query("Select *,Distance(Lat,Long,$lat,$long) as Distance from agents order by Distance Limit 0,$count"); return $result->fetchArray(); } } Expected result: ---------------- An array of results with a length greater then 1. Actual result: -------------- An array of result. -- Edit bug report at http://bugs.php.net/bug.php?id=53336&edit=1 -- Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=53336&r=trysnapshot52 Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=53336&r=trysnapshot53 Try a snapshot (trunk): http://bugs.php.net/fix.php?id=53336&r=trysnapshottrunk Fixed in SVN: http://bugs.php.net/fix.php?id=53336&r=fixed Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=53336&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=53336&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=53336&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=53336&r=needscript Try newer version: http://bugs.php.net/fix.php?id=53336&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=53336&r=support Expected behavior: http://bugs.php.net/fix.php?id=53336&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=53336&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=53336&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=53336&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=53336&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=53336&r=dst IIS Stability: http://bugs.php.net/fix.php?id=53336&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=53336&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=53336&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=53336&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=53336&r=mysqlcfg