Igor,

You lost me;)  I think I might be taking you too literally, here is
what I tried:

SELECT FolderId, ImageId, instertedon
 FROM V_FAVORITES_SELECTED
WHERE instertedon > julianday(@time)
   THEN findImage(@rootPath, FolderId, ImageId) ELSE 0 END;

The prepare statement didn't much like something around the THEN statement.

Sam

On Sun, Jun 20, 2010 at 9:33 AM, Igor Tandetnik <itandet...@mvps.org> wrote:
> Sam Carleton <scarle...@miltonstreet.com> wrote:
>> This works great.  The issue is that the image returned might NOT
>> exist anymore, so I created an extension function to return 1 if it
>> exists, 0 if it doesn't, findImage( RootPath, FolderId, ImageId).
>> Then I added to the select statement like this:
>>
>> SELECT FolderId, ImageId, instertedon
>>  FROM V_FAVORITES_SELECTED
>> WHERE instertedon > julianday(@time) AND findImage( @rootPath,
>> FolderId, ImageId) = 1
>>    LIMIT 1
>>
>> The findLargeImage gets called for EVERY row.  I was hoping there
>> would be some sort of short-circuit evaluation, like there is in C/C++
>> and many other languages.  Is there some way I could rewrite the query
>> to short-circuit so that findImage()
>
> Try something like this:
>
> WHERE case when instertedon > julianday(@time)
>    then findImage(@rootPath, FolderId, ImageId)
>    else 0 end;
>
> --
> Igor Tandetnik
>
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to