<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3020" name=GENERATOR>
<STYLE>@font-face {
        font-family: MS Mincho;
}
@font-face {
        font-family: @MS Mincho;
}
@page Section1 {size: 612.0pt 792.0pt; margin: 72.0pt 90.0pt 72.0pt 90.0pt; }
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: #606420; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: #606420; TEXT-DECORATION: underline
}
SPAN.EmailStyle17 {
        COLOR: windowtext; FONT-FAMILY: Arial
}
DIV.Section1 {
        page: Section1
}
</STYLE>
</HEAD>
<BODY lang=EN-US vLink=#606420 link=blue>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><FONT face=Arial><FONT
size=2><FONT color=#0000ff><SPAN class=025153219-29012007>T</SPAN>he
following<SPAN class=025153219-29012007> change<SPAN
class=304444722-14022007>s</SPAN><SPAN class=111105822-31012007> has
been <SPAN class=304444722-14022007>ported from </SPAN>the 3.2.x
branch <SPAN class=304444722-14022007>to the
trunk...</SPAN></SPAN></SPAN></FONT></FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=581363720-26012007></SPAN></FONT> </DIV><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">
<DIV dir=ltr align=left><SPAN class=581363720-26012007><SPAN
class=581363720-26012007><FONT color=#0000ff><SPAN class=304444722-14022007>All
</SPAN>Summar<SPAN
class=304444722-14022007>ies</SPAN>:</FONT></SPAN></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><SPAN
class=581363720-26012007><FONT color=#0000ff><SPAN class=304444722-14022007>FDO:
</SPAN>Fix Geometry pool sharing objects between threads<BR>ODBC: Connect to
Access on Vista<BR>ODBC: Primary keys in views</FONT></SPAN></SPAN></DIV>
<DIV><SPAN class=581363720-26012007><SPAN class=581363720-26012007><SPAN
class=111105822-31012007><FONT
color=#0000ff></FONT></SPAN></SPAN></SPAN> </DIV>
<DIV><SPAN class=581363720-26012007><SPAN class=581363720-26012007><SPAN
class=304444722-14022007><FONT
color=#0000ff>---------------------------------------------------------</FONT></SPAN></SPAN></SPAN></DIV>
<DIV><SPAN class=581363720-26012007><SPAN class=581363720-26012007><SPAN
class=304444722-14022007><FONT
color=#0000ff></FONT></SPAN></SPAN></SPAN> </DIV>
<DIV><SPAN class=581363720-26012007><SPAN class=581363720-26012007><SPAN
class=304444722-14022007><FONT
color=#0000ff>Summary:</FONT></SPAN></SPAN></SPAN></DIV>
<DIV><SPAN class=581363720-26012007><SPAN class=581363720-26012007><SPAN
class=304444722-14022007><SPAN class=581363720-26012007><SPAN
class=581363720-26012007><FONT color=#0000ff><SPAN class=304444722-14022007>FDO:
</SPAN>Fix Geometry pool sharing objects between
threads<BR></FONT></SPAN></SPAN></SPAN></SPAN></SPAN></DIV>
<DIV><SPAN class=581363720-26012007><SPAN class=581363720-26012007><SPAN
class=304444722-14022007><FONT color=#0000ff>Reviewed
by:</FONT></SPAN></SPAN></SPAN></DIV>
<DIV><SPAN class=581363720-26012007><SPAN class=581363720-26012007><SPAN
class=304444722-14022007><FONT color=#0000ff>Dan Stoica, Brent
Robinson<BR></FONT></SPAN></DIV>
<DIV dir=ltr align=left><BR><FONT color=#0000ff>Description:<SPAN
class=971123706-07022007> </SPAN><SPAN
class=971123706-07022007> </SPAN><BR></FONT></DIV></SPAN></SPAN>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><SPAN
class=581363720-26012007><SPAN class=111105822-31012007><FONT
color=#0000ff></FONT></SPAN></SPAN></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><SPAN
class=581363720-26012007><SPAN class=111105822-31012007><FONT color=#0000ff>This
changes the geometry object pool to not share ownership with returned
<BR>values. Since a caller could access a geometry from a different
thread, the <BR>previous method was not thread-safe. Geometry objects now
use the same method <BR>as pooled FdoByteArray values, which is to only be
pooled when otherwise unused.<SPAN
class=971123706-07022007> </SPAN></FONT>
<DIV> </DIV>
<DIV dir=ltr align=left><FONT color=#0000ff>FdoByteArray values now have an
extra pool. Depending on the order of object <BR>freeing in client code,
some FGF-bearing values were being missed. Values over <BR>8KB will
still not be pooled, in order to avoid longer-than-needed memory <BR>consumption
from pooling large allocations (such as rasters).</FONT></DIV>
<DIV dir=ltr align=left><FONT color=#0000ff></FONT> </DIV>
<DIV dir=ltr align=left><SPAN class=304444722-14022007><SPAN
class=581363720-26012007><SPAN class=581363720-26012007><SPAN
class=304444722-14022007>
<DIV><SPAN class=581363720-26012007><SPAN class=581363720-26012007><SPAN
class=304444722-14022007><FONT
color=#0000ff>---------------------------------------------------------</FONT></SPAN></SPAN></SPAN></DIV>
<DIV><SPAN class=581363720-26012007><SPAN class=581363720-26012007><SPAN
class=304444722-14022007><FONT
color=#0000ff></FONT></SPAN></SPAN></SPAN> </DIV>
<DIV><SPAN class=581363720-26012007><SPAN class=581363720-26012007><SPAN
class=304444722-14022007><FONT
color=#0000ff>Summary:</FONT></SPAN></SPAN></SPAN></DIV>
<DIV><FONT color=#0000ff>ODBC: Connect to Access on Vista<BR></FONT></DIV>
<DIV><SPAN class=581363720-26012007><SPAN class=581363720-26012007><SPAN
class=304444722-14022007><FONT
color=#0000ff></FONT></SPAN></SPAN></SPAN> </DIV>
<DIV><SPAN class=581363720-26012007><SPAN class=581363720-26012007><SPAN
class=304444722-14022007><FONT color=#0000ff>Reviewed
by:</FONT></SPAN></SPAN></SPAN></DIV>
<DIV><SPAN class=581363720-26012007><SPAN class=581363720-26012007><SPAN
class=304444722-14022007><FONT color=#0000ff>Dan
Stoica<BR></FONT></SPAN></SPAN></SPAN></DIV>
<DIV><FONT color=#0000ff>Description:<SPAN
class=971123706-07022007> </SPAN><SPAN
class=971123706-07022007> </SPAN><BR></FONT></DIV>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><SPAN
class=581363720-26012007><SPAN class=111105822-31012007><FONT
color=#0000ff></FONT></SPAN></SPAN></SPAN> </DIV>
<DIV><FONT color=#0000ff>This works around a regression in the Microsoft ODBC
driver for Access, on <BR>Microsoft Vista (Business Edition).</FONT></DIV>
<DIV><FONT color=#0000ff></FONT> </DIV>
<DIV><FONT color=#0000ff>The function to get information about ODBC schema names
fails on Vista. Access <BR>doesn't support schemas anyway, so the ODBC
Provider code was changed to proceed <BR>with the no-schema logic if the ODBC
API function call fails.</FONT></DIV>
<DIV><FONT color=#0000ff></FONT> </DIV>
<DIV><FONT color=#0000ff>Also, a SqlCmdTest unit test that incorrectly cast a
DateTime value was fixed.<BR></FONT></DIV>
<DIV><SPAN class=581363720-26012007><SPAN class=581363720-26012007><SPAN
class=304444722-14022007><FONT
color=#0000ff>---------------------------------------------------------</FONT></SPAN></SPAN></SPAN></DIV>
<DIV><SPAN class=581363720-26012007><SPAN class=581363720-26012007><SPAN
class=304444722-14022007><FONT
color=#0000ff></FONT></SPAN></SPAN></SPAN> </DIV>
<DIV><SPAN class=581363720-26012007><SPAN class=581363720-26012007><SPAN
class=304444722-14022007><FONT
color=#0000ff>Summary:</FONT></SPAN></SPAN></SPAN></DIV>
<DIV><FONT color=#0000ff>ODBC: Primary keys in views</FONT></DIV>
<DIV><FONT color=#0000ff></FONT> </DIV>
<DIV>
<DIV><SPAN class=581363720-26012007><SPAN class=581363720-26012007><SPAN
class=304444722-14022007><FONT color=#0000ff>Reviewed
by:</FONT></SPAN></SPAN></SPAN></DIV>
<DIV><SPAN class=581363720-26012007><SPAN class=581363720-26012007><SPAN
class=304444722-14022007><FONT color=#0000ff>Brent
Robinson<BR></FONT></SPAN></DIV>
<DIV dir=ltr align=left><BR><FONT color=#0000ff>Description:<SPAN
class=971123706-07022007> </SPAN><SPAN
class=971123706-07022007> </SPAN><BR></FONT></DIV></SPAN></SPAN>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><SPAN
class=581363720-26012007><SPAN class=111105822-31012007><FONT
color=#0000ff></FONT></SPAN></SPAN></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><SPAN
class=581363720-26012007><SPAN class=111105822-31012007><FONT color=#0000ff>This
follows on <SPAN class=304444722-14022007>r</SPAN><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">evision 2519</SPAN>, which makes
views visible in a default schema <BR>description. This change makes the
ODBC Provider attempt to look up primary <BR>keys for views, as it already does
for tables.</FONT></SPAN></SPAN></SPAN></DIV>
<DIV><FONT color=#0000ff></FONT> </DIV>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><SPAN
class=581363720-26012007><SPAN class=111105822-31012007><FONT color=#0000ff>The
various 3rd-party ODBC drivers typically do NOT identify primary keys.
<BR>However, at least one of the internal workarounds is useful -- autogenerated
<BR>column values will be considered as primary keys, if present. A new
unit test <BR>exercises this in Microsoft Access. Further workarounds may
be added.</FONT></SPAN></SPAN></SPAN></DIV>
<DIV><SPAN class=581363720-26012007><SPAN class=581363720-26012007><SPAN
class=111105822-31012007><FONT
color=#0000ff></FONT></SPAN></SPAN></SPAN> </DIV><FONT
color=#0000ff>---------------------------------------------------------</FONT></SPAN></SPAN></SPAN></DIV><FONT
color=#0000ff> </FONT></SPAN></DIV></SPAN></SPAN></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><SPAN
class=581363720-26012007><FONT color=#0000ff>Log:</FONT></SPAN></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><SPAN
class=581363720-26012007><FONT
color=#0000ff><BR> </DIV></FONT></SPAN></SPAN>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><SPAN
class=581363720-26012007><FONT color=#0000ff>Revision: 2550<BR>Author:
gavincramer<BR>Date: 1:43:18 PM, Friday, February 16, 2007<BR>Message:<BR>(Ports
from 3.2.x branch to trunk)<BR>FDO: Fix Geometry pool sharing objects between
threads<BR>ODBC: Connect to Access on Vista<BR>ODBC: Primary keys in
views<BR>----<BR>Modified :
/trunk/Fdo/Unmanaged/Inc/Geometry/Fgf/Factory.h<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Common/ArrayHelper.cpp<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Fdo/Fdo.cpp<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/CurvePolygon.cpp<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/CurvePolygon.h<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/CurveString.cpp<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/CurveString.h<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/GeometryFactory.cpp<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/GeometryFactory2.h<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/GeometryImpl.h<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/GeometryThreadData.h<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/LineString.cpp<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/LineString.h<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/LinearRing.cpp<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/LinearRing.h<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/MultiCurvePolygon.cpp<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/MultiCurvePolygon.h<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/MultiCurveString.cpp<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/MultiCurveString.h<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/MultiGeometry.cpp<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/MultiGeometry.h<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/MultiLineString.cpp<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/MultiLineString.h<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/MultiPoint.cpp<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/MultiPoint.h<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/MultiPolygon.cpp<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/MultiPolygon.h<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/Point.cpp<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/Point.h<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/Polygon.cpp<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/Polygon.h<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/Pool.h<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/Util.cpp<BR>Modified :
/trunk/Fdo/Unmanaged/Src/Geometry/Fgf/Util.h<BR>Modified :
/trunk/Providers/GenericRdbms/Src/ODBC/SchemaMgr/Ph/DbObject.cpp<BR>Modified :
/trunk/Providers/GenericRdbms/Src/ODBC/SchemaMgr/Ph/DbObject.h<BR>Modified :
/trunk/Providers/GenericRdbms/Src/ODBCDriver/users_.c<BR>Modified :
/trunk/Providers/GenericRdbms/Src/UnitTest/Common/FdoSqlCmdTest.cpp<BR>Modified
: /trunk/Providers/GenericRdbms/Src/UnitTest/MSTest.mdb<BR>Modified :
/trunk/Providers/GenericRdbms/Src/UnitTest/Odbc/OdbcBaseSetup.cpp<BR>Modified :
/trunk/Providers/GenericRdbms/Src/UnitTest/Odbc/OdbcFdoSelectTest.cpp<BR>Modified
:
/trunk/Providers/GenericRdbms/Src/UnitTest/Odbc/OdbcFdoSelectTest.h</FONT></SPAN></SPAN></DIV>
<DIV><SPAN class=581363720-26012007><SPAN class=581363720-26012007><FONT
color=#0000ff></FONT></SPAN></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><SPAN
class=581363720-26012007><FONT
color=#0000ff>---------------------------------------------------------</FONT></SPAN></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><SPAN
class=581363720-26012007><FONT color=#0000ff></FONT></SPAN></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><SPAN
class=581363720-26012007><FONT color=#0000ff>Gavin
Cramer</FONT></SPAN></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><SPAN
class=581363720-26012007><FONT
color=#0000ff></FONT></SPAN></SPAN> </DIV></SPAN></BODY></HTML>