Bug #27353 MyODBC 3/ ADO server side static cursor not supporting required functions
Submitted: 21 Mar 2007 18:42 Modified: 21 Mar 2007 18:43
Reporter: Erica Moss Email Updates:
Status: Verified Impact on me:
Category:Connector / ODBC Severity:S3 (Non-critical)
Version:3.51.14, 5.1.8 OS:Windows (XP sp2)
Assigned to: Assigned Account CPU Architecture:Any
Tags: odbc51_postga

[21 Mar 2007 18:42] Erica Moss
According to MS:
For a Recordset of this CursorType = adOpenStatic 
The Supports method must return True for all of these constants:
 adBookmark, adHoldRecords, adMovePrevious, adResync

Of these, the only one which seems to be working is adMovePrevious.  This means several key functions such as cloning and resync will not work

How to repeat:
Private Sub Test()
    On Error GoTo EH
    Dim strSQL As String
    Dim strConn As String
    Dim connection1 As ADODB.Connection
    Dim recset1 As ADODB.Recordset
    Dim recset2 As ADODB.Recordset

    Set connection1 = New ADODB.Connection
    Set recset1 = New ADODB.Recordset
    strConn = "DRIVER={MySQL ODBC 3.51 Driver};" & _
        "SERVER=localhost;DATABASE=ado" & _
    ' open connection
    connection1.ConnectionString = strConn
    connection1.CursorLocation = adUseServer
   ' open recordset
    strSQL = "Select 1"
    recset1.Open strSQL, connection1, adOpenStatic, _
             adLockOptimistic, adCmdText

    MsgBox "CurType: " & recset1.CursorType
    MsgBox "supports bookmarks: " & recset1.Supports(adBookmark)
    MsgBox "supports hold records:" & recset1.Supports(adHoldRecords)
    MsgBox "supports move previous:" & recset1.Supports(adMovePrevious)
    MsgBox "supports resync:" & recset1.Supports(adResync)

    '  It won't make it here
    Set recset2 = recset1.Clone

    Set recset1 = Nothing
    Set recset2 = Close
    Set connection1 = Nothing
    Exit Sub

    MsgBox Err.Number & ":" & Err.Description
End Sub