Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-11706

[JS] Better BigInt compatibility check

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • JavaScript

    Description

      See: https://github.com/apache/arrow/pull/9110

      Check for whether BigInt64ArrayAvailable and BigUint64ArrayAvailable are available, rather than just BigIntAvailable. Recent versions of JavaScriptCore/WebKit in Safari support BigInt but do not support BigInt64Array, and so anything that relies on BigInt64Array will fail despite BigIntAvailable being true.

      The manifestation of this issue can be seen when trying to run the following within Safari on a table that contains bigints:

      RecordBatchJSONWriter.writeAll(table).toString(true)
      
      message: "BigUint64Array is not available in this environment"
        BigUint64ArrayUnavailableError
        BigUint64ArrayUnavailable
        bignumToString
        bigNumsToStrings
        generatorResume@[native code]
        performIteration@[native code]
        visitInt
        visit
        map@[native code]
        recordBatchToJSON
        close
        finish
        global code
      

      See also: https://bugs.webkit.org/show_bug.cgi?id=190800

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              dianaclarke Diana Clarke
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 50m
                  50m