mORMot and Open Source friends
Check-in [b086548a84]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:{438} fixed issue with FPC+Linux for our custom encryption scheme
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: b086548a8414f0fe060a95cac200715307fcb9d2
User & Date: ab 2014-10-30 13:16:19
Context
2014-10-30
15:35
{439} added optional queue name for THttpApiServer.Create constructor as requested by [149cf42383] check-in: 16d1e3869c user: ab tags: trunk
13:16
{438} fixed issue with FPC+Linux for our custom encryption scheme check-in: b086548a84 user: ab tags: trunk
12:03
{437} ensure TMemoryMap.Map() under FPC/Linux will have aCustomOffset parameter matching CPU page size check-in: cf9ed7f8a1 user: ab tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to SynSQLite3Static.pas.

777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
...
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
...
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
{$PACKRECORDS C}
{$else}
{$A4} // bcc32 default alignment is 4 bytes
{$endif}
{$endif}

  {$ifdef MSWINDOWS}
  TSQLFile = packed record // called winFile (expand sqlite3.file) in sqlite3.c
    pMethods: pointer;     // sqlite3.io_methods_ptr
    pVfs: pointer;         // The VFS used to open this file (new in version 3.7)
    h: THandle;            // Handle for accessing the file
    bulk1: cardinal;       // lockType+sharedLockByte are word-aligned
    bulk2: cardinal;       // ctrlFlags (with DWORD alignment)
    lastErrno: cardinal;   // The Windows errno from the last I/O error
    // asm code generated from c is [esi+20] for lastErrNo -> OK
................................................................................
    zPath: PAnsiChar;
    szChunk, nFetchOut: integer;
    hMap: THANDLE;
    pMapRegion: PAnsiChar;
    mmapSize, mmapSizeActual, mmapSizeMax: Int64Rec;
  end;
  {$else}
  TSQLFile = packed record 
    pMethods: pointer;          // sqlite3.io_methods_ptr
    pVfs: pointer;              // The VFS used to open this file (new in version 3.7)
    unixInodeInfo: pointer;     // Info about locks on this inode
    h: cint;                    // Handle for accessing the file
    eFileLock:cuchar;           // The type of lock held on this fd
    ctrlFlags: cushort;         // Behavioral bits.  UNIXFILE_* flags
    lastErrno: cint;            // The unix errno from the last I/O error
................................................................................
    pShm: pointer; // not there if SQLITE_OMIT_WAL is defined
    szChunk, nFetchOut: cint;
    mmapSize, mmapSizeActual, mmapSizeMax: Int64Rec;
    pMapRegion: PAnsiChar;
  end;
  {$endif}

  // those structures are used to retrieve the Windows file handle
  TSQLPager = record
    pVfs: pointer;
    exclusiveMode, journalMode, useJournal, noSync, fullSync,
    ckptSyncFlags, walsyncFlags, syncFlags, tempFile, readOnly, memDb: byte;
    eState, eLock, changeCountDone, setMaster, doNotSpill, doNotSyncSpill,
    subjInMemory: Byte;
    dbSize, dbOrigSize, dbFileSize, dbHintSize, errCode, nRec, cksumInit,
    nSubRec: cardinal;
    pInJournal: pointer;
    fd: ^TSQLFile; // File descriptor for database
    jfd: ^TSQLFile; // File descriptor for main journal
    sjfd: ^TSQLFile; // File descriptor for sub-journal
  end;
  TSQLBtShared = record
    pPager: ^TSQLPager;
  end;
  TSQLBTree = record
    db: TSQLite3DB;






|







 







|







 







|
|


|
|
<



|
|







777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
...
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
...
811
812
813
814
815
816
817
818
819
820
821
822
823

824
825
826
827
828
829
830
831
832
833
834
835
{$PACKRECORDS C}
{$else}
{$A4} // bcc32 default alignment is 4 bytes
{$endif}
{$endif}

  {$ifdef MSWINDOWS}
  TSQLFile = packed record // see struct winFile in 3.8.7 sqlite3.c
    pMethods: pointer;     // sqlite3.io_methods_ptr
    pVfs: pointer;         // The VFS used to open this file (new in version 3.7)
    h: THandle;            // Handle for accessing the file
    bulk1: cardinal;       // lockType+sharedLockByte are word-aligned
    bulk2: cardinal;       // ctrlFlags (with DWORD alignment)
    lastErrno: cardinal;   // The Windows errno from the last I/O error
    // asm code generated from c is [esi+20] for lastErrNo -> OK
................................................................................
    zPath: PAnsiChar;
    szChunk, nFetchOut: integer;
    hMap: THANDLE;
    pMapRegion: PAnsiChar;
    mmapSize, mmapSizeActual, mmapSizeMax: Int64Rec;
  end;
  {$else}
  TSQLFile = record             // see struct unixFile in 3.8.7 sqlite3.c
    pMethods: pointer;          // sqlite3.io_methods_ptr
    pVfs: pointer;              // The VFS used to open this file (new in version 3.7)
    unixInodeInfo: pointer;     // Info about locks on this inode
    h: cint;                    // Handle for accessing the file
    eFileLock:cuchar;           // The type of lock held on this fd
    ctrlFlags: cushort;         // Behavioral bits.  UNIXFILE_* flags
    lastErrno: cint;            // The unix errno from the last I/O error
................................................................................
    pShm: pointer; // not there if SQLITE_OMIT_WAL is defined
    szChunk, nFetchOut: cint;
    mmapSize, mmapSizeActual, mmapSizeMax: Int64Rec;
    pMapRegion: PAnsiChar;
  end;
  {$endif}

  // those structures are used to retrieve the Windows/Linux file handle
  TSQLPager = record            // see struct Pager in 3.8.7 sqlite3.c
    pVfs: pointer;
    exclusiveMode, journalMode, useJournal, noSync, fullSync,
    ckptSyncFlags, walsyncFlags, syncFlags, tempFile, noLock, readOnly, memDb,
    eState, eLock, changeCountDone, setMaster, doNotSpill, subjInMemory: Byte;

    dbSize, dbOrigSize, dbFileSize, dbHintSize, errCode, nRec, cksumInit,
    nSubRec: cardinal;
    pInJournal: pointer;
    fd: ^TSQLFile;   // File descriptor for database
    jfd: ^TSQLFile;  // File descriptor for main journal
    sjfd: ^TSQLFile; // File descriptor for sub-journal
  end;
  TSQLBtShared = record
    pPager: ^TSQLPager;
  end;
  TSQLBTree = record
    db: TSQLite3DB;

Changes to synopseCommit.inc.

1
'1.18.437'
|
1
'1.18.438'