Re: SEARCH ALL
- From: "Pete Dashwood" <dashwood@xxxxxxxxxxxxxx>
- Date: Thu, 2 Jun 2005 14:51:37 +1200
"Chuck Stevens" <charles.stevens@xxxxxxxxxx> wrote in message
news:d7i8cp$24rv$1@xxxxxxxxxxxxxxxxxxxxxxx
> Howard Brazee wrote:
>
> <<Which leads me to wonder - what other reasons are there for having a
> SEARCH ALL?>>
>
> From the standards point of view, or from the implementation programmer's
> point of view?
>
> One difference that I think is important is that the WHEN criteria for
> SEARCH ALL are very tightly restricted (the WHEN clause, if not
referencing
> an 88-level item, is limited in its subjects to keys referenced in the KEY
> IS phrase of OCCURS). It MAY well be possible for the implementor to
> provide faster *comparison* code than would be available with the
> completely-arbitrary "conditional expression" allowed with SEARCH.
>
> But again, *any* difference in the "execution-time resource consumption"
of
> a SEARCH ALL as compared to an identical SEARCH is entirely up to the
> implementor. The implementation programmer *may* or *may not* experience
a
> performance difference between them.
>
> I know of one implementation whose users rebelled against a pure binary
> search for SEARCH ALL because the implementor couldn't guarantee that the
> first of multiple records with a key matching the search criterion was
> unconditionally returned -- that is, the "found entry" for SEARCH and
SEARCH
> ALL was not always and unconditionally the same when there were duplicates
> in the table. That both the documentation and the standard at the time
> specified that which entry was returned was undefined in such a case was
not
> deemed a sufficient argument by the product's users; the user base
demanded
> *identical* answers no matter whether there were duplicate keys, or indeed
> no matter whether the keys were in any sort of order at all. A serial
> search meets the criteria specified by the standard in such a case; in
this
> instance, the serial search *also* met the needs of the product's actual
> customers better than the *binary* search did. The implementors tried to
> convince the customer base that it was the user's responsibility, not the
> compiler's, to ensure that the keys were in order, but did not succeed;
the
> reality of politics between customer and vendor outranked any academe's
> thoughts as to The Way Things Ought To Be.
>
> -Chuck Stevens
>
I followed your very lucid arguments in this thread, Chuck, and I take your
point about standards and expectations.
The above anecdote amused me because it is SIMPLE to extend the binary chop
so that it DOES always return a consistent result when there are duplicate
keys. (You can have the first through the nth duplicate always returned, by
adding a few lines of code that STILL make it more efficient than a serial
search, everything else being equal.)
If I was a vendor with a multi-million dollar sale hanging on this, I'd be
inclined to give the customer what they wanted, rather than taking the party
line that "that's the way it is". It means a simple PTF for that site only.
Not difficult to administer or maintain. I suspect what stopped this was not
the rights or wrongs of the requirement, but the inabilityof the implementor
to deliver because of the internal politics required to be overcome in order
to provide the requested solution.
I worked many years ago for a household name computer corporation that I
won't mention here. My job was 'pre-sales', supporting one of the company's
hotshot salesmen and making sure our proposals were technically viable. The
salesman concerned was extremely successful and one of the best I have ever
seen. (I learned much from him about presentation and attitude, even though
the technical nature of my role didn't really require these things...(you
either knew your stuff or you didn't. If you didn't, you weren't there very
long..)).
He decided to sell some inventory that was around 1000 CRT units. The
company was offering a bonus to get them moved and he reckoned he could get
a foot in the door at a prestige site if he flogged these terminals to them.
I went with an engineer and we connected one of them to the prospect's
equipment, as a trial. It blew the port. The engineer, put a scope on the
interface and tried again on another port. It blew that one too, but before
it did we gathered enough data to realise that the host interpretation of
the RS232C standard was different from our interpretaion of it...
I duly reported back to the salesman (my Boss) that it was impossible to
connect our stuff to their stuff. That was the man part of my job; ensuring
we configured things correctly and everything worked, both hardware and
software.
I heard no more about it until a few weeks later, when someone said there
were a lot of cartons coming into the warehouse. Sure enough, it was the
CRTs. In horror I went to my Boss again and asked if he knew about this. He
said he did and had signed a deal with the prospect for all of them. I asked
about the little problem of them not being compatible and he smiled, sat me
down, and told me the following:
Although I have quoted this, it is not verbatim. It is as close as I can
remember after nearly 30 years... it is a fair and accurate statement of his
thoughts and actions...
"If you really want to do something, don't let perceived wisdom stop you. I
got on the phone to one of our manufacturing facilities in the US and
requested a board be produced that could correct the voltage
incompatibilities you identified in your report. The plant manager asked how
many we needed and I told him 1000. He laughed. It would work out uneconomic
to set up a run for that quantity, even if we could get permission to have
them designed and prototyped. The units would cost at least $3 dollars each
just for the parts. The design and build would take at least 3 months,
assuming all necessary paperwork was in order and it could be fitted into
the current work schedule. Not a chance. I thanked him and rang X [The
President of the Company] I explained that this is an important account in a
market we are looking to develop and penetrate, and that the prospect is
currently solid with our opposition. I spent a few weeks on his yacht
cruising with him after I won the "Salesman of the Year" award a couple of
years ago (before volunteering to come here and establish a presence for
us), and he knows how serious I am about our company. We got the boards we
need and they are being delivered with the terminals. The whole process took
four weeks. I didn't tell you because I wanted to surprise you (he certainly
did that; I was stunned...). It is amazing what people can do when they are
motivated. A call or visit from X tends to be very motivating..."
Sure enough, there was a tiny black box that sat between the terminal and
the host, and everything worked. We later sold $10,000,000 of services and
equipment to that client and the opposition salesman responsible for the
account was fired.
The point about this story is that the attitude of people (whether technical
or sales) can make all the difference. I wrote it off when I saw it didn't
work. My Boss simply would NOT write off and decided it HAD to work. (Guess
which of us is more wealthy...<G>?)
It was youthful experiences like this that shaped the incredibly capable and
positive consultant you see today...:-) (bows, and exits stage right,
stumbling over long cape...)
Pete.
.
- Follow-Ups:
- Re: SEARCH ALL
- From: Chuck Stevens
- Re: SEARCH ALL
- From: Michael Mattias
- Re: SEARCH ALL
- Prev by Date: Re: IBM Mainframe Storage - DVD Drives?
- Next by Date: Re: SEARCH ALL
- Previous by thread: Re: SEARCH ALL
- Next by thread: Re: SEARCH ALL
- Index(es):
Relevant Pages
|