/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/btree_index.py

  • Committer: Andrew Bennetts
  • Date: 2008-10-27 06:14:45 UTC
  • mfrom: (3793 +trunk)
  • mto: This revision was merged to the branch mainline in revision 3795.
  • Revision ID: andrew.bennetts@canonical.com-20081027061445-eqt9lz6uw1mbvq4g
Merge from bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
from bisect import bisect_right
23
23
from copy import deepcopy
24
24
import math
25
 
import sha
26
25
import struct
27
26
import tempfile
28
27
import zlib
140
139
        self._nodes = {}
141
140
        # Indicate it hasn't been built yet
142
141
        self._nodes_by_key = None
 
142
        self._optimize_for_size = False
143
143
 
144
144
    def add_node(self, key, value, references=()):
145
145
        """Add a node to the index.
277
277
                    length = _PAGE_SIZE
278
278
                    if internal_row.nodes == 0:
279
279
                        length -= _RESERVED_HEADER_BYTES # padded
280
 
                    internal_row.writer = chunk_writer.ChunkWriter(length, 0)
 
280
                    internal_row.writer = chunk_writer.ChunkWriter(length, 0,
 
281
                        optimize_for_size=self._optimize_for_size)
281
282
                    internal_row.writer.write(_INTERNAL_FLAG)
282
283
                    internal_row.writer.write(_INTERNAL_OFFSET +
283
284
                        str(rows[pos + 1].nodes) + "\n")
285
286
            length = _PAGE_SIZE
286
287
            if rows[-1].nodes == 0:
287
288
                length -= _RESERVED_HEADER_BYTES # padded
288
 
            rows[-1].writer = chunk_writer.ChunkWriter(length)
 
289
            rows[-1].writer = chunk_writer.ChunkWriter(length,
 
290
                optimize_for_size=self._optimize_for_size)
289
291
            rows[-1].writer.write(_LEAF_FLAG)
290
292
        if rows[-1].writer.write(line):
291
293
            # this key did not fit in the node:
314
316
                # This will be padded, hence the -100
315
317
                new_row.writer = chunk_writer.ChunkWriter(
316
318
                    _PAGE_SIZE - _RESERVED_HEADER_BYTES,
317
 
                    reserved_bytes)
 
319
                    reserved_bytes,
 
320
                    optimize_for_size=self._optimize_for_size)
318
321
                new_row.writer.write(_INTERNAL_FLAG)
319
322
                new_row.writer.write(_INTERNAL_OFFSET +
320
323
                    str(rows[1].nodes - 1) + "\n")