[pgsqlclient-checkins] pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/NPgClient PgDbClient.cs,1.3
Status: Inactive
Brought to you by:
carlosga_fb
From: <car...@us...> - 2003-11-21 18:01:08
|
Update of /cvsroot/pgsqlclient/pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/NPgClient In directory sc8-pr-cvs1:/tmp/cvs-serv14628 Modified Files: PgDbClient.cs PgStatement.cs Log Message: * source/NPgClient/PgDbClient.cs: * source/NPgClient/PgStatement.cs: - Added correct processing of Sync and error messages. Index: PgDbClient.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/NPgClient/PgDbClient.cs,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** PgDbClient.cs 21 Nov 2003 12:23:05 -0000 1.34 --- PgDbClient.cs 21 Nov 2003 18:01:04 -0000 1.35 *************** *** 180,183 **** --- 180,184 ---- packet.Write((byte)0); // Terminator + // Handshake protocol will be negotiated here if the connection is using SSL/TLS SendData(packet.GetSimplePacketBytes()); *************** *** 271,274 **** --- 272,278 ---- PgClientException ex = processErrorPacket(responsePacket); + // Perform a sync + Sync(); + throw ex; } *************** *** 543,547 **** public void RollbackTransction() { ! PgStatement stmt = CreateStatement("ROLLBACK TRANSACTION"); stmt.Query(); --- 547,551 ---- public void RollbackTransction() { ! PgStatement stmt = CreateStatement("ROLLBACK TRANSACTION"); stmt.Query(); *************** *** 586,589 **** --- 590,601 ---- // Send packet to the server SendData(packet.GetPacketBytes(PgFrontEndCodes.SYNC)); + + // Receive response + PgResponsePacket response = new PgResponsePacket(); + while (response.Message != PgBackendCodes.READY_FOR_QUERY) + { + response = ReceiveResponsePacket(); + processResponsePacket(response); + } } catch (Exception ex) Index: PgStatement.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/NPgClient/PgStatement.cs,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** PgStatement.cs 20 Nov 2003 17:34:43 -0000 1.11 --- PgStatement.cs 21 Nov 2003 18:01:04 -0000 1.12 *************** *** 195,199 **** db.SendData(packet.GetPacketBytes(PgFrontEndCodes.PARSE)); ! // Sync server and client db.Flush(); --- 195,199 ---- db.SendData(packet.GetPacketBytes(PgFrontEndCodes.PARSE)); ! // Flush pending messages db.Flush(); *************** *** 249,253 **** db.SendData(packet.GetPacketBytes(PgFrontEndCodes.DESCRIBE)); ! // Sync server and client db.Flush(); --- 249,253 ---- db.SendData(packet.GetPacketBytes(PgFrontEndCodes.DESCRIBE)); ! // Flush pending messages db.Flush(); *************** *** 317,321 **** db.SendData(packet.GetPacketBytes(PgFrontEndCodes.BIND)); ! // Sync server and client db.Flush(); --- 317,321 ---- db.SendData(packet.GetPacketBytes(PgFrontEndCodes.BIND)); ! // Flush pending messages db.Flush(); *************** *** 355,364 **** db.SendData(packet.GetPacketBytes(PgFrontEndCodes.EXECUTE)); ! // Sync server and client db.Flush(); // Receive response PgResponsePacket response = new PgResponsePacket(); ! while (response.Message != PgBackendCodes.READY_FOR_QUERY && response.Message != PgBackendCodes.PORTAL_SUSPENDED && response.Message != PgBackendCodes.COMMAND_COMPLETE) --- 355,364 ---- db.SendData(packet.GetPacketBytes(PgFrontEndCodes.EXECUTE)); ! // Flush pending messages db.Flush(); // Receive response PgResponsePacket response = new PgResponsePacket(); ! while (response.Message != PgBackendCodes.READY_FOR_QUERY && response.Message != PgBackendCodes.PORTAL_SUSPENDED && response.Message != PgBackendCodes.COMMAND_COMPLETE) *************** *** 385,391 **** { db.Sync(); - - response = db.ReceiveResponsePacket(); - processSqlPacket(response); } --- 385,388 ---- |