|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| benchmarks/ | H | 03-May-2022 | - | 3,088 | 2,104 |
| ci/ | H | 01-Dec-2020 | - | 136 | 73 |
| doc/ | H | 01-Dec-2020 | - | 685 | 460 |
| examples/ | H | 03-May-2022 | - | 8,650 | 6,661 |
| internal/ | H | 01-Dec-2020 | - | 6,843 | 4,967 |
| quickstart/ | H | 03-May-2022 | - | 329 | 222 |
| testing/ | H | 01-Dec-2020 | - | 2,724 | 2,001 |
| tests/ | H | 03-May-2022 | - | 4,913 | 3,731 |
| tools/ | H | 01-Dec-2020 | - | 444 | 308 |
| BUILD | H A D | 01-Dec-2020 | 3.2 KiB | 91 | 81 |
| README.md | H A D | 01-Dec-2020 | 3.3 KiB | 95 | 70 |
| admin_client.cc | H A D | 01-Dec-2020 | 17.2 KiB | 463 | 375 |
| admin_client.h | H A D | 01-Dec-2020 | 12.6 KiB | 301 | 215 |
| admin_client_test.cc | H A D | 01-Dec-2020 | 1.4 KiB | 47 | 26 |
| app_profile_config.cc | H A D | 01-Dec-2020 | 2.1 KiB | 64 | 44 |
| app_profile_config.h | H A D | 01-Dec-2020 | 4 KiB | 127 | 92 |
| app_profile_config_test.cc | H A D | 01-Dec-2020 | 5.4 KiB | 135 | 107 |
| async_list_app_profiles_test.cc | H A D | 01-Dec-2020 | 11.9 KiB | 291 | 234 |
| async_list_clusters_test.cc | H A D | 01-Dec-2020 | 13.2 KiB | 319 | 262 |
| async_list_instances_test.cc | H A D | 01-Dec-2020 | 13.1 KiB | 315 | 259 |
| async_read_stream_test.cc | H A D | 01-Dec-2020 | 24.5 KiB | 724 | 588 |
| async_row_reader.h | H A D | 01-Dec-2020 | 16.2 KiB | 436 | 292 |
| async_row_reader_test.cc | H A D | 01-Dec-2020 | 35.7 KiB | 1,086 | 866 |
| bigtable_client.bzl | H A D | 01-Dec-2020 | 3.1 KiB | 111 | 107 |
| bigtable_client_testing.bzl | H A D | 01-Dec-2020 | 1.5 KiB | 42 | 38 |
| bigtable_client_unit_tests.bzl | H A D | 01-Dec-2020 | 2.4 KiB | 73 | 70 |
| bigtable_version_test.cc | H A D | 01-Dec-2020 | 2 KiB | 57 | 34 |
| cell.h | H A D | 01-Dec-2020 | 7.7 KiB | 188 | 77 |
| cell_test.cc | H A D | 01-Dec-2020 | 3.5 KiB | 102 | 73 |
| client_options.cc | H A D | 01-Dec-2020 | 5.4 KiB | 145 | 110 |
| client_options.h | H A D | 01-Dec-2020 | 12.3 KiB | 358 | 132 |
| client_options_test.cc | H A D | 01-Dec-2020 | 18.1 KiB | 433 | 312 |
| cluster_config.cc | H A D | 01-Dec-2020 | 1.2 KiB | 34 | 12 |
| cluster_config.h | H A D | 01-Dec-2020 | 2.3 KiB | 69 | 38 |
| cluster_config_test.cc | H A D | 01-Dec-2020 | 1.7 KiB | 50 | 30 |
| cluster_list_responses.h | H A D | 01-Dec-2020 | 1.7 KiB | 49 | 17 |
| column_family.h | H A D | 01-Dec-2020 | 7.9 KiB | 229 | 115 |
| column_family_test.cc | H A D | 01-Dec-2020 | 4.9 KiB | 154 | 120 |
| completion_queue.h | H A D | 01-Dec-2020 | 1.1 KiB | 33 | 14 |
| config.cmake.in | H A D | 01-Dec-2020 | 1.2 KiB | 35 | 30 |
| data_client.cc | H A D | 01-Dec-2020 | 14.8 KiB | 384 | 305 |
| data_client.h | H A D | 01-Dec-2020 | 8.5 KiB | 199 | 127 |
| data_client_test.cc | H A D | 01-Dec-2020 | 1.5 KiB | 49 | 28 |
| expr.cc | H A D | 01-Dec-2020 | 1.6 KiB | 50 | 32 |
| expr.h | H A D | 01-Dec-2020 | 1.9 KiB | 52 | 17 |
| expr_test.cc | H A D | 01-Dec-2020 | 2 KiB | 72 | 53 |
| filters.h | H A D | 01-Dec-2020 | 28 KiB | 703 | 251 |
| filters_test.cc | H A D | 01-Dec-2020 | 16.9 KiB | 422 | 342 |
| force_sanitizer_failures_test.cc | H A D | 01-Dec-2020 | 2.9 KiB | 85 | 48 |
| iam_binding.cc | H A D | 01-Dec-2020 | 2.6 KiB | 80 | 58 |
| iam_binding.h | H A D | 01-Dec-2020 | 5.7 KiB | 178 | 55 |
| iam_binding_test.cc | H A D | 01-Dec-2020 | 4 KiB | 103 | 78 |
| iam_policy.cc | H A D | 01-Dec-2020 | 2.1 KiB | 66 | 46 |
| iam_policy.h | H A D | 01-Dec-2020 | 4.6 KiB | 147 | 49 |
| iam_policy_test.cc | H A D | 01-Dec-2020 | 3.1 KiB | 91 | 67 |
| idempotent_mutation_policy.cc | H A D | 01-Dec-2020 | 2 KiB | 66 | 42 |
| idempotent_mutation_policy.h | H A D | 01-Dec-2020 | 3.3 KiB | 91 | 39 |
| idempotent_mutation_policy_test.cc | H A D | 01-Dec-2020 | 2.2 KiB | 59 | 34 |
| instance_admin.cc | H A D | 01-Dec-2020 | 42.6 KiB | 1,122 | 955 |
| instance_admin.h | H A D | 01-Dec-2020 | 57.6 KiB | 1,404 | 188 |
| instance_admin_client.cc | H A D | 01-Dec-2020 | 14.9 KiB | 385 | 307 |
| instance_admin_client.h | H A D | 01-Dec-2020 | 13.6 KiB | 345 | 232 |
| instance_admin_client_test.cc | H A D | 01-Dec-2020 | 1.4 KiB | 47 | 26 |
| instance_admin_test.cc | H A D | 01-Dec-2020 | 62.5 KiB | 1,663 | 1,346 |
| instance_config.cc | H A D | 01-Dec-2020 | 1.3 KiB | 35 | 12 |
| instance_config.h | H A D | 01-Dec-2020 | 3.1 KiB | 90 | 56 |
| instance_config_test.cc | H A D | 01-Dec-2020 | 3 KiB | 83 | 58 |
| instance_list_responses.h | H A D | 01-Dec-2020 | 1.7 KiB | 49 | 17 |
| instance_update_config.cc | H A D | 01-Dec-2020 | 1.7 KiB | 44 | 16 |
| instance_update_config.h | H A D | 01-Dec-2020 | 4.7 KiB | 137 | 88 |
| instance_update_config_test.cc | H A D | 01-Dec-2020 | 3.6 KiB | 117 | 89 |
| metadata_update_policy.cc | H A D | 01-Dec-2020 | 2.3 KiB | 55 | 28 |
| metadata_update_policy.h | H A D | 01-Dec-2020 | 3.9 KiB | 110 | 52 |
| metadata_update_policy_test.cc | H A D | 01-Dec-2020 | 3.4 KiB | 86 | 55 |
| mutation_batcher.cc | H A D | 01-Dec-2020 | 10.1 KiB | 266 | 197 |
| mutation_batcher.h | H A D | 01-Dec-2020 | 11.4 KiB | 318 | 113 |
| mutation_batcher_test.cc | H A D | 01-Dec-2020 | 27.3 KiB | 752 | 572 |
| mutations.cc | H A D | 01-Dec-2020 | 1.4 KiB | 49 | 30 |
| mutations.h | H A D | 01-Dec-2020 | 19.8 KiB | 560 | 281 |
| mutations_test.cc | H A D | 01-Dec-2020 | 10.3 KiB | 278 | 213 |
| polling_policy.cc | H A D | 01-Dec-2020 | 1,021 | 30 | 13 |
| polling_policy.h | H A D | 01-Dec-2020 | 4.7 KiB | 154 | 65 |
| polling_policy_test.cc | H A D | 01-Dec-2020 | 3.6 KiB | 100 | 65 |
| read_modify_write_rule.h | H A D | 01-Dec-2020 | 3.3 KiB | 91 | 48 |
| read_modify_write_rule_test.cc | H A D | 01-Dec-2020 | 1.6 KiB | 49 | 29 |
| row.h | H A D | 01-Dec-2020 | 1.9 KiB | 61 | 27 |
| row_key.h | H A D | 01-Dec-2020 | 2.2 KiB | 56 | 18 |
| row_key_sample.h | H A D | 01-Dec-2020 | 1.8 KiB | 51 | 19 |
| row_range.cc | H A D | 01-Dec-2020 | 7.7 KiB | 239 | 183 |
| row_range.h | H A D | 01-Dec-2020 | 6.6 KiB | 210 | 120 |
| row_range_test.cc | H A D | 01-Dec-2020 | 26.1 KiB | 743 | 605 |
| row_reader.cc | H A D | 01-Dec-2020 | 8.7 KiB | 255 | 194 |
| row_reader.h | H A D | 01-Dec-2020 | 5.8 KiB | 176 | 77 |
| row_reader_test.cc | H A D | 01-Dec-2020 | 30.3 KiB | 804 | 635 |
| row_set.cc | H A D | 01-Dec-2020 | 2.1 KiB | 66 | 42 |
| row_set.h | H A D | 01-Dec-2020 | 3.2 KiB | 104 | 44 |
| row_set_test.cc | H A D | 01-Dec-2020 | 3.7 KiB | 123 | 91 |
| row_test.cc | H A D | 01-Dec-2020 | 2.1 KiB | 66 | 41 |
| rpc_backoff_policy.cc | H A D | 01-Dec-2020 | 1.7 KiB | 52 | 30 |
| rpc_backoff_policy.h | H A D | 01-Dec-2020 | 3.8 KiB | 112 | 46 |
| rpc_backoff_policy_test.cc | H A D | 01-Dec-2020 | 2.9 KiB | 81 | 50 |
| rpc_retry_policy.cc | H A D | 01-Dec-2020 | 2.3 KiB | 71 | 45 |
| rpc_retry_policy.h | H A D | 01-Dec-2020 | 5.9 KiB | 173 | 92 |
| rpc_retry_policy_test.cc | H A D | 01-Dec-2020 | 4.1 KiB | 117 | 74 |
| table.cc | H A D | 01-Dec-2020 | 17.5 KiB | 454 | 366 |
| table.h | H A D | 01-Dec-2020 | 38.9 KiB | 919 | 202 |
| table_admin.cc | H A D | 01-Dec-2020 | 40.8 KiB | 1,075 | 910 |
| table_admin.h | H A D | 01-Dec-2020 | 65.7 KiB | 1,594 | 256 |
| table_admin_test.cc | H A D | 01-Dec-2020 | 64.8 KiB | 1,703 | 1,283 |
| table_apply_test.cc | H A D | 01-Dec-2020 | 3.7 KiB | 99 | 67 |
| table_bulk_apply_test.cc | H A D | 01-Dec-2020 | 11.2 KiB | 303 | 234 |
| table_check_and_mutate_row_test.cc | H A D | 01-Dec-2020 | 2.8 KiB | 77 | 50 |
| table_config.cc | H A D | 01-Dec-2020 | 2.7 KiB | 69 | 33 |
| table_config.h | H A D | 01-Dec-2020 | 3.7 KiB | 104 | 52 |
| table_config_test.cc | H A D | 01-Dec-2020 | 2.8 KiB | 90 | 64 |
| table_readmodifywriterow_test.cc | H A D | 01-Dec-2020 | 10.8 KiB | 291 | 243 |
| table_readrow_test.cc | H A D | 01-Dec-2020 | 4.6 KiB | 126 | 97 |
| table_readrows_test.cc | H A D | 01-Dec-2020 | 5 KiB | 156 | 118 |
| table_sample_row_keys_test.cc | H A D | 01-Dec-2020 | 6.8 KiB | 204 | 161 |
| table_test.cc | H A D | 01-Dec-2020 | 7.7 KiB | 222 | 180 |
| version.cc | H A D | 01-Dec-2020 | 974 | 28 | 12 |
| version.h | H A D | 01-Dec-2020 | 2.9 KiB | 86 | 30 |
| version_info.h | H A D | 01-Dec-2020 | 901 | 23 | 6 |
| version_info.h.in | H A D | 01-Dec-2020 | 993 | 23 | 19 |
README.md
1# Google Cloud Bigtable C++ Client Library
2
3<!-- This file is automatically generated by ci/generate-markdown/generate-bigtable-readme.sh -->
4
5This directory contains an idiomatic C++ client library for interacting with
6[Google Cloud Bigtable](https://cloud.google.com/bigtable}/), which is Google's
7NoSQL Big Data database service. It's the same database that powers many core
8Google services, including Search, Analytics, Maps, and Gmail.
9
10Please note that the Google Cloud C++ client libraries do **not** follow
11[Semantic Versioning](http://semver.org/).
12
13## Supported Platforms
14
15* Windows, macOS, Linux
16* C++11 (and higher) compilers (we test with GCC \>= 4.9, Clang >= 3.8, and MSVC \>= 2019)
17* Environments with or without exceptions
18* Bazel and CMake builds
19
20## Documentation
21
22* Official documentation about the [Cloud Bigtable][cloud-bigtable-docs] service
23* [Reference doxygen documentation][doxygen-link] for each release of this client library
24* Detailed header comments in our [public `.h`][source-link] files
25
26[doxygen-link]: https://googleapis.dev/cpp/google-cloud-bigtable/latest/
27[cloud-bigtable-docs]: https://cloud.google.com/bigtable/docs/
28[source-link]: https://github.com/googleapis/google-cloud-cpp/tree/master/google/cloud/bigtable
29
30## Quickstart
31
32The [quickstart/](quickstart/) directory contains a minimal environment to
33help you quickly get started using this client library. The following is the
34"Hello World" program you'll be running, which should give you a taste of this
35library.
36
37```cc
38#include "google/cloud/bigtable/table.h"
39
40int main(int argc, char* argv[]) try {
41 if (argc != 4) {
42 std::string const cmd = argv[0];
43 auto last_slash = std::string(cmd).find_last_of('/');
44 std::cerr << "Usage: " << cmd.substr(last_slash + 1)
45 << " <project_id> <instance_id> <table_id>\n";
46 return 1;
47 }
48
49 std::string const project_id = argv[1];
50 std::string const instance_id = argv[2];
51 std::string const table_id = argv[3];
52
53 // Create a namespace alias to make the code easier to read.
54 namespace cbt = google::cloud::bigtable;
55
56 cbt::Table table(cbt::CreateDefaultDataClient(project_id, instance_id,
57 cbt::ClientOptions()),
58 table_id);
59
60 std::string row_key = "r1";
61 std::string column_family = "cf1";
62
63 std::cout << "Getting a single row by row key:" << std::flush;
64 google::cloud::StatusOr<std::pair<bool, cbt::Row>> result =
65 table.ReadRow(row_key, cbt::Filter::FamilyRegex(column_family));
66 if (!result) throw std::runtime_error(result.status().message());
67 if (!result->first) {
68 std::cout << "Cannot find row " << row_key << " in the table: " << table_id
69 << "\n";
70 return 0;
71 }
72
73 cbt::Cell const& cell = result->second.cells().front();
74 std::cout << cell.family_name() << ":" << cell.column_qualifier() << " @ "
75 << cell.timestamp().count() << "us\n"
76 << '"' << cell.value() << '"' << "\n";
77
78 return 0;
79} catch (std::exception const& ex) {
80 std::cerr << "Standard C++ exception raised: " << ex.what() << "\n";
81 return 1;
82}
83```
84
85## Contributing changes
86
87See [`CONTRIBUTING.md`](../../../CONTRIBUTING.md) for details on how to
88contribute to this project, including how to build and test your changes
89as well as how to properly format your code.
90
91## Licensing
92
93Apache 2.0; see [`LICENSE`](../../../LICENSE) for details.
94
95