Moin Micha,

Michael Strobel wrote:
Hi Ocke,

I have created issues for the stuff, which we discussed last time I
posted here. It seems like it will still take a while until they are
treated. There are still a few more problems with the driver and hope
you have an idea how to solve this one:

A view that references a table is dropped silently by our DBMS, when the
referenced table is dropped, yet Base still displayes the view, until
View->Refresh Tables in the Bases menubar is clicked.
Calling refreshTables() and refreshViews() from the IngCatalog class
doesn't solve this, as it only refreshes the structures in the driver,
but Base has no clue that they have changed.
I guess I should do something like the following for every silently
dropped view in the implementation of XDrop for the IngTables class to
tell Base about the change, but it doesn't seem to work either.

IngViews* pViews = static_cast<IngViews*>
  (static_cast<OIngresCatalog&>(m_rParent).getPrivateViews());
if (pViews && pViews->hasByName(_ViewName_))
{
  pViews->dropByNameImpl(_ViewName_);
  ContainerEvent aEvent(static_cast<XContainer*>(this),
    makeAny(_ViewName_), Any(), Any());
  OInterfaceIteratorHelper aListenerLoop(m_aContainerListeners);
  while (aListenerLoop.hasMoreElements())
  {
    static_cast<XContainerListener*>
      (aListenerLoop.next())->elementRemoved(aEvent);
  }
}
I think now it's time for debugger :-)
Some brainstorming:
- set breakpoints in dbaccess/source/core/api/viewcontainer.cxx ::elementremoved and tablecontainer.cxx
- can it be that the view name is still in the tablecontainer
- debug who receives the elementRemoved message
- how about just call dropObject at the views
- or forbid that a table which is referenced in a vew can not be deleted :-)

Best regards,

Ocke
Best Regards,
Micha

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



--
Ocke Janssen                      Tel: +49 40 23646 661, x66661
Dipl. Inf(FH)                     Fax: +49 40 23646 550
Sun Microsystems Inc.
Nagelsweg 55                     mailto:[EMAIL PROTECTED]
D-20097 Hamburg                   http://www.sun.com/staroffice

Sitz der Gesellschaft: Sun Microsystems GmbH, Sonnenallee 1, D-85551 Kirchheim-Heimstetten
Amtsgericht Muenchen: HRB 161028
Geschaeftsfuehrer: Thomas Schroeder Wolfgang Engels, Dr. Roland Boemer
Vorsitzender des Aufsichtsrates: Martin Haering


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to