Re: Extending "Limit" support

From: Date: Mon, 26 Nov 2001 09:27:57 +0000
Subject: Re: Extending "Limit" support
References: 1 2 3  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-3091@lists.php.net to get a copy of this message
"Tomas V.V.Cox" wrote: > > "Stig S. Bakken" wrote: > > > > "Tomas V.V.Cox" wrote: > > > > > > Hi, > > > > > > I've been playing with the limit support and want to make it avaible in > > > execute, getCol, getAssoc and getAll. But I'm not sure on the execute > > > thing. For ex if I add it in execute it will look like: > > > > > > $db->execute($stmt, $data, $from, $count); > > > but now query() doesn't have that params, it use limitQuery() instead > > > and perhaps will confuse people. So to unify the API I propose: > > > > > > a) Add limitExecute() and use the limit* family to do that, or: > > > > > > b) Add the extra params from/count to query() and execute() and drop > > > limitQuery(), loosing the chance of putting other coolest params in the > > > future. > > > > > > What way would you prefer? > > > > What about having a function that sets the limit for the next query? > > where "next query" means: query(), execute(), executeQuery(), getAll(), > getCol() and getAssoc(). I dropped this idea because IMO it reduces the > readability, but there are too much functions for being adding extra > params to all of them, so perhaps this is not bad at all. So leave > limitQuery() for this stuff, ex: > > $db->limitQuery($from, $count); > $res = $db->query($sql); > > ? > > >Or > > simply drop limitQuery and parse the query? > > > > Don't catch you here, supply the $from/$count how? SELECT foo FROM bar LIMIT 20 (from=0 count=20) or SELECT foo FROM bar LIMIT 100 20 (from=100 count=20) In MySQL this works out of the box, in the others, modifyQuery() parses out the LIMIT part, stores the from/count values temporarily in the connection object and returns the same query without the LIMIT. - Stig

« previous php.pear.dev (#3091) next »