MERGE set ROW_COUNT to 1 when number of handled records more than 1
-------------------------------------------------------------------
Key: CORE-4400
URL: http://tracker.firebirdsql.org/browse/CORE-4400
Project: Firebird Core
Issue Type: Bug
Reporter: Pavel Zotov
SQL> create sequence g;
SQL> recreate table t1(id int primary key using index t1_pk, x int);
SQL> recreate table t2(id int primary key using index t2_pk, x int);
SQL> commit;
SQL>
SQL> insert into t1 select gen_id(g,1), rand()*100 from rdb$types rows 10;
SQL> commit;
SQL>
SQL> alter sequence g restart with 0;
SQL> commit;
SQL>
SQL> insert into t2 select gen_id(g,1), rand()*100 from rdb$types rows 50;
SQL> commit;
SQL>
SQL> set term ^;
SQL> execute block returns(processed_rows int) as
CON> begin
CON> merge into t1 t using t2 s on t.id=s.id
CON> when MATCHED then update set t.x=t.x+s.x
CON> when NOT matched then insert values(s.id, s.x);
CON> processed_rows = row_count;
CON> suspend;
CON> end
CON> ^set term ;^
PROCESSED_ROWS
==============
1
But:
===
SQL> select count(*) from t1;
COUNT
============
50 -- (10 rows updated and 40 rows added)
Tested on:
LI-V2.5.3.26744
LI-T3.0.0.31071
--
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
------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel