EnglishFrenchSpanish

Ad


OnWorks favicon

cdb - Online in the Cloud

Run cdb in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command cdb that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


cdb - Constant DataBase manipulation tool

SYNOPSYS


cdb -q [-m] [-n num] dbname key
cdb -d [-m] [dbname|-]
cdb -l [-m] [dbname|-]
cdb -s [dbname|-]
cdb -c [-m] [-t tmpname|-] [-p perms] [-weru0] dbname [infile...]

DESCRIPTION


cdb used to query, dump, list, analyze or create CDB (Constant DataBase) files. Format of
cdb described in cdb(5) manpage. This manual page corresponds to version 0.78 of tinycdb
package.

Query
cdb -q finds given key in a given dbname cdb file, and writes associated value to standard
output if found (and exits with zero), or exits with non-zero if not found. dbname must
be seekable file, and stdin can not be used as input. By default, cdb will print all
records found. Options recognized in query mode:

-nnum causes cdb to find and write a record with a given number num starting with 1 —
when there are many records with a given key.

-m newline will be added after every value printed. By default, multiple values will
be written without any delimiter.

Dump/List
cdb -d dumps contents, and cdb -l lists keys of cdbfile (or standard input if not
specified) to standard output, in format controlled by presence of -m option. See
subsection "Formats" below. Output from cdb -d can be used as an input for cdb -c.

Create
Cdb database created in two stages: temporary database is created, and after it is
complete, it gets atomically renamed to permanent place. This avoids requirements for
locking between readers and writers (or creaters). cdb -c will attempt to create cdb in
file tmpname (or dbname with ".tmp" appended if no -t option given) and then rename it to
dbname. It will read supplied infiles (or standard input if none specified). Options
recognized in create mode:

-t tmpname
use given tmpname as temporary file. Defaults to dbname.tmp (i.e. with output file
with .tmp added). Note tmpname must be in the same filesystem as output file, as
cdb uses rename(2) to finalize the database creation procedure. If tmpname is a
single dash (-), no temp file will be created, database will be built in-place.
This mode is useful when the final renaming is done by the caller.

-p perms
permissions for the newly created file (usually an octal number, like 0644). By
default the permissions are 0666 (with current process umask applied). If this
option is specified, current umask value has no effect.

-w warn about duplicate keys.

-e abort on duplicate keys (implies -w).

-r replace existing key with new one in case of duplicate. This may require database
file rewrite to remove old records, and can be slow.

-0 zero-fill existing records when duplicate records are added. This is faster than
-r, but leaves extra zeros in the database file in case of duplicates.

-u do not add duplicate records.

-m interpret input as a sequence of lines, one record per line, with value separated
from a key by space or tab characters, instead of native cdb format (see
"Input/Output Format" below).

Note that using any option that requires duplicate checking will slow creation process
significantly, especially for large databases.

Statistics
cdb -s will analyze dbfile and print summary to standard output. Statistics include:
total number of rows in a file, minimum, average and maximum key and value lengths, hash
tables (max 256) and entries used, number of hash collisions (that is, more than one key
point to the same hash table entry), minimum, average and maximum hash table size (of non-
empty tables), and number of keys that sits at 10 different distances from it's calculated
hash table index — keys in distance 0 requires only one hash table lookup, 1 — two and so
on; more keys at greater distance means slower database search.

Input/Output Format
By default, cdb expects (for create operation) or writes (for dump/list) native cdb format
data. Cdb native format is a sequence of records in a form:
+klen,vlen:key->val\n
where "+", ",", ":", "-", ">" and "\n" (newline) are literal characters, klen and vlen are
length of key and value as decimal numbers, and key and val are key and value themselves.
Series of records terminated by an empty line. This is the only format where key and
value may contain any character including newline, zero (\0) and so on.

When -l option requested (list keys mode), cdb will produce slightly modified output in a
form:
+klen:key\n
(note vlen and val are omitted, together with surrounding delimiters).

