ROW_COUNT is incremented  by 1 all subsequent UPDATE statements that are 
executed within cursor and actually can affect only 1 record
-------------------------------------------------------------------------------------------------------------------------------------

                 Key: CORE-5803
                 URL: http://tracker.firebirdsql.org/browse/CORE-5803
             Project: Firebird Core
          Issue Type: Bug
          Components: Engine
    Affects Versions: 3.0.3, 2.5.8, 4.0 Alpha 1
            Reporter: Pavel Zotov


Run following script:
===
recreate table test (
    id int,
    val int
);
commit;
insert into test(id, val) values (1, 10);
commit;
set term ^;
execute block as
    declare curVal integer;
    declare curID integer;
begin
    for select id, val
    from test
    where id = 1
    into curid, curval
    as cursor cur1
    do begin
        update test
        set val=123
        where current of cur1;
        rdb$set_context('USER_SESSION','EXE_BLOCK_UPDATE_1_ROW_COUNT', 
row_count );

        update test
        set val=456
        where current of cur1;
        rdb$set_context('USER_SESSION','EXE_BLOCK_UPDATE_2_ROW_COUNT', 
row_count );
        
        update test
        set val=789
        where current of cur1;
        rdb$set_context('USER_SESSION','EXE_BLOCK_UPDATE_3_ROW_COUNT', 
row_count );
    end
end
^
set term ;^

set list on;
select mon$variable_name as ctx_var, mon$variable_value as ctx_value from 
mon$context_variables;

quit;
===

Its output will be:
===
CTX_VAR                         EXE_BLOCK_UPDATE_1_ROW_COUNT
CTX_VALUE                       1

CTX_VAR                         EXE_BLOCK_UPDATE_2_ROW_COUNT
CTX_VALUE                       2

CTX_VAR                         EXE_BLOCK_UPDATE_3_ROW_COUNT
CTX_VALUE                       3
===

Value of ROW_COUNT was incremented  by 1 all subsequent UPDATE statements that 
was executed within cursor ("where current of cursor cur1").


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to