Subject Re: [firebird-support] Re: Table with no name
Author Ann Harrison
On Mon, Nov 26, 2012 at 6:53 AM, paultugwell <pault@...> wrote:

> I should have mentioned that this is FB1.5 and is a test DB. I have since
> found that deleting the blank record from RDB$RELATIONS allows a backup
> and restore and the restored DB no longer has the table with a blank name
> which validates as OK.
>

Gfix validate doesn't do what you think it does. Nor does mend. They
operate on the physical structure of the database - that pointer pages
actually contain page numbers of pages in the right table, that record's
back versions pointers point to back versions of the record, etc. Gfix
knows nothing about the logical consistency of the database. It's sort of
like the difference between nbak and gbak. Gbak takes a logical backup of
the database, nbak just gets the changed bytes. So I'm not surprised that
gfix declared the database just fine while gbak restore hated your empty
table. And yes, deleting that record directly won't break anything.
Relationships between system tables are (generally) based on names, not
identifiers, so a table with a null name can't be related to anything. The
one exception is Rdb$Formats and even that references the table by name.

I am not advocating direct system table updates in general, and agree with
the project developers that they should be banned. However, I hope they
will try to figure out how you created your non-table or find a way to
delete a non-table without using direct system table updates.

Good luck,

Ann

>
>

>
>
>
> ------------------------------------
>
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>
> Visit http://www.firebirdsql.org and click the Resources item
> on the main (top) menu. Try Knowledgebase and FAQ links !
>
> Also search the knowledgebases at http://www.ibphoenix.com
>
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> Yahoo! Groups Links
>
>
>
>


[Non-text portions of this message have been removed]