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

Fixed CORE-6104: incorrect erroris thrown when an embedded user does not have SELECT permissions

This commit is contained in:
Dmitry Yemanov 2019-07-20 11:49:22 +03:00
parent 5d3f12ad66
commit adc23d2d87
2 changed files with 16 additions and 2 deletions

View File

@ -1215,9 +1215,16 @@ static void gen_compile( const act* action, int column)
PATTERN_expand((USHORT) column, pattern2, &args);
column += INDENT;
begin(column);
args.pat_condition = !(request->req_flags & REQ_exp_hand);
args.pat_value1 = request->req_length;
PATTERN_expand((USHORT) (column + INDENT), pattern1, &args);
PATTERN_expand((USHORT) column, pattern1, &args);
set_sqlcode(action, column);
endp(column);
column -= INDENT;
// If blobs are present, zero out all of the blob handles. After this
// point, the handles are the user's responsibility

View File

@ -998,12 +998,19 @@ static void gen_compile( const act* action, int column)
else
printa(column, "if %s = nil then", request->req_handle);
align(column + INDENT);
column += INDENT;
begin(column);
align(column);
fprintf(gpreGlob.out_file, "GDS__COMPILE_REQUEST%s (%s, %s, %s, %d, gds__%d);\n",
(request->req_flags & REQ_exp_hand) ? "" : "2",
status_vector(action), symbol->sym_string, request->req_handle,
request->req_length, request->req_ident);
set_sqlcode(action, column);
ends(column);
column -= INDENT;
// If blobs are present, zero out all of the blob handles. After this
// point, the handles are the user's responsibility