return result;
}
+/*
+ * macros for pgtype_xxxx() calls which have PG_ATP_UNSET parameters
+ */
+#define PGTYPE_COLUMN_SIZE(conn, pgType) pgtype_attr_column_size(conn, pgType, PG_ATP_UNSET, PG_ADT_UNSET, PG_UNKNOWNS_UNSET)
+#define PGTYPE_TO_CONCISE_TYPE(conn, pgType) pgtype_attr_to_concise_type(conn, pgType, PG_ATP_UNSET, PG_ADT_UNSET, PG_UNKNOWNS_UNSET)
+#define PGTYPE_TO_SQLDESCTYPE(conn, pgType) pgtype_attr_to_sqldesctype(conn, pgType, PG_ATP_UNSET, PG_ADT_UNSET, PG_UNKNOWNS_UNSET)
+#define PGTYPE_BUFFER_LENGTH(conn, pgType) pgtype_attr_buffer_length(conn, pgType, PG_ATP_UNSET, PG_ADT_UNSET, PG_UNKNOWNS_UNSET)
+#define PGTYPE_DECIMAL_DIGITS(conn, pgType) pgtype_attr_decimal_digits(conn, pgType, PG_ATP_UNSET, PG_ADT_UNSET, PG_UNKNOWNS_UNSET)
+#define PGTYPE_TRANSFER_OCTET_LENGTH(conn, pgType) pgtype_attr_transfer_octet_length(conn, pgType, PG_ATP_UNSET, PG_UNKNOWNS_UNSET)
+#define PGTYPE_TO_NAME(conn, pgType, auto_increment) pgtype_attr_to_name(conn, pgType, PG_ATP_UNSET, auto_increment)
+#define PGTYPE_TO_DATETIME_SUB(conn, pgtype) pgtype_attr_to_datetime_sub(conn, pgtype, PG_ATP_UNSET)
+
RETCODE SQL_API
PGAPI_GetTypeInfo(HSTMT hstmt,
/* These values can't be NULL */
if (aunq_match == cnt)
{
- set_tuplefield_string(&tuple[0], pgtype_to_name(stmt, pgType, PG_ADT_UNSET, TRUE));
+ set_tuplefield_string(&tuple[0], PGTYPE_TO_NAME(conn, pgType, TRUE));
set_tuplefield_int2(&tuple[6], SQL_NO_NULLS);
inolog("serial in\n");
}
else
{
- set_tuplefield_string(&tuple[0], pgtype_to_name(stmt, pgType, PG_ADT_UNSET, FALSE));
+ set_tuplefield_string(&tuple[0], PGTYPE_TO_NAME(conn, pgType, FALSE));
set_tuplefield_int2(&tuple[6], pgtype_nullable(conn, pgType));
}
set_tuplefield_int2(&tuple[1], (Int2) sqlType);
set_tuplefield_null(&tuple[12]);
/* These values can be NULL */
- set_nullfield_int4(&tuple[2], pgtype_column_size(stmt, pgType, PG_STATIC, PG_UNKNOWNS_UNSET));
+ set_nullfield_int4(&tuple[2], PGTYPE_COLUMN_SIZE(conn, pgType));
set_nullfield_string(&tuple[3], pgtype_literal_prefix(conn, pgType));
set_nullfield_string(&tuple[4], pgtype_literal_suffix(conn, pgType));
set_nullfield_string(&tuple[5], pgtype_create_params(conn, pgType));
set_nullfield_int2(&tuple[11], pgtype_auto_increment(conn, pgType));
set_nullfield_int2(&tuple[13], pgtype_min_decimal_digits(conn, pgType));
set_nullfield_int2(&tuple[14], pgtype_max_decimal_digits(conn, pgType));
- set_nullfield_int2(&tuple[15], pgtype_to_sqldesctype(stmt, pgType, PG_STATIC, PG_UNKNOWNS_UNSET));
- set_nullfield_int2(&tuple[16], pgtype_to_datetime_sub(stmt, pgType, PG_ADT_UNSET));
+ set_nullfield_int2(&tuple[15], PGTYPE_TO_SQLDESCTYPE(conn, pgType));
+ set_nullfield_int2(&tuple[16], PGTYPE_TO_DATETIME_SUB(conn, pgType));
set_nullfield_int4(&tuple[17], pgtype_radix(conn, pgType));
set_nullfield_int4(&tuple[18], 0);
}
return ret;
}
+/*
+ * macros for pgtype_attr_xxxx() calls which have
+ * PG_ADT_UNSET or PG_UNKNOWNS_UNSET parameters
+ */
+#define PGTYPE_ATTR_COLUMN_SIZE(conn, pgType, atttypmod) pgtype_attr_column_size(conn, pgType, atttypmod, PG_ADT_UNSET, PG_UNKNOWNS_UNSET)
+#define PGTYPE_ATTR_TO_CONCISE_TYPE(conn, pgType, atttypmod) pgtype_attr_to_concise_type(conn, pgType, atttypmod, PG_ADT_UNSET, PG_UNKNOWNS_UNSET)
+#define PGTYPE_ATTR_TO_SQLDESCTYPE(conn, pgType, atttypmod) pgtype_attr_to_sqldesctype(conn, pgType, atttypmod, PG_ADT_UNSET, PG_UNKNOWNS_UNSET)
+#define PGTYPE_ATTR_DISPLAY_SIZE(conn, pgType, atttypmod) pgtype_attr_display_size(conn, pgType, atttypmod, PG_ADT_UNSET, PG_UNKNOWNS_UNSET)
+#define PGTYPE_ATTR_BUFFER_LENGTH(conn, pgType, atttypmod) pgtype_attr_buffer_length(conn, pgType, atttypmod, PG_ADT_UNSET, PG_UNKNOWNS_UNSET)
+#define PGTYPE_ATTR_DECIMAL_DIGITS(conn, pgType, atttypmod) pgtype_attr_decimal_digits(conn, pgType, atttypmod, PG_ADT_UNSET, PG_UNKNOWNS_UNSET)
+#define PGTYPE_ATTR_TRANSFER_OCTET_LENGTH(conn, pgType, atttypmod) pgtype_attr_transfer_octet_length(conn, pgType, atttypmod, PG_UNKNOWNS_UNSET)
+
/*
* for oid or xmin
*/
set_tuplefield_string(&tuple[COLUMNS_SCHEMA_NAME], GET_SCHEMA_NAME(table_owner));
set_tuplefield_string(&tuple[COLUMNS_TABLE_NAME], table_name);
set_tuplefield_string(&tuple[COLUMNS_COLUMN_NAME], colname);
- sqltype = pgtype_attr_to_concise_type(conn, the_type, atttypmod, PG_ADT_UNSET, PG_UNKNOWNS_UNSET);
+ sqltype = PGTYPE_ATTR_TO_CONCISE_TYPE(conn, the_type, atttypmod);
set_tuplefield_int2(&tuple[COLUMNS_DATA_TYPE], sqltype);
set_tuplefield_string(&tuple[COLUMNS_TYPE_NAME], typname);
- set_tuplefield_int4(&tuple[COLUMNS_PRECISION], pgtype_attr_column_size(conn, the_type, atttypmod, PG_ADT_UNSET, PG_UNKNOWNS_UNSET));
- set_tuplefield_int4(&tuple[COLUMNS_LENGTH], pgtype_attr_buffer_length(conn, the_type, atttypmod, PG_ADT_UNSET, PG_UNKNOWNS_UNSET));
- set_nullfield_int2(&tuple[COLUMNS_SCALE], pgtype_attr_decimal_digits(conn, the_type, atttypmod, PG_ADT_UNSET, PG_UNKNOWNS_UNSET));
+ set_tuplefield_int4(&tuple[COLUMNS_PRECISION], PGTYPE_ATTR_COLUMN_SIZE(conn, the_type, atttypmod));
+ set_tuplefield_int4(&tuple[COLUMNS_LENGTH], PGTYPE_ATTR_BUFFER_LENGTH(conn, the_type, atttypmod));
+ set_nullfield_int2(&tuple[COLUMNS_SCALE], PGTYPE_ATTR_DECIMAL_DIGITS(conn, the_type, atttypmod));
set_nullfield_int2(&tuple[COLUMNS_RADIX], pgtype_radix(conn, the_type));
set_tuplefield_int2(&tuple[COLUMNS_NULLABLE], SQL_NO_NULLS);
set_tuplefield_string(&tuple[COLUMNS_REMARKS], NULL_STRING);
set_tuplefield_null(&tuple[COLUMNS_CHAR_OCTET_LENGTH]);
set_tuplefield_int4(&tuple[COLUMNS_ORDINAL_POSITION], ordinal);
set_tuplefield_string(&tuple[COLUMNS_IS_NULLABLE], "No");
- set_tuplefield_int4(&tuple[COLUMNS_DISPLAY_SIZE], pgtype_attr_display_size(conn, the_type, atttypmod, PG_ADT_UNSET, PG_UNKNOWNS_UNSET));
+ set_tuplefield_int4(&tuple[COLUMNS_DISPLAY_SIZE], PGTYPE_ATTR_DISPLAY_SIZE(conn, the_type, atttypmod));
set_tuplefield_int4(&tuple[COLUMNS_FIELD_TYPE], the_type);
set_tuplefield_int4(&tuple[COLUMNS_AUTO_INCREMENT], auto_increment);
set_tuplefield_int2(&tuple[COLUMNS_PHYSICAL_NUMBER], attnum);
if (mod_length >= 4)
mod_length -= 4;
}
- set_tuplefield_int4(&tuple[COLUMNS_PRECISION], pgtype_attr_column_size(conn, field_type, mod_length, PG_ADT_UNSET, PG_UNKNOWNS_UNSET));
- set_tuplefield_int4(&tuple[COLUMNS_LENGTH], pgtype_attr_buffer_length(conn, field_type, mod_length, PG_ADT_UNSET, PG_UNKNOWNS_UNSET));
- set_tuplefield_int4(&tuple[COLUMNS_DISPLAY_SIZE], pgtype_attr_display_size(conn, field_type, mod_length, PG_ADT_UNSET, PG_UNKNOWNS_UNSET));
- set_nullfield_int2(&tuple[COLUMNS_SCALE], pgtype_attr_decimal_digits(conn, field_type, mod_length, PG_ADT_UNSET, PG_UNKNOWNS_UNSET));
+ set_tuplefield_int4(&tuple[COLUMNS_PRECISION], PGTYPE_ATTR_COLUMN_SIZE(conn, field_type, mod_length));
+ set_tuplefield_int4(&tuple[COLUMNS_LENGTH], PGTYPE_ATTR_BUFFER_LENGTH(conn, field_type, mod_length));
+ set_tuplefield_int4(&tuple[COLUMNS_DISPLAY_SIZE], PGTYPE_ATTR_DISPLAY_SIZE(conn, field_type, mod_length));
+ set_nullfield_int2(&tuple[COLUMNS_SCALE], PGTYPE_ATTR_DECIMAL_DIGITS(conn, field_type, mod_length));
- sqltype = pgtype_attr_to_concise_type(conn, field_type, mod_length, PG_ADT_UNSET, PG_UNKNOWNS_UNSET);
- concise_type = pgtype_attr_to_sqldesctype(conn, field_type, mod_length, PG_ADT_UNSET, PG_UNKNOWNS_UNSET);
+ sqltype = PGTYPE_ATTR_TO_CONCISE_TYPE(conn, field_type, mod_length);
+ concise_type = PGTYPE_ATTR_TO_SQLDESCTYPE(conn, field_type, mod_length);
set_tuplefield_int2(&tuple[COLUMNS_DATA_TYPE], sqltype);
set_tuplefield_string(&tuple[COLUMNS_COLUMN_DEF], attdef);
set_tuplefield_int2(&tuple[COLUMNS_SQL_DATA_TYPE], concise_type);
set_nullfield_int2(&tuple[COLUMNS_SQL_DATETIME_SUB], pgtype_attr_to_datetime_sub(conn, field_type, mod_length));
- set_tuplefield_int4(&tuple[COLUMNS_CHAR_OCTET_LENGTH], pgtype_attr_transfer_octet_length(conn, field_type, mod_length, PG_UNKNOWNS_UNSET));
+ set_tuplefield_int4(&tuple[COLUMNS_CHAR_OCTET_LENGTH], PGTYPE_ATTR_TRANSFER_OCTET_LENGTH(conn, field_type, mod_length));
set_tuplefield_int4(&tuple[COLUMNS_ORDINAL_POSITION], ordinal);
set_tuplefield_null(&tuple[COLUMNS_IS_NULLABLE]);
set_tuplefield_int4(&tuple[COLUMNS_FIELD_TYPE], field_type);
else if (fColType == SQL_ROWVER)
{
Int2 the_type = PG_TYPE_TID;
+ int atttypmod = -1;
tuple = QR_AddNew(res);
set_tuplefield_null(&tuple[0]);
set_tuplefield_string(&tuple[1], "ctid");
- set_tuplefield_int2(&tuple[2], pgtype_to_concise_type(stmt, the_type, PG_STATIC, PG_UNKNOWNS_UNSET));
- set_tuplefield_string(&tuple[3], pgtype_to_name(stmt, the_type, PG_ADT_UNSET, FALSE));
- set_tuplefield_int4(&tuple[4], pgtype_column_size(stmt, the_type, PG_STATIC, PG_UNKNOWNS_UNSET));
- set_tuplefield_int4(&tuple[5], pgtype_buffer_length(stmt, the_type, PG_STATIC, PG_UNKNOWNS_UNSET));
- set_tuplefield_int2(&tuple[6], pgtype_decimal_digits(stmt, the_type, PG_STATIC));
+ set_tuplefield_int2(&tuple[2], PGTYPE_ATTR_TO_CONCISE_TYPE(conn, the_type, atttypmod));
+ set_tuplefield_string(&tuple[3], pgtype_attr_to_name(conn, the_type, atttypmod, FALSE));
+ set_tuplefield_int4(&tuple[4], PGTYPE_ATTR_COLUMN_SIZE(conn, the_type, atttypmod));
+ set_tuplefield_int4(&tuple[5], PGTYPE_ATTR_BUFFER_LENGTH(conn, the_type, atttypmod));
+ set_tuplefield_int2(&tuple[6], PGTYPE_ATTR_DECIMAL_DIGITS(conn, the_type, atttypmod));
set_tuplefield_int2(&tuple[7], SQL_PC_NOT_PSEUDO);
inolog("Add ctid\n");
}
if (fColType == SQL_BEST_ROWID)
{
Int2 the_type = PG_TYPE_OID;
+ int atttypmod = -1;
if (relhasoids[0] != '1')
{
set_tuplefield_int2(&tuple[0], SQL_SCOPE_SESSION);
set_tuplefield_string(&tuple[1], OID_NAME);
- set_tuplefield_int2(&tuple[2], pgtype_to_concise_type(stmt, the_type, PG_STATIC, PG_UNKNOWNS_UNSET));
- set_tuplefield_string(&tuple[3], pgtype_to_name(stmt, the_type, PG_ADT_UNSET, TRUE));
- set_tuplefield_int4(&tuple[4], pgtype_column_size(stmt, the_type, PG_STATIC, PG_UNKNOWNS_UNSET));
- set_tuplefield_int4(&tuple[5], pgtype_buffer_length(stmt, the_type, PG_STATIC, PG_UNKNOWNS_UNSET));
- set_tuplefield_int2(&tuple[6], pgtype_decimal_digits(stmt, the_type, PG_STATIC));
+ set_tuplefield_int2(&tuple[2], PGTYPE_ATTR_TO_CONCISE_TYPE(conn, the_type, atttypmod));
+ set_tuplefield_string(&tuple[3], pgtype_attr_to_name(conn, the_type, atttypmod, TRUE));
+ set_tuplefield_int4(&tuple[4], PGTYPE_ATTR_COLUMN_SIZE(conn, the_type, atttypmod));
+ set_tuplefield_int4(&tuple[5], PGTYPE_ATTR_BUFFER_LENGTH(conn, the_type, atttypmod));
+ set_tuplefield_int2(&tuple[6], PGTYPE_ATTR_DECIMAL_DIGITS(conn, the_type, atttypmod));
set_tuplefield_int2(&tuple[7], SQL_PC_PSEUDO);
}
else if (fColType == SQL_ROWVER)
{
Int2 the_type = PG_TYPE_XID;
+ int atttypmod = -1;
tuple = QR_AddNew(res);
set_tuplefield_null(&tuple[0]);
set_tuplefield_string(&tuple[1], XMIN_NAME);
- set_tuplefield_int2(&tuple[2], pgtype_to_concise_type(stmt, the_type, PG_STATIC, PG_UNKNOWNS_UNSET));
- set_tuplefield_string(&tuple[3], pgtype_to_name(stmt, the_type, PG_ADT_UNSET, FALSE));
- set_tuplefield_int4(&tuple[4], pgtype_column_size(stmt, the_type, PG_STATIC, PG_UNKNOWNS_UNSET));
- set_tuplefield_int4(&tuple[5], pgtype_buffer_length(stmt, the_type, PG_STATIC, PG_UNKNOWNS_UNSET));
- set_tuplefield_int2(&tuple[6], pgtype_decimal_digits(stmt, the_type, PG_STATIC));
+ set_tuplefield_int2(&tuple[2], PGTYPE_ATTR_TO_CONCISE_TYPE(conn, the_type, atttypmod));
+ set_tuplefield_string(&tuple[3], pgtype_attr_to_name(conn, the_type, atttypmod, FALSE));
+ set_tuplefield_int4(&tuple[4], PGTYPE_ATTR_COLUMN_SIZE(conn, the_type, atttypmod));
+ set_tuplefield_int4(&tuple[5], PGTYPE_ATTR_BUFFER_LENGTH(conn, the_type, atttypmod));
+ set_tuplefield_int2(&tuple[6], PGTYPE_ATTR_DECIMAL_DIGITS(conn, the_type, atttypmod));
set_tuplefield_int2(&tuple[7], SQL_PC_PSEUDO);
}
}
set_tuplefield_string(&tuple[PROCOLS_PROCEDURE_NAME], procname);
set_tuplefield_string(&tuple[PROCOLS_COLUMN_NAME], NULL_STRING);
set_tuplefield_int2(&tuple[PROCOLS_COLUMN_TYPE], SQL_RETURN_VALUE);
- set_tuplefield_int2(&tuple[PROCOLS_DATA_TYPE], pgtype_to_concise_type(stmt, pgtype, PG_STATIC, PG_UNKNOWNS_UNSET));
- set_tuplefield_string(&tuple[PROCOLS_TYPE_NAME], pgtype_to_name(stmt, pgtype, PG_ADT_UNSET, FALSE));
- column_size = pgtype_column_size(stmt, pgtype, PG_STATIC, PG_UNKNOWNS_UNSET);
+ set_tuplefield_int2(&tuple[PROCOLS_DATA_TYPE], PGTYPE_TO_CONCISE_TYPE(conn, pgtype));
+ set_tuplefield_string(&tuple[PROCOLS_TYPE_NAME], PGTYPE_TO_NAME(conn, pgtype, FALSE));
+ column_size = PGTYPE_COLUMN_SIZE(conn, pgtype);
set_nullfield_int4(&tuple[PROCOLS_COLUMN_SIZE], column_size);
- set_tuplefield_int4(&tuple[PROCOLS_BUFFER_LENGTH], pgtype_buffer_length(stmt, pgtype, PG_STATIC, PG_UNKNOWNS_UNSET));
- set_nullfield_int2(&tuple[PROCOLS_DECIMAL_DIGITS], pgtype_decimal_digits(stmt, pgtype, PG_STATIC));
+ set_tuplefield_int4(&tuple[PROCOLS_BUFFER_LENGTH], PGTYPE_BUFFER_LENGTH(conn, pgtype));
+ set_nullfield_int2(&tuple[PROCOLS_DECIMAL_DIGITS], PGTYPE_DECIMAL_DIGITS(conn, pgtype));
set_nullfield_int2(&tuple[PROCOLS_NUM_PREC_RADIX], pgtype_radix(conn, pgtype));
set_tuplefield_int2(&tuple[PROCOLS_NULLABLE], SQL_NULLABLE_UNKNOWN);
set_tuplefield_null(&tuple[PROCOLS_REMARKS]);
set_tuplefield_null(&tuple[PROCOLS_COLUMN_DEF]);
- set_nullfield_int2(&tuple[PROCOLS_SQL_DATA_TYPE], pgtype_to_sqldesctype(stmt, pgtype, PG_STATIC, PG_UNKNOWNS_UNSET));
- set_nullfield_int2(&tuple[PROCOLS_SQL_DATETIME_SUB], pgtype_to_datetime_sub(stmt, pgtype, PG_ADT_UNSET));
- set_nullfield_int4(&tuple[PROCOLS_CHAR_OCTET_LENGTH], pgtype_attr_transfer_octet_length(conn, pgtype, PG_ADT_UNSET, PG_UNKNOWNS_UNSET));
+ set_nullfield_int2(&tuple[PROCOLS_SQL_DATA_TYPE], PGTYPE_TO_SQLDESCTYPE(conn, pgtype));
+ set_nullfield_int2(&tuple[PROCOLS_SQL_DATETIME_SUB], PGTYPE_TO_DATETIME_SUB(conn, pgtype));
+ set_nullfield_int4(&tuple[PROCOLS_CHAR_OCTET_LENGTH], PGTYPE_TRANSFER_OCTET_LENGTH(conn, pgtype));
set_tuplefield_int4(&tuple[PROCOLS_ORDINAL_POSITION], 0);
set_tuplefield_string(&tuple[PROCOLS_IS_NULLABLE], NULL_STRING);
}
}
else
set_tuplefield_int2(&tuple[PROCOLS_COLUMN_TYPE], SQL_PARAM_INPUT);
- set_tuplefield_int2(&tuple[PROCOLS_DATA_TYPE], pgtype_to_concise_type(stmt, pgtype, PG_STATIC, PG_UNKNOWNS_UNSET));
- set_tuplefield_string(&tuple[PROCOLS_TYPE_NAME], pgtype_to_name(stmt, pgtype, PG_ADT_UNSET, FALSE));
- column_size = pgtype_column_size(stmt, pgtype, PG_STATIC, PG_UNKNOWNS_UNSET);
+ set_tuplefield_int2(&tuple[PROCOLS_DATA_TYPE], PGTYPE_TO_CONCISE_TYPE(conn, pgtype));
+ set_tuplefield_string(&tuple[PROCOLS_TYPE_NAME], PGTYPE_TO_NAME(conn, pgtype, FALSE));
+ column_size = PGTYPE_COLUMN_SIZE(conn, pgtype);
set_nullfield_int4(&tuple[PROCOLS_COLUMN_SIZE], column_size);
- set_tuplefield_int4(&tuple[PROCOLS_BUFFER_LENGTH], pgtype_buffer_length(stmt, pgtype, PG_STATIC, PG_UNKNOWNS_UNSET));
- set_nullfield_int2(&tuple[PROCOLS_DECIMAL_DIGITS], pgtype_decimal_digits(stmt, pgtype, PG_STATIC));
+ set_tuplefield_int4(&tuple[PROCOLS_BUFFER_LENGTH], PGTYPE_BUFFER_LENGTH(conn, pgtype));
+ set_nullfield_int2(&tuple[PROCOLS_DECIMAL_DIGITS], PGTYPE_DECIMAL_DIGITS(conn, pgtype));
set_nullfield_int2(&tuple[PROCOLS_NUM_PREC_RADIX], pgtype_radix(conn, pgtype));
set_tuplefield_int2(&tuple[PROCOLS_NULLABLE], SQL_NULLABLE_UNKNOWN);
set_tuplefield_null(&tuple[PROCOLS_REMARKS]);
set_tuplefield_null(&tuple[PROCOLS_COLUMN_DEF]);
- set_nullfield_int2(&tuple[PROCOLS_SQL_DATA_TYPE], pgtype_to_sqldesctype(stmt, pgtype, PG_STATIC, PG_UNKNOWNS_UNSET));
- set_nullfield_int2(&tuple[PROCOLS_SQL_DATETIME_SUB], pgtype_to_datetime_sub(stmt, pgtype, PG_ADT_UNSET));
- set_nullfield_int4(&tuple[PROCOLS_CHAR_OCTET_LENGTH], pgtype_attr_transfer_octet_length(conn, pgtype, PG_ADT_UNSET, PG_UNKNOWNS_UNSET));
+ set_nullfield_int2(&tuple[PROCOLS_SQL_DATA_TYPE], PGTYPE_TO_SQLDESCTYPE(conn, pgtype));
+ set_nullfield_int2(&tuple[PROCOLS_SQL_DATETIME_SUB], PGTYPE_TO_DATETIME_SUB(conn, pgtype));
+ set_nullfield_int4(&tuple[PROCOLS_CHAR_OCTET_LENGTH], PGTYPE_TRANSFER_OCTET_LENGTH(conn, pgtype));
set_tuplefield_int4(&tuple[PROCOLS_ORDINAL_POSITION], j + 1);
set_tuplefield_string(&tuple[PROCOLS_IS_NULLABLE], NULL_STRING);
}
set_tuplefield_string(&tuple[PROCOLS_PROCEDURE_NAME], procname);
set_tuplefield_string(&tuple[PROCOLS_COLUMN_NAME], attname);
set_tuplefield_int2(&tuple[PROCOLS_COLUMN_TYPE], SQL_RESULT_COL);
- set_tuplefield_int2(&tuple[PROCOLS_DATA_TYPE], pgtype_to_concise_type(stmt, typid, PG_STATIC, PG_UNKNOWNS_UNSET));
- set_tuplefield_string(&tuple[PROCOLS_TYPE_NAME], pgtype_to_name(stmt, typid, PG_ADT_UNSET, FALSE));
- column_size = pgtype_column_size(stmt, typid, PG_STATIC, PG_UNKNOWNS_UNSET);
+ set_tuplefield_int2(&tuple[PROCOLS_DATA_TYPE], PGTYPE_TO_CONCISE_TYPE(conn, typid));
+ set_tuplefield_string(&tuple[PROCOLS_TYPE_NAME], PGTYPE_TO_NAME(conn, typid, FALSE));
+ column_size = PGTYPE_COLUMN_SIZE(conn, typid);
set_nullfield_int4(&tuple[PROCOLS_COLUMN_SIZE], column_size);
- set_tuplefield_int4(&tuple[PROCOLS_BUFFER_LENGTH], pgtype_buffer_length(stmt, typid, PG_STATIC, PG_UNKNOWNS_UNSET));
- set_nullfield_int2(&tuple[PROCOLS_DECIMAL_DIGITS], pgtype_decimal_digits(stmt, typid, PG_STATIC));
+ set_tuplefield_int4(&tuple[PROCOLS_BUFFER_LENGTH], PGTYPE_BUFFER_LENGTH(conn, typid));
+ set_nullfield_int2(&tuple[PROCOLS_DECIMAL_DIGITS], PGTYPE_DECIMAL_DIGITS(conn, typid));
set_nullfield_int2(&tuple[PROCOLS_NUM_PREC_RADIX], pgtype_radix(conn, typid));
set_tuplefield_int2(&tuple[PROCOLS_NULLABLE], SQL_NULLABLE_UNKNOWN);
set_tuplefield_null(&tuple[PROCOLS_REMARKS]);
set_tuplefield_null(&tuple[PROCOLS_COLUMN_DEF]);
- set_nullfield_int2(&tuple[PROCOLS_SQL_DATA_TYPE], pgtype_to_sqldesctype(stmt, typid, PG_STATIC, PG_UNKNOWNS_UNSET));
- set_nullfield_int2(&tuple[PROCOLS_SQL_DATETIME_SUB], pgtype_to_datetime_sub(stmt, typid, PG_ADT_UNSET));
- set_nullfield_int4(&tuple[PROCOLS_CHAR_OCTET_LENGTH], pgtype_attr_transfer_octet_length(conn, typid, PG_ADT_UNSET, PG_UNKNOWNS_UNSET));
+ set_nullfield_int2(&tuple[PROCOLS_SQL_DATA_TYPE], PGTYPE_TO_SQLDESCTYPE(conn, typid));
+ set_nullfield_int2(&tuple[PROCOLS_SQL_DATETIME_SUB], PGTYPE_TO_DATETIME_SUB(conn, typid));
+ set_nullfield_int4(&tuple[PROCOLS_CHAR_OCTET_LENGTH], PGTYPE_TRANSFER_OCTET_LENGTH(conn, typid));
set_tuplefield_int4(&tuple[PROCOLS_ORDINAL_POSITION], 0);
set_tuplefield_string(&tuple[PROCOLS_IS_NULLABLE], NULL_STRING);
}