From b91bd7b3586dddecd940f8a0477da69b79c23cd8 Mon Sep 17 00:00:00 2001 From: "Robert (Bobby) Evans" Date: Fri, 7 Aug 2020 15:57:59 -0500 Subject: [PATCH] Fixed a leak Signed-off-by: Robert (Bobby) Evans --- docs/configs.md | 4 ++-- .../main/java/com/nvidia/spark/rapids/GpuColumnVector.java | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/configs.md b/docs/configs.md index 8f62b2ffd18..bdc3cb692c2 100644 --- a/docs/configs.md +++ b/docs/configs.md @@ -128,7 +128,7 @@ Name | SQL Function(s) | Description | Default Value | Notes spark.rapids.sql.expression.Expm1|`expm1`|Euler's number e raised to a power minus 1|true|None| spark.rapids.sql.expression.Floor|`floor`|Floor of a number|true|None| spark.rapids.sql.expression.FromUnixTime|`from_unixtime`|Get the string from a unix timestamp|true|None| -spark.rapids.sql.expression.GetArrayItem| |Get an item from an array... TODO finish this|true|None| +spark.rapids.sql.expression.GetArrayItem| |Gets the field at `ordinal` in the Array|true|None| spark.rapids.sql.expression.GreaterThan|`>`|> operator|true|None| spark.rapids.sql.expression.GreaterThanOrEqual|`>=`|>= operator|true|None| spark.rapids.sql.expression.Hour|`hour`|Returns the hour component of the string/timestamp|true|None| @@ -187,7 +187,7 @@ Name | SQL Function(s) | Description | Default Value | Notes spark.rapids.sql.expression.StringLocate|`position`, `locate`|Substring search operator|true|None| spark.rapids.sql.expression.StringRPad|`rpad`|Pad a string on the right|true|None| spark.rapids.sql.expression.StringReplace|`replace`|StringReplace operator|true|None| -spark.rapids.sql.expression.StringSplit|`split`|splits `str` around occurrences that match `regex`|true|None| +spark.rapids.sql.expression.StringSplit|`split`|Splits `str` around occurrences that match `regex`|true|None| spark.rapids.sql.expression.StringTrim|`trim`|StringTrim operator|true|None| spark.rapids.sql.expression.StringTrimLeft|`ltrim`|StringTrimLeft operator|true|None| spark.rapids.sql.expression.StringTrimRight|`rtrim`|StringTrimRight operator|true|None| diff --git a/sql-plugin/src/main/java/com/nvidia/spark/rapids/GpuColumnVector.java b/sql-plugin/src/main/java/com/nvidia/spark/rapids/GpuColumnVector.java index bd0a0af2690..c8f0d92c0cb 100644 --- a/sql-plugin/src/main/java/com/nvidia/spark/rapids/GpuColumnVector.java +++ b/sql-plugin/src/main/java/com/nvidia/spark/rapids/GpuColumnVector.java @@ -193,19 +193,20 @@ protected static final DataType getSparkType(DType type) { case TIMESTAMP_DAYS: return DataTypes.DateType; case TIMESTAMP_MICROSECONDS: - return DataTypes.TimestampType; // TODO need to verify that the TimeUnits are correct + return DataTypes.TimestampType; case STRING: return DataTypes.StringType; default: throw new IllegalArgumentException(type + " is not supported by spark yet."); - } } protected static final DataType getSparkTypeFrom(ColumnViewPointerAccess access) { DType type = access.getDataType(); if (type == DType.LIST) { - return new ArrayType(getSparkTypeFrom(access.getChildColumnView(0)), true); + try (ColumnViewPointerAccess child = access.getChildColumnView(0)) { + return new ArrayType(getSparkTypeFrom(child), true); + } } else { return getSparkType(type); }