Re: cache and d3-style case-insensitivity



Ed, you got the D3 casing options right. In my opinion the decision
to not support case insensitivity as an option is unusually short
sighted and I hope and predict InterSystems will change opinion on
this.

Implementing this should be quite simple using an index. When data is
stored an index is created using the user-casing and an all LC or UC
ID. The data is stored with the user-cased ID. When any file-level
read is performed, the requested ID is re-cased and converted through
the index before the actual read is done. I suspect this is how the
BASIC compiler was written to allow insensitive reserved words, with a
BNF table serving as an all UC or LC index.

Mandatory case-sensitive data comparisons are, um, primitive. If a
user enters "APPLE" or "aPPle", I want it to match "apple". I don't
want to have to LCASE(userinput) on every bit of data entered, or
prior to every file Read or Write.

I personally like all program names and file names to be in upper
case, but that's not always the, um, case. If someone writes a
program called GetStuff, I don't want to have to use GetStuff in
absolutely every program to differentiate it from GETSTUFF. That's
just silly. I should be able to use the statement CALL GETSTUFF and
get the right program, or even MYPROGRAM="getstuff" and CALL
@MYPROGRAM. And if someone tries to open "custmast" instead of
"CUSTMAST", we should be able to apply the indexing technique
described above on the VOC/MD to let them do it.

My best,
T
.



Relevant Pages

  • Re: cache and d3-style case-insensitivity
    ... Case Sensitivity is the difference between people who do real work with real ... Case insensitivity is quite a religious issue. ... program called GetStuff, I don't want to have to use GetStuff in ...
    (comp.databases.pick)
  • Re: cache and d3-style case-insensitivity
    ... Back in 1989 the company I worked for was moving it's application from Adds to Stratus OA pick, and had to put the migration on hold for 6 months while Stratus and our var wrangled over what had to change--in the end Stratus removed case insensitivity from their PICK. ... program called GetStuff, I don't want to have to use GetStuff in ... "CUSTMAST", we should be able to apply the indexing technique ...
    (comp.databases.pick)