Changes between Version 8 and Version 9 of FDORfc50


Ignore:
Timestamp:
Jun 2, 2010, 11:33:30 AM (14 years ago)
Author:
gregboone
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FDORfc50

    v8 v9  
    6262We will use some SQL examples just to illustrate things we are trying to achieve, each RBDMS-based provider will translate FDO selects in server side SQL depending of the server capabilities.
    6363
    64 ''SELECT * FROM class1 AS p1, class2 AS p2 WHERE p1.ID=p2.!FeatId AND SPATIAL_COND(p1.GEOM, GEOM_VAL);''
     64    ''SELECT * FROM class1 AS p1, class2 AS p2 WHERE p1.ID=p2.!FeatId AND SPATIAL_COND(p1.GEOM, GEOM_VAL);''
    6565
    6666Below we added some C++ code on how caller can use this new improvement to achieve above select statement:
     
    8484}}}
    8585
    86 ''Note:'' In the base class we have a method named !GetFeatureClassName, in case caller will use it and the !FdoIdentifier is not added into !GetFeatureClassNames we can add it at Execute time.
     86''NOTE:'' In the base class we have a method named !GetFeatureClassName, in case caller will use it and the !FdoIdentifier is not added into !GetFeatureClassNames we can add it at Execute time.
    8787
    8888=== Handling Joins ===
     
    179179Join criteria will be used to generate join SQL commands, like:
    180180
    181 ''SELECT p.!FeatId AS xFID,p.Geometry,pxy.Name,pxy.X,pxy.Y,pex.NameB,pex.Link FROM p ''[[BR]]
    182 ''INNER JOIN pxy ON(p.!FeatId = pxy.!FeatId)''[[BR]]
    183 ''INNER JOIN pex ON(pex.FID = pxy.!FeatId)''[[BR]]
    184 ''WHERE p.!FeatId >= 0;''[[BR]]
     181    ''SELECT p.!FeatId AS xFID,p.Geometry,pxy.Name,pxy.X,pxy.Y,pex.NameB,pex.Link FROM p ''[[BR]]
     182    ''INNER JOIN pxy ON(p.!FeatId = pxy.!FeatId)''[[BR]]
     183    ''INNER JOIN pex ON(pex.FID = pxy.!FeatId)''[[BR]]
     184    ''WHERE p.!FeatId >= 0;''[[BR]]
    185185
    186186Below we added some C++ code on how caller can use this new improvement to achieve above select statement:
     
    244244Named sub-select will be used to generate SQL commands, like:
    245245
    246 ''SELECT * FROM point WHERE  !FeatId IN (SELECT pt.!FeatId FROM pt WHERE pt.!FeatId >= 2 AND SPATIAL_COND(pt.GEOM, GEOM_VAL));''
     246    ''SELECT * FROM point WHERE  !FeatId IN (SELECT pt.!FeatId FROM pt WHERE pt.!FeatId >= 2 AND SPATIAL_COND(pt.GEOM, GEOM_VAL));''
    247247
    248248In above case we will have two selects having following filters: