|
|
@@ -37,6 +37,15 @@ func init() {
|
|
|
|
|
|
var initOnce sync.Once
|
|
|
|
|
|
+func createTable(s *Session, table string) error {
|
|
|
+ err := s.Query(table).Consistency(All).Exec()
|
|
|
+ if clusterSize > 1 {
|
|
|
+ // wait for table definition to propogate
|
|
|
+ time.Sleep(250 * time.Millisecond)
|
|
|
+ }
|
|
|
+ return err
|
|
|
+}
|
|
|
+
|
|
|
func createSession(tb testing.TB) *Session {
|
|
|
cluster := NewCluster(clusterHosts...)
|
|
|
cluster.ProtoVersion = *flagProto
|
|
|
@@ -117,7 +126,7 @@ func TestTracing(t *testing.T) {
|
|
|
session := createSession(t)
|
|
|
defer session.Close()
|
|
|
|
|
|
- if err := session.Query(`CREATE TABLE trace (id int primary key)`).Exec(); err != nil {
|
|
|
+ if err := createTable(session, `CREATE TABLE trace (id int primary key)`); err != nil {
|
|
|
t.Fatal("create:", err)
|
|
|
}
|
|
|
|
|
|
@@ -149,7 +158,7 @@ func TestPaging(t *testing.T) {
|
|
|
session := createSession(t)
|
|
|
defer session.Close()
|
|
|
|
|
|
- if err := session.Query("CREATE TABLE paging (id int primary key)").Exec(); err != nil {
|
|
|
+ if err := createTable(session, "CREATE TABLE paging (id int primary key)"); err != nil {
|
|
|
t.Fatal("create table:", err)
|
|
|
}
|
|
|
for i := 0; i < 100; i++ {
|
|
|
@@ -180,11 +189,11 @@ func TestCAS(t *testing.T) {
|
|
|
session := createSession(t)
|
|
|
defer session.Close()
|
|
|
|
|
|
- if err := session.Query(`CREATE TABLE cas_table (
|
|
|
+ if err := createTable(session, `CREATE TABLE cas_table (
|
|
|
title varchar,
|
|
|
revid timeuuid,
|
|
|
PRIMARY KEY (title, revid)
|
|
|
- )`).Exec(); err != nil {
|
|
|
+ )`); err != nil {
|
|
|
t.Fatal("create:", err)
|
|
|
}
|
|
|
|
|
|
@@ -219,7 +228,7 @@ func TestBatch(t *testing.T) {
|
|
|
session := createSession(t)
|
|
|
defer session.Close()
|
|
|
|
|
|
- if err := session.Query(`CREATE TABLE batch_table (id int primary key)`).Exec(); err != nil {
|
|
|
+ if err := createTable(session, `CREATE TABLE batch_table (id int primary key)`); err != nil {
|
|
|
t.Fatal("create table:", err)
|
|
|
}
|
|
|
|
|
|
@@ -248,7 +257,7 @@ func TestBatchLimit(t *testing.T) {
|
|
|
session := createSession(t)
|
|
|
defer session.Close()
|
|
|
|
|
|
- if err := session.Query(`CREATE TABLE batch_table2 (id int primary key)`).Exec(); err != nil {
|
|
|
+ if err := createTable(session, `CREATE TABLE batch_table2 (id int primary key)`); err != nil {
|
|
|
t.Fatal("create table:", err)
|
|
|
}
|
|
|
|
|
|
@@ -271,7 +280,7 @@ func TestTooManyQueryArgs(t *testing.T) {
|
|
|
session := createSession(t)
|
|
|
defer session.Close()
|
|
|
|
|
|
- if err := session.Query(`CREATE TABLE too_many_query_args (id int primary key, value int)`).Exec(); err != nil {
|
|
|
+ if err := createTable(session, `CREATE TABLE too_many_query_args (id int primary key, value int)`); err != nil {
|
|
|
t.Fatal("create table:", err)
|
|
|
}
|
|
|
|
|
|
@@ -308,7 +317,7 @@ func TestNotEnoughQueryArgs(t *testing.T) {
|
|
|
session := createSession(t)
|
|
|
defer session.Close()
|
|
|
|
|
|
- if err := session.Query(`CREATE TABLE not_enough_query_args (id int, cluster int, value int, primary key (id, cluster))`).Exec(); err != nil {
|
|
|
+ if err := createTable(session, `CREATE TABLE not_enough_query_args (id int, cluster int, value int, primary key (id, cluster))`); err != nil {
|
|
|
t.Fatal("create table:", err)
|
|
|
}
|
|
|
|
|
|
@@ -356,7 +365,7 @@ func TestCreateSessionTimeout(t *testing.T) {
|
|
|
func TestSliceMap(t *testing.T) {
|
|
|
session := createSession(t)
|
|
|
defer session.Close()
|
|
|
- if err := session.Query(`CREATE TABLE slice_map_table (
|
|
|
+ if err := createTable(session, `CREATE TABLE slice_map_table (
|
|
|
testuuid timeuuid PRIMARY KEY,
|
|
|
testtimestamp timestamp,
|
|
|
testvarchar varchar,
|
|
|
@@ -369,7 +378,7 @@ func TestSliceMap(t *testing.T) {
|
|
|
testdecimal decimal,
|
|
|
testset set<int>,
|
|
|
testmap map<varchar, varchar>
|
|
|
- )`).Exec(); err != nil {
|
|
|
+ )`); err != nil {
|
|
|
t.Fatal("create table:", err)
|
|
|
}
|
|
|
m := make(map[string]interface{})
|
|
|
@@ -488,11 +497,11 @@ func TestScanWithNilArguments(t *testing.T) {
|
|
|
session := createSession(t)
|
|
|
defer session.Close()
|
|
|
|
|
|
- if err := session.Query(`CREATE TABLE scan_with_nil_arguments (
|
|
|
+ if err := createTable(session, `CREATE TABLE scan_with_nil_arguments (
|
|
|
foo varchar,
|
|
|
bar int,
|
|
|
PRIMARY KEY (foo, bar)
|
|
|
- )`).Exec(); err != nil {
|
|
|
+ )`); err != nil {
|
|
|
t.Fatal("create:", err)
|
|
|
}
|
|
|
for i := 1; i <= 20; i++ {
|
|
|
@@ -524,11 +533,11 @@ func TestScanCASWithNilArguments(t *testing.T) {
|
|
|
session := createSession(t)
|
|
|
defer session.Close()
|
|
|
|
|
|
- if err := session.Query(`CREATE TABLE scan_cas_with_nil_arguments (
|
|
|
+ if err := createTable(session, `CREATE TABLE scan_cas_with_nil_arguments (
|
|
|
foo varchar,
|
|
|
bar varchar,
|
|
|
PRIMARY KEY (foo, bar)
|
|
|
- )`).Exec(); err != nil {
|
|
|
+ )`); err != nil {
|
|
|
t.Fatal("create:", err)
|
|
|
}
|
|
|
|
|
|
@@ -568,7 +577,7 @@ func TestRebindQueryInfo(t *testing.T) {
|
|
|
session := createSession(t)
|
|
|
defer session.Close()
|
|
|
|
|
|
- if err := session.Query("CREATE TABLE rebind_query (id int, value text, PRIMARY KEY (id))").Exec(); err != nil {
|
|
|
+ if err := createTable(session, "CREATE TABLE rebind_query (id int, value text, PRIMARY KEY (id))"); err != nil {
|
|
|
t.Fatalf("failed to create table with error '%v'", err)
|
|
|
}
|
|
|
|
|
|
@@ -608,7 +617,7 @@ func TestStaticQueryInfo(t *testing.T) {
|
|
|
session := createSession(t)
|
|
|
defer session.Close()
|
|
|
|
|
|
- if err := session.Query("CREATE TABLE static_query_info (id int, value text, PRIMARY KEY (id))").Exec(); err != nil {
|
|
|
+ if err := createTable(session, "CREATE TABLE static_query_info (id int, value text, PRIMARY KEY (id))"); err != nil {
|
|
|
t.Fatalf("failed to create table with error '%v'", err)
|
|
|
}
|
|
|
|
|
|
@@ -677,7 +686,7 @@ func TestBoundQueryInfo(t *testing.T) {
|
|
|
session := createSession(t)
|
|
|
defer session.Close()
|
|
|
|
|
|
- if err := session.Query("CREATE TABLE clustered_query_info (id int, cluster int, value text, PRIMARY KEY (id, cluster))").Exec(); err != nil {
|
|
|
+ if err := createTable(session, "CREATE TABLE clustered_query_info (id int, cluster int, value text, PRIMARY KEY (id, cluster))"); err != nil {
|
|
|
t.Fatalf("failed to create table with error '%v'", err)
|
|
|
}
|
|
|
|
|
|
@@ -720,7 +729,7 @@ func TestBatchQueryInfo(t *testing.T) {
|
|
|
session := createSession(t)
|
|
|
defer session.Close()
|
|
|
|
|
|
- if err := session.Query("CREATE TABLE batch_query_info (id int, cluster int, value text, PRIMARY KEY (id, cluster))").Exec(); err != nil {
|
|
|
+ if err := createTable(session, "CREATE TABLE batch_query_info (id int, cluster int, value text, PRIMARY KEY (id, cluster))"); err != nil {
|
|
|
t.Fatalf("failed to create table with error '%v'", err)
|
|
|
}
|
|
|
|
|
|
@@ -765,11 +774,11 @@ func TestBatchQueryInfo(t *testing.T) {
|
|
|
}
|
|
|
|
|
|
func injectInvalidPreparedStatement(t *testing.T, session *Session, table string) (string, *Conn) {
|
|
|
- if err := session.Query(`CREATE TABLE ` + table + ` (
|
|
|
+ if err := createTable(session, `CREATE TABLE `+table+` (
|
|
|
foo varchar,
|
|
|
bar int,
|
|
|
PRIMARY KEY (foo, bar)
|
|
|
- )`).Exec(); err != nil {
|
|
|
+ )`); err != nil {
|
|
|
t.Fatal("create:", err)
|
|
|
}
|
|
|
stmt := "INSERT INTO " + table + " (foo, bar) VALUES (?, 7)"
|
|
|
@@ -847,7 +856,7 @@ func TestPreparedCacheEviction(t *testing.T) {
|
|
|
stmtsLRU.Max(4)
|
|
|
stmtsLRU.mu.Unlock()
|
|
|
|
|
|
- if err := session.Query("CREATE TABLE prepcachetest (id int,mod int,PRIMARY KEY (id))").Exec(); err != nil {
|
|
|
+ if err := createTable(session, "CREATE TABLE prepcachetest (id int,mod int,PRIMARY KEY (id))"); err != nil {
|
|
|
t.Fatalf("failed to create table with error '%v'", err)
|
|
|
}
|
|
|
//Fill the table
|
|
|
@@ -929,7 +938,7 @@ func TestMarshalFloat64Ptr(t *testing.T) {
|
|
|
session := createSession(t)
|
|
|
defer session.Close()
|
|
|
|
|
|
- if err := session.Query("CREATE TABLE float_test (id double, test double, primary key (id))").Exec(); err != nil {
|
|
|
+ if err := createTable(session, "CREATE TABLE float_test (id double, test double, primary key (id))"); err != nil {
|
|
|
t.Fatal("create table:", err)
|
|
|
}
|
|
|
testNum := float64(7500)
|