Variable working in VarToy but not in Category Formula

Started by axel.hennig, October 04, 2023, 09:38:09 PM

Previous topic - Next topic

axel.hennig

I've got a Variable

{File.MD.XMP::photoshop\DateCreated\DateCreated\0|format:YYYY-MM-DD;datecomp:gt,2008-01-01,TRUE,FALSE}
which works fine in the VarToy-App, but if enter

"@Variable[{File.MD.XMP::photoshop\DateCreated\DateCreated\0|format:YYYY-MM-DD;datecomp:gt,2008-01-01,TRUE,FALSE},hasvalue]"
it returns: Error Code: [15000]; Invalid expression

What am I doing wrong?

If I enter

"@Variable[{File.MD.XMP::photoshop\DateCreated\DateCreated\0|format:YYYY-MM-DD},hasvalue]"
it works.

Mario

It's the commas that breaks this. Commas are used in Category formulas to separate parameters.
There is no special case for @Variables with variables containing functions with , the implementation I've settled for aims at speed, not at dealing with every possible use case. This is important since @Variable has to be parsed and executed for every file in the database every time.

Since this worked for so long without a problem report, I think not many users will ever use @Variables, or only with simple expressions. I could implement a more complex parser that parses the variable, looking for the final closing } instead of just using , as the Category formula parameter separator, but I have no idea what this would do with the performance. It would be a lot slower I think. Need to think about this.

I'll move this as alow-prio into bug reports for now.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Mario

I have fixed this for IMatch 2023.3.6 (out just now).
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook