Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-4406

Wrong order when using ORDER BY on non-deterministic function

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 10.5.3.0, 10.6.1.0
    • None
    • SQL
    • None
    • Repro attached
    • Deviation from standard

    Description

      If I read the SQL standard correctly, a statement such as "select random() as r from t order by random()" should be treated as "select random() as r from t order by r". Derby does however generate a second, hidden random() column by which the rows are ordered.

      ij> create table t(x int);
      0 rows inserted/updated/deleted
      ij> insert into t values 1,2,3,4,5;
      5 rows inserted/updated/deleted
      ij> – wrong result, not ordered by r
      ij> select random() as r from t order by random();
      R
      ----------------------
      0.1285512465366495
      0.5116860880915798
      0.21060042130229073
      0.2506706923680875
      0.6378857329935494

      5 rows selected
      ij> – correct result, ordered by r
      ij> select random() as r from t order by r;
      R
      ----------------------
      0.0749025910679918
      0.07694931688380491
      0.1724114605785414
      0.2268758969382877
      0.31900450349277965

      5 rows selected

      Attachments

        Issue Links

          Activity

            People

              nirmal Nirmal Fernando
              knutanders Knut Anders Hatlen
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: