diff options
author | Justine Tunney <jart@google.com> | 2017-10-28 23:45:55 -0700 |
---|---|---|
committer | TensorFlower Gardener <gardener@tensorflow.org> | 2017-10-28 23:49:36 -0700 |
commit | 325c8e5efa003bdc53f9605eb0b272075abc3565 (patch) | |
tree | 3a7bbf03a5d606b6c977c71904ff79458254100d /tensorflow/contrib/tensorboard | |
parent | 0eba15fe6349ae2bd50b14496a1f283f462b0c66 (diff) |
Improve C++ SQLite veneer
- Use shared_ptr for Sqlite
- Don't need unique_ptr on SqliteStatement
- Don't need db namespace
- Include SQL in error statuses
PiperOrigin-RevId: 173802267
Diffstat (limited to 'tensorflow/contrib/tensorboard')
-rw-r--r-- | tensorflow/contrib/tensorboard/db/schema.cc | 13 | ||||
-rw-r--r-- | tensorflow/contrib/tensorboard/db/schema.h | 6 | ||||
-rw-r--r-- | tensorflow/contrib/tensorboard/db/schema_test.cc | 7 |
3 files changed, 10 insertions, 16 deletions
diff --git a/tensorflow/contrib/tensorboard/db/schema.cc b/tensorflow/contrib/tensorboard/db/schema.cc index f5a8e02a9b..98fff9e0ae 100644 --- a/tensorflow/contrib/tensorboard/db/schema.cc +++ b/tensorflow/contrib/tensorboard/db/schema.cc @@ -15,13 +15,11 @@ limitations under the License. #include "tensorflow/contrib/tensorboard/db/schema.h" namespace tensorflow { -namespace db { namespace { class SqliteSchema { public: - explicit SqliteSchema(Sqlite* db) : db_(db) {} - ~SqliteSchema() { db_ = nullptr; } + explicit SqliteSchema(std::shared_ptr<Sqlite> db) : db_(std::move(db)) {} /// \brief Creates Tensors table. /// @@ -371,18 +369,18 @@ class SqliteSchema { Status Run(const char* sql) { auto stmt = db_->Prepare(sql); - TF_RETURN_WITH_CONTEXT_IF_ERROR(stmt->StepAndReset(), sql); + TF_RETURN_WITH_CONTEXT_IF_ERROR(stmt.StepAndReset(), sql); return Status::OK(); } private: - Sqlite* db_; + std::shared_ptr<Sqlite> db_; }; } // namespace -Status SetupTensorboardSqliteDb(Sqlite* db) { - SqliteSchema s(db); +Status SetupTensorboardSqliteDb(std::shared_ptr<Sqlite> db) { + SqliteSchema s(std::move(db)); TF_RETURN_IF_ERROR(s.CreateTensorsTable()); TF_RETURN_IF_ERROR(s.CreateTensorChunksTable()); TF_RETURN_IF_ERROR(s.CreateTagsTable()); @@ -408,5 +406,4 @@ Status SetupTensorboardSqliteDb(Sqlite* db) { return Status::OK(); } -} // namespace db } // namespace tensorflow diff --git a/tensorflow/contrib/tensorboard/db/schema.h b/tensorflow/contrib/tensorboard/db/schema.h index d3a6922d94..900c10298c 100644 --- a/tensorflow/contrib/tensorboard/db/schema.h +++ b/tensorflow/contrib/tensorboard/db/schema.h @@ -15,19 +15,19 @@ limitations under the License. #ifndef TENSORFLOW_CONTRIB_TENSORBOARD_DB_SCHEMA_H_ #define TENSORFLOW_CONTRIB_TENSORBOARD_DB_SCHEMA_H_ +#include <memory> + #include "tensorflow/core/lib/core/status.h" #include "tensorflow/core/lib/db/sqlite.h" namespace tensorflow { -namespace db { /// \brief Creates TensorBoard SQLite tables and indexes. /// /// If they are already created, this has no effect. If schema /// migrations are necessary, they will be performed with logging. -Status SetupTensorboardSqliteDb(Sqlite* db); +Status SetupTensorboardSqliteDb(std::shared_ptr<Sqlite> db); -} // namespace db } // namespace tensorflow #endif // TENSORFLOW_CONTRIB_TENSORBOARD_DB_SCHEMA_H_ diff --git a/tensorflow/contrib/tensorboard/db/schema_test.cc b/tensorflow/contrib/tensorboard/db/schema_test.cc index a4302dda44..463c4e59e7 100644 --- a/tensorflow/contrib/tensorboard/db/schema_test.cc +++ b/tensorflow/contrib/tensorboard/db/schema_test.cc @@ -20,15 +20,12 @@ limitations under the License. #include "tensorflow/core/platform/test.h" namespace tensorflow { -namespace db { namespace { TEST(SchemaTest, SmokeTestTensorboardSchema) { - std::unique_ptr<Sqlite> db; - TF_ASSERT_OK(Sqlite::Open(":memory:", &db)); - TF_ASSERT_OK(SetupTensorboardSqliteDb(db.get())); + auto db = Sqlite::Open(":memory:").ValueOrDie(); + TF_ASSERT_OK(SetupTensorboardSqliteDb(db)); } } // namespace -} // namespace db } // namespace tensorflow |