Commit 82f2be67 authored by Olivier Bertrand's avatar Olivier Bertrand

- Fix a bug causing Insert into ODBC to fail when the column name is

  UTF8 encoded.
modified:
  storage/connect/tabodbc.cpp
parent 6a783719
...@@ -379,7 +379,7 @@ int TDBODBC::Decode(char *txt, char *buf, size_t n) ...@@ -379,7 +379,7 @@ int TDBODBC::Decode(char *txt, char *buf, size_t n)
/***********************************************************************/ /***********************************************************************/
char *TDBODBC::MakeSQL(PGLOBAL g, bool cnt) char *TDBODBC::MakeSQL(PGLOBAL g, bool cnt)
{ {
char *colist, *tabname, *sql, buf[64]; char *colist, *tabname, *sql, buf[NAM_LEN * 3];
LPCSTR schmp = NULL, catp = NULL; LPCSTR schmp = NULL, catp = NULL;
int len, ncol = 0; int len, ncol = 0;
bool first = true; bool first = true;
...@@ -492,7 +492,7 @@ char *TDBODBC::MakeSQL(PGLOBAL g, bool cnt) ...@@ -492,7 +492,7 @@ char *TDBODBC::MakeSQL(PGLOBAL g, bool cnt)
/***********************************************************************/ /***********************************************************************/
char *TDBODBC::MakeInsert(PGLOBAL g) char *TDBODBC::MakeInsert(PGLOBAL g)
{ {
char *stmt, *colist, *valist; char *stmt, *colist, *valist, buf[NAM_LEN * 3];
// char *tk = "`"; // char *tk = "`";
int len = 0; int len = 0;
bool b = FALSE; bool b = FALSE;
...@@ -519,10 +519,13 @@ char *TDBODBC::MakeInsert(PGLOBAL g) ...@@ -519,10 +519,13 @@ char *TDBODBC::MakeInsert(PGLOBAL g)
} else } else
b = true; b = true;
// Column name can be in UTF-8 encoding
Decode(colp->GetName(), buf, sizeof(buf));
if (Quote) if (Quote)
strcat(strcat(strcat(colist, Quote), colp->GetName()), Quote); strcat(strcat(strcat(colist, Quote), buf), Quote);
else else
strcat(colist, colp->GetName()); strcat(colist, buf);
strcat(valist, "?"); // Parameter marker strcat(valist, "?"); // Parameter marker
} // endfor colp } // endfor colp
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment