Postgres and case sensitivity

Bastiaan Olij bastiaan at basenlily.me
Sun Aug 24 08:15:52 EDT 2014


Hi Doug,

We don't use file classes anymore either, but obviously older code used
to use file classes. The fact simply is, when using file classes things
aren't case sensitive, so if code was written without keeping case in
mind, that code will start breaking when you start using schema classes.

To make our move from df1 to sql possible we had a layer inbetween that
allowed us to keep using most of our older code but by now 80% has been
rewritten to pure SQL code so it is less of a problem.

Still, I wish lists defined from schema classes / table classes were
case insensitive. The number of times I've typed in ivList.MYCOLUMNNAME
only to find out my code doesn't work because this is one of the older
tables and it has to be MyColumnName....

Cheers,

Bas

On 23/08/14 4:04 AM, Doug Easterbrook wrote:
> hi Bas:
>
> I think we must live a charmed life.....    
>
> like you:
> - the roots of our application are from .df1 days.
> - most of our table names are mixed case.
> - all of our field names are upper case (due to omnis 3+ days where they had to be upper case, so some field names are 30+ years old)
> - we still have file classes
> - all of our schema classes exactly match the names in the file classes.
>
>
> we define all our lists from table classes using $definefromsqlclass().   
>
> We never define a list from file class, nor use file class lists in windows -- only lists defined from sql class.
>
>
>
> and the only issue I have ever found with case sensitivity is if we do a :
>
> update table   returning field1,field2, field 3.
>
> somehow, that list (not defined from sqlclass), may have trouble with copying fields.   In fact, the only issue we've found is in the 
>
> do list.$assignrow(listb,ktrue) command ---   it doesn't like case insensitivity...... so we wrote our own and put it TMOBJS.....  which, by now, I hope everybody has or is using.
>
> ;  Inherited from .TMObjs.TMObj
> ;  $assignRow(&ToList, &FromList, ByName) merges the contents of the current line in the FromList(or row) with the current line in the ToList (or row)
>
>
>
> Doug Easterbrook
> Arts Management Systems Ltd.
> mailto:doug at artsman.com
> http://www.artsman.com
> Phone (403) 536-1205    Fax (403) 536-1210
>
> On Aug 22, 2014, at 10:00 AM, omnisdev-en-request at lists.omnis-dev.com wrote:
>
>> There is one exception to this rule which has frustrated me intently.
>> Dealing with a legacy product coming from DF1 days many of our older
>> table names and column names are mixed case.
>> By doing something very similar to what you described here we also have
>> all our table names and column names in the database lowercase and by
>> never using quotes around table names and column names we don't have to
>> worry about case issues in any generated queries as postgres will
>> convert them to lowercase automatically and our queries work fine.


-- 
Kindest Regards,

Bastiaan Olij
e-mail: bastiaan at basenlily.me
web: http://www.basenlily.me
Skype: Mux213
http://www.linkedin.com/in/bastiaanolij




More information about the omnisdev-en mailing list