|
|
@@ -28,6 +28,7 @@ var (
|
|
|
flagCQL = flag.String("cql", "3.0.0", "CQL version")
|
|
|
flagRF = flag.Int("rf", 1, "replication factor for test keyspace")
|
|
|
clusterSize = flag.Int("clusterSize", 1, "the expected size of the cluster")
|
|
|
+ flagRetry = flag.Int("retries", 5, "number of times to retry queries")
|
|
|
clusterHosts []string
|
|
|
)
|
|
|
|
|
|
@@ -55,7 +56,7 @@ func createSession(tb testing.TB) *Session {
|
|
|
cluster.CQLVersion = *flagCQL
|
|
|
cluster.Timeout = 5 * time.Second
|
|
|
cluster.Consistency = Quorum
|
|
|
- cluster.RetryPolicy.NumRetries = 2
|
|
|
+ cluster.RetryPolicy.NumRetries = *flagRetry
|
|
|
|
|
|
initOnce.Do(func() {
|
|
|
session, err := cluster.CreateSession()
|
|
|
@@ -833,6 +834,28 @@ func injectInvalidPreparedStatement(t *testing.T, session *Session, table string
|
|
|
return stmt, conn
|
|
|
}
|
|
|
|
|
|
+func TestMissingSchemaPrepare(t *testing.T) {
|
|
|
+ s := createSession(t)
|
|
|
+ conn := s.Pool.Pick(nil)
|
|
|
+ defer s.Close()
|
|
|
+
|
|
|
+ insertQry := &Query{stmt: "INSERT INTO invalidschemaprep (val) VALUES (?)", values: []interface{}{5}, cons: s.cons,
|
|
|
+ session: s, pageSize: s.pageSize, trace: s.trace,
|
|
|
+ prefetch: s.prefetch, rt: s.cfg.RetryPolicy}
|
|
|
+
|
|
|
+ if err := conn.executeQuery(insertQry).err; err == nil {
|
|
|
+ t.Fatal("expected error, but got nil.")
|
|
|
+ }
|
|
|
+
|
|
|
+ if err := createTable(s, "CREATE TABLE invalidschemaprep (val int, PRIMARY KEY (val))"); err != nil {
|
|
|
+ t.Fatal("create table:", err)
|
|
|
+ }
|
|
|
+
|
|
|
+ if err := conn.executeQuery(insertQry).err; err != nil {
|
|
|
+ t.Fatal(err) // unconfigured columnfamily
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
func TestReprepareStatement(t *testing.T) {
|
|
|
session := createSession(t)
|
|
|
defer session.Close()
|