comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Windows Ada database support.
Date: Wed, 1 Dec 2004 10:11:42 +0100
Date: 2004-12-01T10:11:42+01:00	[thread overview]
Message-ID: <q4aaxtb7by0$.r75vgnptjsxx$.dlg@40tude.net> (raw)
In-Reply-To: coinjj$slj$1@a1-hrz.uni-duisburg.de

On Tue, 30 Nov 2004 21:10:11 +0000 (UTC), Georg Bauhaus wrote:

> Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
>: On Tue, 30 Nov 2004 16:07:06 +0000 (UTC), Georg Bauhaus wrote:
>: 
>:> Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
>:>: On Mon, 29 Nov 2004 22:05:50 +0000 (UTC), Georg Bauhaus wrote:
>:>:>:>   See also Frank Piron's comment about implicit cursors in
>:>:>:> PL/SQL.
>:>:> 
>:>:> Wrong abstractions in PL/SQL too?
>:>: 
>:>: Is in your opinion PL/SQL better than Ada?
>:> 
>:> PL/SQL has a specific purpose, and a rich set of facilities for handling
>:> relations.
>: 
>: 1. Why relations should be handled?
>: 2. Why Ada cannot handle them?
> 
> One reaon that Ada, as is, cannot handle the same set of problems
> as PL/SQL with the same ease is, I think, that PL/SQL is a programming
> language with built in support for database operations. You'd have to
> define at least everything that has been defined (or not) for PL/SQL,
> taking into account all Ada features and requirements.

Sorry, but I cannot follow you. Is it about handling relations? From your
previous posts I understood that in your view "database operations" =
"operations on relations". If true => the question 2, if false => 1.

>:> I don't see why anyone using an Oracle DB would want to write
>:> stored procedures in Ada?
>: 
>: Fair enough. Compare: "I don't see why anybody using C would want to switch
>: to Ada". Indeed, they don't.
>  
> Some do switch from C to Ada, because Ada solves a problem.
> If the task at hand is to write a conditionally triggered
> procedure that processes a value before it is inserted into
> a table, and hides this fact away from a client, that's fairly
> easy in PL/SQL.

Writing triggered procedure is not an objective, it is a solution.

> It's just not there in Ada, AFAIKT.
>   What is your estimate of the effort it takes to merge this
> into Ada packages at a nice level of abstraction? For comparison,
> have a look at APQ, then at GNADE.

I do not see it as necessary for Ada.Databases. At some remote stage the
question: "how can I write and deploy a remote agent in Ada" may arise, but
in a more wide context of distributed systems support. From Ada.Databases
perspective, triggers, stored procedures etc are just gears to implement
abstract data base interface, whatever it will be. If your point is that
Ada's ADT is presently unsuitable for any good support for agents, then I
definitely agree. This is the main reason, why triggered procedures
*cannot* be exposed in the abstract interface.

> Have a look at Microsoft's WinFS plans. Consider how long it takes
> for the biggest and richest software company to come up with something
> working.

Huh, what about Windows (known to some as MS-DOS), it still does not work!
So the problem is elsewhere! (:-))

>: From my experience, there was no single case, when our customer didn't
>: ask for an extensible data model [and was told that he/she cannot afford
>: it]. Sooner or later they will break the wall.
> 
> Yes, sounds familiar, but first, hitting the wall is not equal to ruin
> as the technicians like to think ;-) and second, you'd have to demonstrate
> that an extended data model can be realized by just extending types.

Come on. When I keep on proposing for Ada a type model richer than just
extension, everybody tells that nobody would need that. Now you wish to
convince me that DB application area is wider than one of the most
universal programming language? (:-))

> It might be necessary to add or change change types and add or change
> relations between types etc.

Between objects, you mean? Because the only type relation the whole OO is
based on is just base<->derived. I do not believe, that DB would need
anything more advanced than that, really.

>:>: The same way we program concurrent distributed applications in Ada!
>:> 
>:> And you know what people say about task switching? Rendevous has
>:> its temporal aspects, how do you abstract them away?
>: 
>: I wouldn't. But it is perfectly possible. In C, which has no tasks, an
>: entry is replaced by a procedure with an additional parameter TimeOut.
> 
> So adding a TimeOut parameter is an abstraction of a task entry?

It is an abstraction of a timed entry call [we are talking about
interfaces.]

>: Basically I am unable to see any crucial difference between a data base
>: engine or embedded controller or JVM. Tell me
>: 
>: 1. Why Ada cannot be targeted there?
> 
> Who said so?
> 
>: 2. Why Ada will be less efficient than SQL?
> 
> Again, Ada /= SQL, see above. Efficiency here is not necessarily
> a matter of PLs, but of how an operation can be performed regardless
> of implementation language at either end of the communication.

Should it mean that the language is irrelevant here? What is the point
then?

> If the program is blocking resources due to generalized expectations
> about cursors in some nice DB abstraction there is an efficiency
> problem.

Again, the above is not about concrete languages Ada vs. SQL. It is rather
about if either Ada or SQL may define some "nice DB abstraction", which
won't cause efficiency problems. Surely any abstraction may cause them, yet
people are doomed to use them. After all SQL itself is also that sort of
abstraction.

> I was trying to explain that a program (being written in Ada or not)
> needs to be able to release database resources when proper working of
> the database software requires that this be done.

Fully agree.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2004-12-01  9:11 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-24 12:31 Windows Ada database support Mark Doherty
2004-11-24 15:04 ` Marius Amado Alves
2004-11-24 18:35 ` Pascal Obry
2004-11-24 19:17   ` Alex R. Mosteo
2004-11-24 19:30     ` Dmitry A. Kazakov
2004-11-24 22:32       ` Ching Bon Lam
2004-11-25  1:03 ` David Botton
2004-11-25 17:50   ` Warren W. Gay VE3WWG
2004-11-26  9:15     ` Dmitry A. Kazakov
2004-11-26 18:36       ` David Botton
2004-11-27  8:59         ` Dmitry A. Kazakov
2004-11-28  0:46           ` David Botton
2004-11-28  9:51             ` Dmitry A. Kazakov
2004-11-28 10:23               ` Pascal Obry
2004-11-28 11:03                 ` Dmitry A. Kazakov
2004-11-28 14:38                   ` Martin Dowie
2004-11-28 16:51                     ` Marius Amado Alves
2004-11-28 19:50                       ` Martin Dowie
2004-11-28 20:49                       ` Christopher Browne
2004-11-28 17:29                     ` Dmitry A. Kazakov
2004-11-28 17:47                       ` Marius Amado Alves
2004-11-28 18:56                         ` Dmitry A. Kazakov
2004-12-06 14:57                           ` Warren W. Gay VE3WWG
2004-11-28 18:45                   ` Pascal Obry
2004-11-28 19:13                     ` Dmitry A. Kazakov
2004-11-28 20:04                       ` Pascal Obry
2004-11-29  9:04                         ` Dmitry A. Kazakov
2004-11-29 10:07                         ` Adrien Plisson
2004-11-29 11:00                           ` Alex R. Mosteo
2004-11-29 13:12                             ` Frank Piron
2004-12-01 16:19                           ` Pascal Obry
2004-12-02 10:37                             ` Marius Amado Alves
2004-12-02 10:58                               ` Frank Piron
2004-12-03  2:50                               ` John B. Matthews
2004-11-28 20:36                     ` Marius Amado Alves
2004-11-29  1:40                       ` Georg Bauhaus
2004-11-29 10:30                         ` Marius Amado Alves
2004-11-29  1:28       ` Georg Bauhaus
2004-11-29  8:53         ` Dmitry A. Kazakov
2004-11-29 11:09           ` Georg Bauhaus
2004-11-29 12:01             ` Dmitry A. Kazakov
2004-11-29 14:07               ` Georg Bauhaus
2004-11-29 18:04                 ` Dmitry A. Kazakov
2004-11-29 22:05                   ` Georg Bauhaus
2004-11-30 11:00                     ` Dmitry A. Kazakov
2004-11-30 13:46                       ` Ole-Hjalmar Kristensen
2004-11-30 15:04                         ` Dmitry A. Kazakov
2004-11-30 16:09                         ` Georg Bauhaus
2004-11-30 16:07                       ` Georg Bauhaus
2004-11-30 18:52                         ` Dmitry A. Kazakov
2004-11-30 21:10                           ` Georg Bauhaus
2004-12-01  9:11                             ` Dmitry A. Kazakov [this message]
2004-11-29 12:56       ` Marius Amado Alves
2004-11-29 13:26         ` Dmitry A. Kazakov
2004-11-29 15:02       ` Frank Piron
2004-11-29 15:58         ` Marius Amado Alves
2004-11-29 18:16         ` Dmitry A. Kazakov
2004-11-30  7:14           ` Frank Piron
2004-12-06 14:48       ` Warren W. Gay VE3WWG
2004-12-06 16:29         ` Dmitry A. Kazakov
2004-12-06 17:52           ` Warren W. Gay VE3WWG
2004-12-06 19:44             ` Georg Bauhaus
2004-12-06 20:49             ` Dmitry A. Kazakov
2004-12-07  5:16               ` Warren W. Gay VE3WWG
2004-12-07 10:29                 ` Dmitry A. Kazakov
2004-12-07 15:49               ` Georg Bauhaus
2004-12-07 21:29                 ` Dmitry A. Kazakov
2004-12-08  2:24                   ` Georg Bauhaus
2004-12-08  9:05                     ` Dmitry A. Kazakov
2004-12-08 10:03                       ` Ole-Hjalmar Kristensen
2004-12-08 10:56                         ` Dmitry A. Kazakov
2004-12-08 11:19                           ` Marius Amado Alves
2004-12-08 12:51                             ` Frank Piron
2004-12-08 13:43                               ` Dmitry A. Kazakov
2004-12-08 13:41                             ` Dmitry A. Kazakov
2004-12-08 16:09                               ` Georg Bauhaus
2004-12-08 19:46                                 ` Dmitry A. Kazakov
2004-12-09 12:20                                   ` Georg Bauhaus
2004-12-09 12:59                                     ` Dmitry A. Kazakov
2004-12-08 15:58                           ` Georg Bauhaus
2004-12-08 19:43                             ` Dmitry A. Kazakov
2004-12-09 11:58                               ` Georg Bauhaus
2004-12-09 13:27                                 ` Dmitry A. Kazakov
2004-12-09 18:58                                   ` Georg Bauhaus
2004-12-10 10:22                                     ` Dmitry A. Kazakov
2004-12-10 14:28                                       ` Georg Bauhaus
2004-12-10 15:14                                         ` Dmitry A. Kazakov
2004-12-08 15:52                         ` Georg Bauhaus
2004-12-08 20:22                           ` Dmitry A. Kazakov
2004-12-09 12:12                             ` Georg Bauhaus
2004-12-09 12:59                               ` Dmitry A. Kazakov
2004-12-09 18:45                                 ` Georg Bauhaus
2004-12-09 12:22                             ` Ole-Hjalmar Kristensen
2004-12-09 14:03                               ` Dmitry A. Kazakov
2004-12-10 20:47                   ` Simon Wright
2004-11-25  2:18 ` bubble
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox