<!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>&nbsp;change<SPAN 
class=304444722-14022007>s</SPAN><SPAN class=111105822-31012007>&nbsp;has 
been&nbsp;<SPAN class=304444722-14022007>ported from&nbsp;</SPAN>the 3.2.x 
branch&nbsp;<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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</SPAN><SPAN 
class=971123706-07022007>&nbsp;</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>&nbsp;</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.&nbsp; Since a caller could access a geometry from a different 
thread, the <BR>previous method was not thread-safe.&nbsp; 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>&nbsp;&nbsp;</SPAN></FONT>
<DIV>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT color=#0000ff>FdoByteArray values now have an 
extra pool.&nbsp; Depending on the order of object <BR>freeing in client code, 
some FGF-bearing values were being missed.&nbsp; Values over&nbsp; <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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</SPAN><SPAN 
class=971123706-07022007>&nbsp;</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>&nbsp;</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>&nbsp;</DIV>
<DIV><FONT color=#0000ff>The function to get information about ODBC schema names 
fails on Vista.&nbsp; 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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</SPAN><SPAN 
class=971123706-07022007>&nbsp;</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>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><SPAN 
class=581363720-26012007><SPAN class=111105822-31012007><FONT color=#0000ff>This 
follows on&nbsp;<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.&nbsp; 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>&nbsp;</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.&nbsp; 
<BR>However, at least one of the internal workarounds is useful -- autogenerated 
<BR>column values will be considered as primary keys, if present.&nbsp; A new 
unit test <BR>exercises this in Microsoft Access.&nbsp; 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>&nbsp;</DIV><FONT 
color=#0000ff>---------------------------------------------------------</FONT></SPAN></SPAN></SPAN></DIV><FONT 
color=#0000ff>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</DIV></SPAN></BODY></HTML>