A non-critical, non-severe issue was recently discovered by one of our customers in the latest release of the
MyComponents. This bug will affect you if:
Quote:
1. You have the latest MyComponents (2005.4.x)
2. You use the Direct driver (the bug doesn't affect any
MySQL libmysql.dll drivers)
3. You display or explicitly use the LastInsertID string property of a dataset
4. Your table's autoinc column's count is beyond 16 million
You can fix this bug if you are a registered customer by changing
Code:
uMySQLClient.pas, function net_field_length_ll, line 391:
...
packet:=packet+9; //8 bytes value
result:= (byte(pchar(packet)[1]))+
(byte(pchar(packet)[2]) shl 8)+
(byte(pchar(packet)[3]) shl 16)+
(byte(pchar(packet)[4]) shl 24);
a:= (byte(pchar(packet)[5]))+
(byte(pchar(packet)[6]) shl 8)+
(byte(pchar(packet)[7]) shl 16)+
(byte(pchar(packet)[8]) shl 24);
result:=a+result shl 32;
...
to:
Code:
...
result:= (byte(pchar(packet)[1]))+
(byte(pchar(packet)[2]) shl 8)+
(byte(pchar(packet)[3]) shl 16)+
(byte(pchar(packet)[4]) shl 24);
a:= (byte(pchar(packet)[5]))+
(byte(pchar(packet)[6]) shl 8)+
(byte(pchar(packet)[7]) shl 16)+
(byte(pchar(packet)[8]) shl 24);
result:=result+(a shl 32); // NOTE: equation change
packet:=packet+9; // NOTE: position
...
This fix was already made to the
MyComponents sources and will be part of the next release.
We'll make these issue notices a regular feature on our forums and degrade them from sticky to normal posts as the issue(s) are fixed by subsequent new releases. This will then enable all customers to monitor our news feeds for anything critical or pertinent via the
RSS feed.