@@ -35,9 +35,6 @@ TEST(BoundQuery, FromPreparedQuery) {
3535 " SELECT * FROM my_table WHERE col1 = @val1 and col2 = @val2;" );
3636 SqlStatement sql_statement (statement_contents);
3737 PrepareQueryResponse response;
38- std::unordered_map<std::string, Value> parameters = {{" val1" , Value (true )},
39- {" val2" , Value (2.0 )}};
40-
4138 // The following variables are only meant to confirm the metadata is correctly
4239 // passed down to the BoundQuery.
4340 auto metadata = std::make_unique<google::bigtable::v2::ResultSetMetadata>();
@@ -47,18 +44,24 @@ TEST(BoundQuery, FromPreparedQuery) {
4744 schema->mutable_columns ()->Add (std::move (column));
4845 metadata->set_allocated_proto_schema (schema.release ());
4946 response.set_allocated_metadata (metadata.release ());
47+ auto refresh_fn = [&response]() {
48+ return make_ready_future (StatusOr<PrepareQueryResponse>(response));
49+ };
50+ auto query_plan = bigtable_internal::QueryPlan::Create (
51+ CompletionQueue (fake_cq_impl), std::move (response),
52+ std::move (refresh_fn));
53+ std::unordered_map<std::string, Value> parameters = {{" val1" , Value (true )},
54+ {" val2" , Value (2.0 )}};
5055
51- PreparedQuery pq (CompletionQueue (fake_cq_impl), instance, sql_statement,
52- response);
56+ PreparedQuery pq (instance, sql_statement, query_plan);
5357 auto bq = pq.BindParameters (parameters);
5458 EXPECT_EQ (instance.FullName (), bq.instance ().FullName ());
55- EXPECT_STATUS_OK (bq.prepared_query ());
56- EXPECT_EQ (statement_contents, bq.prepared_query ().value ());
5759 EXPECT_EQ (parameters, bq.parameters ());
58- EXPECT_STATUS_OK (bq.metadata ());
59- EXPECT_TRUE (bq.metadata ().value ().has_proto_schema ());
60- EXPECT_EQ (1 , bq.metadata ().value ().proto_schema ().columns_size ());
61- EXPECT_EQ (" col1" , bq.metadata ().value ().proto_schema ().columns ()[0 ].name ());
60+ EXPECT_STATUS_OK (bq.response ());
61+ EXPECT_TRUE (bq.response ()->metadata ().has_proto_schema ());
62+ EXPECT_EQ (1 , bq.response ()->metadata ().proto_schema ().columns_size ());
63+ EXPECT_EQ (" col1" ,
64+ bq.response ()->metadata ().proto_schema ().columns ()[0 ].name ());
6265
6366 // Cancel all pending operations, satisfying any remaining futures.
6467 fake_cq_impl->SimulateCompletion (false );
@@ -72,15 +75,19 @@ TEST(BoundQuery, ToRequestProto) {
7275 " SELECT * FROM my_table WHERE col1 = @val1 and col2 = @val2;" );
7376 SqlStatement sql_statement (statement_contents);
7477 PrepareQueryResponse response;
78+ auto refresh_fn = []() {
79+ return make_ready_future (StatusOr<PrepareQueryResponse>{});
80+ };
81+ auto query_plan = bigtable_internal::QueryPlan::Create (
82+ CompletionQueue (fake_cq_impl), response, std::move (refresh_fn));
7583 std::unordered_map<std::string, Value> parameters = {{" val1" , Value (true )},
7684 {" val2" , Value (2.0 )}};
7785
78- PreparedQuery pq (CompletionQueue (fake_cq_impl), instance, sql_statement,
79- response);
86+ PreparedQuery pq (instance, sql_statement, query_plan);
8087 auto bq = pq.BindParameters (parameters);
8188 google::bigtable::v2::ExecuteQueryRequest proto = bq.ToRequestProto ();
8289 EXPECT_EQ (instance.FullName (), proto.instance_name ());
83- EXPECT_EQ (statement_contents , proto.prepared_query ());
90+ EXPECT_EQ (" " , proto.prepared_query ());
8491
8592 // Test param contents.
8693 EXPECT_EQ (parameters.size (), proto.mutable_params ()->size ());
0 commit comments