Support longer update counts
----------------------------

                 Key: CORE-4230
                 URL: http://tracker.firebirdsql.org/browse/CORE-4230
             Project: Firebird Core
          Issue Type: Improvement
          Components: API / Client Library, Engine
            Reporter: Mark Rotteveel


Firebird currently uses unsigned 32 bit integers for the update counts returned 
by the isc_info_req_update_count (and related info items). Can this be extends 
to unsiged 64 bit integers (which technically is already supported by the code 
in jrd/inf.cpp). The current code should be compatible with this change because 
it will return numbers that fit inside a signed 32 bit integer as a 4 byte vax 
integer, and if the receiving side does not support 8 byte vax integers the 
client code (also in for example 2.5) will return 0.

Looking at this I also notice a potential bug in the existing code: the update 
counts (defined as ULONG) don't correctly roundtrip for values larger than 
MAX_SLONG as those are sent as a vax int64, and a received update count is 
usually decoded with gds__vax_integer which will return 0 if the length of the 
vax integer is larger than 4 (see print_counts in qli\exe.cpp, 
process_record_count in isql\isql.epp)

Major reason (for me) is the introduction of retrieval of large update counts 
in the JDBC API with Java 8 / JDBC 4.2 (see 
http://download.java.net/jdk8/docs/api/java/sql/Statement.html#getLargeUpdateCount()
 ).

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99!
1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint
2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes
Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13. 
http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to