mirror of
https://github.com/libretro/RetroArch.git
synced 2024-12-01 21:11:04 +00:00
.. | ||
.ycm_extra_conf.py | ||
bintree.c | ||
bintree.h | ||
dat_converter | ||
dat_converter.c | ||
dat_converter.lua | ||
db_parser.c | ||
db_parser.h | ||
lua_converter.c | ||
Makefile | ||
mkdb.sh | ||
rarchdb_endian.h | ||
rarchdb_tool.c | ||
rarchdb.c | ||
rarchdb.h | ||
README.md | ||
rmsgpack_dom.c | ||
rmsgpack_dom.h | ||
rmsgpack_test.c | ||
rmsgpack.c | ||
rmsgpack.h |
rarchdb
A small read only database Mainly to be used by retroarch
Usage
To convert a dat file use dat_converter <dat file> <db file>
To list out the content of a db rarchdb_tool <db file> list
To create an index rarchdb_tool <db file> create-index <index name> <field name>
To find an entry with an index rarchdb_tool <db file> find <index name> <value>
The util mkdb.sh <dat file> <db file>
will create a db file with indexes for crc sha1 and md5
lua converters
In order to write you own converter you must have a lua file that implements the following functions:
-- this function gets called before the db is created and shuold validate the
-- arguments and set up the ground for db insertion
function init(...)
local args = {...}
local script_name = args[1]
end
-- this is in iterator function. It is called before each insert.
-- the function should return a table for insertion or nil when there are no
-- more records to insert.
function get_value()
return {
key = "value", -- will be saved as string
num = 3, -- will be saved as int
bin = binary("some string"), -- will be saved as binary
unum = uint(3), -- will be saved as uint
some_bool = true, -- will be saved as bool
}
end