From: rkinyon Date: Thu, 18 Jan 2007 15:17:01 +0000 (+0000) Subject: r14852@rob-kinyons-computer: rob | 2007-01-18 01:29:59 -0500 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=42c6906e907ae21b72128668f4b0b3ef18b4d039;p=dbsrgits%2FDBM-Deep.git r14852@rob-kinyons-computer: rob | 2007-01-18 01:29:59 -0500 More POD explaining undocumented constructor options --- diff --git a/lib/DBM/Deep.pod b/lib/DBM/Deep.pod index adc2fc7..6d05677 100644 --- a/lib/DBM/Deep.pod +++ b/lib/DBM/Deep.pod @@ -193,6 +193,53 @@ See L below. =back +The following parameters may be specified in the constructor the first time the +datafile is created. However, they will be stored in the header of the file and +cannot be overridden by subsequent openings of the file - the values will be set +from the values stored in the datafile's header. + +=over 4 + +=item * num_txns + +This is the maximum number of transactions that can be running at one time. The +default is two - the HEAD and one for imports. The minimum is two and the +maximum is 255. The more transactions, the larger and quicker the datafile grows. + +See L below. + +=item * max_buckets + +This is the number of entries that can be added before a reindexing. The larger +this number is made, the larger a file gets, but the better performance you will +have. The default and minimum number this can be is 16. There is no maximum, but +more than 32 isn't recommended. + +=item * pack_size + +This is the size of the file pointer used throughout the file. The valid values +are: + +=over 4 + +=item * small + +This uses 2-byte offsets, allowing for a maximum file size of 65K + +=item * medium (default) + +This uses 4-byte offsets, allowing for a maximum file size of 2G. + +=item * large + +This uses 8-byte offsets, allowing for a maximum file size of 16XB (exabytes). + +=back + +See L for more information. + +=back + =head1 TIE INTERFACE With DBM::Deep you can access your databases using Perl's standard hash/array @@ -843,8 +890,10 @@ a future release. =head1 TRANSACTIONS New in 0.99_01 is ACID transactions. Every DBM::Deep object is completely -transaction-ready - it is not an option you have to turn on. Three new methods -have been added to support them. They are: +transaction-ready - it is not an option you have to turn on. You do have to +specify how many transactions may run simultaneously (q.v. L). + +Three new methods have been added to support them. They are: =over 4 @@ -865,7 +914,7 @@ the transaction. =back Transactions in DBM::Deep are done using the MVCC method, the same method used -by the InnoDB MySQL table type. +by the InnoDB MySQL engine. =head1 PERFORMANCE