serhiy-bzhezytskyy opened a new pull request, #4753:
URL: https://github.com/apache/solr/pull/4753

   ## Spec
   
   `FunctionQParser` parses a function-query string into a `ValueSource`. By 
default it expects exactly one value expression; trailing comma separated 
content is a syntax error — this is the guard against malformed queries (e.g. a 
stray comma).
   
   Functions over multi-dimensional points — `geodist`, `dist`, `hsin`, 
`sqedist`, all documented in the ref guide as taking "two or more" value 
sources in pairs — may receive their point via a `$param` reference 
(`geodist($pt)`, `pt=lat,lon`) instead of inline literals. A referenced value 
carries no syntax of its own to opt into multiple values, so the parser must 
collect a comma separated `$param` value into a vector on the referencing 
function's behalf.
   
   ## ACs
   
   - `{!func}5` — single value, unaffected.
   - `{!func}x,y,z,w,0,0,0` (no wrapping function) — still `SyntaxError`, 
unaffected.
   - `geodist($pt)`, `dist(...,$pt)` and any other `$param` dereference still 
resolve into a vector — pinned by `QueryEqualityTest#testFuncGeodist`, 
`TestFunctionQuery#testGeneral`, `DistanceFunctionTest#testLatLon`, all 
pre-existing and unmodified.
   - `setParseMultipleSources`/`getParseMultipleSources` removed — zero 
external callers anywhere in the tree.
   - `multiple=true` local param removed too: zero ref-guide mentions, zero 
tests, zero CHANGES.txt history — never a documented contract. `{!func 
multiple=true}1,2,3` now throws `SyntaxError`.
   
   ## Design
   
   The removed field was a mutable flag written from two places and read once 
elsewhere — the diff replaces it with a private overload taking an explicit 
argument, no shared mutable state.
   
   AI-assisted (Claude Sonnet 5)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to