You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
--------
What steps will reproduce the problem?
--------
Configure, compile & run constraints_parser on an x86_64 platform and no
rows containing a field that is null will be recovered. Errors will be
similar to:
Invalid offset for field 12: 2147483701
--------
What is the expected output? What do you see instead?
--------
in constraints_parser.c:ibrec_init_offsets_old(), the following lines are
executed:
offs |= REC_OFFS_SQL_NULL; (lines 261, 279)
and
offs |= REC_OFFS_EXTERNAL; (line 284)
The problem is that REC_OFFS_SQL_NULL and REC_OFFS_EXTERNAL are set to (1
<< 31) when ulint is in fact 64 bit and should be (1 << 63) instead.
As a workaround, replacing these 3 lines with
offs |= REC_OFFS_SQL_NULL << 32;
and
offs |= REC_OFFS_EXTERNAL << 32;
fixes it.
(As a wild guess this may be a problem with configure, rather than the
header files themselves)
--------
What version of the product are you using? On what operating system?
--------
uname -a
Linux <hostname> 2.6.18-8.1.8.el5 #1 SMP Mon Jun 25 17:06:07 EDT 2007
x86_64 x86_64 x86_64 GNU/Linux
cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.1 (Tikanga)
Original issue reported on code.google.com by [email protected] on 22 Feb 2008 at 12:42
The text was updated successfully, but these errors were encountered:
Also, I get a segfault when recovering data from pages that are more than 16k
in
size -- I presume this is related to the same 32bit/64bit issue but haven't had
time
to do a diagnosis.
Original issue reported on code.google.com by
[email protected]
on 22 Feb 2008 at 12:42The text was updated successfully, but these errors were encountered: