Subject: The MultiCal System

From: "Rick Snodgrass" <rts>
Date: Wed, 3 Nov 1993 08:59:26 MST

MultiCal 1.0

Version 1.0 of the MultiCal System is now available. The system is
entirely in the public domain, and all source code and documentation
are included.

MultiCal is both a novel approach to supporting multiple calendars and
internationalization of time constants and a query processor prototype
that demonstrates this approach. MultiCal consists of about 48K source
lines of C code; the query processor prototype consists of about 63K
source lines of code.  The documentation consists of fifteen
documents, comprising some 300 pages of material. MultiCal runs on
Sun-4 machines under SunOS.

MultiCal consists of an approach to providing limited extensibility
for support of multiple calendars and languages for temporal support
within a database management system (DBMS). We have augmented the
Structured Query Language (SQL), specifically, SQL2, with time values,
i.e., temporal constants.  Our approach is notable in that we allow
many different calendars to be used in the database management system,
and we incorporate only calendar-independent constructs into the
language. We introduce three new temporal data types.  New language
features are defined for temporal built-in functions, special time
values, arithmetic expressions involving time, temporal predicates,
and aggregate functions over time. Ten languages are supported,
accounting for about 1.5 billion native speakers.

To illustrate how an existing DBMS could be augmented to support
multiple calendars, we provide a prototype DBMS that supports the
proposed extensions. This prototype consists of query analysis and
execution components. It eschews traditional functionality such as
concurrency control and disk access methods, as these aspects are not
relevant to timestamp management.

Questions should be directed to [email-masked] or [email-masked].

Richard Snodgrass
Associate Professor
Department of Computer Science
University of Arizona
Tucson, AZ 85721

This work was supported in part by the National Science Foundation through
grants IRI-8902707 and IRI-9302244 and by IBM under contract #1124.

To acquire the system, FTP the code to your site over the net by
typing the following bracketed text (don't type the brackets). You
should see similar output (the number of bytes is only approximate).
Converting to binary mode to transfer the compressed tar file is
crucial.

% [ ftp ftp.cs.arizona.edu ]
Connected to optima.CS.Arizona.EDU.
220 optima FTP server (Version 2.1aWU(4) Tue Jul 20 10:19:38 MST 1993) ready.
Name (ftp.cs.arizona.edu:rts): [anonymous]
331 Guest login ok, send your complete e-mail address as password.
Password: [mylogin@myhost]
230-  This is the FTP archive of the Computer Science Department of the
230-  University of Arizona.
230-
230-  Access is allowed all day.  Local time is Sat Oct 30 15:13:40 1993.
230-
230-  All transfers are logged with your host name and email address.
230-  If you don't like this policy, disconnect now!
230-
230-  If your FTP client crashes or hangs shortly after login, try using a
230-  dash (-) as the first character of your password.  This will turn off
230-  the informational messages which may be confusing your ftp client.
230-
230-  In case of problems, questions, suggestions: send mail to 
230-  [email-masked].
230-
230-
230-Please read the file README
230-  it was last modified on Mon May 24 16:00:52 1993 - 159 days ago
230 Guest login ok, access restrictions apply.
ftp> [cd tsql]
250-Please read the file README
250-  it was last modified on Fri Oct 29 15:51:35 1993 - 1 day ago
250 CWD command successful.
ftp> [cd multical]
250-Please read the file README
250-  it was last modified on Sat Oct 30 15:12:28 1993 - 0 days ago
250 CWD command successful.
ftp> [get README]
200 PORT command successful.
150 Opening ASCII mode data connection for README (3866 bytes).
226 Transfer complete.
local: README remote: README
3958 bytes received in 0.072 seconds (54 Kbytes/s)
ftp> [get installation.ps]
200 PORT command successful.
150 Opening ASCII mode data connection for installation.ps (155520 bytes).
226 Transfer complete.
local: installation.ps remote: installation.ps
159296 bytes received in 1.7 seconds (94 Kbytes/s)
ftp> [get installation.tex]
200 PORT command successful.
150 Opening ASCII mode data connection for installation.tex (11520 bytes).
226 Transfer complete.
local: installation.tex remote: installation.tex
11878 bytes received in 0.16 seconds (73 Kbytes/s)
ftp> [binary]
200 Type set to I.
ftp> [get multical1.0.tar.Z]
200 PORT command successful.
150 Opening BINARY mode data connection for multical1.0.tar.Z (3009085 bytes).
226 Transfer complete.
local: multical1.0.tar.Z remote: multical1.0.tar.Z
3009085 bytes received in 36 seconds (81 Kbytes/s)
ftp> [quit]
221 Goodbye.
%

At that point, you can print out the README file and the installation
instructions (the latter comes as raw text and as a postscript-format file).