man page(1) manual page
Table of Contents

NAME

qddb_search - Search in a Qddb database.

SYNOPSIS

qddb_search <schema_desc> ?-prunebyattr <attr>? key qddb_search <schema_desc> ?-prunebyattr <attr>? \ ?-parsing on|off? word key
qddb_search <schema_desc> ?-prunebyattr <attr>? word_range \ ?lower-bound key? - ?upper-bound key? qddb_search <schema_desc> ?-prunebyattr <attr>? numeric_key qddb_search <schema_desc> ?-prunebyattr <attr>? numeric_range \ ?lower-bound key? - ?upper-bound key? qddb_search <schema_desc> ?-prunebyattr <attr>? date_range \ ?lower-bound key? - ?upper-bound key? qddb_search <schema_desc> ?-prunebyattr <attr>? regexp key

DESCRIPTION

qddb_search searches a Qddb database described by <schema_desc> for a key or range of keys and returns a token for the resulting keylist. The keylist may be used in subsequent calls to qddb_keylist and other Qddb TCL commands. With no search type specified, qddb_search defaults to "word."

If -prunebyattr is specified, then the resulting keylist is pruned by the specified attribute while the keylist is being built. Specifying -prunebyattr in a qddb_search is much faster than doing it later, especially for regular expressions, ranges, and numbers.

NOTE: all range searches include the end points.

word and word_range (abbreviated w and wr, respectively) find instances of full words, delimited by white space or punctuation. By default, word automatically parses words based on an attributes separators (or the default separators in the case of an unattributed search). If -parsing off is specified, word does not parse the given word before performing the search. word_range searches for all words lexicographically between the lower-bound and upper-bound keys. Either (or both) the lower-bound and upper-bound keys can be omitted indicating an open-ended search.

numeric and numeric_range (abbreviated n and nr, respectively) find instances of numeric words (real or integer) treated as real numbers (double), delimited by white space or punctuation.
numeric_range searches for all numeric words

numerically between the lower-bound and upper-bound keys. Either (or both) the lower-bound and upperbound keys can be omitted indicating an open-ended search.

date_range (abbreviated dr)
find instances of type date in the range specified. Dates may be specified in any legal form (See "A Guide to QDDB").

regexp (abbreviated r) finds all words matching a regular expression (using Henry Spencer's V8 regexp package). This option can be expensive depending on the number of unique words in the database.

SEE ALSO

qddb_instance(n), qddb_keylist(n), qddb_rows(n), qddb_schema(n), qddb_tuple(n), qddb_view(n)

REFERENCES

A Guide to QDDB
Eric H. Herrin II and Raphael A. Finkel

Qddb User's Guide

An ASCII Database for Fast Queries of Relatively Stable Data Eric H. Herrin II and Raphael A. Finkel Computing Systems, Volume 4 Number 2
University of California Press, Berkeley CA

Schema and Tuple Trees: An Intuitive Structure for Representing Relational Data
Eric H. Herrin, II and Raphael A. Finkel Computing Systems, Volume 9, Number 2
MIT Press, Cambridge MA

TCL and the TK Toolkit
John K. Ousterhout
Addison-Wesley, 1994
ISBN 0-201-63337-X

BUGS

None known.


Table of Contents