Commit Graph

27 Commits

Author SHA1 Message Date
Keith Bostic
18b0617370 WT-2558: WT_PAGE structure is 72B, reduce to 64B.
Remove the WT_PAGE record number field (used in internal and column-store
leaf pages), instead, use the record number from the WT_REF structure.
2016-04-17 15:12:01 -04:00
Keith Bostic
93059b7fbb WT-2542: fixed-length column store reconciliation overwrites original values
The fixed-length column-store reconciliation process overwrites original
on-page values with any globally visible updated values, in which case
older readers in the system can potentially read the wrong value.
2016-04-12 09:31:47 -04:00
Keith Bostic
344a714c3d Upgrade copyright notices from 2015 to 2016. 2016-01-01 16:37:39 -05:00
Michael Cahill
d0afadc40e bitstring.i:90:2: error: suggest parentheses around comparison in operand of '&' 2015-09-10 10:32:53 +10:00
Michael Cahill
8b8d3a6ac4 Fix a 0 -> true typo. 2015-09-10 10:06:19 +10:00
Michael Cahill
5a440d45fc WT-2093 Use the C99 bool type to clarify when functions return true/false. 2015-09-08 15:40:05 +10:00
Keith Bostic
1f9098871a Copyright notices: add MongoDB, update to 2015. 2015-01-04 14:07:56 -05:00
Keith Bostic
d225ca62a1 Switch the WT_PAGE union #defines from pu_xxx to pg_xxx. 2014-02-24 12:56:22 -05:00
Keith Bostic
b174e85b58 Add pu_xxx_field #defines for the rest of the page-union fields. 2014-02-05 16:07:24 -05:00
Keith Bostic
5b509b7220 Update copyright notices for 2014.
Move lang/java and lang/python into the public domain.
2014-01-07 10:30:12 -05:00
Michael Cahill
e13e772a54 Pedantic lint: don't return a void expression. 2013-11-22 15:25:35 +11:00
Keith Bostic
963d37a4e6 Update copyright notice to 2013. 2013-01-01 09:45:50 +00:00
Alex Gorrod
506e5eb5ef nit 2012-08-27 15:40:12 +10:00
Alex Gorrod
1ce266043c Update btree usage of 64 bitstring implementation, so it's cleaner. 2012-08-27 12:14:30 +10:00
Alex Gorrod
dd026d61e8 Update the bitstring implementation to use 64 bit length strings. 2012-08-22 14:35:42 +10:00
Keith Bostic
7a3b1353f0 We're sending a mixed message -- remove the copyright notices from files
where we've placed our content in the public domain.
2012-08-15 17:46:54 +00:00
Keith Bostic
046964bb11 Whitespace cleanups, no semantic changes. 2012-08-07 08:58:36 +00:00
Michael Cahill
eb96567a92 Fix uninitialized variables as reported by GCC 4.6. 2012-04-27 10:54:38 +10:00
Keith Bostic
fd26863711 Snapshot verification code. The verification statements:
Every btree page found in a snapshot should be located in the
	file before the recorded maximum file size, so, each snapshot's
	pages must be less than the snapshot's recorded file size.

	The sum of the allocation lists in every snapshot minus the sum
	of the discard lists in every snapshot should map one-to-one to
	the tree pages in that snapshot.

	The sum of all the pages allocated by every snapshot plus the
	pages on the avail list (plus blocks used to hold extent lists),
	should map one-to-one to the entire file.

Salvage has to create valid alloc/discard/avail lists, so it starts off
with the entire file on the alloc list, and then "frees" any pages it
doesn't want.

Don't read the avail list when we're deleting snapshots, it doesn't
ever change and there's no reason to read or re-write it.

Fix a bug where the live system's alloc/discard lists weren't merged
during a snapshot, if no snapshot was being deleted.

We no longer reset the snapshot's file size when writing a snapshot,
we want to check the snapshot's blocks against a reasonable maximum
file size during verification.   This won't work if there's ever an
API to roll-forward from an intermediate snapshot.

Pass the snapshot-array into the verify-start routine: we have to read
the avail list from the last snapshot, those are blocks that must not
be allocated in any snapshot.

Add a check: the earliest snapshot in the system should never have
blocks on its discard list.

Replace the __wt_block_free_ext() function with the more general-purpose
__wt_block_insert_ext() function, which inserts a range onto an extent
list.
2012-04-19 10:38:12 +00:00
Michael Cahill
ebdc8d2d08 Fix uninitialized warnings with GCC 4.6. 2012-01-31 10:43:20 +11:00
Keith Bostic
d473094676 Update copyright notices to 2012.
Change the copyright check script to always use the current year.

Change the example code copyright notices to document them as freeware,
anybody using WiredTiger example code is free to use it in any way they
choose, including commercially, WiredTiger claims no rights in such a
copy.

Minor re-ordering of the standard copyright notice so the preamble is
always the copyright notice itself, not the mention of the LICENSE file.
2012-01-22 18:52:07 +00:00
Keith Bostic
a807d3e186 Split u.col_leaf into two parts (u.col_fix and u.col_var), and move the
column-store append/update lists from WT_PAGE into WT_PAGE_MODIFY in
order to shrink WT_PAGE.

--HG--
extra : rebase_source : 6d7df0f5b50351cabfec464eccfa0b49b8b0f35a
2011-12-18 17:34:11 +00:00
Keith Bostic
9251ec0602 Fix a comment. 2011-08-19 10:44:52 +00:00
Keith Bostic
40d15c1de8 Automated change whacked some copyright statements. 2011-08-05 11:44:10 -04:00
Michael Cahill
2a7631059f Remove declarations for static inline functions, when mixed with non-inlined code, move the inlined functions to the top. This is required for some compilers to inline at all, and avoids the need for a "STATIN" to shorten "static inline" declarations. 2011-08-04 22:04:19 +10:00
Keith Bostic
cc824d925f Fast-path 8-bit fixed-length column-store fields: I think they'll be common
enough we should notice them.   I looked at slice-and-dice for the rest of
the field sizes, but it's going to require tests (if not a loop), and I bet
the compiler is going to do a better job than I will.
2011-08-03 13:41:45 -04:00
Keith Bostic
4f04d7e71c Redo Paul Vixie's bitstring.h #defines as inline functions, using
uint32_t max-bits instead of "int", and rename include/bitstring.h
to include/bitstring.i.

Change the names of the fixed-length column-store get/set value
functions to match the other bitstring functions, and move them
from include/btree.i to include/bitstring.i.

--HG--
rename : src/include/bitstring.h => src/include/bitstring.i
2011-08-03 13:10:02 -04:00