Changeset: daee50128ff3 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=daee50128ff3 Modified Files: clients/odbc/driver/SQLProcedures.c Branch: default Log Message:
We need to distinguish functions and procedures using the type column. diffs (48 lines): diff --git a/clients/odbc/driver/SQLProcedures.c b/clients/odbc/driver/SQLProcedures.c --- a/clients/odbc/driver/SQLProcedures.c +++ b/clients/odbc/driver/SQLProcedures.c @@ -122,23 +122,28 @@ SQLProcedures_(ODBCStmt *stmt, assert(query); query_end = query; +/* see sql_catalog.h */ +#define F_FUNC 1 +#define F_PROC 2 +#define F_UNION 5 snprintf(query_end, 1000, - "select \"e\".\"value\" as \"procedure_cat\"," - " \"s\".\"name\" as \"procedure_schem\"," - " \"p\".\"name\" as \"procedure_name\"," - " 0 as \"num_input_params\"," - " 0 as \"num_output_params\"," - " 0 as \"num_result_sets\"," - " cast('' as varchar(1)) as \"remarks\"," - " cast(case when \"a\".\"name\" is null then %d else %d end as smallint) as \"procedure_type\"" - "from \"sys\".\"schemas\" as \"s\"," - " \"sys\".\"env\"() as \"e\"," - " \"sys\".\"functions\" as \"p\" left outer join \"sys\".\"args\" as \"a\"" - " on \"p\".\"id\" = \"a\".\"func_id\" and \"a\".\"name\" = 'result'" - "where \"p\".\"schema_id\" = \"s\".\"id\" and" - " \"p\".\"sql\" = true and" - " \"e\".\"name\" = 'gdk_dbname'", - SQL_PT_PROCEDURE, SQL_PT_FUNCTION); + "select \"e\".\"value\" as \"procedure_cat\", " + "\"s\".\"name\" as \"procedure_schem\", " + "\"p\".\"name\" as \"procedure_name\", " + "0 as \"num_input_params\", " + "0 as \"num_output_params\", " + "0 as \"num_result_sets\", " + "cast('' as varchar(1)) as \"remarks\", " + "cast(case when \"p\".\"type\" = %d then %d else %d end as smallint) as \"procedure_type\" " + "from \"sys\".\"schemas\" as \"s\", " + "\"sys\".\"env\"() as \"e\", " + "\"sys\".\"functions\" as \"p\" " + "where \"p\".\"schema_id\" = \"s\".\"id\" and " + "\"p\".\"sql\" = true and " + "\"p\".\"type\" in (%d, %d, %d) and " + "\"e\".\"name\" = 'gdk_dbname'", + F_PROC, SQL_PT_PROCEDURE, SQL_PT_FUNCTION, + F_FUNC, F_PROC, F_UNION); assert(strlen(query) < 800); query_end += strlen(query_end); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list