Recommended Posts

I am using WAMP server 2.0 on Windows 7. My gripe with Windows is with its file naming system being case insensitive. Its a disaster especially for SQL users/developers. Due to Windows being case insensitive, MySQL will not allow the table names such as totalmonthlycarsalesbyvendors and TotalMonthlyCarSalesByVendors to co-exist. Those using SQL, including myself, if creating table names have three options:

totalmonthlycarsalesbyvendors, total_monthly_car_sales_by_vendors or, if the MySQL setting lower_case_table_names is set to 0, TotalMonthlyCarSalesByVendors. However, due to Windows being case insensitive, MySQL is forced to treat totalmonthlycarsalesbyvendors and TotalMonthlyCarSalesByVendors as identical and will not allow totalmonthlycarsalesbyvendors to be renamed as TotalMonthlyCarSalesByVendors. Personally speaking at least, I would prefer to use TotalMonthlyCarSalesByVendors instead of total_monthly_car_sales_by_vendors as well as being able to rename totalmonthlycarsalesbyvendors as TotalMonthlyCarSalesByVendors as it is easier to read and shorter as well. This is not just a suggestion, but a plea to the the powers that be in Microsoft. I was advised that Microsoft would not go out on a limb to change its file naming protocol, giving users more choice in naming files, but would only do so if not doing so incurred a massive financial penalty. I hope to be proved wrong.

Ooooook. Aside from Microsoft not throwing their file system out in the trash, having two of anything, be in a table, function, file, your pet gerbil, whatever, having the same name but with a different case is an absolutely horrible idea and pretty much breaks any naming convention known to man out the window.

I agree that example is REALLY BAD!!! I would never suggest you name something like that - but I agree case should matter.

I have never tried this before - but it seems that you can turn on case sensitivity?

http://support.microsoft.com/kb/929110

A file system that was case sensitive becomes case insensitive after you install an update for the .NET Framework 2.0

You enable case sensitivity on a Microsoft Windows file system for Windows/UNIX interoperability.

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive

If the value of this key is set to 1, the file system is treated as case insensitive. If the value of this key is set to 0, the file system is treated as case sensitive.

When I get a chance will have to check it out.. But from this it would seem you can turn on case sensitivity.

Hope it helps.

Ok yes, no one wants two file names with the same name. My point is that due to Windows being case insensitive with regards filenames, say a MySQL table named for instance totalmonthlycarsalesbyvendors, cannot be renamed as TotalMonthlyCarSalesByVendors as MySQL is forced by Windows naming convention to treat both as identical. So MySQL (I can't vouch for MSSQL) users either have to seperate lowercase words in the tablename with underscores as in total_monthly_car_sales_by_vendors, or set the MySQL setting lower_case_table_names to 0 in order to name the table as TotalMonthlyCarSalesbyVendors, assuming or course that totalmonthlycarsalesbyvendors does not already exist, and if it does, that table has to be dropped (deleted) first along with any data the table may contain. Therefore, the case insenstivity of Windows File Naming protocol doesn't allow SQL developers the ability to change lowercase filenames or tables in MySQL to word first-letter uppercase.

TotalMonthlyCarSalesbyVendors is easier to read than totalmonthlycarsalesbyvendors and is shorter than total_monthly_car_sales_by_vendors. Hope that clarifies my suggestion.

  On 23/03/2011 at 22:32, rpjd said:

Ok yes, no one wants two file names with the same name. My point is that due to Windows being case insensitive with regards filenames, say a MySQL table named for instance totalmonthlycarsalesbyvendors, cannot be renamed as TotalMonthlyCarSalesByVendors as MySQL is forced by Windows naming convention to treat both as identical. So MySQL (I can't vouch for MSSQL) users either have to seperate lowercase words in the tablename with underscores as in total_monthly_car_sales_by_vendors, or set the MySQL setting lower_case_table_names to 0 in order to name the table as TotalMonthlyCarSalesbyVendors, assuming or course that totalmonthlycarsalesbyvendors does not already exist, and if it does, that table has to be dropped (deleted) first along with any data the table may contain. Therefore, the case insenstivity of Windows File Naming protocol doesn't allow SQL developers the ability to change lowercase filenames or tables in MySQL to word first-letter uppercase.

TotalMonthlyCarSalesbyVendors is easier to read than totalmonthlycarsalesbyvendors and is shorter than total_monthly_car_sales_by_vendors. Hope that clarifies my suggestion.

I can rename tables and change their case just fine. If it won't let you go directly from mytable to MyTable try doing mytable to my_table to MyTable.

  On 24/03/2011 at 03:19, Solid Knight said:

I can rename tables and change their case just fine. If it won't let you go directly from mytable to MyTable try doing mytable to my_table to MyTable.

Are you using WAMP server 2.0 on Windows 7? If not, what? I asked on the MySQL forum about this and was informed that without the MySQL setting lower_case_tables_names eing set to 0, all table names, regardless of any uppercase letters will appear as all lowercase. Why should I have to go from mytable to my_table to MyTable? Thats completely idiotic. Shouldn't I be able to name a table MyTable or be able to rename mytable as MyTable. Because of Windows control of the file naming system and it being case insensitive, I can't do that, which is completely unfair. If your telling me I can configure Windows to accept uppercase file(table) names thats great, if not, hence my suggestion.

  On 24/03/2011 at 09:30, rpjd said:

Are you using WAMP server 2.0 on Windows 7? If not, what? I asked on the MySQL forum about this and was informed that without the MySQL setting lower_case_tables_names eing set to 0, all table names, regardless of any uppercase letters will appear as all lowercase.

MySQL is automatically converting your tables to all lowercase names. The Windows filing system preserves whatever case you input. MySQL is doing the conversion.

From MySQL Reference Manual:

Use lower_case_table_names=0 on Unix and lower_case_table_names=2 on Windows. This preserves the lettercase of database and table names. The disadvantage of this is that you must ensure that your statements always refer to your database and table names with the correct lettercase on Windows. If you transfer your statements to Unix, where lettercase is significant, they do not work if the lettercase is incorrect.

Effect of lower_case_table_names=2

Table and database names are stored on disk using the lettercase specified in the CREATE TABLE or CREATE DATABASE statement, but MySQL converts them to lowercase on lookup. Name comparisons are not case sensitive. This works only on file systems that are not case sensitive! InnoDB table names are stored in lowercase, as for lower_case_table_names=1. Setting lower_case_table_names to 2 can be done as of MySQL 4.0.18.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • I use Outlook Classic but after decades it still doesn’t support Google Calendar and Contacts properly (not a big issue for me but is for some of my clients) and doesn’t have unified mailboxes to aggrigate multiple mail accounts.
    • Lol, replacing a wav file is that difficult for a software giant? Must be one of their devs that set some permissions/restrictions on it...
    • Sure, let them keep building for "most", I'm in no rush to buy such unreliable disposable vehicles...
    • Chrome extension blocks social media until you scream "I'm a loser" by David Uzondu Social media addiction is a problem that affects millions, with studies suggesting roughly 10% of Americans are hooked and hundreds of millions more are dealing with it around the world. We have seen some creative ways to reduce their reliance on social media, like the one we reported on recently about using an $8 smart plug to physically block websites. Now, a new Chrome extension takes the concept of adding friction to a completely new level of personal humiliation. The extension, called Scream to Unlock, was created by developer Pankaj Tanwar. He made a Show HN post on Hacker News today explaining that regular site blockers were just not annoying enough to work for him. His solution forces you to enable your microphone and screech "I'm a loser" to get access to sites like X, Facebook, and Instagram. The louder you yell, the more time the extension grants you. Once you install it, trying to visit a blocked site brings up a stark "Access Restricted" message. You are then prompted to perform your self-deprecating chant. After you give in and yell the phrase, the extension grants you access for a set amount of time. The concept is built on you being too embarrassed to yell. And boy, you have to be loud to please it. If your scream's volume is under 30, the extension mocks you with, "You sound like a mouse!". Getting above that might earn you a "Not bad, but you can do better!", while a truly powerful yell (100% volume and above) gets you an "AMAZING! That was an epic scream!". During my own test, I yelled the phrase at what felt like a respectable volume, only to get the mouse treatment. It granted me a measly 23 seconds on X. So if you are interested in this extension, for God's sake, do not try it in an office. Your coworkers will probably think you have finally lost it and are performing some bizarre humiliation ritual at your desk. The Chrome extension's description on the Chrome Web Store claims that all audio processing happens locally and no data is collected. That is not entirely true. Digging into the code, Neowin noticed that it uses window.SpeechRecognition to handle speech recognition. In Chrome, this API sends your voice data to Google's servers for processing. So while Tanwar himself might not be collecting your data, you should be aware of Google's involvement.
  • Recent Achievements

    • First Post
      solidox earned a badge
      First Post
    • First Post
      BA the Curmudgeon earned a badge
      First Post
    • One Year In
      blissa jayden earned a badge
      One Year In
    • One Month Later
      blissa jayden earned a badge
      One Month Later
    • Week One Done
      blissa jayden earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      575
    2. 2
      ATLien_0
      216
    3. 3
      +FloatingFatMan
      170
    4. 4
      Michael Scrip
      152
    5. 5
      Som
      151
  • Tell a friend

    Love Neowin? Tell a friend!