Subject | Re: [firebird-support] Re: use of -USE_ALL_SPACE |
---|---|
Author | W O |
Post date | 2013-05-03T17:20:08Z |
That's very interesting Fabiano, thank you very much for your answer.
Greetings.
Walter.
Greetings.
Walter.
On Fri, May 3, 2013 at 1:12 PM, Fabiano Kureck <fabianoaspro@...>wrote:
> **
>
>
> Yes, you are wright.
> And in a particular Page it is only allowed a single type of:
> Table Data or index or generator and so on
>
> -----Mensagem original-----
> De: firebird-support@yahoogroups.com
> [mailto:firebird-support@yahoogroups.com] Em nome de W O
> Enviada em: sexta-feira, 3 de maio de 2013 12:42
> Para: firebird-support@yahoogroups.com
> Assunto: Re: [firebird-support] Re: use of -USE_ALL_SPACE
>
>
> Thank you very much Ann, your explanation was (as usual) very good.
>
> Just one more question:
>
> As I understand it, in a page just can be the rows (records) of a single
> table. No two or more tables can share a page.
>
> Am I right?
>
> Greetings.
>
> Walter.
>
> On Fri, May 3, 2013 at 10:59 AM, Ann Harrison
> <aharrison@...>wrote:
>
> > **
>
> >
> >
> > Walter,
> >
> >
> > > As I understand it when a record is deleted a new primary version with
> a
> > > mark (a flag) is put on it indicating that fact and the previous
> version
> > of
> > > the record is copied on another location (same page if there is room or
> > > another page if there is not)
> > >
> > > Is that true?
> > >
> >
> > More or less. A new "deleted stub" record - a header with no data - is
> > created and stored on the record's home page. If there's not room on
> > the home page for the deleted stub, then the oldest version of the record
> > on the page will be moved elsewhere.
> >
> > It's probably worth noting, for those who are thinking about implementing
> > relational database managers, that records can be relocated on page
> > freely.
> >
> > The record number (RDB$DB_KEY and all its aliases) is the value
> > used in indexes to identify a specific record. That number consists of
> > a pointer page identifier - the ordinal number of a row in RDB$PAGES for
> > pointer pages for that table - plus the offset on the pointer page that
> > contains the page number of the record's home page, plus the offset
> > of an index on that page that contains the offset and length of the data
> > on page. So...
> >
> > 1) Reorganizing data on a page just requires swapping values in the index
> > for that page to maintain stable record numbers.
> >
> > 2) All versions of a record use the same record number.
> >
> > 3) Updating a record does not require changing all the indexes on the
> > table. If the key doesn't change, neither does the index.
> >
> > However, once a record has been deleted and garbage collected, its
> > record number is released and will be reused, so record numbers are
> > not stable outside of a single transaction - unless you use a switch
> > to make record numbers stable for your connection. Record numbers
> > will change after a gbak restore.
> >
> >
> > Good luck,
> >
> > Ann
> >
> > [Non-text portions of this message have been removed]
> >
> >
> >
>
> [Non-text portions of this message have been removed]
>
> ------------------------------------
>
>
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>
> 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]