The Register

Mainframe

The Bastard puts a price tag on user access after a particularly annoying request...

It's training time and today I'm showing the PFY through the computer room when the phone rings. What the hey, no-one's around, so I pick it up.

"Hello."

"Is that the Computer Room?"

"Yes..."

"Is that the Systems Operator?"

I look around quickly - apart from the PFY there's no witnesses.

"..Yes..."

"I think you've got a dead hard disk on the database server."

"Really? What makes you think that?"

"Well, my database updates are very slow."

"What updates?"

"I'm capitalising the middle initial of all staff and contractors since 1991."

"How ... useful. And you expect that to rocket through in a couple of seconds do you?"

"So it's not a disk problem?"

"No, we'd know ahead of time if our disks were faulty - they have predictive failure."

"Really?"

"Yes, and I predict that they will fail in three seconds"

"Why's that?"

"Because I'm going to switch the power off."

I hear a flurry of keystrokes, but it's far too late to have any effect ...

Some wire jiggling and a loud click later and an impromptu transaction rollback is scheduled for disk restart time. The PFY, taking his education seriously, notes everything.

"No witnesses," I mention as we move on to the next piece of kit, just in time to catch sight of the boss bounding past the observation window on his way in. Another >CLICK< and the evidence disappears.

"What happened?" the boss blurts, rushing up.

"When?" I ask, innocent and confused.

"Just then - my database session has hung!"

The PFY and I play dumb while the boss examines the system console screen for signs of bastardisation. None are evident, so after a few seconds he wanders off. When I'm sure he's not coming back I plug the console cable back in and watch the disk repair messages roll by.

The Computer Room phone rings again and the PFY reaches for it. I shake my head, mouthing the word "Set-up". The boss is so predictable he belongs in the drive cabinet. I pick up the phone.

"Help, my spreadsheet's gone funny!" the user cries.

"In what way?" I ask

"Well, the bit where it gets the info from the database has just stopped!"

"Hmm. This sounds like you have an pre-revision embedded SQL statement."

>DUMMY MODE ON<

"Huh?"

"Okay, go back to your spreadsheet. There's an option in the menu somewhere to Examine Sql."

"Uuuuum... Oh, yes, there it is!"

"Okay, click on it. A window pops up saying something like SELECT something FROM something else WHERE some other stuff."

"Yeah, it does."

"Cut out everything except the stuff between the FROM and the WHERE."

"Okay, it's just HR_IDX, a comma, HR_SAL_SCALE a comma and HR_NAME."

"Right, those are the erroneous SQLs that you want to get rid of. So before each word type 'DROP', then add a semi-colon instead of the comma. One drop command per line. Then check the 'auto-commit' box. Lastly, use your boss's username and password so that it fixes the bad SQL."

"But I don't know his passw ..."

"Yes, you do. It's his wife's name isn't it?"

"Her middle name. But he said not to use it because it's got rights to ..."

"To repair SQL like you need to..."

"Oh... >clickety-click< ... That's funny. My spreadsheet has gone blank now!"

"That's right, because the repairs are taking place. Now when your boss gets him, tell him about the 'repairs' that you made."

"Okay. Thanks!"

"That's okay. It's my pleasure. Really."

I haven't even lifted my hand from the receiver when it rings again.

"Computer Room ..." I sigh.

"Hi, we're having a problem with the Human Resource Database. It's almost as if half the tables have disappeared!"

"Yes," I mutter, "We've been doing a lot of work on that recently."

"Oh. Well, is it working now?"

"Of course it is. And you'll be able to use it shortly ..."

"Great!"

"... when you get access. And the access charge today is five quid."

"What?!"

"Each!"

"You're joking!"

"Per minute."

"You can't do that!"

"You're right. I can't - it's my lunchtime, perhaps my assistant can help you."

I direct them to the PFY and head up to the staff cafeteria to check out today's contractor perk.

"Ten quid," I hear the PFY chant.

"What"

"Each. Per minute."

Fifteen minutes later he joins me in the cafeteria to outline the band of blood-seeking users lurking outside the computer room in wait for the return of the systems operators.

You can't pay for satisfaction like that. Unless you're a user of course.