From: thomas at tada.se (Thomas Hallgren) Date: Fri, 22 Sep 2006 16:42:01 +0200 Subject: [Pljava-dev] readBytes() / writeBytes() In-Reply-To: <4513F1A0.8020800@logix-tt.com> References: <4512F5E4.9060600@logix-tt.com> <45139C17.3050006@tada.se> <4513A107.4060809@logix-tt.com> <4513A3ED.3050401@tada.se> <4513E2C0.3050804@logix-tt.com> <4513E52B.5080108@tada.se> <4513F1A0.8020800@logix-tt.com> Message-ID: <4513F639.3000108@tada.se> Markus Schaber wrote: > What's the best way to fix it? Using native functions for reading the > values? > > It's two fixes basically. The endian stuff can be fixed in Java and directly in the SQLOutputToChunk and SQLInputFromChunk classes. The methods should mimic what java.nio.DirectByteBuffer does. java.nio.ByteOrder.nativeOrder() gives the native ordering. The four byte offset stuff must be fixed in the C file that corresponds to the SQLInputFromChunk. There's no need to fix for the output since such a fix will introduce an ambiguity. The length is determined by the number of bytes written anyway, so why introduce a need to go back and add it. Important to document this behavior though. I'm not too concerned with backward compatibility on this. The current behavior is severely broken. It must be fixed. > I can try to contribute when you like. > > Yes, please do! Give it a try and submit a patch. My time is very limited these days. Regards, Thomas Hallgren