The number of lines used is updated in the header when a value is set,

and the iteration on the values of a column is done on the number of
lines used (instead of on the total line count).
This commit is contained in:
Celine Mercier
2015-08-26 17:25:15 +02:00
parent 34ade161de
commit 3b7536c0df
9 changed files with 37 additions and 8 deletions

View File

@ -26,7 +26,7 @@ cdef extern from "obidmscolumn.h" nogil:
ctypedef int32_t obiversion_t
OBIDMS_column_p obi_create_column(OBIDMS_p dms, const char* column_name, OBIType_t type, size_t nb_lines, size_t nb_elements_per_line, const char* elements_names)
size_t obi_column_get_line_count(OBIDMS_column_p column)
size_t obi_column_get_nb_lines_used(OBIDMS_column_p column)
const char* obi_column_get_elements_names(OBIDMS_column_p column)
void obi_column_make_unwritable(OBIDMS_column_p column)
OBIDMS_column_p obi_open_column(OBIDMS_p dms, const char* column_name, obiversion_t version_number)

View File

@ -43,8 +43,8 @@ cdef class OBIDMS_column:
multiple_elements = True
else :
element_name = elements_names[0]
line_count = obi_column_get_line_count(self.pointer)
for line_nb in xrange(line_count):
lines_used = obi_column_get_nb_lines_used(self.pointer)
for line_nb in xrange(lines_used):
if multiple_elements :
line = []
for element_name in elements_names :