Example #1
0
VDB_EXTERN
rc_t CC VTableConsistencyCheck(const VTable *self, int level)
{
    uint32_t *cid;
    unsigned ncol;
    const VCursor *curs;
    rc_t rc = create_cursor_all_readable_columns(self, &ncol, &cid, &curs);
    
    if (rc)
        return rc;
    rc = fetch_all_rows(curs, ncol, cid);
    free(cid);
    VCursorRelease(curs);
    return rc;
}
Example #2
0
TEST(sqlite, date_time) {

   sqlite3 *db;
  
   sqlite3_open(":memory:", &db);

   
   const char* sql_create_table = "CREATE TABLE ware(" \
                          "id     INT   PRIMARY KEY NOT NULL," \
                          "time   DATETIME NOT NULL);";

   int rc;
   char *err_msg;
   sqlite3_stmt *pstmt;

   rc = sqlite3_exec(db, sql_create_table, NULL, NULL, &err_msg); 
   ASSERT_EQ(SQLITE_OK, rc);


//   rc = sqlite3_exec(db, "INSERT INTO ware(id, time) values(1, 1)", NULL, NULL, NULL);
//   ASSERT_EQ(SQLITE_OK, rc);
   rc = sqlite3_exec(db, "INSERT INTO ware(id, time) values(2, datetime('1970-01-01 00:00:02'))", NULL, NULL, NULL);
   ASSERT_EQ(SQLITE_OK, rc);
   rc = sqlite3_exec(db, "INSERT INTO ware(id, time) values(3, datetime('1970-01-01 00:00:03'))", NULL, NULL, NULL);
   ASSERT_EQ(SQLITE_OK, rc);


   std::vector< std::vector<boost::any> > rows;

   sqlite3_prepare_v2(db, "SELECT time FROM ware WHERE datetime(time) > datetime('1970-01-01 00:00:02') ", -1, &pstmt, NULL);
   fetch_all_rows(pstmt, &rows); 
   ASSERT_EQ(1, rows.size());
   ASSERT_EQ(1, rows[0].size());
   ASSERT_EQ("1970-01-01 00:00:03", boost::any_cast<std::string>(rows[0][0]) );
   //ASSERT_EQ(5, boost::any_cast<int>(rows[1][0]) );
   rows.clear();
   sqlite3_finalize(pstmt);


   rc = sqlite3_exec(db, "DROP TABLE ware", NULL, NULL, NULL);
   ASSERT_EQ(SQLITE_OK, rc);
   sqlite3_close(db);   
}