As an API, I think it should return all aliases of a path or should take an additional parameter like 'all','latest','oldest' depending on how you want it. But yeah it returns the oldest alias and just one entry. 

Dipen Chaudhary
http://www.dipenchaudhary.com
http://playdrupal.com




On Thu, Feb 19, 2009 at 3:49 AM, Nir Aides <nir@winpdb.org> wrote:
Hi,

path_set_alias($path, $alias) inserts a new alias in case there is already an alias for $path. However drupal_lookup_path() keeps picking up the old alias.
It makes sense to keep the old alias so links don't break in a website, but why look up the old alias when generating a URL?

Is this a bug?

Shouldn't the query "SELECT dst FROM {url_alias} WHERE src = '%s' AND language IN('%s', '') ORDER BY language DESC" in drupal_lookup_path() be rewritten as "SELECT dst FROM {url_alias} WHERE src = '%s' AND language IN('%s', '') ORDER BY language DESC, pid DESC"

Also, shouldn't this be db_result(db_query_range()) instead of just db_result(db_query())?

Nir