diff options
author | Tim Zaman <tzaman@nvidia.com> | 2018-06-21 17:29:57 -0700 |
---|---|---|
committer | Tim Zaman <tzaman@nvidia.com> | 2018-06-21 17:29:57 -0700 |
commit | 9a397b38b9a8f65c05603ddbb99dba113d95e032 (patch) | |
tree | 46f8d67e726a649e1bbf70687bd4e3556f0b5369 | |
parent | 5cfa4f6ef7f40825eedf30317dfdd619b50c4f7d (diff) |
Build sqlite3 with json1 extension
-rw-r--r-- | tensorflow/core/lib/db/sqlite_test.cc | 13 | ||||
-rw-r--r-- | third_party/sqlite.BUILD | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/tensorflow/core/lib/db/sqlite_test.cc b/tensorflow/core/lib/db/sqlite_test.cc index 1e88323d01..c099160b0c 100644 --- a/tensorflow/core/lib/db/sqlite_test.cc +++ b/tensorflow/core/lib/db/sqlite_test.cc @@ -73,6 +73,19 @@ TEST_F(SqliteTest, InsertAndSelectDouble) { EXPECT_EQ(1, stmt.ColumnInt(1)); } +TEST_F(SqliteTest, Json1Extension) { + string s1 = "{\"key\": 42}"; + string s2 = "{\"key\": \"value\"}"; + auto stmt = db_->PrepareOrDie("INSERT INTO T (a, b) VALUES (?, ?)"); + stmt.BindText(1, s1); + stmt.BindText(2, s2); + TF_ASSERT_OK(stmt.StepAndReset()); + stmt = db_->PrepareOrDie("SELECT json_extract(a, '$.key'), json_extract(b, '$.key') FROM T"); + TF_ASSERT_OK(stmt.Step(&is_done_)); + EXPECT_EQ(42, stmt.ColumnInt(0)); + EXPECT_EQ("value", stmt.ColumnString(1)); +} + TEST_F(SqliteTest, NulCharsInString) { string s; // XXX: Want to write {2, '\0'} but not sure why not. s.append(static_cast<size_t>(2), '\0'); diff --git a/third_party/sqlite.BUILD b/third_party/sqlite.BUILD index 6da7953589..2876f305f1 100644 --- a/third_party/sqlite.BUILD +++ b/third_party/sqlite.BUILD @@ -5,6 +5,7 @@ licenses(["unencumbered"]) # Public Domain SQLITE_COPTS = [ "-Os", + "-DSQLITE_ENABLE_JSON1", "-DHAVE_DECL_STRERROR_R=1", "-DHAVE_STDINT_H=1", "-DHAVE_INTTYPES_H=1", |