gda_server_error_*, cvs access (Re: New gda Sybase provider)



Hi!

On Thu, Jul 20, 2000 at 09:28:07PM +0200, Rodrigo Moya wrote:
> Holger Thon wrote:
>  
> > So far, the gda-sybase provider is able to connect and disconnect to/from
> > the sybase server, within gnome-db 0.0.96. The error handling is ugly
> > and will drop any connection on the smallest error which could ever happen.

The error handling stuff is nearly done (i'm just thinking about some things
to make it look prettier). The easiest thing of handling client/server 
messages, i.e. using callbacks, will not be possible due to either my overview
on gnome-db or it's way handling errors so far.
The problem is, that within these callbacks you don't have any user-supplied
data, hence no Gda_* references. As a consequence, you cannot create
gda_server_error_new() within these callbacks, giving the errormessage
to the gui part of gnome-db. At least gda_server_error_make() would bail out
because the call would lack a connection pointer.

So i got 2 questions:
1.) How can you generate an error window?
    Within the gda_provider_command_execute, you get an Gda_ServerErro pointer
    and simply call gda_server_error_make().
    I'd like to generate an error window within an other function as well,
    but  gda_server_error_new() 
         gda_server_error_make() does not work. What do i miss?

2.) Can functions be added to get a list of the Gda_ServerConnection pointers
    matching a specific provider? With such a function, one could go through
    the list and compare the user specific data with data supplied in
    dbms lib's callbacks, having the ability to call more gda stuff then
    without such a function.
    E.g., together with 1.) you could use callbacks for error handling
    routines. In case of sybase, this would not only make the code smaller,
    but also more readable, reducing the thread of bugs.

I started the hardcoded way of handling error messages, using ct_diag()
and cs_diag(). It's an nightmare, that function! :-( Now the c[st]_diag()
based stuff works, but i found out that the sequence 
  gda_server_error_new(...);
  gda_server_error_make(...);
does not work to generate error messages within functions not got passed a
Gda_ServerError pointer; at least you never get this error messages
displayed.
> well, I can't tell you exactly what's happening, but it's for sure
> something with the OAF/GNORBA mix. It looks as it's starting the
> providers and those are not registering themselves with GNORBA or OAF.
>  
> > Within the next weeks i'll start writing the callback handlers and remove
> > forceexits on failures whereever possible. After that comes the recordset
> > stuff, enabling queries. When this is ready, schemas and transactions will be
> > realized.
> have you contacted Stephan about this? I think he's also working on the
> sybase provider
Hm, that's new to me (on the gnome-db page at people you still look for a
gda-sybase maintainer today). I'll contact him today, then.

Apropos new: What do you have to do to gain cvs write access later on?
             This will apply in a few weeks when i finished the basic
             implementation of the provider and it has become usable.
             Of course i could also send the patches to a maintainer, if
             you wish so.

Ciao,

  Holger
-- 
Operator excuse of the instant:
because Bill Gates is a Jehovah's witness and so nothing can work on St. Swithin's day.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]