Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-5207

Fix the description of Derby's stored page format, found on the web site.

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 10.9.1.0
    • None
    • Web Site
    • None
    • Newcomer, Patch Available

    Description

      I have found some discrepancies between Derby code and the description of the stored page format found on our web site (http://db.apache.org/derby/papers/pageformats.html):

      1) The website correctly says that the page header is 56 bytes long. However, you get 58 bytes if you add up the values in the left column of http://db.apache.org/derby/papers/pageformats.html#storedpage. The extra 2 bytes come from the inclusion of an unsigned short representing "% of the page to keep free for updates". That field does not appear in StoredPage.readPageHeader(). The field should be removed from the web site page.

      2) That table has an additional problem: the "spare for future use (encryption uses to write random bytes here)" field is correctly listed as being 4 bytes long (in the left column) but the middle column says that it is a long. That middle column should say that the value is an integer.

      3) Although the first 4 bytes of the AllocPage header are devoted to a Formatable ID, the actual Formatable ID only occupies the leading 2 bytes of the page. The next 2 bytes are unused. The first line of the "Format of Alloc Page" table should note this fact.

      4) There is no RECORD_INITIAL bit in the record header status field.

      Attachments

        1. DERBY-5207.patch
          1 kB
          Mohamed Nufail

        Issue Links

          Activity

            People

              nufail Mohamed Nufail
              rhillegas Richard N. Hillegas
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: