Derby
  1. Derby
  2. DERBY-3314

RAND(SEED INTEGER) builtin function always returns the same random value for a given seed.

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: 10.3.1.4, 10.3.2.1, 10.4.1.3
    • Fix Version/s: None
    • Component/s: SQL
    • Urgency:
      Normal

      Description

      RAND or

      {fn RAND(seed)}

      exists to match the JDBC specification (section C.1)
      RAND(integer) Random floating point for seed integer

      Trouble is that Derby creates a new Random() instance for every call leading to the same return value for the same seed. Seems to be useful, the function should return a new random number even when handed the same seed.

      Some more specification is probably needed, when does a sequence based upon a seed start?

      • first call by any connection
      • sequence within a connection
      • sequence within a sql context (e.g. procedure call, statement etc.)

      Also need to be wary of memory leaks if the engine needs to hold onto Random objects beyond the lifetime of the RAND call.

      ij> values rand(3);
      1
      ----------------------
      0.731057369148862

      1 row selected
      ij> values rand(3);
      1
      ----------------------
      0.731057369148862

      1 row selected
      ij> values

      {fn rand(3)}

      ;
      1
      ----------------------
      0.731057369148862

      1 row selected

        Issue Links

          Activity

          Daniel John Debrunner created issue -
          Daniel John Debrunner made changes -
          Field Original Value New Value
          Link This issue is related to DERBY-3297 [ DERBY-3297 ]
          Kathey Marsden made changes -
          Urgency Normal
          Kathey Marsden made changes -
          Labels derby_triage10_5_2
          Gavin made changes -
          Workflow jira [ 12420637 ] Default workflow, editable Closed status [ 12798793 ]

            People

            • Assignee:
              Unassigned
              Reporter:
              Daniel John Debrunner
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:

                Development