I think this is enough to demonstrate that there's an issue. Deleting
without the 'where' clause returns (correctly) no rows affected when
there's nothing there. Using a '<=' operator in the 'where' clause seems
to report the right values (2 when it deletes 2 rows, 0 when it deletes
0 rows). Going back to '=' reports 1 row regardless.
This is 4.3 on CDH5, by the way.
0: jdbc:phoenix:172.31.30.216> select * from names;
+------------------------------------------+----------------------+
| ID | NAME |
+------------------------------------------+----------------------+
+------------------------------------------+----------------------+
No rows selected (0.538 seconds)
0: jdbc:phoenix:172.31.30.216> delete from names;
No rows affected (0.1 seconds)
0: jdbc:phoenix:172.31.30.216> upsert into names (id, name) values (1,
'james');
1 row affected (0.064 seconds)
0: jdbc:phoenix:172.31.30.216> upsert into names (id, name) values (2,
'helen');
1 row affected (0.05 seconds)
0: jdbc:phoenix:172.31.30.216> upsert into names (id, name) values (3,
'naomi');
1 row affected (0.052 seconds)
0: jdbc:phoenix:172.31.30.216> upsert into names (id, name) values (4,
'reuben');
1 row affected (0.053 seconds)
0: jdbc:phoenix:172.31.30.216> delete from names where id<=2;
2 rows affected (0.116 seconds)
0: jdbc:phoenix:172.31.30.216> delete from names where id<=2;
No rows affected (0.098 seconds)
0: jdbc:phoenix:172.31.30.216> delete from names where id=2;
1 row affected (0.071 seconds)
0: jdbc:phoenix:172.31.30.216>
James
On 02/09/15 14:57, Jean-Marc Spaggiari wrote:
Is not the output the number of lines of the delete command, which is
one line (the command itself) and not the number of deleted lines?
Can you try to put some rows into the table and do the delete again?
Or try without the where close too?
2015-09-02 9:54 GMT-04:00 James Heather <james.heat...@mendeley.com
<mailto:james.heat...@mendeley.com>>:
Any idea why sqlline would report 1 row affected when I delete no
rows?
0: jdbc:phoenix:172.xx.xx.xxx> create table names (id bigint(20)
primary key, name varchar(20));
No rows affected (1.158 seconds)
0: jdbc:phoenix:172.xx.xx.xxx> delete from names where id=1;
1 row affected (0.204 seconds)
0: jdbc:phoenix:172.xx.xx.xxx>
James