[quote user="Armillary"]
Get off your high horse, fanboi.
[/quote]
Why thank you, coming from an illiterate I could consider this as a compliment.
Some of us aren't high and mighty DBAs with eleventyseven million $ of Oracle courses under our hat.
a) I'm a developer, not a DBA. b) I've had exactly one Oracle course so far: Oracle Forms c) Did I mention that I can read documentation?
I just have the misfortune to have to work with what passes for an API against various databases. Views, triggers, stored procedures - all that crap is of zero use to me, and I'd never pretend otherwise. As far as I'm concerned, the less a DB manipulates the data I put into it, the happier I am.
If you want to reinvent the wheel, sure, go ahead. Are we talking about another guest book, content management system or anything else that doesn't require lots of user connections and data? Hey, why not move to text files?
So, how does Oracle support me in this?
* ObEscapeTheBloodyEmptyStrings - check
Yes, that's something that has been discussed do death. Yes, '' = NULL wasn't their best idea.
* Violates its own 4000 byte constraint for nvarchar2 - try anything over 1333 bytes, and it'll fill up your column with garbage instead of, oh, give an error code or something useful. And yes, I mean bytes, not characters. I UTF-8 encoded them myself. And straight USASCII too...
I just keep wondering why you're doing this. If it's a bug, then check for metalink. And if you have to use bigger fields, use NCLOB.
* Data returned in a pretty random LOB container type - check. It seems to be about 50/50 if I get a CLOB or NCLOB. Which meant no end of fun trying to figure out what charset to feed OCILobRead.
Sorry, I don't do NCLOB right now. Since you don't mention version and patch level either, it would be 20 questions from this on, and since we already discussed the documentation thingy ...
Nifty!
Friggin overcomplicated POS.
And further FYI, just because we can work with Sqlite doesn't mean it's recommended to do anything complicated with it - those cartesian joins mean long coffee breaks once you go over 4-5 table joins. Works well for development purposes though, and maintaining test databases with gzip and mv is handy.
I'd never figured that one out after reading some documentation on sqlite (and noticing that id doesn't come with any sophisticated optimzer). Development with mv and gzip may be fun, I suppose I'll stay with development databases and PL/SQL.
l.