On Thu, 24 Sep 2015 19:10:44 +0300, Геннадий Забула <zabulu...@gmail.com>
wrote:
> https://github.com/cincuranet/FirebirdSql.Data.FirebirdClient/pull/40
> WIP about boolean support is here. Only Gds implemented for now.
> 
> I have several question about Gds protocol. Where can I find
> documentation about it? I need to know what should I write to send
> boolean field to server.

There is the Firebird Wire protocol documentation, but it doesn't contain
all details and is mostly based on reverse engineering the protocol on a
message level, not so much the content of the messages. You'll have more
luck looking at the Firebird implementation, or other drivers like Jaybird.

In any case, you need to encode a boolean as a single byte byte-array with
the value 0 for false or 1 for true. See also: 

https://github.com/FirebirdSQL/jaybird/blob/master/src/main/org/firebirdsql/gds/ng/DefaultDatatypeCoder.java#L358

For reading and writing you also need information on the blr calculations:
https://github.com/FirebirdSQL/jaybird/blob/master/src/main/org/firebirdsql/gds/ng/wire/DefaultBlrCalculator.java

And reading:
https://github.com/FirebirdSQL/jaybird/blob/master/src/main/org/firebirdsql/gds/ng/wire/version10/V10Statement.java#L516

And writing:
https://github.com/FirebirdSQL/jaybird/blob/master/src/main/org/firebirdsql/gds/ng/wire/version10/V10Statement.java#L564

I'd also suggest to take a look at the commit for Jaybird I linked in
ticket, as that includes all the changes you need to get it working.

> And also I have doubts about an implementation of reading boolean
fields.

See above.

Mark

------------------------------------------------------------------------------
_______________________________________________
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

Reply via email to