[patch_done] PostgreSQL64 + Lazarus 09.30.2+ windows 64 bit
Moderators: gto, EgonHugeist, olehs
- EgonHugeist
- Zeos Project Manager
- Posts: 1936
- Joined: 31.03.2011, 22:38
1151 extra WIN64 define. Now this should work. ?
Yeah Yeah! i got it with the Blobs!!!! Testing MySQL, PostgreSQL and then i'll commit this!
you're right its a big comedy!
Yeah Yeah! i got it with the Blobs!!!! Testing MySQL, PostgreSQL and then i'll commit this!
you're right its a big comedy!
Best regards, Michael
You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/
You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/
- EgonHugeist
- Zeos Project Manager
- Posts: 1936
- Joined: 31.03.2011, 22:38
And here the last patch for tonight! Here we go: Rev 1152.
var
BlobPtr: PPointer;
NullPtr: PBoolean;
begin
BlobPtr := PPointer(@Buffer.Columns[FColumnOffsets[ColumnIndex - 1] + 1]);
NullPtr := PBoolean(@Buffer.Columns[FColumnOffsets[ColumnIndex - 1]]);
if NullPtr^ = {$IFDEF FPC}0{$ELSE}False{$ENDIF} then
Result := IZBlob(BlobPtr^)
else
Result := nil;
Blobs working too! Can you test this tomorrow? Now it'late. Go to bed ism, you also did a great job! It was a question of honor.
Michael
var
BlobPtr: PPointer;
NullPtr: PBoolean;
begin
BlobPtr := PPointer(@Buffer.Columns[FColumnOffsets[ColumnIndex - 1] + 1]);
NullPtr := PBoolean(@Buffer.Columns[FColumnOffsets[ColumnIndex - 1]]);
if NullPtr^ = {$IFDEF FPC}0{$ELSE}False{$ENDIF} then
Result := IZBlob(BlobPtr^)
else
Result := nil;
Blobs working too! Can you test this tomorrow? Now it'late. Go to bed ism, you also did a great job! It was a question of honor.
Michael
Best regards, Michael
You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/
You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/
Ups in linux 64 problem
FirstChar/home/stas/bin/testing-egonhugeist/src/dbc/ZDbcCache.pas(364,13) Error: Incompatible types: got "Boolean" expected "Int64"
/home/stas/bin/testing-egonhugeist/src/dbc/ZDbcCache.pas(385,13) Error: Incompatible types: got "Boolean" expected "Int64"
/home/stas/bin/testing-egonhugeist/src/dbc/ZDbcCache.pas(393,29) Error: Incompatible types: got "ShortInt" expected "Boolean"
/home/stas/bin/testing-egonhugeist/src/dbc/ZDbcCache.pas(395,29) Error: Incompatible types: got "ShortInt" expected "Boolean"
/home/stas/bin/testing-egonhugeist/src/dbc/ZDbcCache.pas(2426) Fatal: There were 4 errors compiling module, stopping
Lazarus 1.0.8 fpc 2.6.0
mybe this better
i test it in linux 64 , working , rightly or wrongly, I do not know
i test it in linux 64 , working , rightly or wrongly, I do not know
Code: Select all
Index: src/dbc/ZDbcCache.pas
===================================================================
--- src/dbc/ZDbcCache.pas (revision 1153)
+++ src/dbc/ZDbcCache.pas (working copy)
@@ -361,7 +361,7 @@
BlobPtr := PPointer(@Buffer.Columns[FColumnOffsets[ColumnIndex - 1] + 1]);
NullPtr := PBoolean(@Buffer.Columns[FColumnOffsets[ColumnIndex - 1]]);
- if NullPtr^ = {$IFDEF FPC}0{$ELSE}False{$ENDIF} then
+ if NullPtr^ = {$IFDEF FPC}{$IFDEF LINUX}boolean(0){$ELSE}0{$ENDIF}{$ELSE}False{$ENDIF} then
Result := IZBlob(BlobPtr^)
else
Result := nil;
@@ -382,7 +382,7 @@
BlobPtr := PPointer(@Buffer.Columns[FColumnOffsets[ColumnIndex - 1] + 1]);
NullPtr := PBoolean(@Buffer.Columns[FColumnOffsets[ColumnIndex - 1]]);
- if NullPtr^ = {$IFDEF FPC}0{$ELSE}False{$ENDIF} then
+ if NullPtr^ = {$IFDEF FPC}{$IFDEF LINUX}boolean(0){$ELSE}0{$ENDIF}{$ELSE}False{$ENDIF} then
IZBlob(BlobPtr^) := nil
else
BlobPtr^ := nil;
@@ -390,9 +390,9 @@
IZBlob(BlobPtr^) := Value;
if Value <> nil then
- NullPtr^ := {$IFDEF FPC}0{$ELSE}False{$ENDIF}
+ NullPtr^ := {$IFDEF FPC}{$IFDEF LINUX}boolean(0){$ELSE}0{$ENDIF}{$ELSE}False{$ENDIF}
else
- NullPtr^ := {$IFDEF FPC}1{$ELSE}True{$ENDIF};
+ NullPtr^ := {$IFDEF FPC}{$IFDEF LINUX}boolean(1){$ELSE}1{$ENDIF}{$ELSE}True{$ENDIF};
end;
{**
Lazarus 1.0.8 fpc 2.6.0
- EgonHugeist
- Zeos Project Manager
- Posts: 1936
- Joined: 31.03.2011, 22:38
Lol 300!!!
Sleeples? 05:59!!
Ich hau mich weg.
Did you test it? With valid blob's?
What do you think about this?:
function TZRowAccessor.GetBlobObject(Buffer: PZRowBuffer;
ColumnIndex: Integer): IZBlob;
var
BlobPtr: PPointer;
NullPtr: {$IFDEF WIN64}PBoolean{$ELSE}PByte{$ENDIF};
begin
BlobPtr := PPointer(@Buffer.Columns[FColumnOffsets[ColumnIndex - 1] + 1]);
NullPtr := {$IFDEF WIN64}PBoolean{$ELSE}PByte{$ENDIF}(@Buffer.Columns[FColumnOffsets[ColumnIndex - 1]]);
if NullPtr^ = 0 then
Result := IZBlob(BlobPtr^)
else
Result := nil;
end;
I know papelhiego uses PostgreSQL64 and MySQL64 under linux without trouble. And we've got only a win64 problem...
Patch done Rev 1156;
Sleeples? 05:59!!
Ich hau mich weg.
Did you test it? With valid blob's?
What do you think about this?:
function TZRowAccessor.GetBlobObject(Buffer: PZRowBuffer;
ColumnIndex: Integer): IZBlob;
var
BlobPtr: PPointer;
NullPtr: {$IFDEF WIN64}PBoolean{$ELSE}PByte{$ENDIF};
begin
BlobPtr := PPointer(@Buffer.Columns[FColumnOffsets[ColumnIndex - 1] + 1]);
NullPtr := {$IFDEF WIN64}PBoolean{$ELSE}PByte{$ENDIF}(@Buffer.Columns[FColumnOffsets[ColumnIndex - 1]]);
if NullPtr^ = 0 then
Result := IZBlob(BlobPtr^)
else
Result := nil;
end;
I know papelhiego uses PostgreSQL64 and MySQL64 under linux without trouble. And we've got only a win64 problem...
Patch done Rev 1156;
Last edited by EgonHugeist on 15.04.2012, 13:30, edited 2 times in total.
Best regards, Michael
You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/
You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/
I test it with mysql 5.5 Linux 64
and text blobs
weekend in Ukraine
and text blobs
Code: Select all
Sleeples? 05:59!!
Lazarus 1.0.8 fpc 2.6.0
- EgonHugeist
- Zeos Project Manager
- Posts: 1936
- Joined: 31.03.2011, 22:38
Ok i've uploded a smaller fix. Can you test this too?
I don't want to say you patch is wrong, but for me and my blind eyes the ifdefs become to much here.
I don't want to say you patch is wrong, but for me and my blind eyes the ifdefs become to much here.
Best regards, Michael
You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/
You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/
- EgonHugeist
- Zeos Project Manager
- Posts: 1936
- Joined: 31.03.2011, 22:38
A very big THANK YOU for testing, ISM!!
Case closed!
btw. your pic is great!
Case closed!
btw. your pic is great!
Best regards, Michael
You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/
You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/
- EgonHugeist
- Zeos Project Manager
- Posts: 1936
- Joined: 31.03.2011, 22:38
Bug found, thanks. elidorio2.
Patch done Rev. 1157
Patch done Rev. 1157
Best regards, Michael
You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/
You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/