Re: Rowset.updateRow() crashes

Marc Santhoff <[email protected]>
Newsgroups gmane.comp.openoffice.dba.user
Message-ID <[email protected]>
Am Montag, den 18.07.2005, 16:52 +0200 schrieb Marc Santhoff:

> I'm trying to update a bunch of records from BASIC code:

After some testing an update:

Repeating known facts: In the GUI I can insertz and update records
manually without a problem.

At first I'll show you the underlyiing table and data:

mysql> use test;
#Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> describe TestTab;
+-------+---------------+------+-----+---------+-------+---------------------------------+
| Field | Type          | Null | Key | Default | Extra | Privileges                      |
+-------+---------------+------+-----+---------+-------+---------------------------------+
| A     | int(11)       |      | PRI | 0       |       | select,insert,update,references |
| B     | varchar(50)   | YES  |     | NULL    |       | select,insert,update,references |
| C     | double        | YES  |     | NULL    |       | select,insert,update,references |
| D     | float         | YES  |     | NULL    |       | select,insert,update,references |
| E     | decimal(12,2) | YES  |     | NULL    |       | select,insert,update,references |
| F     | date          | YES  |     | NULL    |       | select,insert,update,references |
| G     | date          | YES  |     | NULL    |       | select,insert,update,references |
+-------+---------------+------+-----+---------+-------+---------------------------------+
7 rows in set (0.02 sec)

mysql> select * from TestTab where A=15010;
+-------+--------------+------+------+------+------------+------------+
| A     | B            | C    | D    | E    | F          | G          |
+-------+--------------+------+------+------+------------+------------+
| 15010 | 12345 qwertz |  1.2 |  2.4 | 1.23 | 1975-01-01 | 2005-10-12 |
+-------+--------------+------+------+------+------------+------------+
1 row in set (0.01 sec)

Okay, now run this macro:

sub bugOnRowsetUpdateRow
	oRowset = createUnoService("com.sun.star.sdb.RowSet")
	oRowSet.DataSourceName = sDBName
	oRowSet.User = "marc"
	oRowSet.Password = "get_up"
	oRowSet.ResultSetConcurrency = com.sun.star.sdbc.ResultSetConcurrency.UPDATABLE
	oRowSet.CommandType = com.sun.star.sdb.CommandType.COMMAND
	oRowSet.EscapeProcessing = FALSE ' native SQL, ggf. ausschalten!
	sSQL = "select * from TestTab where A=15010"
	oRowSet.Command = sSQL
	oRowSet.execute()
	oRowSet.next()
	oRowSet.updateString(2, "new value")
	oRowSet.updateRow()
end sub

At the last line it crashes reproducably in the following program
combinations:

OOo			connection		database

1.1.0/FreeBSD-en	old mysql-jdbc driver	mysql 3.23.xx via LAN
1.1.3/FreeBSD-de	connector/j3		mysql 3.23.xx via LAN
1.1.0/FreeBSD-en	firebirdsql 1.5		firebird 1.5 local
1.1.1/Windows-de	MyODBC 2.5		mysql 3.23.xx via LAN
1.1.5rc2/Windows-de	MyODBC 2.5		mysql 3.23.xx via LAN

The jdk in use is version 1.3.1 on FreeBSD and j2re1.4.0_01 on Windows

Can someone please test to confirm?

If it's a bug, me or someone should file an issue, as usual.

TIA, 
Marc
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.