@techreport{ilprints758, number = {2003-67}, author = {Arvind Arasu and Shivnath Babu and Jennifer Widom}, note = {An earlier version this technical report, titled "An Abstract Semantics and Concrete Language for Continuous Queries over Streams and Relations", appears on this publications server as technical report number 2002-57. A short version of technical report 2002-57 also appears in the proceedings of the 9th International Conference on Data Base Programming Languages (DBPL 2003).}, title = {The CQL Continuous Query Language: Semantic Foundations and Query Execution}, type = {Technical Report}, publisher = {Stanford}, institution = {Stanford InfoLab}, year = {2003}, url = {http://ilpubs.stanford.edu:8090/758/}, abstract = {CQL, a Continuous Query Language, is supported by the STREAM prototype Data Stream Management System at Stanford. CQL is an expressive SQL-based declarative language for registering continuous queries against streams and updatable relations. We begin by presenting an abstract semantics that relies only on ``black box'' mappings among streams and relations. From these mappings we define a precise and general interpretation for continuous queries. CQL is an instantiation of our abstract semantics using SQL to map from relations to relations, window specifications derived from SQL-99 to map from streams to relations, and three new operators to map from relations to streams. Most of the CQL language is operational in the STREAM system. We present the structure of CQL's query execution plans as well as details of the most important components: operators, inter-operator queues, synopses, and sharing of components among multiple operators and queries. Examples throughout the paper are drawn from the Linear Road benchmark recently proposed for Data Stream Management Systems. We also curate a public repository of data stream applications that includes a wide variety of queries expressed in CQL.} }