Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 57179 invoked from network); 1 Mar 2005 17:21:51 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 1 Mar 2005 17:21:51 -0000 Received: (qmail 7988 invoked by uid 500); 1 Mar 2005 17:21:50 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 7951 invoked by uid 500); 1 Mar 2005 17:21:50 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Reply-To: "Derby Development" Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 7937 invoked by uid 99); 1 Mar 2005 17:21:50 -0000 X-ASF-Spam-Status: No, hits=1.8 required=10.0 tests=DNS_FROM_RFC_ABUSE,DNS_FROM_RFC_POST X-Spam-Check-By: apache.org Received-SPF: neutral (hermes.apache.org: local policy) Received: from e4.ny.us.ibm.com (HELO e4.ny.us.ibm.com) (32.97.182.144) by apache.org (qpsmtpd/0.28) with ESMTP; Tue, 01 Mar 2005 09:21:48 -0800 Received: from d01relay02.pok.ibm.com (d01relay02.pok.ibm.com [9.56.227.234]) by e4.ny.us.ibm.com (8.12.11/8.12.11) with ESMTP id j21HLkob011977 for ; Tue, 1 Mar 2005 12:21:46 -0500 Received: from d01av03.pok.ibm.com (d01av03.pok.ibm.com [9.56.224.217]) by d01relay02.pok.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id j21HLkk0056312 for ; Tue, 1 Mar 2005 12:21:46 -0500 Received: from d01av03.pok.ibm.com (loopback [127.0.0.1]) by d01av03.pok.ibm.com (8.12.11/8.12.11) with ESMTP id j21HLkcF028175 for ; Tue, 1 Mar 2005 12:21:46 -0500 Received: from [9.48.126.214] (sig-9-48-126-214.mts.ibm.com [9.48.126.214]) by d01av03.pok.ibm.com (8.12.11/8.12.11) with ESMTP id j21HLhVY028089 for ; Tue, 1 Mar 2005 12:21:44 -0500 Message-ID: <4224A57E.8020801@sbcglobal.net> Date: Tue, 01 Mar 2005 09:25:18 -0800 From: Jack Klebanoff User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Derby Development Subject: Re: Overly conservative on reserved words? References: <4222030C.3010600@apache.org> <42237891.4020407@debrunners.com> <422385C9.3090507@apache.org> In-Reply-To: <422385C9.3090507@apache.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Jeremy Boynes wrote: > Daniel John Debrunner wrote: > >> Jeremy Boynes wrote: >> >> >>> Reserving additional words from the second group poses a bigger >>> issue as >>> users' may have databases out there already using these words as >>> identifiers. The smoothest path is probably to give people an >>> indication >>> of which words will need to be reserved at some point and hence should >>> be avoided; it is better for us to do this earlier than later. >> >> >> >> Actually having even keywords defined as reserved by the SQL Standard >> reserved in Derby has caused problems. I recently changed LOCAL not to >> be a reserved word as other databases do not enforce it. We probably >> need some set rules, but reserving because the SQL standard says so it >> not the approach taken by other products. >> > > 'The nice thing about standards is there are so many to choose from' :-) > Especially true with 4 versions of ISO SQL and N vendor-specific > dialects. One of the issues users face is that the spec evolves and > products implement newer versions, words that were not reserved before > now need to be. > > Ideally we would not need to reserve anything, giving users complete > freedom on how they name their things; however, that would make the > parser, lets say, challenging. Short of this ideal, I think we should > compormise and only reserve words needed to resolve ambiguity in the > parser; that lets users decide how much portability they need. To help > them do that I think it's useful for us to indicate direction and what > is likely to be reserved (SAVEPOINT) vs. what isn't (PERCENTILE_DISC). > > Is it worth raising a warning on DDL operations that define objects > that conflict with SQL's reservation list? > > -- > Jeremy > I am uneasy about offering extensions to the SQL standard. Every extension is a "minnow trap" making it difficult for developers to port applications from Derby to other relational databases. Many, perhaps most, developers are not that vigilant about all the fine points of standards and portability. Often they do not consciously decide how much portability they need, but use whatever gets their application going and find out later whether it is portable. We have to decide what Derby's goals are. Currently part of our charter says "developers can later migrate to other databases if they so choose". As long as this remains an important part of Derby's charter we should try to keep Derby a subset of the latest SQL standard, and we should avoid features that are incompatible with leading enterprise relational database management systems. (A real minnow trap is a device used to catch minnows, small bait fish. The trap is a cylindrical cage with funnel like openings at either end. You put some food in the cage. Minnows find it easy to swim in but hard to swim out). Jack