/*
- * Copyright (C) 2007-2008 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007-2009 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
/** version text used by various commands if -V switch was given */
#define VERSION_TEXT(prefix) "osl_" prefix " " VERSION " " "\n" \
- "Copyright (C) 2008 Andre Noll\n" \
+ "Copyright (C) 2008-2009 Andre Noll\n" \
"This is free software with ABSOLUTELY NO WARRANTY." \
" See COPYING for details.\n" \
"Written by Andre Noll.\n" \
//DEBUG_LOG("%d rows. %d columns\n", t->num_rows, t->desc->num_columns);
t->num_invalid_rows = 0;
for (i = 0; i < t->num_rows; i++) {
+ const struct osl_column_description *cd;
+
if (row_is_invalid(t, i)) {
t->num_invalid_rows++;
continue;
}
- for (j = 0; j < t->desc->num_columns; j++) { /* FXIME */
- const struct osl_column_description *cd =
- get_column_description(t->desc, j);
- if (cd->storage_type != OSL_MAPPED_STORAGE)
- continue;
+ FOR_EACH_MAPPED_COLUMN(j, t, cd) {
ret = check_range(t, i, j);
if (ret < 0) {
if (ret != -E_FSCK_RANGE_VIOLATION)
/* first count used bytes */
FOR_EACH_MAPPED_COLUMN(i, t, cd) {
loss[i] = t->columns[i].data_map.size;
+ DEBUG_LOG("column %i data map: %u bytes\n", i,
+ t->columns[i].data_map.size);
for (j = 0; j < t->num_rows; j++) {
struct osl_object obj;
ret = get_mapped_object(t, i, j, &obj);
ret = map_table(*t, (MAP_TBL_FL_IGNORE_DIRTY));
else
ret = map_table(*t, 0);
- if (ret >= 0)
+ if (ret >= 0) {
(*t)->num_rows = table_num_rows(*t);
+ DEBUG_LOG("index header size: %d\n", (*t)->index_header_size);
+ DEBUG_LOG("row index size: %d\n", (*t)->row_index_size);
+ }
out:
return ret;
}