Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Thanks for elaborating. I can agree totally. This is the first project I have been on to use Oracle. All dates are strings and not DATE (so I have to convert in almost all calls). All fields are NOT NULL and a fixed length even if the data doesn't come close to using the space (I know how to use rtrim and I have to do it in almost every call). There are no foreign keys (it is about 1500 tables). It is very frustrating.
    • Wow. That sounds like giving a kid a Ferrari for driving lessons and then not bothering to teach them to drive. I actually don't mind having everything NOT NULL, but that's only if folks know why they're doing that and clearly whoever worked on your database didn't.

      Can you do something like Rose [cpan.org] on top of it? If so, it could at least hide a lot of that cruft for you.

      • The NOT NULL is not as annoying as the everything is padded with spaces in the fields. So if the field is 10 characters and the data is 3, they tack on 7 spaces to make it fit. That is freaking annoying as hell.

        They have crashed the "ferrari". What a waste.

  • Score one for asking dumb questions. I'll keep your advice in mind and be extra careful since my current project uses MySQL.
  • Learning how to use a database well is good advice. Never mind the relational model -- I've met many Oracle users and even DBAs who didn't seem to have a solid grasp of the transaction model and isolation levels. These are pretty fundamental things to know about your database.

    Your anti-MySQL rant is getting really out-of-date though. MySQL has had transactions and foreign keys in a GA release since March 2003, with the same MVCC locking model that Postgres and Oracle use. They've had a strict mode tha

    • The strict mode is barely a year old and MySQL, with their perpetuation of their "who needs valid data?" ideas has decided to make this optional. Why data integrity should be optional, I don't know, but this continual misunderstanding on their part (remember when they published that laughable anti-FK essay?) makes me extremely leery of them and their product. Also, you still can't attach triggers to views (something which hurt us at Kineticode and would have allowed MySQL to simulate something much closer

      • MySQL 5 reached beta in March 2005, over two years ago, and a production release in October 2005. The 5.1 production release should be happening pretty soon, and 5.2 is already available in alpha.

        One thing that might help you make a case for some urgency on upgrading to version 5 at work is that the other versions are now so old they have a "end of product life" notice on the MySQL web site.

    • MySQL has had transactions and foreign keys in a GA release since March 2003, with the same MVCC locking model that Postgres and Oracle use.

      Wrong. They do have transactions and FKs, but no MVCC. InnoDB is a sorry attempt at that, ill documented, and writers in it will block readers, sometimes a consistent dump will lock the whole database, and it can’t generally be trusted.

      And even in GA, the sorry MyISAM is still the default.

  • Just out of curiosity, what version of MySQL are you running?
  • A couple of articles that may interest you:

    http://www.infoq.com/news/2007/08/denormalization [infoq.com]
    http://www.infoq.com/news/2007/08/mnesia [infoq.com]
    http://blogs.msdn.com/pathelland/archive/2007/07/23/normalization-is-for-sissies .aspx [msdn.com]

    Any thoughts on denormalization, distributed databases, Erlang, etc?