Added support for catalog functions:

- SQLColumPrivileges() (odbc-sql-column-privileges)
- SQLColumns() (odbc-sql-columns)
- SQLForeignKeys() (odbc-sql-foreign-keys)
- SQLPrimaryKeys() (odbc-sql-primary-keys)
- SQLProcedureColumns() (odbc-sql-proecedure-columns)
- SQLProcedures() (odbc-sql-procedures)
- SQLSpecialColumns() (odbc-sql-special-columns)
- SQLStatistics() (odbc-sql-statistics)
- SQLTablePrivileges() (odbc-sql-table-privileges)
- SQLTables() (odbc-sql-tables)
This commit is contained in:
eknauel 2002-09-04 12:09:35 +00:00
parent 1599136ffa
commit 7ddfc3211c
3 changed files with 729 additions and 17 deletions

View File

@ -1683,6 +1683,529 @@ s48_value odbc_sql_describe_col(s48_value stmt_handle, s48_value column_number)
*
*/
/* Returns a list of columns and associated privileges for one or more tables */
void odbc_sql_column_privileges(s48_value stmt_handle, s48_value catalog_name,
s48_value schema_name, s48_value table_name,
s48_value column_name)
{
SQLHSTMT sh;
SQLCHAR *catalog, *schema, *table, *column;
SQLRETURN retval;
ODBC_DEBUG_PRINTF("odbc_sql_column_privileges\n");
sh = (SQLHSTMT) s48_extract_integer(stmt_handle);
catalog = (SQLCHAR *) s48_extract_string(catalog_name);
schema = (SQLCHAR *) s48_extract_string(schema_name);
table = (SQLCHAR *) s48_extract_string(table_name);
column = (SQLCHAR *) s48_extract_string(column_name);
retval = SQLColumnPrivileges(sh,
catalog, S48_STRING_LENGTH(catalog_name),
schema, S48_STRING_LENGTH(schema_name),
table, S48_STRING_LENGTH(table_name),
column, S48_STRING_LENGTH(column_name));
switch (retval)
{
case SQL_SUCCESS: case SQL_SUCCESS_WITH_INFO:
{
return;
}
case SQL_STILL_EXECUTING:
{
ODBC_RAISE_EXCEPTION("SQLColumnPrivileges returned SQL_STILL_EXECUTING. Not implemented yet");
break;
}
case SQL_ERROR:
{
ODBC_RAISE_EXCEPTION("SQLColumnPrivileges returned SQL_ERROR");
break;
}
case SQL_INVALID_HANDLE:
{
ODBC_RAISE_EXCEPTION("SQLColumnPrivileges got invalid handle");
break;
}
default:
{
ODBC_RAISE_EXCEPTION("SQLColumnPrivileges returned unknown error code");
break;
}
}
}
/* Returns the list of column names in a specified table */
void odbc_sql_columns(s48_value stmt_handle, s48_value catalog_name,
s48_value schema_name, s48_value table_name,
s48_value column_name)
{
SQLHSTMT sh;
SQLCHAR *catalog, *schema, *table, *column;
SQLRETURN retval;
ODBC_DEBUG_PRINTF("odbc_sql_columns\n");
sh = (SQLHSTMT) s48_extract_integer(stmt_handle);
catalog = (SQLCHAR *) s48_extract_string(catalog_name);
schema = (SQLCHAR *) s48_extract_string(schema_name);
table = (SQLCHAR *) s48_extract_string(table_name);
column = (SQLCHAR *) s48_extract_string(column_name);
retval = SQLColumns(sh,
catalog, S48_STRING_LENGTH(catalog_name),
schema, S48_STRING_LENGTH(schema_name),
table, S48_STRING_LENGTH(table_name),
column, S48_STRING_LENGTH(column_name));
switch (retval)
{
case SQL_SUCCESS: case SQL_SUCCESS_WITH_INFO:
{
return;
}
case SQL_STILL_EXECUTING:
{
ODBC_RAISE_EXCEPTION("SQLColumns returned SQL_STILL_EXECUTING. Not implemented yet");
break;
}
case SQL_ERROR:
{
ODBC_RAISE_EXCEPTION("SQLColumns returned SQL_ERROR");
break;
}
case SQL_INVALID_HANDLE:
{
ODBC_RAISE_EXCEPTION("SQLColumns got invalid handle");
break;
}
default:
{
ODBC_RAISE_EXCEPTION("SQLColumns returned unknown error code");
break;
}
}
}
/* Returns a list of columns names that make up foreign keys,
if the exist for a specified table */
void odbc_sql_foreign_keys(s48_value stmt_handle, s48_value pk_catalog_name,
s48_value pk_schema_name, s48_value pk_table_name,
s48_value fk_catalog_name, s48_value fk_schema_name,
s48_value fk_table_name)
{
SQLHSTMT sh;
SQLCHAR *pk_catalog, *pk_schema, *pk_table;
SQLCHAR *fk_catalog, *fk_schema, *fk_table;
SQLRETURN retval;
ODBC_DEBUG_PRINTF("odbc_sql_foreign_keys\n");
sh = (SQLHSTMT) s48_extract_integer(stmt_handle);
pk_catalog = (SQLCHAR *) s48_extract_string(pk_catalog_name);
pk_schema = (SQLCHAR *) s48_extract_string(pk_schema_name);
pk_table = (SQLCHAR *) s48_extract_string(pk_table_name);
fk_catalog = (SQLCHAR *) s48_extract_string(fk_catalog_name);
fk_schema = (SQLCHAR *) s48_extract_string(fk_schema_name);
fk_table = (SQLCHAR *) s48_extract_string(fk_table_name);
retval = SQLForeignKeys(sh,
pk_catalog, S48_STRING_LENGTH(pk_catalog_name),
pk_schema, S48_STRING_LENGTH(pk_schema_name),
pk_table, S48_STRING_LENGTH(pk_table_name),
fk_catalog, S48_STRING_LENGTH(fk_catalog_name),
fk_schema, S48_STRING_LENGTH(fk_schema_name),
fk_table, S48_STRING_LENGTH(fk_table_name));
switch (retval)
{
case SQL_SUCCESS: case SQL_SUCCESS_WITH_INFO:
{
return;
}
case SQL_STILL_EXECUTING:
{
ODBC_RAISE_EXCEPTION("SQLForeignKeys returned SQL_STILL_EXECUTING. Not implemented");
break;
}
case SQL_ERROR:
{
ODBC_RAISE_EXCEPTION("SQLForeignKeys returned SQL_ERROR");
break;
}
case SQL_INVALID_HANDLE:
{
ODBC_RAISE_EXCEPTION("SQLForeignKeys got invalid handle");
break;
}
default:
{
ODBC_RAISE_EXCEPTION("SQLForeignKeys returned unknwon error code");
break;
}
}
}
/* Returns the list of column names that make up the primary key for a table */
void odbc_sql_primary_keys(s48_value stmt_handle, s48_value catalog_name,
s48_value schema_name, s48_value table_name)
{
SQLHSTMT sh;
SQLCHAR *catalog, *schema, *table;
SQLRETURN retval;
ODBC_DEBUG_PRINTF("odbc_sql_primary_keys\n");
sh = (SQLHSTMT) s48_extract_integer(stmt_handle);
catalog = (SQLCHAR *) s48_extract_string(catalog_name);
schema = (SQLCHAR *) s48_extract_string(schema_name);
table = (SQLCHAR *) s48_extract_string(table_name);
retval = SQLPrimaryKeys(sh,
catalog, S48_STRING_LENGTH(catalog_name),
schema, S48_STRING_LENGTH(schema_name),
table, S48_STRING_LENGTH(table_name));
switch (retval)
{
case SQL_SUCCESS: case SQL_SUCCESS_WITH_INFO:
{
return;
}
case SQL_STILL_EXECUTING:
{
ODBC_RAISE_EXCEPTION("SQLPrimaryKeys returned SQL_STILL_EXECUTING. Not implemented");
break;
}
case SQL_ERROR:
{
ODBC_RAISE_EXCEPTION("SQLPrimaryKeys returned SQL_ERROR");
break;
}
case SQL_INVALID_HANDLE:
{
ODBC_RAISE_EXCEPTION("SQLPrimaryKeys got invalid handle");
break;
}
default:
{
ODBC_RAISE_EXCEPTION("SQLPrimaryKeys returned unknown error code");
break;
}
}
}
/* Returns the list of input and output parameters, as well as the columns
that make up the result set for the specified procedures */
void odbc_sql_procedure_columns(s48_value stmt_handle, s48_value catalog_name,
s48_value schema_name, s48_value proc_name,
s48_value column_name)
{
SQLHSTMT sh;
SQLCHAR *catalog, *schema, *proc, *column;
SQLRETURN retval;
ODBC_DEBUG_PRINTF("odbc_sql_procedure_columns\n");
sh = (SQLHSTMT) s48_extract_integer(stmt_handle);
catalog = (SQLCHAR *) s48_extract_string(catalog_name);
schema = (SQLCHAR *) s48_extract_string(schema_name);
proc = (SQLCHAR *) s48_extract_string(proc_name);
column = (SQLCHAR *) s48_extract_string(column_name);
retval = SQLProcedureColumns(sh,
catalog, S48_STRING_LENGTH(catalog_name),
schema, S48_STRING_LENGTH(schema_name),
proc, S48_STRING_LENGTH(proc_name),
column, S48_STRING_LENGTH(column_name));
switch (retval)
{
case SQL_SUCCESS: case SQL_SUCCESS_WITH_INFO:
{
return;
}
case SQL_STILL_EXECUTING:
{
ODBC_RAISE_EXCEPTION("SQLProcedureColumns returned SQL_STILL_EXECUTING. Not implemented");
break;
}
case SQL_ERROR:
{
ODBC_RAISE_EXCEPTION("SQLProcedureColumns returned SQL_ERROR");
break;
}
case SQL_INVALID_HANDLE:
{
ODBC_RAISE_EXCEPTION("SQLProcedureColumns got invalid handle");
break;
}
default:
{
ODBC_RAISE_EXCEPTION("SQLProcedureColumns return unknown error code");
break;
}
}
}
/* Returns the list of procedure names stored in a specific data source. */
void odbc_sql_procedures(s48_value stmt_handle, s48_value catalog_name,
s48_value schema_name, s48_value proc_name)
{
SQLHSTMT sh;
SQLCHAR *catalog, *schema, *proc;
SQLRETURN retval;
ODBC_DEBUG_PRINTF("odbc_sql_procedures\n");
sh = (SQLHSTMT) s48_extract_integer(stmt_handle);
catalog = (SQLCHAR *) s48_extract_string(catalog_name);
schema = (SQLCHAR *) s48_extract_string(schema_name);
proc = (SQLCHAR *) s48_extract_string(proc_name);
retval = SQLProcedures(sh,
catalog, S48_STRING_LENGTH(catalog_name),
schema, S48_STRING_LENGTH(schema_name),
proc, S48_STRING_LENGTH(proc_name));
switch (retval)
{
case SQL_SUCCESS: case SQL_SUCCESS_WITH_INFO:
{
return;
}
case SQL_STILL_EXECUTING:
{
ODBC_RAISE_EXCEPTION("SQLProcedures returned SQL_STILL_EXECUTING. Not implemented");
break;
}
case SQL_ERROR:
{
ODBC_RAISE_EXCEPTION("SQLProcedures returned SQL_ERROR");
break;
}
case SQL_INVALID_HANDLE:
{
ODBC_RAISE_EXCEPTION("SQLProcedures got invalid handle");
break;
}
default:
{
ODBC_RAISE_EXCEPTION("SQLProcedures returned unknown error code");
break;
}
}
}
/* Returns information about the optimal set of columns that uniquely identifies
a row in a specified table, or the columns that are automatically updated
when any value in the row is updated by a transaction */
void odbc_sql_special_columns(s48_value stmt_handle, s48_value identifier_type,
s48_value catalog_name, s48_value schema_name,
s48_value table_name, s48_value scope,
s48_value nullable)
{
SQLHSTMT sh;
SQLCHAR *catalog, *schema, *table;
SQLSMALLINT s, n, it;
SQLRETURN retval;
ODBC_DEBUG_PRINTF("odbc_sql_special_columns\n");
sh = (SQLHSTMT) s48_extract_integer(stmt_handle);
it = (SQLSMALLINT) s48_extract_integer(identifier_type);
catalog = (SQLCHAR *) s48_extract_string(catalog_name);
schema = (SQLCHAR *) s48_extract_string(schema_name);
table = (SQLCHAR *) s48_extract_string(table_name);
s = (SQLSMALLINT) s48_extract_integer(scope);
n = (SQLSMALLINT) s48_extract_integer(nullable);
retval = SQLSpecialColumns(sh, it,
catalog, S48_STRING_LENGTH(catalog_name),
schema, S48_STRING_LENGTH(schema_name),
table, S48_STRING_LENGTH(table_name),
s, n);
switch (retval)
{
case SQL_SUCCESS: case SQL_SUCCESS_WITH_INFO:
{
return;
}
case SQL_STILL_EXECUTING:
{
ODBC_RAISE_EXCEPTION("SQLSpecialColumns returned SQL_STILL_EXECUTING. Not implemented");
break;
}
case SQL_ERROR:
{
ODBC_RAISE_EXCEPTION("SQLSpecialColumns returned SQL_ERROR");
break;
}
case SQL_INVALID_HANDLE:
{
ODBC_RAISE_EXCEPTION("SQLSpecialColumns got invalid handle");
break;
}
default:
{
ODBC_RAISE_EXCEPTION("SQLSpecialColumns returned unknown error code");
break;
}
}
}
/* Returns statistics about a single table and the list of indexes associated
with the table */
void odbc_sql_statistics(s48_value stmt_handle, s48_value catalog_name,
s48_value schema_name, s48_value table_name,
s48_value unique, s48_value reserved)
{
SQLHSTMT sh;
SQLCHAR *catalog, *schema, *table;
SQLSMALLINT u, r;
SQLRETURN retval;
ODBC_DEBUG_PRINTF("odbc_sql_statistics\n");
sh = (SQLHSTMT) s48_extract_integer(stmt_handle);
catalog = (SQLCHAR *) s48_extract_string(catalog_name);
schema = (SQLCHAR *) s48_extract_string(schema_name);
table = (SQLCHAR *) s48_extract_string(table_name);
u = (SQLSMALLINT) s48_extract_integer(unique);
r = (SQLSMALLINT) s48_extract_integer(reserved);
retval = SQLStatistics(sh,
catalog, S48_STRING_LENGTH(catalog_name),
schema, S48_STRING_LENGTH(schema_name),
table, S48_STRING_LENGTH(table_name),
u, r);
switch (retval)
{
case SQL_SUCCESS: case SQL_SUCCESS_WITH_INFO:
{
return;
}
case SQL_STILL_EXECUTING:
{
ODBC_RAISE_EXCEPTION("SQLStatistics returned SQL_STILL_EXECUTING. Not implemented");
break;
}
case SQL_ERROR:
{
ODBC_RAISE_EXCEPTION("SQLStatistics returned SQL_ERROR");
break;
}
case SQL_INVALID_HANDLE:
{
ODBC_RAISE_EXCEPTION("SQLStatistics got invalid handle");
break;
}
default:
{
ODBC_RAISE_EXCEPTION("SQLStatistics returned unknown error code");
break;
}
}
}
/* Returns a list of tables and the privileges associated with each table */
void odbc_sql_table_privileges(s48_value stmt_handle, s48_value catalog_name,
s48_value schema_name, s48_value table_name)
{
SQLHSTMT sh;
SQLCHAR *catalog, *schema, *table;
SQLRETURN retval;
ODBC_DEBUG_PRINTF("odbc_sql_table_privileges\n");
sh = (SQLHSTMT) s48_extract_integer(stmt_handle);
catalog = (SQLCHAR *) s48_extract_string(catalog_name);
schema = (SQLCHAR *) s48_extract_string(schema_name);
table = (SQLCHAR *) s48_extract_string(table_name);
retval = SQLTablePrivileges(sh,
catalog, S48_STRING_LENGTH(catalog_name),
schema, S48_STRING_LENGTH(schema_name),
table, S48_STRING_LENGTH(table_name));
switch (retval)
{
case SQL_SUCCESS: case SQL_SUCCESS_WITH_INFO:
{
return;
}
case SQL_STILL_EXECUTING:
{
ODBC_RAISE_EXCEPTION("SQLTablePrivileges returned SQL_STILL_EXECUTING. Not implemented");
break;
}
case SQL_ERROR:
{
ODBC_RAISE_EXCEPTION("SQLTablePrivileges returned SQL_ERROR");
break;
}
case SQL_INVALID_HANDLE:
{
ODBC_RAISE_EXCEPTION("SQLTablePrivileges got invalid handle");
break;
}
default:
{
ODBC_RAISE_EXCEPTION("SQLTablePrivileges returned unknown error code");
break;
}
}
}
/* Returns the list of table names stored in a specific data source */
void odbc_sql_tables(s48_value stmt_handle, s48_value catalog_name,
s48_value schema_name, s48_value table_name,
s48_value table_type)
{
SQLHSTMT sh;
SQLCHAR *catalog, *schema, *tablen, *tablet;
SQLRETURN retval;
ODBC_DEBUG_PRINTF("odbc_sql_tables\n");
retval = SQLTables(sh,
catalog, S48_STRING_LENGTH(catalog_name),
schema, S48_STRING_LENGTH(schema_name),
tablen, S48_STRING_LENGTH(table_name),
tablet, S48_STRING_LENGTH(table_type));
switch (retval)
{
case SQL_SUCCESS: case SQL_SUCCESS_WITH_INFO:
{
return;
}
case SQL_STILL_EXECUTING:
{
ODBC_RAISE_EXCEPTION("SQLTables returned SQL_STILL_EXECUTING. Not implemented");
break;
}
case SQL_ERROR:
{
ODBC_RAISE_EXCEPTION("SQLTables returned SQL_ERROR");
break;
}
case SQL_INVALID_HANDLE:
{
ODBC_RAISE_EXCEPTION("SQLTables got invalid handle");
break;
}
default:
{
ODBC_RAISE_EXCEPTION("SQLTables returned unknown error code");
break;
}
}
}
/*
*
* PART 9
@ -2225,6 +2748,16 @@ void s48_init_odbc(void)
S48_EXPORT_FUNCTION(odbc_sql_describe_col);
/* PART 8 */
S48_EXPORT_FUNCTION(odbc_sql_column_privileges);
S48_EXPORT_FUNCTION(odbc_sql_columns);
S48_EXPORT_FUNCTION(odbc_sql_foreign_keys);
S48_EXPORT_FUNCTION(odbc_sql_primary_keys);
S48_EXPORT_FUNCTION(odbc_sql_procedure_columns);
S48_EXPORT_FUNCTION(odbc_sql_procedures);
S48_EXPORT_FUNCTION(odbc_sql_special_columns);
S48_EXPORT_FUNCTION(odbc_sql_statistics);
S48_EXPORT_FUNCTION(odbc_sql_table_privileges);
S48_EXPORT_FUNCTION(odbc_sql_tables);
/* PART 9 */
S48_EXPORT_FUNCTION(odbc_sql_free_statement);

