Flashback to the days of Oracle 7, when this pilot fish is developing a very large package written in Oracle's new procedural language PL/SQL.
"The package was over 80K of PL/SQL source code," says fish. "I compiled it on the development server. But while it was compiling, the server perversely chose that very moment to go down!
"My compile ended suddenly with an error message: 'ORA-03113: end-of-file on communication channel.'"
Fish tells the database admin, who restores the development server. Fish tries compiling the PL/SQL package again, and this time...the same thing happens. Once again the server goes down right in the middle of his compile.
DBA stops by fish's desk and pointedly asks, "What are you doing?"
I didn't do anything! fish blurts out. All I did was run a compile!
Fish shows the DBA his PL/SQL package, and it looks OK to the DBA -- but he tells fish, "Well, the dev server keeps going down when you compile it."
That's clearly the case, so fish checks his code -- nothing looks wrong to him -- and then hits the documentation.
And buried in the 600-page manual, he finds a single relevant sentence: It says the limit on PL/SQL packages is 32K for the source code.
Which is, after all, a little smaller than fish's 80K epic.
"I broke up my large package into several smaller packages -- each well under 32K -- which allowed me to reorganize routines inside it, make improvements and gain efficiency," fish says.
"Yes, it was a pain fixing all of the references from other packages, but the project code was better for it in the long run."
Meanwhile, in the short run, send Sharky your story. Email your true tale of IT life to me at firstname.lastname@example.org. You'll get a stylish Shark shirt if I use it. Add your comments below, and read some great old tales in the Sharkives.
Get your daily dose of out-takes from the IT Theater of the Absurd delivered directly to your Inbox. Subscribe now to the Daily Shark Newsletter.