@@ -40,6 +40,9 @@ private[parquet] object ParquetFilters {
4040 (n : String , v : Any ) => FilterApi .eq(floatColumn(n), v.asInstanceOf [java.lang.Float ])
4141 case DoubleType =>
4242 (n : String , v : Any ) => FilterApi .eq(doubleColumn(n), v.asInstanceOf [java.lang.Double ])
43+
44+ // See SPARK-17213: https://issues.apache.org/jira/browse/SPARK-17213
45+ /*
4346 // Binary.fromString and Binary.fromByteArray don't accept null values
4447 case StringType =>
4548 (n: String, v: Any) => FilterApi.eq(
@@ -49,6 +52,7 @@ private[parquet] object ParquetFilters {
4952 (n: String, v: Any) => FilterApi.eq(
5053 binaryColumn(n),
5154 Option(v).map(b => Binary.fromReusedByteArray(v.asInstanceOf[Array[Byte]])).orNull)
55+ */
5256 }
5357
5458 private val makeNotEq : PartialFunction [DataType , (String , Any ) => FilterPredicate ] = {
@@ -62,6 +66,9 @@ private[parquet] object ParquetFilters {
6266 (n : String , v : Any ) => FilterApi .notEq(floatColumn(n), v.asInstanceOf [java.lang.Float ])
6367 case DoubleType =>
6468 (n : String , v : Any ) => FilterApi .notEq(doubleColumn(n), v.asInstanceOf [java.lang.Double ])
69+
70+ // See SPARK-17213: https://issues.apache.org/jira/browse/SPARK-17213
71+ /*
6572 case StringType =>
6673 (n: String, v: Any) => FilterApi.notEq(
6774 binaryColumn(n),
@@ -70,6 +77,7 @@ private[parquet] object ParquetFilters {
7077 (n: String, v: Any) => FilterApi.notEq(
7178 binaryColumn(n),
7279 Option(v).map(b => Binary.fromReusedByteArray(v.asInstanceOf[Array[Byte]])).orNull)
80+ */
7381 }
7482
7583 private val makeLt : PartialFunction [DataType , (String , Any ) => FilterPredicate ] = {
@@ -81,13 +89,17 @@ private[parquet] object ParquetFilters {
8189 (n : String , v : Any ) => FilterApi .lt(floatColumn(n), v.asInstanceOf [java.lang.Float ])
8290 case DoubleType =>
8391 (n : String , v : Any ) => FilterApi .lt(doubleColumn(n), v.asInstanceOf [java.lang.Double ])
92+
93+ // See SPARK-17213: https://issues.apache.org/jira/browse/SPARK-17213
94+ /*
8495 case StringType =>
8596 (n: String, v: Any) =>
8697 FilterApi.lt(binaryColumn(n),
8798 Binary.fromString(v.asInstanceOf[String]))
8899 case BinaryType =>
89100 (n: String, v: Any) =>
90101 FilterApi.lt(binaryColumn(n), Binary.fromReusedByteArray(v.asInstanceOf[Array[Byte]]))
102+ */
91103 }
92104
93105 private val makeLtEq : PartialFunction [DataType , (String , Any ) => FilterPredicate ] = {
@@ -99,13 +111,17 @@ private[parquet] object ParquetFilters {
99111 (n : String , v : Any ) => FilterApi .ltEq(floatColumn(n), v.asInstanceOf [java.lang.Float ])
100112 case DoubleType =>
101113 (n : String , v : Any ) => FilterApi .ltEq(doubleColumn(n), v.asInstanceOf [java.lang.Double ])
114+
115+ // See SPARK-17213: https://issues.apache.org/jira/browse/SPARK-17213
116+ /*
102117 case StringType =>
103118 (n: String, v: Any) =>
104119 FilterApi.ltEq(binaryColumn(n),
105120 Binary.fromString(v.asInstanceOf[String]))
106121 case BinaryType =>
107122 (n: String, v: Any) =>
108123 FilterApi.ltEq(binaryColumn(n), Binary.fromReusedByteArray(v.asInstanceOf[Array[Byte]]))
124+ */
109125 }
110126
111127 private val makeGt : PartialFunction [DataType , (String , Any ) => FilterPredicate ] = {
@@ -117,13 +133,17 @@ private[parquet] object ParquetFilters {
117133 (n : String , v : Any ) => FilterApi .gt(floatColumn(n), v.asInstanceOf [java.lang.Float ])
118134 case DoubleType =>
119135 (n : String , v : Any ) => FilterApi .gt(doubleColumn(n), v.asInstanceOf [java.lang.Double ])
136+
137+ // See SPARK-17213: https://issues.apache.org/jira/browse/SPARK-17213
138+ /*
120139 case StringType =>
121140 (n: String, v: Any) =>
122141 FilterApi.gt(binaryColumn(n),
123142 Binary.fromString(v.asInstanceOf[String]))
124143 case BinaryType =>
125144 (n: String, v: Any) =>
126145 FilterApi.gt(binaryColumn(n), Binary.fromReusedByteArray(v.asInstanceOf[Array[Byte]]))
146+ */
127147 }
128148
129149 private val makeGtEq : PartialFunction [DataType , (String , Any ) => FilterPredicate ] = {
@@ -135,13 +155,17 @@ private[parquet] object ParquetFilters {
135155 (n : String , v : Any ) => FilterApi .gtEq(floatColumn(n), v.asInstanceOf [java.lang.Float ])
136156 case DoubleType =>
137157 (n : String , v : Any ) => FilterApi .gtEq(doubleColumn(n), v.asInstanceOf [java.lang.Double ])
158+
159+ // See SPARK-17213: https://issues.apache.org/jira/browse/SPARK-17213
160+ /*
138161 case StringType =>
139162 (n: String, v: Any) =>
140163 FilterApi.gtEq(binaryColumn(n),
141164 Binary.fromString(v.asInstanceOf[String]))
142165 case BinaryType =>
143166 (n: String, v: Any) =>
144167 FilterApi.gtEq(binaryColumn(n), Binary.fromReusedByteArray(v.asInstanceOf[Array[Byte]]))
168+ */
145169 }
146170
147171 /**
0 commit comments