|
|
|||
|
||||
|
Hi Roberto, The constraint takes precedence over the hyperslab operator. This topic came up a few months ago in a private e-mail exchange between James Gallagher, Ethan Davis and me a few months ago; I've attached James' explanation below: > >> >> Another spec issue -- what's the precedence of the array operator? >> For instance, if I request: >> >> location[0:9].latitude?latitude>20 >> >> do I get the first 10 values where the latitude > 20? Or just the >> subset of latitude values in the first 10 values that are > 20? > The current behavior has the CE's evaluation broken into two phases: First the CE is parsed and, as part of the parse, the projection information is recorded. Then, as the data are sent, the selection clauses are evaluated. In the current servers (and given NASA ESE SPG 'rules' that's what I must document in the spec) this means that a CE like values[0:99]&values.v1>200 will return the first 100 values where v1 is greater than 200, not those values where v1 is > 200 found in the first 100 values. Programatically what happens is that the rows are read from the sequence starting at zero and proceeding to 99. A row is counted as having been read if the relational constraint (selection) holds true. Suppose these values: v1 210 199 201 202 203 198 204 CE: values[0:2]&values.v1>200 210 201 202 CE: values[0:2]&values.v1<200 199 198 Note that there are not three values that satisfy the second CE. Roberto De Almeida wrote: Hi, all. A quick question: |
| Contact Us Site Map Search Terms and Conditions Privacy Policy Participation Policy | ||||||
|
||||||