Sponsored Content
The Lounge What is on Your Mind? Software engineers, real and otherwise Post 302145999 by bakunin on Friday 16th of November 2007 03:25:09 AM
Old 11-16-2007
Let me tell you a story to emphasize what i have written:

For 2 years i worked in a data-warehouse project for a large bank. I was the systems administrator for a software development platform for ~120 developers: 1 IBM p595 in several LPARs, a DS8000 as storage subsystem and several small systems. Several DB/2 UDB instances. The "software developers" where of course not programming - they used a Meta-Data-Analysis-Tool to feed some other "Object oriented Meta-SQL generator" (or something such, may i have left out some buzzwords here) to finally generate SQL code. Most of the times the were in meetings discussing how they would click on icons if they were ever to find time between the strategy talks, the review meetings and the customer fulfilment presentations.

One day i was asked to do a performance review for one of the database machines (LPAR, 22GB RAM, 5 physical POWER5+-CPUs). It turned out someone had effectively managed to create a "left outer join" of almost the whole database onto itself, fed that into a shell script line for line, manipulated these lines there with some awk and fed that back into the database.

Clever solution, yes? Why use outdated non-OO, non-CRE, no-nothing SQL-statements like "select for update" when a streamlined process of clicking on a icon created that wonderful masterpiece of generator-output? It turned out the generator "thought" it was a really clever solution and on the test dataset with its 10 records it "worked well" - it just had to be cancelled after 36 hours, because shell script loops manipulating 160 millions of records tend to be somewhat slow....

Another day: "developer" (no, not one of the real ones) walks up to me and asks where the command lines size limit is defined in AIX. I point him to /usr/sys/include/limits.h and tell him that it is 4096 characters.

"Developer": "Can you make that bigger?"
Me: "What for?"
"Developer": "my SQL generator has created this statement, but it is 12k characters long and i always get an input line too long' error. You have to optimize the OS to.."
Me: "no."
"Developer": "why not?"
Me: "Because I am not here to make arbitrarily bad design possible."

The DBA and me then worked together and created an analogous code in old-fashioned, very non-streamlined SQL-code in about 300 characters. True, we did that using incomprehensible low-level techniques (like an "editor") instead of modern and reliable methods ("click on an icon"), but somehow we managed to create some readable statement instead of the blather the generator had come up with and our code even ran in about 5% of the time.

bakunin
 

6 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Open source mathematical software for scientists & engineers

I'm look for some opinion on mathematical software from any engineers out there. What is the open source application that --in your opinion(s) -- best meets the same requirements as Mathematica or Maple? I'm running FreeBSD & Linux, btw. (3 Replies)
Discussion started by: Aaron Van
3 Replies

2. UNIX for Dummies Questions & Answers

How many UNIX engineers are necessary?

I was asked to maintain more than 160 UNIX servers which OS are Solaris, linux,susue,,etc by the president. But there is only one UNIX engineer in my section. I am sure I need at least 3 UNIX engineers to maintain more than 160 UNIX servers. What do you think how many engineers I need? (11 Replies)
Discussion started by: nrjhit
11 Replies

3. High Performance Computing

Installation Guide for Solaris Cluster 3.2 Software and Oracle 10g Release 2 Real App

Here are steps for installing the Solaris 10 11/06 OS, Solaris Cluster (formerly Sun Cluster) 3.2 software, QFS 4.5, and Oracle 10gR2 RAC. Also provided are instructions on how to configure QFS and Solaris Volume Manager for use with Oracle 10gR2 RAC. More... (0 Replies)
Discussion started by: Linux Bot
0 Replies

4. Solaris

Lack of Solaris Engineers?

Are more and more companies moving away from Solaris? I am currently helping a company search for a Sr. Solaris Engineer near Philadelphia and it seems as if more candidates are in other UNIX flavors. Is this correct? Where is the best place to search for Solaris Engineers? Thank you for... (2 Replies)
Discussion started by: nickcrocemisi
2 Replies

5. What is on Your Mind?

Lack of Solaris Engineers?

Are more and more companies moving away from Solaris? I am currently helping a company search for a Sr. Solaris Engineer near Philadelphia and it seems as if more candidates are in other UNIX flavors. Is this correct? Where is the best place to search for Solaris Engineers? Thank you for your... (1 Reply)
Discussion started by: nickcrocemisi
1 Replies

6. Advertise with Us

Wanted- Linux Application Engineers

Optiver US LLC is a worldwide market maker and derivatives trading firm with offices in Chicago, Amsterdam and Sydney. Attracting very ambitious, talented and results-oriented individuals to become members of a highly selective trading application engineering team. This position is a primary... (0 Replies)
Discussion started by: Barb S.
0 Replies
EXECUTE(7)                                                         SQL Commands                                                         EXECUTE(7)

NAME
EXECUTE - execute a prepared statement SYNOPSIS
EXECUTE name [ ( parameter [, ...] ) ] DESCRIPTION
EXECUTE is used to execute a previously prepared statement. Since prepared statements only exist for the duration of a session, the pre- pared statement must have been created by a PREPARE statement executed earlier in the current session. If the PREPARE statement that created the statement specified some parameters, a compatible set of parameters must be passed to the EXECUTE statement, or else an error is raised. Note that (unlike functions) prepared statements are not overloaded based on the type or number of their parameters; the name of a prepared statement must be unique within a database session. For more information on the creation and usage of prepared statements, see PREPARE [prepare(7)]. PARAMETERS
name The name of the prepared statement to execute. parameter The actual value of a parameter to the prepared statement. This must be an expression yielding a value that is compatible with the data type of this parameter, as was determined when the prepared statement was created. OUTPUTS
The command tag returned by EXECUTE is that of the prepared statement, and not EXECUTE. EXAMPLES
Examples are given in the Examples [prepare(7)] section of the PREPARE [prepare(7)] documentation. COMPATIBILITY
The SQL standard includes an EXECUTE statement, but it is only for use in embedded SQL. This version of the EXECUTE statement also uses a somewhat different syntax. SEE ALSO
DEALLOCATE [deallocate(7)], PREPARE [prepare(7)] SQL - Language Statements 2010-05-14 EXECUTE(7)
All times are GMT -4. The time now is 03:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy