FreeTDS API
Loading...
Searching...
No Matches
catalog.c File Reference

ODBC catalog functions (SQLTables, SQLColumns and similar) and SQLGetTypeInfo. More...

#include <config.h>
#include <stdarg.h>
#include <stdio.h>
#include <assert.h>
#include <freetds/utils.h>
#include <freetds/odbc.h>
#include <freetds/utils/string.h>
#include <freetds/utils/ascii.h>
#include <odbcss.h>
#include "sqlwparams.h"
#include "catalog_export.h"
Include dependency graph for catalog.c:

Functions

static void odbc_col_setname (TDS_STMT *stmt, int colpos, const char *name)
 ODBC_FUNC (SQLColumnPrivileges,(P(SQLHSTMT, hstmt), PCHARIN(CatalogName, SQLSMALLINT), PCHARIN(SchemaName, SQLSMALLINT), PCHARIN(TableName, SQLSMALLINT), PCHARIN(ColumnName, SQLSMALLINT) WIDE))
 ODBC_FUNC (SQLColumns,(P(SQLHSTMT, hstmt), PCHARIN(CatalogName, SQLSMALLINT), PCHARIN(SchemaName, SQLSMALLINT), PCHARIN(TableName, SQLSMALLINT), WIDE))
 SQLColumns.
 ODBC_FUNC (SQLForeignKeys,(P(SQLHSTMT, hstmt), PCHARIN(PkCatalogName, SQLSMALLINT), PCHARIN(PkSchemaName, SQLSMALLINT), PCHARIN(PkTableName, SQLSMALLINT), PCHARIN(FkCatalogName, SQLSMALLINT), PCHARIN(FkSchemaName, SQLSMALLINT), PCHARIN(FkTableName, SQLSMALLINT) WIDE))
 ODBC_FUNC (SQLPrimaryKeys,(P(SQLHSTMT, hstmt), PCHARIN(CatalogName, SQLSMALLINT), PCHARIN(SchemaName, SQLSMALLINT), PCHARIN(TableName, SQLSMALLINT) WIDE))
 ODBC_FUNC (SQLProcedureColumns,(P(SQLHSTMT, hstmt), PCHARIN(CatalogName, SQLSMALLINT), PCHARIN(SchemaName, SQLSMALLINT), PCHARIN(ProcName, SQLSMALLINT), PCHARIN(ColumnName, SQLSMALLINT) WIDE))
 ODBC_FUNC (SQLProcedures,(P(SQLHSTMT, hstmt), PCHARIN(CatalogName, SQLSMALLINT), PCHARIN(SchemaName, SQLSMALLINT), PCHARIN(ProcName, SQLSMALLINT) WIDE))
 ODBC_FUNC (SQLSpecialColumns,(P(SQLHSTMT, hstmt), P(SQLUSMALLINT, fColType), PCHARIN(CatalogName, SQLSMALLINT), PCHARIN(SchemaName, SQLSMALLINT), PCHARIN(TableName, SQLSMALLINT), P(SQLUSMALLINT, fScope), P(SQLUSMALLINT, fNullable) WIDE))
 ODBC_FUNC (SQLStatistics,(P(SQLHSTMT, hstmt), PCHARIN(CatalogName, SQLSMALLINT), PCHARIN(SchemaName, SQLSMALLINT), PCHARIN(TableName, SQLSMALLINT), P(SQLUSMALLINT, fUnique), P(SQLUSMALLINT, fAccuracy) WIDE))
 ODBC_FUNC (SQLTablePrivileges,(P(SQLHSTMT, hstmt), PCHARIN(CatalogName, SQLSMALLINT), PCHARIN(SchemaName, SQLSMALLINT), PCHARIN(TableName, SQLSMALLINT) WIDE))
 ODBC_FUNC (SQLTables,(P(SQLHSTMT, hstmt), PCHARIN(CatalogName, SQLSMALLINT), PCHARIN(SchemaName, SQLSMALLINT), PCHARIN(TableName, SQLSMALLINT), PCHARIN(TableType, SQLSMALLINT) WIDE))
static size_t odbc_quote_metadata (TDS_DBC *dbc, char type, char *dest, DSTR *dstr)
static SQLRETURN odbc_stat_execute (TDS_STMT *stmt _WIDE, const char *begin, int nparams,...)
static void odbc_upper_column_names (TDS_STMT *stmt)
SQLRETURN ODBC_PUBLIC ODBC_API SQLGetTypeInfo (SQLHSTMT hstmt, SQLSMALLINT fSqlType)

Detailed Description

ODBC catalog functions (SQLTables, SQLColumns and similar) and SQLGetTypeInfo.

Function Documentation

◆ ODBC_FUNC()

ODBC_FUNC ( SQLColumns ,
(P(SQLHSTMT, hstmt), PCHARIN(CatalogName, SQLSMALLINT), PCHARIN(SchemaName, SQLSMALLINT), PCHARIN(TableName, SQLSMALLINT), WIDE)  )

SQLColumns.

Return column information for a table or view. This is mapped to a call to sp_columns which - lucky for us - returns the exact result set we need.

exec sp_columns [ @table_name = ] object [ , [ @table_owner = ] owner ] [ , [ @table_qualifier = ] qualifier ] [ , [ @column_name = ] column ] [ , [ @ODBCVer = ] ODBCVer ]