Re: [Fwd: Major technical comment: identifier length]

Bijan Parsia wrote:
> On Jan 12, 2006, at 7:05 PM, Dan Connolly wrote:
> 
>> I don't think there's any WG decision that I can cite
>> in response to this comment; I don't think we considered
>> identifier length, except inasmuch as we OK'd the grammar.
>>
>> I suppose it might be useful to specify that identifiers
>> longer than, say, 1024 characters aren't guaranteed
>> to work.
> 
> I don't see that that's particularly useful. I mean, what' more likely  
> to be an issue in an implementation is total number of variables in a  
> query. 1024^nrofqueryvariablenamecharacters is a frickin lot of  
> variables ;)
> 
> Also, I don't think that we should limit the number of variables in a  
> query.
> 
> I searched around for some limits:
> 
> 	http://www.oracle.com/technology/support/tech/sql_plus/htdocs/ 
> sub_var6.html
> 	http://web.njit.edu/info/limpid/DOC/server.920/a90842/apa.htm
> 	http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp? 
> topic=/db2/rbafzmstlimtabs.htm
> 
> I mean, 128 chars....if we are talkin 1024 we should just say arbitrary  
> :)
> 
>> On the other hand, Java seems to get away with silence
>> on this issue...
>>
>> http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#3.8
>>
>> Does anybody have implementation-defined limits in their code?
> 
> Since you already have to parse arbitrarily sized bits of data  
> (including identifiers such as URIs), I think length of identifier  
> doesn't matter *except* insofar as it constrains number of variables.  
> And the kinds of constraints we are talking about (e.g., 1024) doesn't  
> constraint *that* very effectively...so...why bother?
> 
> Cheers,
> Bijan.

Today's systems don't seem to have limits or have quite large limits so we'd 
end up with a high limit. IRIs aren't limited (and a degree of pain that 
causes to handle both long and short in a database).

As not all variables are used in a single query, if necessary, a subsitution 
to shorter names can be done (hasing, incremental allocation).  Less readable 
but teh app writer will not see them.  (The SQL identifiers I use are not the 
ones in the query.)

So, without a framework for making a reasoned choice of length, we might be 
just arbitrarily picking one (like 256 or 1024).  I'd want to see a concrete 
case where it is causing difficulty.

	Andy

Received on Friday, 13 January 2006 12:17:41 UTC