Hello:
I continue to work in the implementation of the 3.0 protocol in C#, i'm
making a test that consist on:
- Create a database.
- Create a table in the new database.
- Start transaction.
- Insert 100 rows of data in the new table.
- Commit transaction.
For start a transaction i send a Query message with this as statement text:
START TRANSACTION ISOLATION LEVEL READ COMMITTED
For commit a transaction i send a Query message with this as statement text:
COMMIT TRANSACTION
For execute the inserts i use parametrized commands with Extended query
mode, sending this sequence of messages:
- Parse & Flush ( Only for the first command )
- Describe & Flush ( Only for the first command )
- Close Portal ( begining at second command )
- Bind & Flush
- Execute & Sync
But the Sync message seems to be commiting the transaction, if i send a
Flush message all works as expected with inserts, but create database &
table will not work.
In the extended query mode documentation i see this:
"Note: Sync does not cause a transaction block opened with BEGIN to be
closed. It is possible to detect this situation since the ReadyForQuery
message includes transaction status information."
I have tested the same cycle with a BEGIN WORK but having the same
problem, any idea on what i'm doing wrong ???
Tanks in advance :)
--
Best regards
Carlos Guzmán Álvarez
Vigo-Spain