Skip to content

Commit

Permalink
Fix bugs
Browse files Browse the repository at this point in the history
  • Loading branch information
maropu committed Mar 27, 2018
1 parent c6da9ff commit ee78551
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 14 deletions.
Binary file not shown.
Binary file modified assembly/tpcds_2.11_2.3.0_0.1.1-SNAPSHOT-with-dependencies.jar
Binary file not shown.
Binary file modified releases/spark-sql-server-0.1.1.zip
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -21,38 +21,40 @@ import java.sql.SQLException

import org.apache.spark.sql.catalyst.dsl.expressions._
import org.apache.spark.sql.catalyst.expressions.{And, EqualTo, Literal}
import org.apache.spark.sql.catalyst.plans.logical._
import org.apache.spark.sql.catalyst.plans.PlanTest
import org.apache.spark.sql.catalyst.plans.logical._
import org.apache.spark.sql.server.catalyst.expressions.ParameterPlaceHolder
import org.apache.spark.sql.types._


class ParameterBinderSuite extends PlanTest {

test("bind parameters") {
val r1 = LocalRelation('a.int, 'b.int)
val c0 = 'a.int
val c1 = 'b.int
val r1 = LocalRelation(c0, c1)

val param1 = Literal(18, IntegerType)
val lp1 = Filter(EqualTo('a.int, ParameterPlaceHolder(1)), r1)
val expected1 = Filter(EqualTo('a.int, param1), r1)
val lp1 = Filter(EqualTo(c0, ParameterPlaceHolder(1)), r1)
val expected1 = Filter(EqualTo(c0, param1), r1)
comparePlans(expected1, ParamBinder.bind(lp1, Map(1 -> param1)))

val param2 = Literal(42, IntegerType)
val lp2 = Filter(EqualTo('a.int, ParameterPlaceHolder(300)), r1)
val expected2 = Filter(EqualTo('a.int, param2), r1)
val lp2 = Filter(EqualTo(c0, ParameterPlaceHolder(300)), r1)
val expected2 = Filter(EqualTo(c0, param2), r1)
comparePlans(expected2, ParamBinder.bind(lp2, Map(300 -> param2)))

val param3 = Literal(-1, IntegerType)
val param4 = Literal(48, IntegerType)
val lp3 = Filter(
And(
EqualTo('a.int, ParameterPlaceHolder(1)),
EqualTo('b.int, ParameterPlaceHolder(2))
EqualTo(c0, ParameterPlaceHolder(1)),
EqualTo(c1, ParameterPlaceHolder(2))
), r1)
val expected3 = Filter(
And(
EqualTo('a.int, param3),
EqualTo('b.int, param4)
EqualTo(c0, param3),
EqualTo(c1, param4)
), r1)
comparePlans(expected3, ParamBinder.bind(lp3, Map(1 -> param3, 2 -> param4)))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ class PgV3ProtocolScenarioSuite extends PgV3ProtocolTest {
}

testIfSupported("unsupported SQL strings") {
def expectedErrorMessage(message: String, cmd: String): String =
s"Exception detected in `$message`: java.sql.SQLException: Cannot handle command $cmd"
def expectedErrorMessage(message: String, cmd: String): Seq[String] =
Seq(s"Exception detected in `$message`", s"Operation not allowed: $cmd")

Seq("COMMIT", "ROLLBACK").foreach { cmd =>
val e1 = intercept[Exception] {
Expand All @@ -51,7 +51,7 @@ class PgV3ProtocolScenarioSuite extends PgV3ProtocolTest {
expected = ""
)
}.getMessage
assert(e1.contains(expectedErrorMessage("Query", cmd)))
assert(expectedErrorMessage("Query", cmd).forall(e1.contains))

val e2 = intercept[Exception] {
checkV3Protocol(
Expand All @@ -62,7 +62,7 @@ class PgV3ProtocolScenarioSuite extends PgV3ProtocolTest {
expected = ""
)
}.getMessage
assert(e2.contains(expectedErrorMessage("Parse", cmd)))
assert(expectedErrorMessage("Parse", cmd).forall(e2.contains))
}
}

Expand Down

0 comments on commit ee78551

Please sign in to comment.