If -m option is given, cdb will expect or produce one line for every record (newline is a
record delimiter), and every line should contain optional whitespace, key, whitespace and
value up to end of line. Lines started with hash character (#) and empty lines are
ignored. This is the same format as mkmap(1) utility expects.

OPTIONS SUMMARY


Here is a short summary of all options accepted by cdb utility:

-0 zero-fill duplicate records in create (-c) mode.

-c create mode.

-d dump mode.

-e abort (error) on duplicate key in create (-c) mode.

-h print short help and exit.

-l list mode.

-m input or output is in "map" format, not in native cdb format. In query mode, add a
newline after every value written.

-nnum find and print numth record in query (-q) mode.

-q query mode.

-r replace duplicate keys in create (-c) mode.

-s statistics mode.

-t tempfile
specify temporary file when creating (-c) cdb file (use single dash (-) as tempfile
to stop using temp file).

-u do not insert duplicate keys (unique) in create (-c) mode.

-w warn about duplicate keys in create (-c) mode.

Use cdb online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

  • 1
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player is a free media player
    software, part based on WMP and VLC. The
    player is in a minimalist style, with
    more than ten theme colors, and can also
    b...
    Download AstrOrzPlayer
  • 2
    movistartv
    movistartv
    Kodi Movistar+ TV es un ADDON para XBMC/
    Kodi que permite disponer de un
    decodificador de los servicios IPTV de
    Movistar integrado en uno de los
    mediacenters ma...
    Download movistartv
  • 3
    Code::Blocks
    Code::Blocks
    Code::Blocks is a free, open-source,
    cross-platform C, C++ and Fortran IDE
    built to meet the most demanding needs
    of its users. It is designed to be very
    extens...
    Download Code::Blocks
  • 4
    Amidst
    Amidst
    Amidst or Advanced Minecraft Interface
    and Data/Structure Tracking is a tool to
    display an overview of a Minecraft
    world, without actually creating it. It
    can ...
    Download Amidst
  • 5
    MSYS2
    MSYS2
    MSYS2 is a collection of tools and
    libraries providing you with an
    easy-to-use environment for building,
    installing and running native Windows
    software. It con...
    Download MSYS2
  • 6
    libjpeg-turbo
    libjpeg-turbo
    libjpeg-turbo is a JPEG image codec
    that uses SIMD instructions (MMX, SSE2,
    NEON, AltiVec) to accelerate baseline
    JPEG compression and decompression on
    x86, x8...
    Download libjpeg-turbo
  • More »

Linux commands

  • 1
    abi-tracker
    abi-tracker
    abi-tracker - visualize ABI changes
    timeline of a C/C++ software library.
    DESCRIPTION: NAME: ABI Tracker
    (abi-tracker) Visualize ABI changes
    timeline of a C/C+...
    Run abi-tracker
  • 2
    abicheck
    abicheck
    abicheck - check application binaries
    for calls to private or evolving symbols
    in libraries and for static linking of
    some system libraries. ...
    Run abicheck
  • 3
    couriermlm
    couriermlm
    couriermlm - The Courier mailing list
    manager ...
    Run couriermlm
  • 4
    couriertcpd
    couriertcpd
    couriertcpd - the Courier mail server
    TCP server daemon ...
    Run couriertcpd
  • 5
    gbklatex
    gbklatex
    bg5latex - Use LaTeX directly on a Big5
    encodedtex file bg5pdflatex - Use
    pdfLaTeX directly on a Big5 encodedtex
    file bg5+latex - Use LaTeX directly on a
    Big5+...
    Run gbklatex
  • 6
    gbkpdflatex
    gbkpdflatex
    bg5latex - Use LaTeX directly on a Big5
    encodedtex file bg5pdflatex - Use
    pdfLaTeX directly on a Big5 encodedtex
    file bg5+latex - Use LaTeX directly on a
    Big5+...
    Run gbkpdflatex
  • More »

Ad