Lecture Notes in Computer Science
1 primary work
Book 2921
Database Programming Languages
Published 26 January 2004
The papers in this volume represent the technical program of the 9th Biennial WorkshoponDataBasesandProgrammingLanguages(DBPL2003),whichwas held on September 6-8, 2003, in Potsdam, Germany. The workshop meets every two years, and is a well-established forum for ideas that lie at the intersection of database and programming language research. DBPL 2003 continued the t- dition of excellence initiated by its predecessors in Rosco?, Finistre (1987), S- ishan, Oregon (1989), Nafplion, Argolida (1991), Manhattan, New York (1993), Gubbio, Umbria (1995), Estes Park, Colorado (1997), Kinloch Rannoch, Sc- land (1999), and Frascati, Rome (2001). Theprogramcommitteeselected14papersoutof22submissions,andinvited twocontributions.The16talkswerepresentedoverthreedays,insevensessions. In theinvitedtalk Jennifer Widom presented the paper CQL: a Language forContinuousQueriesoverStreamsandRelations,coauthoredbyArvindArasu andShivnathBabu.Whilealotofresearchhasbeendonerecentlyonqueryp- cessingoverdatastreams,CQLisvirtuallythe?rstproposalofaquerylanguage on streams that is a strict extension of SQL.
The language is structured around a simple yet powerful idea: it has two distinct data types, relations and streams, with well-de?ned operators for mapping between them. Window speci?cation expressions, such as sliding windows, map streams to relations, while operators such as "insert stream," "delete stream," and "relation stream" map relations to streams by returning, at each moment in time, the newly inserted tuples, the deleted tuples, or a snapshot of the entire relation. The numerous examples in this paper make a convincing case for the power and usefulness of CQL.
The language is structured around a simple yet powerful idea: it has two distinct data types, relations and streams, with well-de?ned operators for mapping between them. Window speci?cation expressions, such as sliding windows, map streams to relations, while operators such as "insert stream," "delete stream," and "relation stream" map relations to streams by returning, at each moment in time, the newly inserted tuples, the deleted tuples, or a snapshot of the entire relation. The numerous examples in this paper make a convincing case for the power and usefulness of CQL.