Q: gda-clnt/gda-recordset.c
- From: Stephan Heinze <stephan heinze xcom de>
- To: gnome-db-list gnome org
- Subject: Q: gda-clnt/gda-recordset.c
- Date: Wed, 01 Dec 1999 21:09:48 +0000
hi,
in gda-clnt/gda-recordset.c there is following part of code:
[line 798 and following]
[----snip-----]
rs->corba_rs = GDA_Command_open(cmd->command, corba_parameters,
cursor_type, lock_type, &affected, &ev);
error_list = gda_errors_from_exception(&ev);
if (error_list)
{
rs->corba_rs = 0;
gda_connection_add_errorlist(rs->cnc, error_list);
return -1;
}
rs->field_attributes = GDA_Recordset_describe(rs->corba_rs, &ev);
[----snip-----]
if GDA_Command_open was called with a insert or a delete-statement there
will be no recordset to deliver and also no error to let us leave the
function. rs->corba_rs is NULL.
in GDA_Recordset_describe there's no validation for a NULL recordset
(and the application crashes).
my question: do I have to deliver an empty recordset in the
implementation of the server specific command_open method or should
there be a
validation in the client function?
kind regards
Stephan
--
-------------------------------------------------------------------
"Life is what happens to you while you're busy making other plans."
John Lennon
-------------------------------------------------------------------
- From: Stephan Heinze <St Heinze gmx net>
- To: Stephan_Heinze/X-WORLD/DE%X-WORLD%X-WORLD/DE
- Subject: Fwd: Q: gda-clnt/gda-recordset.c
- Date: Wed, 1 Dec 1999 19:06:13 +0000
Ci0tLSBXZWl0ZXJnZWxlaXRldGUgTmFjaHJpY2h0IC8gRm9yd2FyZGVkIE1lc3NhZ2UgLS0t
CkRhdGU6IFdlZCwgMSBEZWMgMTk5OSAxNjo0NTowMSArMDEwMCAoTUVUKQpGcm9tOiBTdGVw
aGFuIEhlaW56ZSA8U3QuSGVpbnplQGdteC5uZXQ+ClRvOiBnbm9tZS1kYi1saXN0QGdub21l
Lm9yZwpTdWJqZWN0OiBROiBnZGEtY2xudC9nZGEtcmVjb3Jkc2V0LmMKCj4gaGksCj4KPiBp
biBnZGEtY2xudC9nZGEtcmVjb3Jkc2V0LmMgdGhlcmUgaXMgZm9sbG93aW5nIHBhcnQgb2Yg
Y29kZToKPgo+IFtsaW5lIDc5OCBhbmQgZm9sbG93aW5nXQo+IFstLS0tc25pcC0tLS0tXQo+
ICAgcnMtPmNvcmJhX3JzID0gR0RBX0NvbW1hbmRfb3BlbihjbWQtPmNvbW1hbmQsIGNvcmJh
X3BhcmFtZXRlcnMsCj4gICAgICAgICAgICAgICBjdXJzb3JfdHlwZSwgbG9ja190eXBlLCAm
YWZmZWN0ZWQsICZldik7Cj4gICBlcnJvcl9saXN0ID0gZ2RhX2Vycm9yc19mcm9tX2V4Y2Vw
dGlvbigmZXYpOwo+ICAgaWYgKGVycm9yX2xpc3QpCj4gICAgIHsKPiAgICAgICBycy0+Y29y
YmFfcnMgPSAwOwo+ICAgICAgIGdkYV9jb25uZWN0aW9uX2FkZF9lcnJvcmxpc3QocnMtPmNu
YywgZXJyb3JfbGlzdCk7Cj4gICAgICAgcmV0dXJuIC0xOwo+ICAgICB9Cj4KPiAgIHJzLT5m
aWVsZF9hdHRyaWJ1dGVzID0gR0RBX1JlY29yZHNldF9kZXNjcmliZShycy0+Y29yYmFfcnMs
ICZldik7Cj4gWy0tLS1zbmlwLS0tLS1dCj4KPiBpZiBHREFfQ29tbWFuZF9vcGVuIHdhcyBj
YWxsZWQgd2l0aCBhIGluc2VydCBvciBhIGRlbGV0ZS1zdGF0ZW1lbnQgdGhlcmUKPiB3aWxs
IGJlIG5vIHJlY29yZHNldCB0byBkZWxpdmVyIGFuZCBhbHNvIG5vIGVycm9yIHRvIGxldCB1
cyBsZWF2ZSB0aGUKPiBmdW5jdGlvbi4gcnMtPmNvcmJhX3JzIGlzIE5VTEwuCj4KPiBpbiBH
REFfUmVjb3Jkc2V0X2Rlc2NyaWJlIHRoZXJlJ3Mgbm8gdmFsaWRhdGlvbiBmb3IgYSBOVUxM
IHJlY29yZHNldAo+IChhbmQKPiB0aGUgYXBwbGljYXRpb24gY3Jhc2hlcykuCj4KPiBteSBx
dWVzdGlvbjogZG8gSSBoYXZlIHRvIGRlbGl2ZXIgYW4gZW1wdHkgcmVjb3Jkc2V0IGluIHRo
ZQo+IGltcGxlbWVudGF0aW9uCj4gb2YgdGhlIHNlcnZlciBzcGVjaWZpYyBjb21tYW5kX29w
ZW4gbWV0aG9kIG9yIHNob3VsZCB0aGVyZSBiZSBhCj4gdmFsaWRhdGlvbgo+IGluIHRoZSBj
bGllbnQgZnVuY3Rpb24/Cj4KPiBraW5kIHJlZ2FyZHMKPgo+IFN0ZXBoYW4KPgo+IC0tCj4g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQo+ICJMaWZlIGlzIHdoYXQgaGFwcGVucyB0byB5b3Ugd2hpbGUgeW91
J3JlIGJ1c3kgbWFraW5nIG90aGVyIHBsYW5zLiIKPiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaG4gTGVubm9uCj4gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQo+Cj4gU2VudCB0aHJvdWdoIEdsb2JhbCBNZXNzYWdlIEV4Y2hhbmdlIC0gaHR0
cDovL3d3dy5nbXgubmV0Cj4KPgoKLS0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoiTGlmZSBpcyB3aGF0IGhh
cHBlbnMgdG8geW91IHdoaWxlIHlvdSdyZSBidXN5IG1ha2luZyBvdGhlciBwbGFucy4iCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Sm9obiBMZW5ub24KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKU2VudCB0aHJvdWdoIEdsb2JhbCBNZXNzYWdl
IEV4Y2hhbmdlIC0gaHR0cDovL3d3dy5nbXgubmV0Cgo=
[Date Prev][
Date Next] [Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]