[ 
https://issues.apache.org/jira/browse/DERBY-5799?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kim Haase updated DERBY-5799:
-----------------------------

     Issue & fix info: Patch Available
    Affects Version/s: 10.9.1.0
    
> add more info on when Derby chooses 32k page size for tables.
> -------------------------------------------------------------
>
>                 Key: DERBY-5799
>                 URL: https://issues.apache.org/jira/browse/DERBY-5799
>             Project: Derby
>          Issue Type: Improvement
>          Components: Documentation
>    Affects Versions: 10.8.2.2, 10.9.1.0
>            Reporter: Mike Matrigali
>            Assignee: Kim Haase
>            Priority: Minor
>         Attachments: DERBY-5799.diff, rrefproper40688.html
>
>
> Enhance the following documentation to explain all cases when Derby will 
> default a table to 32k.
> current doc:
> http://db.apache.org/derby/docs/10.8/ref/rrefproper40688.html
> 1) better describe what "long" means.  Originally this was clear as it meant 
> just datatypes with
> the "long" qualifier.  Now it also includes Blob and Clob columns.   Not sure 
> if we should list
> all the types, or just something like long, Blob and/or Clob.
> 2) Derby will also choose 32k if the approximate length of the columns 
> declared at create time is greater than 4k.  Approximate is used as each 
> different datatype may or may not be fixed length
> when stored on the page.  Character data may take 1, 2, or 3 bytes per 
> character, obviously 
> variable length data like varchar can't be known at create time, ...
> I don't think we should try to document exact derby algorithm, rather doc 
> that Derby will default
> to what it thinks should be the best size of either 4k or 32k unless user 
> chooses to override.  I
> do think it is useful to doc that Derby will include both existence of long 
> columns and the estimate
> length of the row.
> Here some comments from Property.java that describes constants used, if these 
> constants every change then documentation would change also:
> /**
>      * The default page size to use for tables that contain a long column.
>      **/
>     public static final String PAGE_SIZE_DEFAULT_LONG = "32768";
>     /**
>      * The bump threshold for pages sizes for create tables
>      * If the approximate column sizes of a table is greater than this
>      * threshold, the page size for the tbl is bumped to 
> PAGE_SIZE_DEFAULT_LONG
>      * provided the page size is not already specified as a property
>      **/
>     public static final int TBL_PAGE_SIZE_BUMP_THRESHOLD = 4096;
>     /**
>      * The bump threshold for pages size for index.
>      * If the approximate key columns of an index is greater than this
>      * threshold, the page size for the index is bumped to 
> PAGE_SIZE_DEFAULT_LON
> G
>      * provided the page size is not already specified as a property
>      **/
>     public static final int IDX_PAGE_SIZE_BUMP_THRESHOLD = 1024;

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to