'MonetDB: jdbc based queries return -1 as affected rows often even though the query was successful

e.g, below query:

create table t1 ( age int, name varchar(10) )

insert into t1 values(1, 'name'),(2, 'surname')

 copy select * from t1 into 't1.dat' DELIMITERS '|','
','"' null as '';

The copy select cmd returns -1 as the affected row count, although it should return 2 as the value. Not sure why this is so. At many other times, I have seen the same query returning correctly the affected row count.

If I run the same query in the Dbeaver tool Iam using, I see this:

Updated Rows:   -1
Query:  copy select * from t1 into 't1.dat' DELIMITERS '|','
    ','"' null as ''
Finish time:    Sat Apr 30 16:53:28 IST 2022


Solution 1:[1]

I think you have to use an absolute path to the export file, e.g.

copy select * from t1 into '/home/user/t1.dat' DELIMITERS '|','
','"' null as '';

When you see a message like 2 affected rows, it might actually be due to the result summary of the successfully completed INSERT INTO statement. But that doesn't mean the COPY INTO <file> statement is successful though.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1