{0, 0}
};
+typedef struct
+{
+ int infinity;
+ int m;
+ int d;
+ int y;
+ int hh;
+ int mm;
+ int ss;
+ int fr;
+} SIMPLE_TIME;
+
static const char *mapFunction(const char *func, int param_count);
+static BOOL convert_money(const char *s, char *sout, size_t soutmax);
+static char parse_datetime(const char *buf, SIMPLE_TIME *st);
+static size_t convert_linefeeds(const char *s, char *dst, size_t max, BOOL convlf, BOOL *changed);
+static size_t convert_special_chars(const char *si, char *dst, SQLLEN used, UInt4 flags,int ccsc, int escape_ch);
+static size_t convert_from_pgbinary(const char *value, char *rgbValue, SQLLEN cbValueMax);
+static int convert_lo(StatementClass *stmt, const void *value, SQLSMALLINT fCType,
+ PTR rgbValue, SQLLEN cbValueMax, SQLLEN *pcbValue);
static int conv_from_octal(const char *s);
static SQLLEN pg_bin2hex(const char *src, char *dst, SQLLEN length);
#ifdef UNICODE_SUPPORT
return retval;
}
-BOOL
+static BOOL
convert_money(const char *s, char *sout, size_t soutmax)
{
size_t i = 0,
* This function parses a character string for date/time info and fills in SIMPLE_TIME
* It does not zero out SIMPLE_TIME in case it is desired to initialize it with a value
*/
-char
+static char
parse_datetime(const char *buf, SIMPLE_TIME *st)
{
int y,
/* Change linefeed to carriage-return/linefeed */
-size_t
+static size_t
convert_linefeeds(const char *si, char *dst, size_t max, BOOL convlf, BOOL *changed)
{
size_t i = 0,
* Change carriage-return/linefeed to just linefeed
* Plus, escape any special characters.
*/
-size_t
+static size_t
convert_special_chars(const char *si, char *dst, SQLLEN used, UInt4 flags, int ccsc, int escape_in_literal)
{
size_t i = 0,
return out;
}
-
-/* !!! Need to implement this function !!! */
-int
-convert_pgbinary_to_char(const char *value, char *rgbValue, ssize_t cbValueMax)
-{
- mylog("convert_pgbinary_to_char: value = '%s'\n", value);
-
- strncpy_null(rgbValue, value, cbValueMax);
- return 0;
-}
-
-
static int
conv_from_octal(const char *s)
{
/* convert octal escapes to bytes */
-size_t
+static size_t
convert_from_pgbinary(const char *value, char *rgbValue, SQLLEN cbValueMax)
{
size_t i,
* mapped to PG_TYPE_LO someday, instead of PG_TYPE_TEXT as it is now.
*-------
*/
-int
+static int
convert_lo(StatementClass *stmt, const void *value, SQLSMALLINT fCType, PTR rgbValue,
SQLLEN cbValueMax, SQLLEN *pcbValue)
{
#define COPY_RESULT_TRUNCATED 3
#define COPY_GENERAL_ERROR 4
#define COPY_NO_DATA_FOUND 5
-/* convert_escape results */
-#define CONVERT_ESCAPE_OK 0
-#define CONVERT_ESCAPE_OVERFLOW 1
-#define CONVERT_ESCAPE_ERROR -1
-
-typedef struct
-{
- int infinity;
- int m;
- int d;
- int y;
- int hh;
- int mm;
- int ss;
- int fr;
-} SIMPLE_TIME;
int copy_and_convert_field_bindinfo(StatementClass *stmt, OID field_type, int atttypmod, void *value, int col);
int copy_and_convert_field(StatementClass *stmt,
PTR rgbValue, SQLLEN cbValueMax, SQLLEN *pcbValue, SQLLEN *pIndicator);
int copy_statement_with_parameters(StatementClass *stmt, BOOL);
-BOOL convert_money(const char *s, char *sout, size_t soutmax);
-char parse_datetime(const char *buf, SIMPLE_TIME *st);
-size_t convert_linefeeds(const char *s, char *dst, size_t max, BOOL convlf, BOOL *changed);
-size_t convert_special_chars(const char *si, char *dst, SQLLEN used, UInt4 flags,int ccsc, int escape_ch);
-
-int convert_pgbinary_to_char(const char *value, char *rgbValue, ssize_t cbValueMax);
-size_t convert_from_pgbinary(const char *value, char *rgbValue, SQLLEN cbValueMax);
SQLLEN pg_hex2bin(const char *in, char *out, SQLLEN len);
-int convert_lo(StatementClass *stmt, const void *value, SQLSMALLINT fCType,
- PTR rgbValue, SQLLEN cbValueMax, SQLLEN *pcbValue);
size_t findTag(const char *str, char dollar_quote, int ccsc);
BOOL build_libpq_bind_params(StatementClass *stmt, const char *plan_name,