|
@@ -131,6 +131,23 @@ uint32_t db_index_get(db_t* db, db_date_t d, uint32_t time, int f)
|
|
|
}
|
|
|
|
|
|
|
|
|
+int db_load_page(db_t* db, uint64_t page, db_data_t* buffer)
|
|
|
+{
|
|
|
+ int fd = open("data", O_RDONLY), r;
|
|
|
+ if(fd<0)
|
|
|
+ {
|
|
|
+ fprintf(stderr, "Error unable to load page %ld (%x->%x) (db_load_page())",
|
|
|
+ page, page*db->cache->page_size*sizeof(db_data_t),
|
|
|
+ (page+1)*db->cache->page_size*sizeof(db_data_t));
|
|
|
+ perror(" ");
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+ lseek(fd,page*db->cache->page_size*sizeof(db_data_t), SEEK_SET);
|
|
|
+ r=read(fd, buffer, db->cache->page_size*sizeof(db_data_t));
|
|
|
+ close(fd);
|
|
|
+ return r;
|
|
|
+}
|
|
|
+
|
|
|
|
|
|
void write_data()
|
|
|
{
|
|
@@ -168,6 +185,7 @@ void write_data()
|
|
|
close(f);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
void write_day()
|
|
|
{
|
|
|
int f = open("metadata_days", O_RDWR | O_CREAT, 0777 );
|