Added:
trunk/doc/Project/ConnectorODBC5.planner
Modified:
trunk/SDK/C/Library/MYODBCC.cpp
Log:
- prime project doc with a planner/gantt
Modified: trunk/SDK/C/Library/MYODBCC.cpp
===================================================================
--- trunk/SDK/C/Library/MYODBCC.cpp 2006-12-19 01:45:01 UTC (rev 754)
+++ trunk/SDK/C/Library/MYODBCC.cpp 2006-12-19 16:22:44 UTC (rev 755)
@@ -3612,6 +3612,7 @@
BOOL MYODBCC::isDescBindType( SQLINTEGER nBindType )
{
+ /*! \todo these values look suspect... */
switch ( nBindType )
{
case SQL_BIND_BY_COLUMN:
Added: trunk/doc/Project/ConnectorODBC5.planner
===================================================================
--- trunk/doc/Project/ConnectorODBC5.planner 2006-12-19 01:45:01 UTC (rev 754)
+++ trunk/doc/Project/ConnectorODBC5.planner 2006-12-19 16:22:44 UTC (rev 755)
@@ -0,0 +1,379 @@
+<?xml version="1.0"?>
+<project name="Connector/ODBC v5" company="MySQL" manager="Mark Matthews" phase=""
project-start="20061216T000000Z" mrproject-version="2" calendar="1">
+ <properties/>
+ <phases>
+ <phase name="Beta 11"/>
+ <phase name="Beta 12"/>
+ <phase name="GA 1"/>
+ </phases>
+ <calendars>
+ <day-types>
+ <day-type id="0" name="Working" description="A default working day"/>
+ <day-type id="1" name="Nonworking" description="A default non working day"/>
+ <day-type id="2" name="Use base" description="Use day from base calendar"/>
+ </day-types>
+ <calendar id="1" name="Default">
+ <default-week mon="0" tue="0" wed="0" thu="0" fri="0" sat="1" sun="1"/>
+ <overridden-day-types>
+ <overridden-day-type id="0">
+ <interval start="0800" end="1200"/>
+ <interval start="1300" end="1700"/>
+ </overridden-day-type>
+ </overridden-day-types>
+ <days/>
+ </calendar>
+ </calendars>
+ <tasks>
+ <task id="1" name="Development" note=" " work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work">
+ <task id="2" name="Environment" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="3" name="Attributes" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="4" name="SQL_ATTR_CONNECTION_POOLING" note="Default =
SQL_CP_DEFAULT. We need to make our driver fully thread-safe. We can
implement this in the driver for case when app linked directly to driver. "
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work">
+ <task id="5" name="SQL_CP_OFF" note="" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="6" name="SQL_CP_ONE_PER_DRIVER" note="" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="7" name="SQL_CP_ONE_PER_HENV" note="" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="8" name="SQL_ATTR_CP_MATCH" note="Default =
SQL_CP_MATCH_DEFAULT. We can implement this for case when app linked directly to
driver." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work">
+ <task id="9" name="SQL_CP_STRICT_MATCH" note="" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="10" name="SQL_CP_RELAXED_MATCH" note="" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="11" name="SQL_ATTR_ODBC_VERSION" note="We need to ensure that all
behavioural changes, based upon ver, are accounted for." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work">
+ <task id="12" name="SQL_OV_ODBC3" note="Default." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="13" name="SQL_OV_ODBC2" note="" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="14" name="SQL_ATTR_OUTPUT_NTS" note="" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work">
+ <task id="15" name="SQL_TRUE" note="Default." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="16" name="SQL_FALSE" note=" SQL_FALSE returns SQL_ERROR and
SQLSTATE HYC00 (Optional feature not implemented)" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="100" priority="0"
type="normal" scheduling="fixed-work"/>
+ </task>
+ </task>
+ <task id="17" name="Functions" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="18" name="SQLAllocHandle" note="Alloc environment." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="19" name="SQLEndTran" note="Request that a commit or rollback
operation be performed for all connections for this environment." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="20" name="SQLFreeHandle" note="Frees environment handle."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="21" name="SQLGetEnvAttr" note="Returns the current setting of an
environment attribute." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="22" name="SQLSetEnvAttr" note="Sets attributes that govern aspects
of environments." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ </task>
+ </task>
+ <task id="23" name="Connection" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="24" name="Attributes" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="25" name="SQL_ATTR_ACCESS_MODE" note="This is used by the driver
or data source as an indicator that the connection is not required to support SQL
statements that cause updates to occur." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="26" name="SQL_MODE_READ_ONLY" note="ToDo: We can use this to
effect some performance improvements." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="27" name="SQL_MODE_READ_WRITE" note="Default." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="28" name="SQL_ATTR_ASYNC_ENABLE" note="Default =
SQL_ASYNC_ENABLE_OFF Specifies whether a function called with a
statement on the specified connection is executed asynchronously. This is
connection level (see also statement level)." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="29" name="SQL_ASYNC_ENABLE_OFF" note="" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="30" name="SQL_ASYNC_ENABLE_ON" note="Drivers that operate only
on multithread operating systems do not need to support asynchronous
execution. ToDo: We have SQL state checks for this in most places needed
but no plans to implement this at this time. " work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="50" priority="0" type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="31" name="SQL_ATTR_AUTO_IPD" note="Specifies whether automatic
population of the IPD after a call to SQLPrepare is supported" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work">
+ <task id="32" name="SQL_TRUE" note="Automatic population of the IPD after
a call to SQLPrepare is supported by the driver. ToDo: We are waiting
for the I_S to support it. ToDo: Need to get this in at the connection
level. Currently only found at statement level." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="33" name="SQL_FALSE" note="Automatic population of the IPD after
a call to SQLPrepare is not supported by the driver. ToDo: Need to get
this in at the connection level. Currently only found at statement
level. " work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work"/>
+ </task>
+ <task id="34" name="SQL_ATTR_AUTOCOMMIT" note="Specifies whether to use
autocommit or manual-commit mode." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="35" name="SQL_AUTOCOMMIT_OFF" note="The driver uses
manual-commit mode, and the application must explicitly commit or roll back transactions
with SQLEndTran. ToDo: We need to verify that the implementation works;
- case where we see multiple doExecute on a doPrepare - case where we
see batch statement (with or without DDL) and possible multiple doExecute - is
SQL_ATTR_TXN_ISOLATION being used properly" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="50" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="36" name="SQL_AUTOCOMMIT_ON" note="Default. The driver
uses autocommit mode. Each statement is committed immediately after it is executed."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ </task>
+ <task id="37" name="SQL_ATTR_CONNECTION_DEAD" note="Indicates the state of
the connection. Connected if STATE_C4 and mysql_ping() ok." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work">
+ <task id="38" name="SQL_CD_TRUE" note="Connection has been lost. "
work="28800" start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="39" name="SQL_CD_FALSE" note="Connection is still active."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ </task>
+ <task id="40" name="SQL_ATTR_CONNECTION_TIMEOUT" note="Default = 0 = no
timeout. Number of seconds to wait for any request on the connection to
complete before returning to the application. ToDo: We maintain the
value but we need to put it to use. " work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="50" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="41" name="SQL_ATTR_CURRENT_CATALOG" note="Name of the catalog to
be used by the data source. Driver sends a USE database statement to the data
source. We do a mysql_select_db()." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="100" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="42" name="SQL_ATTR_LOGIN_TIMEOUT" note="Default =
SQL_LOGIN_TIMEOUT_DEFAULT = 0 = no timeout Number of seconds to wait for
a login request to complete before returning to the
application. Implemented with mysql_options()." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="43" name="SQL_ATTR_METADATA_ID" note="Default =
SQL_FALSE Determines how the string arguments of catalog functions are
treated. SeeAlso: Attribute in statement." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work">
+ <task id="44" name="SQL_TRUE" note="String argument of catalog functions
are treated as identifiers." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="45" name="SQL_FALSE" note="String arguments of catalog functions
are not treated as identifiers. ToDo: This is implemented but may not be
complete. Needs review. " work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="50" priority="0"
type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="46" name="SQL_ATTR_ODBC_CURSORS" note="Specifying how the Driver
Manager uses the ODBC cursor library. Try to support DM attributes in case app is
linked directly to us." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work">
+ <task id="47" name="SQL_CUR_USE_IF_NEEDED" note="Uses the ODBC cursor
library only if it is needed. Of course, if app linked directly to driver and
this is requested - we will say SQL_CUR_USE_DRIVER." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="48" name="SQL_CUR_USE_ODBC" note="The Driver Manager uses the
ODBC cursor library. We return error for this. It does not make sense
even if app linked directly to driver." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="100" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="49" name="SQL_CUR_USE_DRIVER" note="Default. Uses the
scrolling capabilities of the driver. " work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="100" priority="0"
type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="50" name="SQL_ATTR_PACKET_SIZE" note="Default = min(client,server)
= 16M (usually). The network packet size in bytes. ToDo:
We maintain this value but we do not make use of it. We can probably make use of
it. Also; we need to get the real value instead of using 16M." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="20" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="51" name="SQL_ATTR_QUIET_MODE" note="Default =
0. Window handle (parent window handle) to use for dialogs. No
dialogs are displayed if null. Does not apply for
SQLDriverConnect. ToDo: Currently maintained but not used. Use
this for SQLBrowseConnect etc." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="50" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="52" name="SQL_ATTR_TRACE" note="Default = SQL_OPT_TRACE_DEFAULT =
SQL_OPT_TRACE_OFF Tell the Driver Manager whether to perform
tracing. We implement in case app links directly to driver."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work">
+ <task id="53" name="SQL_OPT_TRACE_OFF" note="Default. "
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="54" name="SQL_OPT_TRACE_ON" note="Turn trace on.
ToDo: We maintain value but not use. We should use this."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="50" priority="0" type="normal"
scheduling="fixed-work"/>
+ </task>
+ <task id="55" name="SQL_ATTR_TRACEFILE" note="Default =
SQL_OPT_TRACE_FILE_DEFAULT. String containing the name of the trace
file. This is meant for the DM but we implement for case when app linked directly
to driver. ToDo: We maintain value but - like SQL_ATTR_TRACE - we need to
make this useful. Note: Unlike the ODBC spec. - we MUST have a connection
handle." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="50" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="56" name="SQL_ATTR_TRANSLATE_LIB" note="Default =
null. String containing the name of a library containing the functions
SQLDriverToDataSource and SQLDataSourceToDriver that the driver accesses to perform tasks
such as character set translation. A default translation DLL can be
specified in the ODBC initialization file. ToDo: We should consider
using this method to translate char data to/from driver and data source. "
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="50" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="57" name="SQL_ATTR_TRANSLATE_OPTION" note="Flag value that is
passed to the translation DLL. ToDo: We maintain value but its not used.
Use this value when/if SQL_ATTR_TRANSLATE_LIB is used. " work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="58" name="SQL_ATTR_TXN_ISOLATION" note="Bitmask that sets the
transaction isolation level for the current connection. ToDo: Verify
functionality." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work">
+ <task id="59" name="SQL_TXN_SERIALIZABLE" note=""SET SESSION
TRANSACTION ISOLATION LEVEL SERIALIZABLE"" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="90" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="60" name="SQL_TXN_REPEATABLE_READ" note=""SET SESSION
TRANSACTION ISOLATION LEVEL REPEATABLE READ"" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="90" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="61" name="SQL_TXN_READ_COMMITTED" note=""SET SESSION
TRANSACTION ISOLATION LEVEL READ COMMITTED"" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="90" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="62" name="SQL_TXN_READ_UNCOMMITTED" note=""SET SESSION
TRANSACTION ISOLATION LEVEL READ UNCOMMITTED"" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="90" priority="0" type="normal" scheduling="fixed-work"/>
+ </task>
+ </task>
+ <task id="63" name="Functions" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="64" name="SQLAllocHandle" note="Alloc connection." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="65" name="SQLBrowseConnectW" note="Connects via connection
attribute discovery. ToDo: - verify it works - support
SQL_ATTR_QUIET_MODE? -create an ANSI version for case when ANSI apps link
directly to driver" work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="80" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="66" name="SQLConnectW" note="Establishes connections to a driver
and a data source. ToDo: May want to add more DSN attributes. Certianly
for debug/trace. We want to keep these to minimum." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="90" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="67" name="SQLDisconnect" note="Closes the connection associated
with a specific connection handle." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="100" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="68" name="SQLDriverConnectW" note="SQLDriverConnect is an
alternative to SQLConnect. It supports data sources that require more connection
information than the three arguments in SQLConnect. ToDo: -
Address crash upon exit. - Add support for any additional connection attributes."
work="28800" start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="90" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="69" name="SQLEndTran" note="Request that a commit or rollback
operation be performed on all statements for this connection." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="70" name="SQLFreeHandle" note="Frees connection handle."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="71" name="SQLGetConnectAttrW" note="Returns the current setting of
a connection attribute." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="72" name="SQLGetFunctions" note="Returns information about whether
a driver supports a specific ODBC function. Note: Some deprecated
functions may be implemented later - this func will need to be updated." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="73" name="SQLGetInfo" note="Returns general information about the
driver and data source associated with a connection. ToDo: -
many of the InfoTypes need to be reviewed and some optimized for
storage Note: - some InfoTypes will change as features are
completed and exposed" work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="90" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="74" name="SQLNativeSqlW" note="Returns the SQL string as modified
by the driver. " work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="75" name="SQLSetConnectAttr" note="Sets attributes that govern
aspects of connections." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="76" name="SQLSetConnectOptionW" note="Deprecated. Replaced by
SQLSetConnectAttr. Implemented to support ODBC v2 apps linked directly
to the driver. Note: MS Access 2000 & MS Driver Manager has been
observed calling this function when it is found in the driver (prefers it over newer
funcs). " work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ </task>
+ </task>
+ <task id="77" name="Statement" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="78" name="Attributes" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="79" name="SQL_ATTR_APP_PARAM_DESC" note="Default = implicit/auto
allocated APD The handle to the APD for subsequent calls to SQLExecute
and SQLExecDirect on the statement handle." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="100" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="80" name="SQL_ATTR_APP_ROW_DESC" note="Default = implicit/auto
allocated ARD. The handle to the ARD for subsequent fetches on the
statement handle." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="81" name="SQL_ATTR_ASYNC_ENABLE" note="Default =
SQL_ASYNC_ENABLE_OFF Specifies whether a function called with the
specified statement is executed asynchronously. This is statement level (see also
connection)." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work">
+ <task id="82" name="SQL_ASYNC_ENABLE_OFF" note="" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="83" name="SQL_ASYNC_ENABLE_ON" note="Drivers that operate only
on multithread operating systems do not need to support asynchronous
execution. ToDo: We have SQL state checks for this in most places needed
but no plans to implement this at this time. " work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="50" priority="0" type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="84" name="SQL_ATTR_CONCURRENCY" note="Default = SQL_CONCUR_DEFAULT
= SQL_CONCUR_READ_ONLY Specifies the cursor concurrency." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work">
+ <task id="85" name="SQL_CONCUR_READ_ONLY" note="Cursor is read-only. No
updates are allowed." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="86" name="SQL_CONCUR_LOCK" note="Cursor uses the lowest level of
locking sufficient to ensure that the row can be updated. ToDo: Fully
implement this. " work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="87" name="SQL_CONCUR_ROWVER" note="Cursor uses optimistic
concurrency control, comparing row versions such as SQLBase ROWID or Sybase
TIMESTAMP. ToDo: Fully implement this. " work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="88" name="SQL_CONCUR_VALUES" note="Cursor uses optimistic
concurrency control, comparing values. ToDo: Fully implement
this. " work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work"/>
+ </task>
+ <task id="89" name="SQL_ATTR_CURSOR_SCROLLABLE" note="Default =
SQL_NONSCROLLABLE Specifies the level of support that the application
requires. " work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work">
+ <task id="90" name="SQL_NONSCROLLABLE" note="Scrollable cursors are not
required on the statement handle." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="100" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="91" name="SQL_SCROLLABLE" note="Scrollable cursors are required
on the statement handle. ToDo: This depends upon SQL_SO_STATIC and such
being supported." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="50" priority="0" type="normal"
scheduling="fixed-work"/>
+ </task>
+ <task id="92" name="SQL_ATTR_CURSOR_SENSITIVITY" note="Default =
SQL_UNSPECIFIED Specifies whether cursors on the statement handle make
visible the changes made to a result set by another cursor." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work">
+ <task id="93" name="SQL_INSENSITIVE" note="All cursors on the statement
handle show the result set without reflecting any changes made to it by any other
cursor." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="90" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="94" name="SQL_UNSPECIFIED" note="Cursors on the statement handle
may make visible none, some, or all such changes." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="100" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="95" name="SQL_SENSITIVE" note="All cursors on the statement
handle make visible all changes made to a result set by another
cursor. ToDo: We can support this with sufficient smarts." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="96" name="SQL_ATTR_CURSOR_TYPE" note="Default =
SQL_CURSOR_TYPE_DEFAULT = SQL_CURSOR_FORWARD_ONLY Specifies the cursor
type." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work">
+ <task id="97" name="SQL_CURSOR_FORWARD_ONLY" note="The cursor only scrolls
forward." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="98" name="SQL_CURSOR_STATIC" note="A static cursor is one in
which the result set appears to be static. It does not usually detect changes
made to the membership, order, or values of the result set after the cursor is opened.
For example, suppose a static cursor fetches a row and another application then
updates that row. If the static cursor refetches the row, the values it sees are
unchanged, despite the changes made by the other application. ToDo: Fully
implement." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="50" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="99" name="SQL_CURSOR_KEYSET_DRIVEN" note="A keyset-driven cursor
lies between a static and a dynamic cursor in its ability to detect changes. Like
a static cursor, it does not always detect changes to the membership and order of the
result set. Like a dynamic cursor, it does detect changes to the values of rows
in the result set (subject to the isolation level of the transaction, as set by the
SQL_ATTR_TXN_ISOLATION connection attribute). ToDo: Fully implement."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="25" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="100" name="SQL_CURSOR_DYNAMIC" note="A dynamic cursor is just
that: dynamic. It can detect any changes made to the membership, order, and
values of the result set after the cursor is opened. For example, suppose a
dynamic cursor fetches two rows and another application then updates one of those rows
and deletes the other. If the dynamic cursor then attempts to refetch those
rows, it will not find the deleted row but will return the new values for the updated
row. ToDo: Fully implement." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="25" priority="0"
type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="101" name="SQL_ATTR_ENABLE_AUTO_IPD" note="Default =
SQL_FALSE Specifies whether automatic population of the IPD is
performed." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work">
+ <task id="102" name="SQL_TRUE" note="Automatic population of the IPD after
a call to SQLPrepare is supported by the driver. ToDo: We are waiting for
the I_S to support it." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="50" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="103" name="SQL_FALSE" note="Automatic population of the IPD
after a call to SQLPrepare is not supported by the driver." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="104" name="SQL_ATTR_FETCH_BOOKMARK_PTR" note="Default =
null A pointer that points to a binary bookmark
value. ToDo: Need to fully implement bookmarks." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="10" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="105" name="SQL_ATTR_IMP_PARAM_DESC" note="The handle to the IPD.
The value of this attribute is the descriptor allocated when the statement was
initially allocated. " work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="106" name="SQL_ATTR_IMP_ROW_DESC" note="The handle to the IRD.
The value of this attribute is the descriptor allocated when the statement was
initially allocated." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="107" name="SQL_ATTR_KEYSET_SIZE" note="Default =
SQL_KEYSET_SIZE_DEFAULT = 0 Specifies the number of rows in the keyset
for a keyset-driven cursor. ToDo: We maintain a value but at present we
do not use it. Note: Setting to > 1 creates a block
cursor. See SQL_ATTR_CURSOR_TYPE." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="90" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="108" name="SQL_ATTR_MAX_LENGTH" note="Default =
SQL_MAX_LENGTH_DEFAULT = 0 Specifies the maximum amount of data that the
driver returns from a character or binary column. ToDo: We maintain the
value and reference it in a few places in code. Need to fully implement."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="80" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="109" name="SQL_ATTR_MAX_ROWS" note="Default = SQL_MAX_ROWS_DEFAULT
= 0 Maximum number of rows to return to the application for a SELECT
statement. ToDo: We maintain the value and reference it in a few places
in code. Need to fully implement." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="80" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="110" name="SQL_ATTR_METADATA_ID" note="Default =
SQL_FALSE Determines how the string arguments of catalog functions are
treated. SeeAlso: attribute in connection" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work">
+ <task id="111" name="SQL_TRUE" note="String argument of catalog functions
are treated as identifiers." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="112" name="SQL_FALSE" note="String arguments of catalog
functions are not treated as identifiers. ToDo: This is implemented but
may not be complete. Needs review. " work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="50" priority="0" type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="113" name="SQL_ATTR_NOSCAN" note="Default = SQL_NOSCAN_DEFAULT =
SQL_NOSCANS_OFF Indicates whether the driver should scan SQL strings for
escape sequences. " work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work">
+ <task id="114" name="SQL_NOSCAN_OFF" note="The driver scans SQL strings
for escape sequences. ToDo: Need to process escape sequences."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="115" name="SQL_NOSCAN_ON" note="The driver does not scan SQL
strings for escape sequences. ToDo: This currently the default behaviour
since we are not escaping much at the moment. Need to check this before processing
escape sequences." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="90" priority="0" type="normal"
scheduling="fixed-work"/>
+ </task>
+ <task id="116" name="SQL_ATTR_PARAM_BIND_OFFSET_PTR" note="Default =
null Points to an offset added to pointers to change binding of dynamic
parameters. ToDo: We maintain this but its not used at the moment.
Need to fully implement." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="10" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="117" name="SQL_ATTR_PARAM_BIND_TYPE" note="Default =
SQL_PARAM_BIND_BY_COLUMN = SQL_BIND_BY_COLUMN Indicates the binding
orientation to be used for dynamic parameters. " work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work">
+ <task id="118" name="SQL_PARAM_BIND_BY_COLUMN" note="Column-wise binding."
work="28800" start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="119" name="row wise binding" note="To select row-wise binding,
this field is set to the length of the structure or an instance of a buffer that will be
bound to a set of dynamic parameters. ToDo: Fully
implement. SeeAlso: SQL_ATTR_ROW_BIND_TYPE" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="120" name="SQL_ATTR_PARAM_OPERATION_PTR" note="Default =
null Points to an array of SQLUSMALLINT values used to ignore a
parameter during execution of an SQL statement. ToDo: Fully implement."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="121" name="SQL_ATTR_PARAM_STATUS_PTR" note="Default =
null Points to an array of SQLUSMALLINT values containing status
information for each row of parameter values after a call to SQLExecute or
SQLExecDirect. ToDo: We maintain value but we do not use. Need
to fully implement." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="20" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="122" name="SQL_ATTR_PARAMS_PROCESSED_PTR" note="Default =
null A buffer in which to return the number of sets of parameters that
have been processed, including error sets. ToDo: We maintain value but
we do not use. Need to fully implement." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="20" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="123" name="SQL_ATTR_PARAMSET_SIZE" note="Default =
1 Specifies the number of values for each
parameter. ToDo: We maintain value but we do not use. Need to
fully implement." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="124" name="SQL_ATTR_QUERY_TIMEOUT" note="Default =
SQL_QUERY_TIMEOUT_DEFAULT = 0 Number of seconds to wait for an SQL
statement to execute before returning to the application. ToDo: We
maintain value but we do not use. Need to fully implement." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="50" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="125" name="SQL_ATTR_RETRIEVE_DATA" note="Default = SQL_RD_DEFAULT
= SQL_RD_ON To retrieve data after it positions the cursor - or
not. " work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work">
+ <task id="126" name="SQL_RD_ON" note="" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="127" name="SQL_RD_OFF" note="Do not retrieve data after it
positions the cursor. ToDo: Need to fully implement." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="20" priority="0" type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="128" name="SQL_ATTR_ROW_ARRAY_SIZE" note="Default =
SQL_ROWSET_SIZE_DEFAULT = 1 Number of rows returned by each call to
SQLFetch or SQLFetchScroll. ToDo: Need to fully implement." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="50" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="129" name="SQL_ATTR_ROW_BIND_OFFSET_PTR" note="Default =
null Points to an offset added to pointers to change binding of column
data. ToDo: We maintain value but not used. Need to fully
implement." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="130" name="SQL_ATTR_ROW_BIND_TYPE" note="Default =
SQL_BIND_BY_COLUMN Binding orientation to be used when SQLFetch or
SQLFetchScroll is called on the associated statement. " work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work">
+ <task id="131" name="SQL_BIND_BY_COLUMN" note="Column-wise binding."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="132" name="row wise binding" note="Row-wise binding is selected
by setting the value to the length of a structure or an instance of a buffer into which
result columns will be bound. ToDo: Fully
implement. SeeAlso: SQL_ATTR_ROW_BIND_TYPE" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="133" name="SQL_ATTR_ROW_NUMBER" note="Number of the current row in
the entire result set. ToDo: Verify. SeeAlso: Descriptor
RowNumber." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="95" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="134" name="SQL_ATTR_ROW_OPERATION_PTR" note="Default =
null Points to an array of SQLUSMALLINT values used to ignore a row
during a bulk operation using SQLSetPos. ToDo: Need to verify it works
ok." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="95" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="135" name="SQL_ATTR_ROW_STATUS_PTR" note="Default =
null Points to an array of SQLUSMALLINT values containing row status
values after a call to SQLFetch or SQLFetchScroll. ToDo: Need to verify
it works ok. " work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="95" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="136" name="SQL_ATTR_ROWS_FETCHED_PTR" note="Default =
null Points to a buffer in which to return the number of rows fetched
after a call to SQLFetch or SQLFetchScroll etc. ToDo: Need to fully
implement. " work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="50" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="137" name="SQL_ATTR_SIMULATE_CURSOR" note="Default =
SQL_SC_TRY_UNIQUE Specifies whether drivers that simulate positioned
update and delete statements guarantee that such statements affect only one single row."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work">
+ <task id="138" name="SQL_SC_NON_UNIQUE" note="The driver does not
guarantee that simulated positioned update or delete statements will affect only one
row." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="139" name="SQL_SC_TRY_UNIQUE" note="The driver attempts to
guarantee that simulated positioned update or delete statements affect only one
row. ToDo: Need to fully implement." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="140" name="SQL_SC_UNIQUE" note="The driver guarantees that
simulated positioned update or delete statements affect only one
row. ToDo: Need to fully implement." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="141" name="SQL_ATTR_USE_BOOKMARKS" note="Default = SQL_UB_DEFAULT
= SQL_UB_OFF Specifies whether an application will use bookmarks with a
cursor:" work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work">
+ <task id="142" name="SQL_UB_OFF" note="Bookmarks not used." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="143" name="SQL_UB_VARIABLE" note="Driver will provide variable
length bookmarks. ToDo: Fully implement bookmarks." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ </task>
+ </task>
+ <task id="144" name="Functions" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="145" name="SQLAllocHandle" note="Alloc statement." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="146" name="SQLBindCol" note="Bind columns. ToDo:
- ensure all data types supported and data conversion work correctly -
binding arrays - binding offsets - row-wise-binding" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="75" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="147" name="SQLBindParameter" note="Bind
parameters. ToDo: - ensure all data types supported and
conversions working correctly - complete chunking (see also
SQLParamData/SQLPutData) - bind array - row-wise-binding -
rebinding with offset - ignoring bound parameters " work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="75" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="148" name="SQLBulkOperations" note="Performs bulk insertions and
bulk bookmark operations, including update, delete, and fetch by
bookmark. SQLBulkOperations performs bulk insertions and bulk bookmark
operations, including update, delete, and fetch by bookmark. " work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work">
+ <task id="149" name="SQL_ADD" note="Add new rows. ToDo:
Verify it works." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="50" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="150" name="SQL_UPDATE_BY_BOOKMARK" note="ToDo: Need to
implement." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="151" name="SQL_DELETE_BY_BOOKMARK" note="ToDo: Need to
implement." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="152" name="SQL_FETCH_BY_BOOKMARK" note="ToDo: Need to
implement." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work"/>
+ </task>
+ <task id="153" name="SQLCancel" note="SQLCancel cancels the processing on a
statement. ToDo: Need to implement." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="20" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="154" name="SQLCloseCursor" note="Closes a cursor that has been
opened on a statement and discards pending results. " work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="155" name="SQLColAttribute" note="Returns descriptor information
for a column in a result set. ToDo: Consider executing statement so we
can get IRD during a prepare state when we would otherwise have none." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="90" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="156" name="SQLColumnPrivilegesW" note="Returns a list of columns
and associated privileges for the specified table. " work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="157" name="SQLColumnsW" note="Returns the list of column names in
specified tables." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="158" name="SQLDescribeColW" note="Returns the result descriptor -
column name, type, column size, decimal digits, and nullability - for one column in the
result set. " work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="159" name="SQLDescribeParam" note="Returns the description of a
parameter marker associated with a prepared SQL statement. ToDo: At this
time we can not load IPD just from given statement commands. Would be good to
implement this. SeeAlso: SQL_ATTR_ENABLE_AUTO_IP " work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="80" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="160" name="SQLExecDirectW" note="Prepares and executes the
statement. ToDo: - need to handle positioned
update/delete - see SQLBindParameter" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="90" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="161" name="SQLExecute" note="Executes a prepared
statement. ToDo: - need to handle positioned
update/delete - see SQLBindParameters" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="90" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="162" name="SQLFetch" note="Fetches the next rowset of data from
the result set and returns data for all bound columns. ToDo: -
need to fully support block cursor (partially implemented) - see SQLBindCol"
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="80" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="163" name="SQLFetchScroll" note="Fetches the specified rowset of
data from the result set and returns data for all bound columns. ToDo:
- need to fully support block cursor (partially implemented) - see
SQLBindCol" work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work">
+ <task id="164" name="SQL_FETCH_NEXT" note="Return the next rowset. This is
equivalent to calling SQLFetch. ToDo: Verify." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="90" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="165" name="SQL_FETCH_PRIOR" note="Return the prior rowset.
ToDo: Verify." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="90" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="166" name="SQL_FETCH_FIRST" note="Return the first rowset in the
result set. ToDo: Verify." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="90" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="167" name="SQL_FETCH_LAST" note="Return the last complete rowset
in the result set. ToDo: Verify." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="90" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="168" name="SQL_FETCH_ABSOLUTE" note="Return the rowset starting
at row FetchOffset. ToDo: Verify." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="90" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="169" name="SQL_FETCH_RELATIVE" note="Return the rowset
FetchOffset from the start of the current rowset. ToDo: Verify."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="90" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="170" name="SQL_FETCH_BOOKMARK" note="Return the rowset
FetchOffset rows from the bookmark specified by the SQL_ATTR_FETCH_BOOKMARK_PTR statement
attribute. ToDo: Need to fully implement bookmarks." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="50" priority="0" type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="171" name="SQLForeignKeysW" note="Returns a list of foreign
keys. ToDo: Verify." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="90" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="172" name="SQLFreeHandle" note="Frees statement handle."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="173" name="SQLFreeStmt" note="" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work">
+ <task id="174" name="SQL_ CLOSE" note="Closes the cursor associated with
StatementHandle (if one was defined) and discards all pending results. "
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="175" name="SQL_DROP" note="Free the
statement. This is deprecated but we support for case when an ODBC v2
app links to driver directly." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="100" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="176" name="SQL_UNBIND" note="Sets the SQL_DESC_COUNT field of
the ARD to 0, releasing all column buffers bound by SQLBindCol for the given
StatementHandle. ToDo: Verify bookmark is not unbound." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="95" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="177" name="SQL_RESET_PARAMS" note="Sets the SQL_DESC_COUNT field
of the APD to 0, releasing all parameter buffers set by SQLBindParameter for the given
StatementHandle. " work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ </task>
+ <task id="178" name="SQLGetCursorNameW" note="Returns the cursor name
associated with a specified statement. " work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="100" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="179" name="SQLGetData" note="Retrieves data for a single column in
the result set. ToDo: Ensure that all data types are covered and
conversions are good." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="90" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="180" name="SQLGetStmtAttr" note="Returns the current setting of a
statement attribute." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="181" name="SQLGetStmtOption" note="Deprecated. Replaced by
SQLGetStmtAttr. Implemented to support ODBC v2 apps linked directly to
the driver. Note: MS Access 2000 & MS Driver Manager has been
observed calling this function when it is found in the driver (prefers it over newer
funcs). " work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="182" name="SQLGetTypeInfoW" note="Returns information about data
types supported by the data source. ToDo: - needs
review " work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="90" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="183" name="SQLMoreResults" note="Determines whether more results
are available on a statement. ToDo: - complete chunking
work SeeAlso: - SQLParamData, SQLPutData" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="90" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="184" name="SQLNumParams" note="Returns the number of parameters in
an SQL statement. ToDo: - Load IPD during prepare in the
future. At present we can not load so we rely upon app binding info. -
When in prepare state we can use our param marker info instead of IPD count" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="90" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="185" name="SQLNumResultCols" note="Returns the number of columns
in a result set. ToDo: - Would be good to get this in prepare
state (before execute). Currently only possible with server-side
prepare. - We could silently submit/execute command to get this. :(" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="99" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="186" name="SQLParamData" note="Used in conjunction with SQLPutData
to supply parameter data at statement execution time. ToDo: -
Partially complete. Need to fully complete." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="80" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="187" name="SQLPrepareW" note="Prepares an SQL string for
execution. ToDo: - Need to complete some code reord. work."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="90" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="188" name="SQLPrimaryKeysW" note="Returns the column names that
make up the primary key for a table." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="100" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="189" name="SQLProcedureColumnsW" note="Returns the list of input
and output parameters, as well as the columns that make up the result set for the
specified procedures. ToDo: - Use MCommand to parse the CREATE
PROCEDURE and in this way get the parameter info." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="75" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="190" name="SQLProceduresW" note="Returns the list of procedure
names stored in a specific data source." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="100" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="191" name="SQLPutData" note="Allows an application to send data
for a parameter or column to the driver at statement execution
time. ToDo: - Partially complete. Need to fully complete."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="80" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="192" name="SQLRowCount" note="Returns the number of rows
affected." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="193" name="SQLSetCursorNameW" note="Associates a cursor name with
an active statement. " work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="194" name="SQLSetPos" note="Sets the cursor position in a rowset
and allows an application to refresh data in the rowset or to update or delete data in
the result set." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work">
+ <task id="195" name="SQL_POSITION" note="The driver positions the cursor
on the row specified by RowNumber. ToDo: Partially implemented.
Need to fully implement." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="50" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="196" name="SQL_REFRESH" note="The driver positions the cursor on
the row specified by RowNumber and refreshes data in the rowset buffers for that
row. ToDo: Partially implemented. Need to fully implement."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="50" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="197" name="SQL_UPDATE" note="The driver positions the cursor on
the row specified by RowNumber and updates the underlying row of data with the values in
the rowset buffers (the TargetValuePtr argument in SQLBindCol). ToDo:
Partially implemented. Need to fully implement." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="50" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="198" name="SQL_DELETE " note="The driver positions the cursor on
the row specified by RowNumber and deletes the underlying row of
data. ToDo: Partially implemented. Need to fully implement."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="50" priority="0" type="normal"
scheduling="fixed-work"/>
+ </task>
+ <task id="199" name="SQLSetStmtAttrW" note="Sets attributes related to a
statement." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="200" name="SQLSetStmtOption" note="Deprecated. Replaced by
SQLSetStmtAttr. Implemented to support ODBC v2 apps linked directly to
the driver. Note: MS Access 2000 & MS Driver Manager has been
observed calling this function when it is found in the driver (prefers it over newer
funcs). " work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="201" name="SQLSpecialColumnsW" note="Retrieves the following
information about columns within a specified table: - The optimal set of columns
that uniquely identifies a row in the table. - Columns that are automatically
updated when any value in the row is updated by a transaction. " work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="90" priority="0" type="normal" scheduling="fixed-work">
+ <task id="202" name="SQL_BEST_ROWID" note="Returns the optimal column or
set of columns that, by retrieving values from the column or columns, allows any row in
the specified table to be uniquely identified. We try to use the
following in order; - primary key - unique index ToDo:
Verify. " work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="90" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="203" name="SQL_ROWVER" note="Returns the column or columns in
the specified table, if any, that are automatically updated by the data source when any
value in the row is updated by any transaction. ToDo: - This
needs some investigation. Currentl return SQL_SUCCESS but ResultSet rows." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="50" priority="0" type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="204" name="SQLStatisticsW" note="Retrieves a list of statistics
about a single table and the indexes associated with the table. " work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="205" name="SQLTablePrivilegesW" note="Returns a list of tables and
the privileges associated with each table." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="100" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="206" name="SQLTablesW" note="Returns the list of table, catalog,
or schema names, and table types, stored in a specific data source. "
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ </task>
+ </task>
+ <task id="207" name="Descriptor" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="208" name="Functions" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="209" name="SQLAllocHandle" note="Allocate descriptor handle."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="210" name="SQLFreeHandle" note="Frees descriptor handle."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="211" name="SQLCopyDesc" note="Copies descriptor information from
one descriptor handle to another. ToDo: Verify." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="90" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="212" name="SQLGetDescField" note="Returns the current setting or
value of a single field of a descriptor record." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="100" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="213" name="SQLGetDescRec" note="Returns the current settings or
values of multiple fields of a descriptor record. " work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="214" name="SQLSetDescFieldW" note="Sets the value of a single
field of a descriptor record." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="100" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="215" name="SQLSetDescRec" note="Sets multiple descriptor fields
that affect the data type and buffer bound to a column or parameter data." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ </task>
+ </task>
+ <task id="216" name="Diagnostic" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="217" name="Functions" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="218" name="SQLGetDiagField" note="Returns the current value of a
field of a record of the diagnostic data structure (associated with a specified handle)
that contains error, warning, and status information. ToDo: Verify
message format." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="99" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="219" name="SQLGetDiagRec" note="Returns the current values of
multiple fields of a diagnostic record. ToDo: Verify message format."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="99" priority="0" type="normal"
scheduling="fixed-work"/>
+ </task>
+ </task>
+ <task id="220" name="Setup" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="221" name="Functions" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="222" name="ConfigDSNW" note="Adds, modifies, or deletes data
sources from the system information. ToDo: - May need to put
this into driver dll to avoid a crash." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="75" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="223" name="ConfigDriverW" note="Allows a setup program to perform
install and uninstall functions without requiring the program to call
ConfigDSN. Note: Not needed so not implemented." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="100" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="224" name="ConfigTranslator " note="Returns a default translation
option for a translator. Note: Not needed so not implemented."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="100" priority="0" type="normal"
scheduling="fixed-work"/>
+ </task>
+ </task>
+ <task id="225" name="Translation" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="226" name="Functions" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="227" name="SQLDataSourceToDriver" note="The driver calls
SQLDataSourceToDriver to translate alldata (result set data, table names, row counts,
error messages, and so on) passing from the data source to the driver.
ToDo: See about implementing/using this?" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="228" name="SQLDriverToDataSource" note="The driver calls
SQLDriverToDataSource to translate all data (SQL statements, parameters, and so on)
passing from the driver to the data source. ToDo: See about
implementing/using this?" work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work"/>
+ </task>
+ </task>
+ <task id="229" name="Porting/Packaging" note="" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work">
+ <task id="230" name="WIN32" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="231" name="WIN64" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="232" name="Linux32" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="233" name="Linux64" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="234" name="OSX 10.4" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="235" name="Server Prepared Statements" note="ToDo: Get MResultStmt
caught up with all the changes made in MResultRes. " work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="236" name="Deprecated Functions" note="ToDo: Consider implementing the
remaining deprecated functions to support older apps which may; - link directly to
driver - prefer to calls older functions when they are found to exist (MS Access
2000 & MS Driver Manager for example)" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="237" name="ANSI Functions" note="ToDo: Consider implementing ANSI
version of the 'Widechar' functions. This will help ANSI apps link directly to
the driver." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="238" name="Improve Thread Safe" note="ToDo: Need to make driver thread
safe. Lock access to objects while processing in them. Qt has classes that
may be good for this." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work"/>
+ </task>
+ <task id="239" name="Documentation" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="240" name="External" note="For those *using* the
product. - User Manual " work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="241" name="Examples" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="242" name="Tutorial " note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="243" name="Requirements/Installation/Configure" note="" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="244" name="Introduction to ODBC " note="" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="245" name="Internal" note="For those *developing/maintaining* the
product." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work">
+ <task id="246" name="Design" note="Most design is in ODBC spec. but need to
create design docs for (mostly internal); - design/implementation
concepts - code layout - code conventions - UML (class diagrams
anyway) for C++ bits - FlowCharts for a few key areas (read; more complex areas)"
work="28800" start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="247" name="Doxygen based" note="Need to; - document
all majour internal bits of code - seperate internal from external doc in
code - ensure todo items are doc'd - create doc, to be linked in by
doxygen, such as code examples - tweek look & feel to make more inviting
and mysql'ish " work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="248" name="Driver Developers Manual" note="This document will tie
together other 'internal' doc with introduction/overview/guidence for new developers who
wish to debug issues or otherwise work on the internal code. The target audience
may be MySQL developers or community developers." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="249" name="Build Instructions" note="Instructions on how to build on
each platyform/tool-chain." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work"/>
+ </task>
+ </task>
+ <task id="250" name="Optimization" note="Optimization will not be needed until a
second GA. This, along with some bug fixs, should be the focus for the second
GA. " work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work">
+ <task id="251" name="Plan" note="Need a plan, perhaps before the first GA."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work"/>
+ </task>
+ <task id="252" name="Testing" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="253" name="PostBuild Tests" note="Used by driver developers and those
building driver from source. These are 'smoke' tests of the build and to a very
limited extent the basic features. Tests need to; - exist for
each library. - be properly documented - currently qt based testing
framework " work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="254" name="Community Tests" note="Use unixODBC testing framework.
Contribute tests to unixODBC project. We want to publish results in form
of html on unixODBC web site." work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="255" name="Conformance" note="Various level of ODBC conformance are
tested here." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="256" name="Performance" note="Performance or benchmark tests.
" work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work"/>
+ <task id="257" name="Stability" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="258" name="Regression" note="MySQL C/ODBC v5 regression
tests. To plug into community tests (unixODBC) but kept with C/ODBC source."
work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work"/>
+ </task>
+ <task id="259" name="Differentiation" note="These have been tabled until after
first GA." work="28800" start="20061216T000000Z" end="20061218T170000Z"
work-start="20061218T080000Z" percent-complete="0" priority="0" type="normal"
scheduling="fixed-work">
+ <task id="260" name="Plan" note="A number of ideas exist as per mind map doc.
Need to decide what makes sense and what their priorities are." work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="261" name="Engineering" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="262" name="Integration Into Build System" note="" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="263" name="Community" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="264" name="Support" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="265" name="Bug Fixs" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="266" name="Forums" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="267" name="Mailing List" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="268" name="Blogs" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work"/>
+ </task>
+ <task id="269" name="Release" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work">
+ <task id="270" name="Build Distro" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="271" name="Q&A" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work"/>
+ <task id="272" name="Publish Distro" note="" work="28800"
start="20061216T000000Z" end="20061218T170000Z" work-start="20061218T080000Z"
percent-complete="0" priority="0" type="normal" scheduling="fixed-work"/>
+ <task id="273" name="Announce" note="" work="28800" start="20061216T000000Z"
end="20061218T170000Z" work-start="20061218T080000Z" percent-complete="0" priority="0"
type="normal" scheduling="fixed-work"/>
+ </task>
+ </tasks>
+ <resource-groups>
+ <group id="1" name="Support" admin-name="Tom Basil" admin-phone=""
admin-email=""/>
+ <group id="2" name="Quality Assurance" admin-name="Omer BarNir" admin-phone=""
admin-email=""/>
+ <group id="3" name="Development" admin-name="Mark Matthews" admin-phone=""
admin-email=""/>
+ <group id="4" name="Documentation" admin-name="Stefan Hinz" admin-phone=""
admin-email=""/>
+ <group id="5" name="Engineering" admin-name="Mads Jorgensen " admin-phone=""
admin-email=""/>
+ </resource-groups>
+ <resources>
+ <resource group="3" id="1" name="Mark Matthews" short-name="mark" type="1"
units="0" email="mark@stripped" note="" std-rate="0"/>
+ <resource group="3" id="2" name="Jess Balint" short-name="jbalint" type="1"
units="0" email="jbalint@stripped" note="" std-rate="0"/>
+ <resource group="3" id="3" name="Peter Harvey" short-name="pharvey" type="1"
units="0" email="pharvey@stripped" note="" std-rate="0"/>
+ <resource group="5" id="4" name="Kent Boortz" short-name="kent" type="1" units="0"
email="kent@stripped" note="" std-rate="0"/>
+ <resource group="2" id="5" name="Eric MaLossi" short-name="ericm" type="1"
units="0" email="ericm@stripped" note="" std-rate="0"/>
+ <resource group="4" id="6" name="Martin Brown" short-name="mcbrown" type="1"
units="0" email="mcbrown@stripped" note="" std-rate="0"/>
+ <resource group="1" id="7" name="Tonci Grgin" short-name="tonci" type="1"
units="0" email="tonci@stripped" note="" std-rate="0"/>
+ <resource group="1" id="8" name="Bogdan Degtyariov" short-name="bogdan" type="1"
units="0" email="bogdan@stripped" note="" std-rate="0"/>
+ </resources>
+ <allocations/>
+</project>
| Thread |
|---|
| • Connector/ODBC 5 commit: r755 - in trunk: SDK/C/Library doc/Project | pharvey | 19 Dec |