Switch to: V12V11V10V9V8V7V6V5

Default KeyValue


Default KeyValue is the most simple KeyValue in Valentina DB.

This KeyValue is similar to many third-party KeyValue stores in the sense that it takes your KEY and just index it using default comparator.

In ValentinaDB we have decided to use string-based Keys with binary comparator (simple memcmp() function from C).



You can drop Default KeyValue using


Writing data into KeyValue is similar to Table's records operations.



  • KEYVALUE keyvalue_name INSERT ( key:value, … )
  • KEYVALUE keyvalue_name UPDATE ( key:value, … )
  • KEYVALUE keyvalue_name UPSERT ( key:value, … )
  • KEYVALUE keyvalue_name DELETE( key, … )
  • KEYVALUE keyvalue_name GET ( key, … )

To understand how they work, imagine that Key is a unique field of the table. Then, it is easy to see that

  • insert will throw an exception on inserting key duplicate;
  • update expects that key already exists and throw an exception if key is not found;
  • upsert is combination of insert and update, and never throws error;
  • delete will throw an exception if the key is not found in the store.


You can read data from KeyValue storage with API or SQL approaches: