diff --git a/.gitignore b/.gitignore
index 29856e87..0585f4af 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,4 +14,16 @@ Cargo.lock
**/*.rs.bk
_path*
-*.db
\ No newline at end of file
+*.db### CMake template
+CMakeLists.txt.user
+CMakeCache.txt
+CMakeFiles
+CMakeScripts
+Testing
+Makefile
+cmake_install.cmake
+install_manifest.txt
+compile_commands.json
+CTestTestfile.cmake
+_deps
+
diff --git a/.idea/.name b/.idea/.name
deleted file mode 100644
index 56aeb597..00000000
--- a/.idea/.name
+++ /dev/null
@@ -1 +0,0 @@
-rocksdb
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 0e7ba259..e1f265e1 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/cozo-rocks/src/cozorocks.cc b/cozo-rocks/src/cozorocks.cc
index ceeefbad..2c7e4651 100644
--- a/cozo-rocks/src/cozorocks.cc
+++ b/cozo-rocks/src/cozorocks.cc
@@ -9,5 +9,4 @@ void write_status_impl(Status &status, StatusCode code, StatusSubCode subcode, S
status.code = code;
status.subcode = subcode;
status.severity = severity;
-
}
\ No newline at end of file
diff --git a/cozo-rocks/src/cozorocks.h b/cozo-rocks/src/cozorocks.h
index ae9b33e3..a3f3e577 100644
--- a/cozo-rocks/src/cozorocks.h
+++ b/cozo-rocks/src/cozorocks.h
@@ -21,7 +21,7 @@ typedef RDB::Status::Code StatusCode;
typedef RDB::Status::SubCode StatusSubCode;
typedef RDB::Status::Severity StatusSeverity;
-std::unique_ptr new_db();
+std::unique_ptr new_db();
struct ReadOptionsBridge {
mutable RDB::ReadOptions inner;
@@ -38,19 +38,21 @@ public:
typedef rust::Fn, rust::Slice)> RustComparatorFn;
-class RustComparator: public RDB::Comparator {
+class RustComparator : public RDB::Comparator {
public:
- inline int Compare(const rocksdb::Slice& a, const rocksdb::Slice& b ) const {
+ inline int Compare(const rocksdb::Slice &a, const rocksdb::Slice &b) const {
auto ra = rust::Slice(reinterpret_cast(a.data()), a.size());
auto rb = rust::Slice(reinterpret_cast(b.data()), b.size());
return int(rust_compare(ra, rb));
}
- const char* Name() const {
+ const char *Name() const {
return "RustComparator";
}
- void FindShortestSeparator(std::string*, const rocksdb::Slice&) const { }
- void FindShortSuccessor(std::string*) const { }
+
+ void FindShortestSeparator(std::string *, const rocksdb::Slice &) const {}
+
+ void FindShortSuccessor(std::string *) const {}
void set_fn(RustComparatorFn f) const {
rust_compare = f;
@@ -93,15 +95,15 @@ public:
}
};
-inline std::unique_ptr new_read_options() {
+inline std::unique_ptr new_read_options() {
return std::unique_ptr(new ReadOptionsBridge);
}
-inline std::unique_ptr new_write_options() {
+inline std::unique_ptr new_write_options() {
return std::unique_ptr(new WriteOptionsBridge);
}
-inline std::unique_ptr new_options() {
+inline std::unique_ptr new_options() {
return std::unique_ptr(new OptionsBridge);
}
@@ -124,7 +126,7 @@ inline void write_status(RDB::Status &&rstatus, Status &status) {
}
struct DBBridge {
- mutable std::unique_ptr inner;
+ mutable std::unique_ptr inner;
DBBridge(RDB::DB *inner_) : inner(inner_) {}
@@ -142,7 +144,7 @@ struct DBBridge {
);
}
- inline std::unique_ptr get(
+ inline std::unique_ptr get(
const ReadOptionsBridge &options,
rust::Slice key,
Status &status
@@ -159,7 +161,16 @@ struct DBBridge {
}
};
-inline std::unique_ptr open_db(const OptionsBridge &options, const rust::Slice path) {
+inline std::vector list_column_families(const OptionsBridge &options,
+ const rust::Slice path) {
+ std::vector column_families;
+ RDB::DB::ListColumnFamilies(options.inner,
+ std::string(reinterpret_cast(path.data()), path.size()),
+ &column_families);
+ return column_families;
+}
+
+inline std::unique_ptr open_db(const OptionsBridge &options, const rust::Slice path) {
RDB::DB *db_ptr;
RDB::Status s = RDB::DB::Open(options.inner,
std::string(reinterpret_cast(path.data()), path.size()),
diff --git a/cozo-rocks/src/lib.rs b/cozo-rocks/src/lib.rs
index 0ddcee2c..1d1e3eda 100644
--- a/cozo-rocks/src/lib.rs
+++ b/cozo-rocks/src/lib.rs
@@ -91,7 +91,6 @@ mod ffi {
}
-use std::sync::atomic::Ordering;
use cxx::UniquePtr;
pub use ffi::*;
@@ -177,6 +176,7 @@ impl Default for WriteOptions {
pub struct DB {
bridge: UniquePtr,
+ #[allow(dead_code)]
options: Options,
default_read_options: ReadOptions,
default_write_options: WriteOptions,
diff --git a/src/definition.rs b/src/definition.rs
index 18b19d8b..9761a892 100644
--- a/src/definition.rs
+++ b/src/definition.rs
@@ -6,9 +6,9 @@ use crate::error::Result;
use crate::error::CozoError::*;
use crate::eval::Evaluator;
use crate::storage::Storage;
-use crate::typing::{Col, Columns, Edge, Index, Node, StorageStatus, Structured, TableId, Typing};
+use crate::typing::{Col, Columns, Edge, Index, Node, Structured, TableId, Typing};
use crate::typing::StorageStatus::{Planned, Stored};
-use crate::value::{ByteArrayBuilder, ByteArrayParser, Value};
+use crate::value::{ByteArrayBuilder, Value};
use crate::parser::{Parser, Rule};
use pest::Parser as PestParser;
// use rocksdb::IteratorMode;
@@ -291,6 +291,7 @@ pub enum TableKind {
}
impl Storage {
+ #[allow(unused_variables)]
fn all_metadata(&self, env: &StructuredEnvItem) -> Result> {
todo!()
// let it = self.db.as_ref().ok_or(DatabaseClosed)?.full_iterator(IteratorMode::Start);
diff --git a/src/storage.rs b/src/storage.rs
index e346b277..ed457b1a 100644
--- a/src/storage.rs
+++ b/src/storage.rs
@@ -1,10 +1,9 @@
-use crate::error::CozoError::DatabaseClosed;
use crate::error::Result;
-use crate::value::cozo_comparator_v1;
pub struct Storage {
pub db: Option<()>,
+ #[allow(dead_code)]
path: String,
}
//
@@ -28,6 +27,7 @@ impl Storage {
pub fn no_storage() -> Self {
Self { db: None, path: "".to_string() }
}
+ #[allow(unused_variables)]
pub fn new(path: String) -> Result {
unimplemented!()
// let options = make_options();
@@ -41,37 +41,40 @@ impl Storage {
// let db = DB::open_cf_descriptors(&options, &path, cfs)?;
// Ok(Storage { db: Some(db), path })
}
+ #[allow(unused_variables)]
pub fn delete(&mut self) -> Result<()> {
- unimplemented!();
+ unimplemented!()
// drop(self.db.take());
// DB::destroy(&make_options(), &self.path)?;
- Ok(())
+ // Ok(())
}
+ #[allow(unused_variables)]
pub fn put_global(&self, k: &[u8], v: &[u8]) -> Result<()> {
// let db = self.db.as_ref().ok_or(DatabaseClosed)?;
// db.put(k, v)?;
- unimplemented!();
- Ok(())
+ unimplemented!()
+ // Ok(())
}
+ #[allow(unused_variables)]
pub fn create_table(&mut self, name: &str, _global: bool) -> Result<()> {
- unimplemented!();
+ unimplemented!()
// let db = self.db.as_mut().ok_or(DatabaseClosed)?;
// db.create_cf(name, &make_options())?;
- Ok(())
+ // Ok(())
}
+ #[allow(unused_variables)]
pub fn drop_table(&mut self, name: &str, _global: bool) -> Result<()> {
- unimplemented!();
+ unimplemented!()
// let db = self.db.as_mut().ok_or(DatabaseClosed)?;
// db.drop_cf(name)?;
- Ok(())
+ // Ok(())
}
}
#[cfg(test)]
mod tests {
use std::str::from_utf8;
- use crate::value::{ByteArrayBuilder, Value};
- use super::*;
+ use crate::value::{ByteArrayBuilder, cozo_comparator_v1, Value};
#[test]
fn import() {