cql: Flat file database query language
Glenn S. Fowler · 1994
cql is a UNIX system tool that applies C style query expressions to flat file databases. In some respects it is yet another addition to the toolbox of programmable file filters: grep [Hume88], sh [Bour78][BK89], awk [AKW88], and perl [Wall]. However, by restricting its problem domain, cql takes advantage of optimizations not available to these more general purpose tools. This paper describes the cql data description and query language, query optimizations, and provides comparisons with other tools. 1 Introduction Flat file databases are common in UNIX system environments. They consist of newline terminated records with a single character that delimits fields within each record. Well known examples are /etc/passwd and /etc/group, and more recently the sablime [CF88] MR databases and cia [Chen89] abstraction databases. There are two basic flat file database operations: update -- delete, add or modify records query -- scan for records based on field selection function For the most...