aboutsummaryrefslogtreecommitdiff
path: root/mllib
diff options
context:
space:
mode:
authorTakuya UESHIN <ueshin@happy-camper.st>2016-11-21 12:05:01 +0800
committerWenchen Fan <wenchen@databricks.com>2016-11-21 12:05:01 +0800
commit658547974915ebcaae83e13e4c3bdf68d5426fda (patch)
treec98c2613a62023dad4e7abd03849ef63d4d35fdf /mllib
parentb625a36ebc59cbacc223fc03005bc0f6d296b6e7 (diff)
downloadspark-658547974915ebcaae83e13e4c3bdf68d5426fda.tar.gz
spark-658547974915ebcaae83e13e4c3bdf68d5426fda.tar.bz2
spark-658547974915ebcaae83e13e4c3bdf68d5426fda.zip
[SPARK-18467][SQL] Extracts method for preparing arguments from StaticInvoke, Invoke and NewInstance and modify to short circuit if arguments have null when `needNullCheck == true`.
## What changes were proposed in this pull request? This pr extracts method for preparing arguments from `StaticInvoke`, `Invoke` and `NewInstance` and modify to short circuit if arguments have `null` when `propageteNull == true`. The steps are as follows: 1. Introduce `InvokeLike` to extract common logic from `StaticInvoke`, `Invoke` and `NewInstance` to prepare arguments. `StaticInvoke` and `Invoke` had a risk to exceed 64kb JVM limit to prepare arguments but after this patch they can handle them because they share the preparing code of NewInstance, which handles the limit well. 2. Remove unneeded null checking and fix nullability of `NewInstance`. Avoid some of nullabilty checking which are not needed because the expression is not nullable. 3. Modify to short circuit if arguments have `null` when `needNullCheck == true`. If `needNullCheck == true`, preparing arguments can be skipped if we found one of them is `null`, so modified to short circuit in the case. ## How was this patch tested? Existing tests. Author: Takuya UESHIN <ueshin@happy-camper.st> Closes #15901 from ueshin/issues/SPARK-18467.
Diffstat (limited to 'mllib')
0 files changed, 0 insertions, 0 deletions