radare2/libr/db
pancake 7a4a3dbbfd Fix string parsing in rabin2 -z and more random fixes
- Random changes in libr/db/pair.. still buggy
 - remove debug printfs from calc.c
 - ?k command is now more usable. supports ``..` strings
 - fix segfault in r_cons (nullptr)
 - Add support for !! command to use r_cons
   > pd|!grep eax~ebx   # now this command works
2012-07-02 00:38:02 +02:00
..
sdb * Fix build on mingw32 2011-11-29 16:58:18 +01:00
t * Import Glyn Kennington's patch for the build system 2011-11-03 11:49:50 +01:00
db.c * Fix build (missing R_ANAL_BB_HAS_OPS somewhere) 2011-11-15 14:30:52 +01:00
Makefile * Fix mingw32 build 2011-09-14 12:37:26 +02:00
pair.c Fix string parsing in rabin2 -z and more random fixes 2012-07-02 00:38:02 +02:00
README * Added r_db_delete() method in r_db api 2009-06-18 13:10:26 +00:00
table.c * Fix android blob build 2012-04-01 01:40:04 +02:00
TODO * Initial import of the hashtable implementation of WayLand 2011-03-17 19:05:39 +01:00

+------+
| r.db | Simple and performance-friendly relational database
+------+

The database of r.db is based on index tables of key-size depth.
The key is the index of the key-bucket array which opens the search
space to a single key.

Items are directly sorted

  [255] key buckets
    |
    `-> [0..255]           -----.
         |     \                |
         |      \               |
     [0..255]  [0..255]         |
         |        |             |-- size of key (depth)
     [0..255]    ...            |
         |                      |
     [0..255]              -----'

OPERATIONS
==========

   ADD

   DELETE

     r_db_delete_by_key(db, K_ID, &tmp) # specify more than one key?

   ITERATE
   

+----------+
| r.db.sql | The SQL frontend for r.db
+----------+

 - Compiles simple SQL-like sentences into a set of r.db queries

void **iter = r_db_sql_query("select * from flags");
while(r_db_ptr(iter)) {
	struct foo_t *foo = r_db_ptr(iter);
	iter = r_db_ptr_next(iter);
}