Uploaded image for project: 'Apache Trafodion (Retired)'
  1. Apache Trafodion (Retired)
  2. TRAFODION-2634

FLOOR and CEIL return a float data type instead of the argument's data type

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.2.0
    • 2.2.0
    • sql-cmp, sql-exe
    • None

    Attachments

      Issue Links

        Activity

          dbirdsall Dave Birdsall added a comment -

          ANSI SQL defines FLOOR and CEIL as returning integers. Most DBMSs use an integer data type as the return type for FLOOR and CEIL. Trafodion returns a floating point data type.

          This can be problematic, as some functions (e.g. LEFT) require an integer argument. Yes, a user could use CAST in Trafodion to make the result of FLOOR and CEIL into an integer argument, but the point is that one doesn't have to do this elsewhere.

          dbirdsall Dave Birdsall added a comment - ANSI SQL defines FLOOR and CEIL as returning integers. Most DBMSs use an integer data type as the return type for FLOOR and CEIL. Trafodion returns a floating point data type. This can be problematic, as some functions (e.g. LEFT) require an integer argument. Yes, a user could use CAST in Trafodion to make the result of FLOOR and CEIL into an integer argument, but the point is that one doesn't have to do this elsewhere.
          githubbot ASF GitHub Bot added a comment -

          GitHub user DaveBirdsall opened a pull request:

          https://github.com/apache/incubator-trafodion/pull/1111

          TRAFODION-2634 Change return type of FLOOR/CEIL to an integer type

          Before this change, the Trafodion FLOOR/CEIL functions returned a floating-point data type. This is counter-intuitive since FLOOR/CEIL return an integer value. This makes it awkward to nest a FLOOR/CEIL call inside some other function (e.g. LEFT) which requires an integer data type.

          Other DBMSs return an integer data type for FLOOR/CEIL.

          Most of the work for this change is due to @nonstop-qfchen. I added a missing case in ExFunctionMath::eval.

          You can merge this pull request into a Git repository by running:

          $ git pull https://github.com/DaveBirdsall/incubator-trafodion Trafodion2634

          Alternatively you can review and apply these changes as the patch at:

          https://github.com/apache/incubator-trafodion/pull/1111.patch

          To close this pull request, make a commit to your master/trunk branch
          with (at least) the following in the commit message:

          This closes #1111



          githubbot ASF GitHub Bot added a comment - GitHub user DaveBirdsall opened a pull request: https://github.com/apache/incubator-trafodion/pull/1111 TRAFODION-2634 Change return type of FLOOR/CEIL to an integer type Before this change, the Trafodion FLOOR/CEIL functions returned a floating-point data type. This is counter-intuitive since FLOOR/CEIL return an integer value. This makes it awkward to nest a FLOOR/CEIL call inside some other function (e.g. LEFT) which requires an integer data type. Other DBMSs return an integer data type for FLOOR/CEIL. Most of the work for this change is due to @nonstop-qfchen. I added a missing case in ExFunctionMath::eval. You can merge this pull request into a Git repository by running: $ git pull https://github.com/DaveBirdsall/incubator-trafodion Trafodion2634 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/incubator-trafodion/pull/1111.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1111
          githubbot ASF GitHub Bot added a comment -

          Github user asfgit closed the pull request at:

          https://github.com/apache/incubator-trafodion/pull/1111

          githubbot ASF GitHub Bot added a comment - Github user asfgit closed the pull request at: https://github.com/apache/incubator-trafodion/pull/1111
          dbirdsall Dave Birdsall added a comment -

          I have verified the change.

          dbirdsall Dave Birdsall added a comment - I have verified the change.

          People

            dbirdsall Dave Birdsall
            dbirdsall Dave Birdsall
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: