Menu

#29 Multiple errors generating SELECT

open
nobody
None
5
2005-02-16
2005-02-16
No

I am using HSQL ODBC backend.

First, the space before FROM is sometimes omitted:

eu_mod_userid,eu_mod_dateFROM eu_mstr as T1

This query generated with:

do t <- table eu_mstr
return t

Second, space before WHERE is also omitted at times:

teFROM eu_mstr as T1WHERE (eu_cm_nbr = 'xxxxxx')

This query generated with:

do t <- table eu_mstr
restrict (t!eu_cm_nbr .==. constJust dealer)
return t

Third, sorting causes invalid column names to be selected:

SELECT DISTINCT eu_addr1 as eu_addr,eu_rsb1 as eu_rsb,
....

There is no eu_addr1 column; eu_addr only.

This query generated by:

do t <- table eu_mstr
restrict (t!eu_cm_nbr .==. constJust dealer)
order [asc t eu_sort]
return t

All SQL dumps were obtained using the database's own
logging facility, which captures exactly the text sent
to it.

Finally, if I add a project statement to the end of all
of this, to reduce server load and gather only the
columns I want, it makes no difference to the generated
query; it still does the eu_addr1 thing and selects all
of the several dozen columns in the table. I only care
about 2.

Discussion

  • Bjorn Bringert

    Bjorn Bringert - 2005-02-16

    Logged In: YES
    user_id=123762

    Hmm, these queries are simple enough that I'm sure I've run
    ones like them before, without problems. Which version of
    HaskellDB are you using? Is it modified in any way? Maybe
    it's some silly bug introduced in the CVS version due to bad
    testing.

     
  • John Goerzen

    John Goerzen - 2005-02-16

    Logged In: YES
    user_id=491567

    I'm running the latest CVS version (due to the warning on
    the website about a bug in the latest release). I verified
    it was up-to-date with the SF.net CVS repository last night.

    Thanks for your help on these.

    -- John

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.