dbTalk Databases Forums  

RE: [Info-ingres] Re: UK IUA agenda?

comp.databases.ingres comp.databases.ingres


Discuss RE: [Info-ingres] Re: UK IUA agenda? in the comp.databases.ingres forum.



Reply
 
Thread Tools Display Modes
  #11  
Old   
Roy Hann
 
Posts: n/a

Default Re: [Info-ingres] Re: UK IUA agenda? - 09-20-2005 , 09:19 AM






<martin.bowes (AT) ctsu (DOT) ox.ac.uk> wrote

Quote:
You'll have to explain how SQLJ helps. I mean it. Can you give us a
quick capsule summary of it? I have only the sketchiest idea what it
does, and no idea at all how it would help here.

That makes two of us.

I'm all for safety by encapsulating the user changes, but I'm at
a loss to see how this could be done. But I'm not that smart. I just read
the OME manual and took the comment about thoroughly testing the
code on a test installation before installing on a production box *VERY*
seriously.
And that assumes you have just one production installation to test for.
What if you want to deploy in Intel, SPARC, PowerPC, and Alpha? You can't
just assume the same code works OK on all of them. Heck, it probably won't
even compile on all of them.

Quote:
Another point would be - are we jumping at shadows. Hands up
everyone who has actually found a need for a UDT. I would bet the
answer is very, very few people. I think the '1950s datatypes' as
Rampaging Roy Hann calls them will satisfy the vast majority of us.
25 years ago I was writing code for network databases. It was often a slow
and grinding misery and I yearned for a set of intelligent templates (we'd
probably call them wizards today). That was as imaginative as I got. It
never occurred to me that a non-procedural language would be even better.
Then one day I found Ingres and QUEL, and suddenly I was orders of magnitude
more productive! Talk about a religious experience! (Younger members of
the audience can substitute SQL for "QUEL" above.)

We've never had a product with proper user-defined types. We conceive our
designs in terms of what we know we have to work with--the 1950s data types.
That sets our expectations. We are as content as cows in a field. Or else
we are at the other extreme, get the problem backwards, and announce that
"the relational model" is too feeble for the demands of modern applications.
All those dim-bulbs out there enthusing foolishly about XML "databases" and
OODBMSs think they have a more powerful model because they've got better
data types. (If even that much is true, then that is all they've got. But
that is another rant for another time.)

But to repeat, this is NOT the topic of my IUA presentation next month.

Quote:
As a guess - and pure guesswork on this - I suspect that user
defined functions would be more common. I think an improved version
of soundex, or an equivalent function has been mentioned by a few.
Me for one.

Quote:
Ditto a regex function - which is what I'm currently tinkering my way
towards. Hey, I havent even made a function that returns the integer 5
yet. I'm not a good programmer [snip].
You probably aren't evil enough, although that takes some believing...

Quote:
As an aside - are people tackling this sort of extended
functionality in OpenSource?
The Postgres/PostgreSQL people have done a lot with it. I don't know too
much about it. I am willing to bet there've been more than a few problems
with it, based on the little I do know. Another intriguing enterprise is
FirstSQL; you can Google for that one. I have a few gripes about FirstSQL,
but it gets a whole lot more right than most such endeavours.

Roy




Reply With Quote
  #12  
Old   
Betty & Karl Schendel
 
Posts: n/a

Default Re: [Info-ingres] Re: UK IUA agenda? - 09-20-2005 , 09:55 AM






At 3:19 PM +0100 9/20/05, Roy Hann wrote:
Quote:
martin.bowes (AT) ctsu (DOT) ox.ac.uk> wrote in message
news:mailman.1127219941.9268.info-ingres (AT) cariboulake (DOT) com...
You'll have to explain how SQLJ helps. I mean it. Can you give us a
quick capsule summary of it? I have only the sketchiest idea what it
does, and no idea at all how it would help here.

That makes two of us.

I'm all for safety by encapsulating the user changes, but I'm at
a loss to see how this could be done. But I'm not that smart. I just read
the OME manual and took the comment about thoroughly testing the
code on a test installation before installing on a production box *VERY*
seriously.

And that assumes you have just one production installation to test for.
What if you want to deploy in Intel, SPARC, PowerPC, and Alpha? You can't
just assume the same code works OK on all of them. Heck, it probably won't
even compile on all of them.
Now, now. Writing portable code isn't hard.

Although I suppose it helps to have gotten burned a few times first.

Karl


Reply With Quote
  #13  
Old   
Roy Hann
 
Posts: n/a

Default Re: [Info-ingres] Re: UK IUA agenda? - 09-20-2005 , 10:05 AM



