Skip to content

Commit 7699e87

Browse files
committed
add unittests for DataSet.
1 parent 43beb07 commit 7699e87

File tree

2 files changed

+36
-2
lines changed

2 files changed

+36
-2
lines changed

sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/parser/AstBuilder.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ import javax.xml.bind.DatatypeConverter
2323

2424
import scala.collection.JavaConverters._
2525
import scala.collection.mutable.ArrayBuffer
26+
2627
import org.antlr.v4.runtime.{ParserRuleContext, Token}
2728
import org.antlr.v4.runtime.tree.{ParseTree, RuleNode, TerminalNode}
28-
import org.apache.spark.SparkEnv
29+
2930
import org.apache.spark.internal.Logging
30-
import org.apache.spark.SparkEnv
3131
import org.apache.spark.sql.AnalysisException
3232
import org.apache.spark.sql.catalyst.{FunctionIdentifier, TableIdentifier}
3333
import org.apache.spark.sql.catalyst.analysis._

sql/core/src/test/scala/org/apache/spark/sql/DatasetSuite.scala

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,40 @@ class DatasetSuite extends QueryTest with SharedSQLContext {
244244
("a", ClassData("a", 1)), ("b", ClassData("b", 2)), ("c", ClassData("c", 3)))
245245
}
246246

247+
test("select 3, regex") {
248+
val ds = Seq(("a", 1), ("b", 2), ("c", 3)).toDF()
249+
intercept[AnalysisException] {
250+
ds.select(expr("`(_1)?+.+`").as[Int])
251+
}
252+
253+
intercept[AnalysisException] {
254+
ds.select(expr("`(_1|_2)`").as[Int])
255+
}
256+
257+
withSQLConf(SQLConf.SUPPORT_QUOTED_IDENTIFIERS.key -> "true") {
258+
checkDataset(
259+
ds.select(expr("`(_1)?+.+`").as[Int]),
260+
1, 2, 3)
261+
val m = ds.select(expr("`(_1|_2)`"))
262+
263+
checkDataset(
264+
ds.select(expr("`(_1|_2)`"))
265+
.select(expr("named_struct('a', _1, 'b', _2)").as[ClassData]),
266+
ClassData("a", 1), ClassData("b", 2), ClassData("c", 3))
267+
268+
checkDataset(
269+
ds.alias("g")
270+
.select(expr("g.`(_1)?+.+`").as[Int]),
271+
1, 2, 3)
272+
273+
checkDataset(
274+
ds.alias("g")
275+
.select(expr("g.`(_1|_2)`"))
276+
.select(expr("named_struct('a', _1, 'b', _2)").as[ClassData]),
277+
ClassData("a", 1), ClassData("b", 2), ClassData("c", 3))
278+
}
279+
}
280+
247281
test("filter") {
248282
val ds = Seq(("a", 1), ("b", 2), ("c", 3)).toDS()
249283
checkDataset(

0 commit comments

Comments
 (0)