Re: handling special characters in sql strings

Поиск
Список
Период
Сортировка
От tjk@tksoft.com
Тема Re: handling special characters in sql strings
Дата
Msg-id 200103191458.GAA01225@smtp3.tksoft.com
обсуждение исходный текст
Ответ на handling special characters in sql strings  (Markus Wagner <wagner@imsd.uni-mainz.de>)
Список pgsql-sql
Markus,

Here are comments from a C function which does what you
need. You won't have the regex functions available, so the
function itself would be useless. You get the idea though.


1. First change backslashed backslashes back to single backslashes. 

2. Find backslash single quote combinations (i.e. "\'") and convert them to   single quotes (i.e. "'"). Use a while
loopto be sure.  Now there should be no single quotes preceded by backslashes left.
 

3. Find all backslashes and convert them to double backslashes.  Now all characters preceded by a backslash should be
intheir  original state, while all backslashed single quotes are  just single quotes. E.g. "\1ABC'ABC\2\q"
 

5. Find all single quotes and backslash them.  (Note: There are no single quotes preceded by a backslash, so  it is not
possibleto have a backslash which would hide a  backslash preceding a single quote.)
 

That's it.



Troy


> 
> Hi,
> 
> I need to insert and retrieve strings containing special characters (e.
> g. "'") and I want a C function to prepare my strings automatically. Is
> it ok to just insert a "\" before each special character? And what range
> of characters will need this handling?
> 
> Thanks,
> 
> Markus
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
> 



В списке pgsql-sql по дате отправления:

Предыдущее
От: Markus Wagner
Дата:
Сообщение: handling special characters in sql strings
Следующее
От: "tjk@tksoft.com"
Дата:
Сообщение: Re: MultiByte strings