Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ Library support » U++ SQL » Oracle RefCursor and Stored Procedure
Re: Oracle RefCursor and Stored Procedure [message #43009 is a reply to message #43000] Wed, 23 April 2014 08:27 Go to previous messageGo to previous message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
aksdb wrote on Tue, 22 April 2014 14:27
Ok, one huge problem apparently are these comparisons:
total_len > sizeof(buffer)

Since total_len is an int (and therefore signed), the behaviour is rather strange. I actually would have expected the compiler to prefer the type of the left side, but apparently it doesn't. So now we (sometimes) compare -1 > 8u which will then return true (since -1 will be cast into uint).

Replacing these four occurances with
total_len > (int)sizeof(buffer)

solves at least this particular problem. There is still some more memory corruption (since the next query fails at GetColumnInfo which, if executed alone, works fine). So I keep hunting ... Wink


Thanks! It is quite apparent, now knowing it Smile

Hopefully I will make my Oracle working this evening, so I will be able to fix remaining issues in Oci8.

I apologize for problems, it really is half-forgoten piece of code. I guess most of us prefer open-source databases these days...

Mirek
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Schema description documentation not matching code behavior
Next Topic: PATCH: SqlSelect::ForUpdate() should generate nothing for SQLITE3
Goto Forum:
  


Current Time: Tue May 07 06:41:12 CEST 2024

Total time taken to generate the page: 0.04398 seconds