[Dachs-support] question about a DaCHS server error
Markus Demleitner
msdemlei at ari.uni-heidelberg.de
Tue Dec 10 08:57:34 CET 2019
Hi Chris, Hi Baptiste,
On Tue, Dec 10, 2019 at 12:01:33AM +0100, Baptiste Cecconi wrote:
> The server is available at: http://vo.physics.uiowa.edu
>
> If I query "select * from mex_marsis_ne.epn_core", the query works
> fine. If I add any columns in the select part (e.g. "select obs_id
> from mex_marsis_ne.epn_core"), it breaks with the following error:
>
> > Please correct the following error(s):
> > • ADQL query : Field query: Could not parse your query: Expected "FROM", found 'm' (at char 19), (line:1, col:20)
>
> Any idea on what could produce this error ?
I strogly suspect the central clue is given by Chris in his followup:
> Just want to add that I'm running from the most recent SVN sources for both
> dachs and python2.7, both built from source. Extra modules that
> were needed for dachs were gathered using the pip2.7 command that was
> compiled along with the interpreter.
Whatever pyparsing you get with this procedure could very well have a
regression (for some meaning of that word) that bites with the
(obviously fairly complex) ADQL grammar. Could you downgrade your
pyparsing to 2.2 (which is what's currently in Debian stable) and see
if that fixes things?
I've eyeballed a couple of 100 lines of pyparsing's changelog since
2.2, and while I've not spotted anything obvious until I stopped,
there's been plenty of activity. Hence, I'd not be surprised if some
porting were required.
If downgrading doesn't help or is impossible: Since you have a
source checkout, would go to gavo/adql in that checkout, edit
grammar.py, at foot of that file replace the statement with
syms["statement"] with
res = syms["statement"].parseString(
"""
select a from mex_marsis_ne.epn_core
"""
, parseAll=True)
run python grammar.py in there and send me the output?
Meanwhile: What's the reason for running from svn? While I'm
generally only committing code that's passed all the tests, that's of
course still a big hurdle to continued maintenance compared to
running from package -- and continued maintainability is one of my
big goals with DaCHS. So, if there's a strong reason to run from svn
that I could perhaps cover otherwise, I'd try to do that.
And, on pretty much this topic, a warning: Some time within the next
month or so, svn trunk will become the python3-only DaCHS2. Most RDs
will just continue to work (some will need python3 fixes, a few may
need DaCHS2-specific updates), but if you're running from svn, you
will have to say python3 setup.py develop (or install, as the case
may be) after updating. I suppose I'll write a warning over
dachs-announce then, now that I'm reminded that people may be running
from SVN.
-- Markus
More information about the Dachs-support
mailing list