JINMEI Tatuya [Thu, 8 Mar 2012 05:15:03 +0000 (21:15 -0800)]
[1608] moved RBNodeRRset internals to the in-memory implementation file.
For that purpose RBNodeRRsetImpl structure was introduced.
no functional change.
JINMEI Tatuya [Wed, 7 Mar 2012 22:06:55 +0000 (14:06 -0800)]
[master] Merge branch 'trac1607' with fixing conflicts:
src/lib/datasrc/tests/Makefile.am
auth_srv_unittest.cc needed an adjustment, but I believe it's trivial,
so I'm commiting and pushing it.
Jelte Jansen [Wed, 7 Mar 2012 17:12:44 +0000 (18:12 +0100)]
[1280] keep and log [A|I]XFR data
depending on transfer type, different things are logged; in case of AXFR, log the number of RRs in the zone, in case of IXFR, log the number of changesets, and the number of deletions and additions. In both cases, run time, bytes, and bytes per second are logged as well.
Stephen Morris [Wed, 7 Mar 2012 14:02:14 +0000 (14:02 +0000)]
[1698-test] Avoid static initialization fiasco for MessageInitializer
Statically-declared MessageInitializer objects now store the address
of the message array in a pre-defined array of pointers. Loading
the global message dictionary is done after main() is called. This
avoids used of heap storage during static initialization, which
appears to cause problems on some systems.
Stephen Morris [Wed, 7 Mar 2012 13:15:00 +0000 (13:15 +0000)]
[1698-test] Avoid use of heap storage for logger name
Logger now stores its name in a pre-defined array instead of
using heap storage (through a std::string). This should avoid
static initialization fiasco problems if the Logger is statically
initialized.
Jelte Jansen [Wed, 7 Mar 2012 10:21:35 +0000 (11:21 +0100)]
[1741] rename RESOLVER_SHUTDOWN debug message
it conflicted with RESOLVER_SHUTDOWN info message (the debug one signals the shutdown command was received, the info message that the resolver actually shut down)
JINMEI Tatuya [Tue, 6 Mar 2012 23:00:07 +0000 (15:00 -0800)]
[1603] added a new microbenchmark test for MessageRenderer implementations.
It compares the old and new versions, and one "dumb" renderer (which doesn't
do any compression).
JINMEI Tatuya [Tue, 6 Mar 2012 22:55:56 +0000 (14:55 -0800)]
[1603] updated the behavior of setCompressMode(): now disallow it in rendering.
the new implementation doesn't allow such flexibility anymore (as the
hash value would change). added comment about that, and updated the test
accordingly.
JINMEI Tatuya [Tue, 6 Mar 2012 22:42:58 +0000 (14:42 -0800)]
[1603] revised the MessageRenderer w/ a hash table and LabelSequence.
a benchmark indicated it's several times faster than the previous
implementation.
JINMEI Tatuya [Tue, 6 Mar 2012 22:06:40 +0000 (14:06 -0800)]
[1603] implemented LabelSequence::getHash(), which is needed for new renderer.
maptolower hidden in name.cc is now exposed to the LabelSequence implementation
in a "private" namespace.
JINMEI Tatuya [Mon, 5 Mar 2012 23:58:34 +0000 (15:58 -0800)]
[1603] corrected the meaning of case-sensitive in LabelSequence::equals (#1754)
we could wait for #1754, but that would make MessageRenderer look confusing
meanwhile. the fix is small, so I decided do it now.
JINMEI Tatuya [Mon, 5 Mar 2012 23:51:41 +0000 (15:51 -0800)]
[1603] add an extension to LableSequence: getDataLength() method.
in name compression we need this info (and in some cases we don't need
the data itself).
JINMEI Tatuya [Mon, 5 Mar 2012 08:22:55 +0000 (00:22 -0800)]
[324] various fixes for SQLite3 schema
- STRING => TEXT
- make sure the right side of LIKE is a placeholder for a string, not an
expression (otherwise it doesn't use indices)
- introduce the "records_bytype_and_rname" index. it's necessary to optimize
the FIND_PREVIOUS query.
JINMEI Tatuya [Fri, 2 Mar 2012 18:36:37 +0000 (10:36 -0800)]
[1607] adding newly created files.
the content was basiclally just moved from an older version of the
corresponding files without "_link", so there should be no essential
change in semantics.
JINMEI Tatuya [Fri, 2 Mar 2012 09:22:44 +0000 (01:22 -0800)]
[1607] use the result of findZone() to check if qname is zone origin.
This should be more efficient than expensive name comparison.
This is a small (unrelated) optimization, but hopefully it's okay.
JINMEI Tatuya [Fri, 2 Mar 2012 07:08:28 +0000 (23:08 -0800)]
[1607] make sure ignoring irrelevant cases.
getAdditional() is now non virtual function and implements the common code
check. the actual processing is delegated to a protected virtual function.
JINMEI Tatuya [Thu, 1 Mar 2012 21:57:50 +0000 (13:57 -0800)]
[1607] (cleanup) reorganized datasrc loadable moule oraganizations and tests.
extracted the conflicting symbols into <datasrc>_link.cc so that the main
part of the data source implementations can be shared in the single test.
Jelte Jansen [Thu, 1 Mar 2012 10:46:46 +0000 (11:46 +0100)]
[1602] Address review comments
- split up split() into leftSplit() and rightSplit()
- made LabelSequence a Friend class of Name
- no need for separate offsets vector
- no need for Name::at_p()
- fixed copyright year :)
JINMEI Tatuya [Thu, 1 Mar 2012 04:13:55 +0000 (20:13 -0800)]
[1607] a small extension: Context now takes the finder and the original find
options and remember them. These will be used in the getAdditional() support.