catalog.c
来自「A*算法 A*算法 A*算法 A*算法A*算法A*算法」· C语言 代码 · 共 988 行 · 第 1/2 页
C
988 行
{
sqlstat = en_S1090;
break;
}
retcode = _iodbcdm_cata_state_ok (hstmt, en_ColumnPrivileges);
if (retcode != SQL_SUCCESS)
{
return SQL_ERROR;
}
hproc = _iodbcdm_getproc (pstmt->hdbc, en_ColumnPrivileges);
if (hproc == SQL_NULL_HPROC)
{
sqlstat = en_IM001;
break;
}
sqlstat = en_00000;
if (1) /* turn off solaris warning message */
break;
}
if (sqlstat != en_00000)
{
PUSHSQLERR (pstmt->herr, sqlstat);
return SQL_ERROR;
}
CALL_DRIVER (pstmt->hdbc, retcode, hproc, en_ColumnPrivileges, (
pstmt->dhstmt,
szTableQualifier,
cbTableQualifier,
szTableOwner,
cbTableOwner,
szTableName,
cbTableName,
szColumnName,
cbColumnName))
return _iodbcdm_cata_state_tr (hstmt, en_ColumnPrivileges, retcode);
}
RETCODE SQL_API
SQLColumns (
HSTMT hstmt,
UCHAR FAR * szTableQualifier,
SWORD cbTableQualifier,
UCHAR FAR * szTableOwner,
SWORD cbTableOwner,
UCHAR FAR * szTableName,
SWORD cbTableName,
UCHAR FAR * szColumnName,
SWORD cbColumnName)
{
STMT_t FAR *pstmt = (STMT_t FAR *) hstmt;
HPROC hproc = SQL_NULL_HPROC;
RETCODE retcode;
int sqlstat = en_00000;
if (hstmt == SQL_NULL_HSTMT || pstmt->hdbc == SQL_NULL_HDBC)
{
return SQL_INVALID_HANDLE;
}
for (;;)
{
if ((cbTableQualifier < 0 && cbTableQualifier != SQL_NTS)
|| (cbTableOwner < 0 && cbTableOwner != SQL_NTS)
|| (cbTableName < 0 && cbTableName != SQL_NTS)
|| (cbColumnName < 0 && cbColumnName != SQL_NTS))
{
sqlstat = en_S1090;
break;
}
retcode = _iodbcdm_cata_state_ok (hstmt, en_Columns);
if (retcode != SQL_SUCCESS)
{
return SQL_ERROR;
}
hproc = _iodbcdm_getproc (pstmt->hdbc, en_Columns);
if (hproc == SQL_NULL_HPROC)
{
sqlstat = en_IM001;
break;
}
sqlstat = en_00000;
if (1) /* turn off solaris warning message */
break;
}
if (sqlstat != en_00000)
{
PUSHSQLERR (pstmt->herr, sqlstat);
return SQL_ERROR;
}
CALL_DRIVER (pstmt->hdbc, retcode, hproc, en_Columns, (
pstmt->dhstmt,
szTableQualifier,
cbTableQualifier,
szTableOwner,
cbTableOwner,
szTableName,
cbTableName,
szColumnName,
cbColumnName))
return _iodbcdm_cata_state_tr (hstmt, en_Columns, retcode);
}
RETCODE SQL_API
SQLForeignKeys (
HSTMT hstmt,
UCHAR FAR * szPkTableQualifier,
SWORD cbPkTableQualifier,
UCHAR FAR * szPkTableOwner,
SWORD cbPkTableOwner,
UCHAR FAR * szPkTableName,
SWORD cbPkTableName,
UCHAR FAR * szFkTableQualifier,
SWORD cbFkTableQualifier,
UCHAR FAR * szFkTableOwner,
SWORD cbFkTableOwner,
UCHAR FAR * szFkTableName,
SWORD cbFkTableName)
{
STMT_t FAR *pstmt = (STMT_t FAR *) hstmt;
HPROC hproc = SQL_NULL_HPROC;
RETCODE retcode;
int sqlstat = en_00000;
if (hstmt == SQL_NULL_HSTMT || pstmt->hdbc == SQL_NULL_HDBC)
{
return SQL_INVALID_HANDLE;
}
for (;;)
{
if ((cbPkTableQualifier < 0 && cbPkTableQualifier != SQL_NTS)
|| (cbPkTableOwner < 0 && cbPkTableOwner != SQL_NTS)
|| (cbPkTableName < 0 && cbPkTableName != SQL_NTS)
|| (cbFkTableQualifier < 0 && cbFkTableQualifier != SQL_NTS)
|| (cbFkTableOwner < 0 && cbFkTableOwner != SQL_NTS)
|| (cbFkTableName < 0 && cbFkTableName != SQL_NTS))
{
sqlstat = en_S1090;
break;
}
retcode = _iodbcdm_cata_state_ok (hstmt, en_ForeignKeys);
if (retcode != SQL_SUCCESS)
{
return SQL_ERROR;
}
hproc = _iodbcdm_getproc (pstmt->hdbc, en_ForeignKeys);
if (hproc == SQL_NULL_HPROC)
{
sqlstat = en_IM001;
break;
}
sqlstat = en_00000;
if (1) /* turn off solaris warning message */
break;
}
if (sqlstat != en_00000)
{
PUSHSQLERR (pstmt->herr, sqlstat);
return SQL_ERROR;
}
CALL_DRIVER (pstmt->hdbc, retcode, hproc, en_ForeignKeys, (
pstmt->dhstmt,
szPkTableQualifier,
cbPkTableQualifier,
szPkTableOwner,
cbPkTableOwner,
szPkTableName,
cbPkTableName,
szFkTableQualifier,
cbFkTableQualifier,
szFkTableOwner,
cbFkTableOwner,
szFkTableName,
cbFkTableName))
return _iodbcdm_cata_state_tr (hstmt, en_ForeignKeys, retcode);
}
RETCODE SQL_API
SQLPrimaryKeys (
HSTMT hstmt,
UCHAR FAR * szTableQualifier,
SWORD cbTableQualifier,
UCHAR FAR * szTableOwner,
SWORD cbTableOwner,
UCHAR FAR * szTableName,
SWORD cbTableName)
{
STMT_t FAR *pstmt = (STMT_t FAR *) hstmt;
HPROC hproc = SQL_NULL_HPROC;
RETCODE retcode;
int sqlstat = en_00000;
if (hstmt == SQL_NULL_HSTMT || pstmt->hdbc == SQL_NULL_HDBC)
{
return SQL_INVALID_HANDLE;
}
for (;;)
{
if ((cbTableQualifier < 0 && cbTableQualifier != SQL_NTS)
|| (cbTableOwner < 0 && cbTableOwner != SQL_NTS)
|| (cbTableName < 0 && cbTableName != SQL_NTS))
{
sqlstat = en_S1090;
break;
}
retcode = _iodbcdm_cata_state_ok (hstmt, en_PrimaryKeys);
if (retcode != SQL_SUCCESS)
{
return SQL_ERROR;
}
hproc = _iodbcdm_getproc (pstmt->hdbc, en_PrimaryKeys);
if (hproc == SQL_NULL_HPROC)
{
sqlstat = en_IM001;
break;
}
sqlstat = en_00000;
if (1) /* turn off solaris warning message */
break;
}
if (sqlstat != en_00000)
{
PUSHSQLERR (pstmt->herr, sqlstat);
return SQL_ERROR;
}
CALL_DRIVER (pstmt->hdbc, retcode, hproc, en_PrimaryKeys, (
pstmt->dhstmt,
szTableQualifier,
cbTableQualifier,
szTableOwner,
cbTableOwner,
szTableName,
cbTableName))
return _iodbcdm_cata_state_tr (hstmt, en_PrimaryKeys, retcode);
}
RETCODE SQL_API
SQLProcedureColumns (
HSTMT hstmt,
UCHAR FAR * szProcQualifier,
SWORD cbProcQualifier,
UCHAR FAR * szProcOwner,
SWORD cbProcOwner,
UCHAR FAR * szProcName,
SWORD cbProcName,
UCHAR FAR * szColumnName,
SWORD cbColumnName)
{
STMT_t FAR *pstmt = (STMT_t FAR *) hstmt;
HPROC hproc = SQL_NULL_HPROC;
RETCODE retcode;
int sqlstat = en_00000;
if (hstmt == SQL_NULL_HSTMT || pstmt->hdbc == SQL_NULL_HDBC)
{
return SQL_INVALID_HANDLE;
}
for (;;)
{
if ((cbProcQualifier < 0 && cbProcQualifier != SQL_NTS)
|| (cbProcOwner < 0 && cbProcOwner != SQL_NTS)
|| (cbProcName < 0 && cbProcName != SQL_NTS)
|| (cbColumnName < 0 && cbColumnName != SQL_NTS))
{
sqlstat = en_S1090;
break;
}
retcode = _iodbcdm_cata_state_ok (hstmt, en_ProcedureColumns);
if (retcode != SQL_SUCCESS)
{
return SQL_ERROR;
}
hproc = _iodbcdm_getproc (pstmt->hdbc, en_ProcedureColumns);
if (hproc == SQL_NULL_HPROC)
{
sqlstat = en_IM001;
break;
}
sqlstat = en_00000;
if (1) /* turn off solaris warning message */
break;
}
if (sqlstat != en_00000)
{
PUSHSQLERR (pstmt->herr, sqlstat);
return SQL_ERROR;
}
CALL_DRIVER (pstmt->hdbc, retcode, hproc, en_ProcedureColumns, (
pstmt->dhstmt,
szProcQualifier,
cbProcQualifier,
szProcOwner,
cbProcOwner,
szProcName,
cbProcName,
szColumnName,
cbColumnName))
return _iodbcdm_cata_state_tr (hstmt, en_ProcedureColumns, retcode);
}
RETCODE SQL_API
SQLProcedures (
HSTMT hstmt,
UCHAR FAR * szProcQualifier,
SWORD cbProcQualifier,
UCHAR FAR * szProcOwner,
SWORD cbProcOwner,
UCHAR FAR * szProcName,
SWORD cbProcName)
{
STMT_t FAR *pstmt = (STMT_t FAR *) hstmt;
HPROC hproc = SQL_NULL_HPROC;
RETCODE retcode;
int sqlstat = en_00000;
if (hstmt == SQL_NULL_HSTMT || pstmt->hdbc == SQL_NULL_HDBC)
{
return SQL_INVALID_HANDLE;
}
for (;;)
{
if ((cbProcQualifier < 0 && cbProcQualifier != SQL_NTS)
|| (cbProcOwner < 0 && cbProcOwner != SQL_NTS)
|| (cbProcName < 0 && cbProcName != SQL_NTS))
{
sqlstat = en_S1090;
break;
}
retcode = _iodbcdm_cata_state_ok (hstmt, en_Procedures);
if (retcode != SQL_SUCCESS)
{
return SQL_ERROR;
}
hproc = _iodbcdm_getproc (pstmt->hdbc, en_Procedures);
if (hproc == SQL_NULL_HPROC)
{
sqlstat = en_IM001;
break;
}
sqlstat = en_00000;
if (1) /* turn off solaris warning message */
break;
}
if (sqlstat != en_00000)
{
PUSHSQLERR (pstmt->herr, sqlstat);
return SQL_ERROR;
}
CALL_DRIVER (pstmt->hdbc, retcode, hproc, en_Procedures, (
pstmt->dhstmt,
szProcQualifier,
cbProcQualifier,
szProcOwner,
cbProcOwner,
szProcName,
cbProcName))
return _iodbcdm_cata_state_tr (hstmt, en_Procedures, retcode);
}
RETCODE SQL_API
SQLTablePrivileges (
HSTMT hstmt,
UCHAR FAR * szTableQualifier,
SWORD cbTableQualifier,
UCHAR FAR * szTableOwner,
SWORD cbTableOwner,
UCHAR FAR * szTableName,
SWORD cbTableName)
{
STMT_t FAR *pstmt = (STMT_t FAR *) hstmt;
HPROC hproc = SQL_NULL_HPROC;
RETCODE retcode;
int sqlstat = en_00000;
if (hstmt == SQL_NULL_HSTMT || pstmt->hdbc == SQL_NULL_HDBC)
{
return SQL_INVALID_HANDLE;
}
for (;;)
{
if ((cbTableQualifier < 0 && cbTableQualifier != SQL_NTS)
|| (cbTableOwner < 0 && cbTableOwner != SQL_NTS)
|| (cbTableName < 0 && cbTableName != SQL_NTS))
{
sqlstat = en_S1090;
break;
}
retcode = _iodbcdm_cata_state_ok (hstmt, en_TablePrivileges);
if (retcode != SQL_SUCCESS)
{
return SQL_ERROR;
}
hproc = _iodbcdm_getproc (pstmt->hdbc, en_TablePrivileges);
if (hproc == SQL_NULL_HPROC)
{
sqlstat = en_IM001;
break;
}
sqlstat = en_00000;
if (1) /* turn off solaris warning message */
break;
}
if (sqlstat != en_00000)
{
PUSHSQLERR (pstmt->herr, sqlstat);
return SQL_ERROR;
}
CALL_DRIVER (pstmt->hdbc, retcode, hproc, en_TablePrivileges,
(pstmt->dhstmt, szTableQualifier, cbTableQualifier, szTableOwner,
cbTableOwner, szTableName, cbTableName))
return _iodbcdm_cata_state_tr (hstmt, en_TablePrivileges, retcode);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?