8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-24 01:23:03 +01:00

Added missing BLR handling to the internal blob filter

This commit is contained in:
dimitr 2004-11-17 18:18:44 +00:00
parent e289262da7
commit 1859b19b9a
2 changed files with 21 additions and 8 deletions

View File

@ -140,13 +140,9 @@ static const struct
{"post_arg", two},
{"exec_into", exec_into},
{"user_savepoint", user_savepoint},
/* These are actually cursor operations added in Firebird 2.0 */
{"divide2", two},
{"agg_total2", one},
{"dcl_cursor", dcl_cursor},
{"cursor_stmt", cursor_stmt},
{"current_database", zero},
/* These verbs were added in 6.0, primarily to support 64-bit integers, now obsolete */
{"agg_average2", one}, {"agg_average_distinct2", one}, /* 170 */
{"average2", two},

View File

@ -326,6 +326,7 @@ const int op_set_error = 17;
const int op_literals = 18;
const int op_relation = 20;
const int op_exec_into = 21;
const int op_cursor_stmt = 22;
static const UCHAR
/* generic print formats */
@ -381,7 +382,9 @@ static const UCHAR
range_relation[] = { op_line, op_verb, op_indent, op_relation, op_line, 0},
extract[] = { op_line, op_byte, op_verb, 0},
user_savepoint[] = { op_byte, op_byte, op_literal, op_line, 0},
exec_into[] = { op_word, op_line, op_indent, op_exec_into, 0};
exec_into[] = { op_word, op_line, op_indent, op_exec_into, 0},
dcl_cursor[] = { op_word, op_line, op_verb, 0},
cursor_stmt[] = { op_cursor_stmt, 0 };
#include "../jrd/blp.h"
@ -3382,8 +3385,22 @@ static void blr_print_verb(gds_ctl* control, SSHORT level)
break;
}
case op_cursor_stmt: {
blr_operator = blr_print_byte(control);
blr_print_word(control);
if (blr_operator == blr_cursor_fetch) {
#ifdef SCROLLABLE_CURSORS
if (BLR_PEEK == blr_seek) {
blr_print_verb(control, level);
}
#endif
}
offset = blr_print_line(control, (SSHORT) offset);
break;
}
default:
fb_assert(FALSE);
fb_assert(false);
break;
}
}