GitHub user hvanhovell opened a pull request:
https://github.com/apache/spark/pull/20750
[SPARK-23581][SQL] Add interpreted unsafe projection
## What changes were proposed in this pull request?
We currently can only create unsafe rows using code generation. This is a
problem for situations in which code generation fails. There is no fallback,
and as a result we cannot execute the query.
This PR adds an interpreted version of `UnsafeProjection`. The
implementation is modeled after `InterpretedMutableProjection`. It stores the
expression results in a `GenericInternalRow`, and it then uses a conversion
function to convert the `GenericInternalRow` into an `UnsafeRow`.
## How was this patch tested?
I am piggybacking on exiting `UnsafeProjection` tests, and I have added an
interpreted version for each of these.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/hvanhovell/spark SPARK-23581
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/spark/pull/20750.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 #20750
----
commit 4689170a68ffe8e1ac1542b41b1760027875bf24
Author: Herman van Hovell <hvanhovell@...>
Date: 2018-03-06T13:19:44Z
Add an interpreted unsafe projection
commit ead8335b9ab923e667b3c07ece7bfd0320ef69f0
Author: Herman van Hovell <hvanhovell@...>
Date: 2018-03-06T14:24:32Z
Enable tests
----
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]