"Betty & Karl Schendel" <schendel (AT) kbcomputer (DOT) com> wrote

Quote:
Now, now. Writing portable code isn't hard.

Although I suppose it helps to have gotten burned a few times first.
It's just software. How hard could it be? :-)

Rex Jaeschke published a very fine book years ago, on writing portable C
code. I found it extremely helpful when I was more concerned about such
things. I suspect it is looooooong out of print though.

Roy




Reply With Quote
  #14  
Old   
Tonyd08068@netscape.net
 
Posts: n/a

Default Re: [Info-ingres] Re: UK IUA agenda? - 09-21-2005 , 06:25 AM




I'm on "holiday" at the moment, so I've been following this at a distance, and will commit the cardinal sin of replying to multiple posts at once ...

martin.bowes (AT) ctsu (DOT) ox.ac.uk (amongst others) wrote:

Quote:
What makes you think that? Am I *so* unreasonable? :-) Or perhaps you
were thinking of Tony; yes, there you may get an argument.

Hmmm...... (I'm getting my Donald Rumsfeld impersonation ready...)

Quote:
We REALLY need SQLJ extensions for Ingres. This would allow
- much safer and easier OME functionality

I think Mike and I kicked SQLJ around a while ago, and agreed to disagree. Reading the proposed SQL standard for SQLJ made me think "too much is not enough, already".

Quote:
I'm all for safety by encapsulating the user changes, but I'm at
a loss to see how this could be done. But I'm not that smart. I just read
the OME manual and took the comment about thoroughly testing the
code on a test installation before installing on a production box *VERY*
seriously.

This sort of stuff is readily do-able, but it needs a fair bit of architecting under the covers to make it work, and make it work properly.

Quote:
Another point would be - are we jumping at shadows. Hands up
everyone who has actually found a need for a UDT. I would bet the
answer is very, very few people. I think the '1950s datatypes' as
Rampaging Roy Hann calls them will satisfy the vast majority of us.

Now, I am ready for a fight on this one, which we can have tomorrow (Maybe I should email a reminder about the SIUA, with a UDT bout as the lunchtime attraction

The central assertion is: if your database is a set of assertions of facts about things, best make sure you're talking about the right things.

Consider (as the example put forward for the presentation Roy and I gave) the case of the Scottish Candidate Number. Looks like an integer, smells like an integer, but it sure doesn't walk like an integer - so why should I be stuck with representing them as integers ? Consider the code ...

declare scn = integer;
begin
// some random stuff here
scn = scn + 1;
// some more bumph
end

No compiler, no logic system, no type inference system in the world can get past the fact that you've just made a total boo-boo - the last digit of an SCN is a check digit, so the operation "+ 1" should not be permitted on SCNs. Essentially, the type system has forced us into, and actively colluded in, perpetrating garbage.

This is about the most trivial example I can think of. Really, the whole idea of overloading integers to mean multiple things should have been thrown out when Pascal introduced enumerations back in 1968. That Niklaus Wirth eventually dumped them when he built Oberon-2 (the object oriented extension to Modula-2), because they introduced inconsistencies in scoping and made the compiler more difficult (take your pick, he used both justifications and I know which one I really believe), merely killed the whole object oriented myth stone-dead for me.

Quote:
As a guess - and pure guesswork on this - I suspect that user
defined functions would be more common.
User defined functions are, to my mind, a subset of user defined types. Introducing a new type involves introducing new operators or functions to deal with those new types. It's rare that we really want to add new operators to integers, say, compared to the number of times we should be defining new, useful types.

Quote:
I think an improved version
of soundex, or an equivalent function has been mentioned by a few.
Ditto a regex function - which is what I'm currently tinkering my way
towards. Hey, I havent even made a function that returns the integer 5
yet. I'm not a good programmer, that's why I went into DBA.

As an aside - are people tackling this sort of extended
functionality in OpenSource?

I doubt it. It's a, shall we say, non-trivial task. PostgreSQL started from the position that user defined types (and indeed, user defined indexing) were going to be aggressively pursued, so a certain amount of substructure was built to handle it. I'm not sure Ingres is quite so amenable, and (sorry Karl) my heart sinks when I think about meandering through the Ingres source code. I'm just too used to dealing with Prolog and Haskell nowadays, and C just breaks my poor ole heart...

Quote:
Martin Bowes.

- Tony


__________________________________________________ ________________
Switch to Netscape Internet Service.
As low as $9.95 a month -- Sign up today at http://isp.netscape.com/register

Netscape. Just the Net You Need.

New! Netscape Toolbar for Internet Explorer
Search from anywhere on the Web and block those annoying pop-ups.
Download now at http://channels.netscape.com/ns/search/install.jsp


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.