View File

@ -150,40 +150,40 @@ s48_value odbc_sql_get_type_info(s48_value stmt_handle, s48_value data_type);
*/
s48_value odbc_sql_set_connect_attr_int(s48_value conn_handle,
s48_value attribute,
s48_value value);
s48_value attribute,
s48_value value);
s48_value odbc_sql_set_connect_attr_string(s48_value conn_handle,
s48_value attribute,
s48_value value);
s48_value attribute,
s48_value value);
s48_value odbc_sql_get_connect_attr_string(s48_value conn_handle,
s48_value attribute);
s48_value attribute);
s48_value odbc_sql_get_connect_attr_int(s48_value conn_handle,
s48_value attribute);
s48_value attribute);
s48_value odbc_sql_set_env_attr_int(s48_value env_handle,
s48_value attribute,
s48_value value);
s48_value attribute,
s48_value value);
s48_value odbc_sql_get_env_attr_int(s48_value env_handle,
s48_value attribute,
s48_value value);
s48_value attribute,
s48_value value);
s48_value odbc_sql_set_stmt_attr_int(s48_value stmt_handle,
s48_value attribute,
s48_value value);
s48_value attribute,
s48_value value);
s48_value odbc_sql_set_stmt_attr_string(s48_value stmt_handle,
s48_value attribute,
s48_value value);
s48_value attribute,
s48_value value);
s48_value odbc_sql_get_stmt_attr_int(s48_value stmt_handle,
s48_value attribute);
s48_value attribute);
s48_value odbc_sql_get_stmt_attr_string(s48_value stmt_handle,
s48_value attribute);
s48_value attribute);
/*
*
@ -254,6 +254,60 @@ s48_value odbc_sql_describe_col(s48_value stmt_handle, s48_value column_number);
*
*/
/* Returns a list of columns and associated privileges for one or more tables */
void odbc_sql_column_privileges(s48_value stmt_handle, s48_value catalog_name,
s48_value schema_name, s48_value table_name,
s48_value column_name);
/* Returns the list of column names in a specified table */
void odbc_sql_columns(s48_value stmt_handle, s48_value catalog_name,
s48_value schema_name, s48_value table_name,
s48_value column_name);
/* Returns a list of columns names that make up foreign keys,
if the exist for a specified table */
void odbc_sql_foreign_keys(s48_value stmt_handle, s48_value pk_catalog_name,
s48_value pk_schema_name, s48_value pk_table_name,
s48_value fk_catalog_name, s48_value fk_schema_name,
s48_value fk_table_name);
/* Returns the list of column names that make up the primary key for a table */
void odbc_sql_primary_keys(s48_value stmt_handle, s48_value catalog_name,
s48_value schema_name, s48_value table_name);
/* Returns the list of input and output parameters, as well as the columns
that make up the result set for the specified procedures */
void odbc_sql_procedure_columns(s48_value stmt_handle, s48_value catalog_name,
s48_value schema_name, s48_value proc_name,
s48_value column_name);
/* Returns the list of procedure names stored in a specific data source. */
void odbc_sql_procedures(s48_value stmt_handle, s48_value catalog_name,
s48_value schema_name, s48_value proc_name);
/* Returns information about the optimal set of columns that uniquely identifies
a row in a specified table, or the columns that are automatically updated
when any value in the row is updated by a transaction */
void odbc_sql_special_columns(s48_value stmt_handle, s48_value identifier_type,
s48_value catalog_name, s48_value schema_name,
s48_value table_name, s48_value scope,
s48_value nullable);
/* Returns statistics about a single table and the list of indexes associated
with the table */
void odbc_sql_statistics(s48_value stmt_handle, s48_value catalog_name,
s48_value schema_name, s48_value table_name,
s48_value unique, s48_value reserved);
/* Returns a list of tables and the privileges associated with each table */
void odbc_sql_table_privileges(s48_value stmt_handle, s48_value catalog_name,
s48_value schema_name, s48_value table_name);
/* Returns the list of table names stored in a specific data source */
void odbc_sql_tables(s48_value stmt_handle, s48_value catalog_name,
s48_value schema_name, s48_value table_name,
s48_value table_type);
/*
*
* PART 9

View File

@ -367,6 +367,27 @@
(define sql-datatype-time 92)
(define sql-datatype-timestamp 93)
; possible identifier-type arguments for SQLSpecialColumns() (odbc-sql-special-columns)
(define sql-best-rowid 1)
(define sql-rowver 2)
; possible scope arguments for SQLSpecialColumns() (odbc-sql-special-columns)
(define sql-scope-currow 0)
(define sql-scope-transaction 1)
(define sql-scope-session 2)
; possible nullable arguments for SQLSpecialColumns() (odbc-sql-special-columns)
(define sql-no-nulls 0)
(define sql-nullable 1)
; possible unique arguments for SQLStatistics() (odbc-sql-statistics)
(define sql-index-unique 0)
(define sql-index-all 1)
; possible reserved arguments for SQLStatistics() (odbc-sql-statistics)
(define sql-ensure 1)
(define sql-quick 0)
;;; ODBC return values
(define sql-error -1)
(define sql-success 0)
@ -649,7 +670,111 @@
;;; PART 8
;;; PART 9
(define (odbc-sql-column-privileges stmt-handle catalog-name schema-name
table-name column-name)
(check-arg statement-handle? stmt-handle odbc-sql-column-privileges)
(odbc-sql-column-privileges-internal (statement-handle-handle stmt-handle)
catalog-name schema-name
table-name column-name))
(import-lambda-definition odbc-sql-column-privileges-internal
(stmt-handle catalog-name schema-name table-name column-name)
"odbc_sql_column_privileges")
(define (odbc-sql-columns stmt-handle catalog-name schema-name
table-name column-name)
(check-arg statement-handle? stmt-handle odbc-sql-columns)
(odbc-sql-columns-internal (statement-handle-handle stmt-handle)
catalog-name schema-name table-name column-name))
(import-lambda-definition odbc-sql-columns-internal
(stmt-handle catalog-name schema-name table-name column-name)
"odbc_sql_columns")
(define (odbc-sql-foreign-keys stmt-handle
pk-catalog-name pk-schema-name pk-table-name
fk-catalog-name fk-schema-name fk-table-name)
(check-arg statement-handle? stmt-handle odbc-sql-foreign-keys)
(odbc-sql-foreign-keys-internal (statement-handle-handle stmt-handle)
pk-catalog-name pk-schema-name pk-table-name
fk-catalog-name fk-schema-name fk-table-name))
(import-lambda-definition odbc-sql-foreign-keys-internal
(stmt-handle
pk-catalog-name pk-schema-name pk-table-name
fk-catalog-name fk-schema-name fk-table-name)
"odbc_sql_foreign_keys")
(define (odbc-sql-primary-keys stmt-handle catalog-name schema-name table-name)
(check-arg statement-handle? stmt-handle odbc-sql-primary-keys)
(odbc-sql-primary-keys-internal (statement-handle-handle stmt-handle)
catalog-name schema-name table-name))
(import-lambda-definition odbc-sql-primary-keys-internal
(stmt-handle catalog-name schema-name table-name)
"odbc_sql_primary_keys")
(define (odbc-sql-procedure-columns stmt-handle catalog-name schema-name
proc-name column-name)
(check-arg statement-handle? stmt-handle odbc-sql-procedure-columns)
(odbc-sql-procedure-columns-internal (statement-handle-handle stmt-handle)
catalog-name schema-name proc-name column-name))
(import-lambda-definition odbc-sql-procedure-columns-internal
(stmt-handle catalog-name schema-name proc-name column-name)
"odbc_sql_procedure_columns")
(define (odbc-sql-procedures stmt-handle catalog-name schema-name proc-name)
(check-arg statement-handle? stmt-handle odbc-sql-procedures)
(odbc-sql-procedures-internal (statement-handle-handle stmt-handle)
catalog-name schema-name proc-name))
(import-lambda-definition odbc-sql-procedures-internal
(stmt-handle catalog-name schema-name proc-name)
"odbc_sql_procedures")
(define (odbc-sql-special-columns stmt-handle identifier-type catalog-name
schema-name table-name scope nullable)
(check-arg statement-handle? stmt-handle odbc-sql-special-columns)
(odbc-sql-special-columns-internal (statement-handle-handle stmt-handle)
identifier-type catalog-name
schema-name table-name schema-name nullable))
(import-lambda-definition odbc-sql-special-columns-internal
(stmt-handle identifier-type catalog-name
schema-name table-name scope nullable?)
"odbc_sql_special_columns")
(define (odbc-sql-statistics stmt-handle catalog-name schema-name table-name
unique reserved)
(check-arg statement-handle? stmt-handle odbc-sql-statistics)
(odbc-sql-statistics-internal (statement-handle-handle stmt-handle)
catalog-name schema-name table-name unique reserved))
(import-lambda-definition odbc-sql-statistics-internal
(stmt-handle catalog-name schema-name table-name
unique reserved)
"odbc_sql_statistics")
(define (odbc-sql-table-privileges stmt-handle catalog-name schema-name table-name)
(check-arg statement-handle? stmt-handle odbc-sql-table-privileges)
(odbc-sql-table-privileges-internal (statement-handle-handle stmt-handle)
catalog-name schema-name table-name))
(import-lambda-definition odbc-sql-table-privileges-internal
(stmt-handle catalog-name schema-name table-name)
"odbc_sql_table_privileges")
(define (odbc-sql-tables stmt-handle catalog-name schema-name table-name table-type)
(check-arg statement-handle? stmt-handle odbc-sql-tables)
(odbc-sql-tables-internal (statement-handle-handle stmt-handle)
catalog-name schema-name table-name table-type))
(import-lambda-definition odbc-sql-tables-internal
(stmt-handle catalog-name schema-name table-type table-type)
"odbc_sql_tables")
;;; part 9
(define (odbc-sql-free-statement stmt-handle option)
(check-arg statement-handle? stmt-handle odbc-sql-free-statement)