~drizzle-trunk/drizzle/development

Viewing all changes in revision 1283.60.4.

Change when we call ib_cursor_next/prev. Instead of calling it after reading
the row (previous behaviour between Cursor calls was to have the cursor
pointing to the *next* row) we now call it before reading the next row.

This means we have to do some fancy things in the first call to start the scan
to make sure we don't advance the cursor past the first row in the subsequent
call. e.g. rnd_init() sets to start of table, rnd_next should only advance
the cursor on it's second call.

This means that the *current* row is available between Cursor calls. The
way that memory management with BLOBs works in the Server, this means we
avoid a copy and can just use the pointer from get_value().

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: