Skip to content
Snippets Groups Projects
  1. Mar 09, 2017
  2. Mar 08, 2017
  3. Mar 03, 2017
  4. Mar 02, 2017
  5. Mar 01, 2017
  6. Feb 28, 2017
  7. Feb 24, 2017
  8. Feb 23, 2017
  9. Feb 22, 2017
  10. Feb 21, 2017
  11. Feb 20, 2017
  12. Feb 10, 2017
  13. Feb 09, 2017
  14. Feb 07, 2017
  15. Feb 01, 2017
  16. Oct 12, 2016
  17. Sep 20, 2016
    • gmantele's avatar
      [ADQL] Fix the tree generated by the parsing of NATURAL JOINs. · 7ca49f81
      gmantele authored
      The "normal" JOIN:
          A JOIN B ON A.id = B.id JOIN C ON B.id = C.id
      is correctly interpreted as:
          ( (A JOIN B ON A.id = B.id) JOIN C ON B.id = C.id )
      But with a NATURAL JOIN, the tree is mirrored:
          A NATURAL JOIN B NATURAL JOIN C
      gives:
      	( A NATURAL JOIN (B NATURAL JOIN C) )
      instead of:
          ( (A NATURAL JOIN B) NATURAL JOIN C )
      This is not a problem when the SQL translation is identical to the ADQL
      expression, but for some DBMS a conversion into a INNER JOIN ON is necessary
      and in this case we got the following SQL:
          A JOIN B JOIN C ON A.id = B.id ON B.id = C.id
      Which seems to work, but is syntactically strange.
      
      This commit should fix the generated tree. A "normal" JOIN and a NATURAL JOIN
      should now have the same form. A JUnit test has been added into TestADQLParser
      to check that: testJoinTree().
      7ca49f81
  18. Sep 14, 2016
  19. Sep 13, 2016
  20. Sep 09, 2016
Loading