>BUG_FIXES:
>
>1. Fix all info functions to check whether the table is a view.
>
>2. Fix for Access 2000 (unconfirmed)
>
>3. Change most statement errors to General Error S1000 instead of 08S01
> (communication link failure).
Byron,
Number 3 is still causing trouble.
from statement.h
#define STMT_BAD_ERROR 27
from environ.c
case STMT_BAD_ERROR: strcpy(szSqlState, "08S01"); // communication link failure
This is the SQLSTATE the driver is returning when there is a failure from
attempting to duplicate a unique index. It appears to be coming from
SC_execute() in statement.c. The following code is executed if there is not
a result set returned (like from a select). It looks like there needs to be
more checking for other types of non-result set type failures. Create is
the only action looked at here, otherwise it's lumped in with the comm link
failures (STMT_BAD_ERROR).
} else { /* Bad Error -- The error message will be in the Connection */
if (self->statement_type == STMT_TYPE_CREATE) { self->errornumber = STMT_CREATE_TABLE_ERROR; self->errormsg =
"Errorcreating the table"; /* This would allow the table to already exists, thus appending rows to it.
BUT,if the table didn't have the same attributes, it would fail. return SQL_SUCCESS_WITH_INFO; */}else
{ self->errornumber = STMT_BAD_ERROR; self->errormsg = "Error while executing the query";}
Ken