I've got dbisqlg (10.0.1 build 4075) with our database built in SQL Anywhere Version 10.0.1.4075. When we run this combination on a Windows XP machine and press control-space, table names are NOT case sensitive. When we run this combination on a Windows 7 64-bit machine and press control-space, table names ARE case sensitive. I would like to know if there is a way to make the table names not case sensitive while leaving the data case sensitive. When we created our database in the first place, we set some switches: CREATE DATABASE 'my.db' TRANSACTION LOG ON CASE RESPECT PAGE SIZE 4096 BLANK PADDING OFF The documentation states "Identifiers in the database are always case insensitive, even in case-sensitive databases" if you choose 'Case Respect,' but that doesn't seem to be working the same? Did we use the wrong switch or is there another switch we should set somewhere? Is there something Win7 does differently from XP that we didn't set right? I think I've read through the entire list under "database options" (unless I missed one) and I haven't been able to find anything. This may not sound like a big deal, but we've got a few case-sensitivity issues going on and I'm really hoping if I can understand (or fix) this relatively simple case, I can make headway against the ones that involve a larger set of applications. |
Just to understand: Is this an issue with DBISQL's auto complete feature using different case when listing table/column names?
Or does the Win7 version even distinguish case for identifiers when you write them out manually - i.e. does differ between MyTable and MYTABLE or does not find MyTable when spelled as MYTABLE? - That would be a bug IMHO...
That being said, I don't use case-sensitive databases, so I won't be able to help further:(
I'm not sure what behavior you're seeing, exactly. I just created a 10.0.1 case sensitive database on a Windows 7 machine, and connected with DBISQL. When I run
I get "On" (just confirming that I'm connected to the right database).
I created a table called "Test":
Then I typed the following
and pressed Ctrl+Space to open the text completer. It showed "Test". If you press Enter, it replaces "Te" with "Test". If I type
and open the completer, I still see "Test", and completing the table name gives "Test" again. This is the expected behavior.
Is that what you are seeing?
I'm running 10.0.1.3415.
It's the autocomplete feature. It sounds like it's not a big deal, but it's not the only odd behavior we're experiencing related to case sensitivity, so I'm hoping to make some sense out of it.
If you open the completer, you're seeing the table at all? If I have a table named TEST and I type te, I don't see it at all. If I have a table named test and I type T and open the completer, it's not in the list.
I am becoming convinced this is because my table owner is DBA (not dba).
In my test, I also used "DBA" rather than "dba", so I'm not sure that's the problem. Would it be possible for you to post the exact statement you were working on when you ran into the problem?