Oh, yes, we watched her expose it.
The right thing to do in this case, without adding new functionality, is
to reject the query.
Here's what's happening:
qserv_areaspec_box asks qserv to choose chunk/row coverage according to
the director table. Generally, it detects the director table from the
query, computes the region against the index, and then substitutes the
right directive. But in this case, there is no director table, only a
child table. Hence, even if we know what the director table is, its
columns are not available to use in the query, unless we rewrite to add
an equi-join with the director table. The best we can do in this case
(without adding a join), is to use the parameters for determining chunk
coverage, and then covering all rows in those chunks. The user could
specify additional conditions to apply spatial filtering based on other
(non-partitioning) columns.
Another thing we could do is to detect scisql region directives in the
WHERE clause, but this expands the detection and dependence on scisql
name/syntax (the first is in the angle distance condition when
determining spatial join evaluability).
Anyway, what I'm trying to say is that the right thing to do isn't
completely clear, and the possible options are not that simple to
implement (though the ones I've listed are certainly possible, and
should be much easier than refmatch support).
-Daniel
On 02/10/2015 04:34 PM, Jacek Becla wrote:
> Does it ring any bells? I guess we should open a bug report.
>
> J.
>
>
> -------- Forwarded Message --------
> Subject: qserv error
> Date: Tue, 10 Feb 2015 16:18:20 -0800
> From: Tatiana Goldina <[log in to unmask]>
> To: Serge Monkewitz <[log in to unmask]>, Fabrice Jammes
> <[log in to unmask]>
> CC: Jacek Becla <[log in to unmask]>
>
> sql> select * from DeepForcedSource where
> qserv_areaSpec_box(0.4,0.9,0.6,1.1) LIMIT 3000
> [2015-02-10 16:12:14] [42S02][1051] Unknown table 'result_4492663598'
> [2015-02-10 16:12:14] [Proxy][4120] Error during execution:
> -1 Ref=1 Resource(/chk/LSST/7140): 20150210-16:12:01, Error merging
> result, 1470, [1064] You have an error in your SQL syntax; check the
> manual that corresponds to your MySQL server version for the right
> syntax to use near 'QST_1_.,0.4,0.9,0.6,1.1)=1 LIMIT 3 (-1)
>
> ########################################################################
> Use REPLY-ALL to reply to list
>
> To unsubscribe from the QSERV-L list, click the following link:
> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=QSERV-L&A=1
########################################################################
Use REPLY-ALL to reply to list
To unsubscribe from the QSERV-L list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=QSERV-L&A=1
|