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

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

Overview
Comment:{482} fixed incorrect field type retrieval for CreateAndFillPrepareJoined() results - see http://synopse.info/forum/viewtopic.php?id=2153
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: e7198bd6bdd6420ef29651cc2276813e733a5b2d
User & Date: ab 2014-11-09 12:28:38
Context
2014-11-09
12:47
{483} added regression test for latest commit check-in: a38e56b5f9 user: ab tags: trunk
12:28
{482} fixed incorrect field type retrieval for CreateAndFillPrepareJoined() results - see http://synopse.info/forum/viewtopic.php?id=2153 check-in: e7198bd6bd user: ab tags: trunk
2014-11-08
12:46
{481} enhanced FPC compatibility check-in: 4788b39f5b user: ab tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to SQLite3/mORMot.pas.

17003
17004
17005
17006
17007
17008
17009
17010
17011
17012
17013
17014
17015
17016
17017
17018
17019
17020
17021
      end;
    end else begin
      // we expect property names as 'ClassName.PropertyName'
      dec(i);
      SubProp := copy(PropName,i+2,255); 
      for t := 0 to high(Tables) do
        if Tables[t]<>nil then // avoid GPF
        if IdemPropName( // found class?
          // new TObject.ClassName is UnicodeString (Delphi 20009) -> inline code with
          // vmtClassName = UTF-8 encoded text stored in a shortstring = -44
          PShortString(PPointer(PtrInt(Tables[t])+vmtClassName)^)^,
          pointer(PropName),i) then begin
          TableIndex := t;
          result := FieldPropFromTable(Tables[t],SubProp,FieldTypeInfo); 
          exit;
        end;
    end;
    result := sftUnknown;
  end;






<
<
<
<
|







17003
17004
17005
17006
17007
17008
17009




17010
17011
17012
17013
17014
17015
17016
17017
      end;
    end else begin
      // we expect property names as 'ClassName.PropertyName'
      dec(i);
      SubProp := copy(PropName,i+2,255); 
      for t := 0 to high(Tables) do
        if Tables[t]<>nil then // avoid GPF




        if IdemPropNameU(Tables[t].RecordProps.SQLTableName,pointer(PropName),i) then begin
          TableIndex := t;
          result := FieldPropFromTable(Tables[t],SubProp,FieldTypeInfo); 
          exit;
        end;
    end;
    result := sftUnknown;
  end;

Changes to SynopseCommit.inc.

1
'1.18.481'
|
1
'1.18.482'