Re: handling special characters in sql strings - Mailing list pgsql-sql

From tjk@tksoft.com
Subject Re: handling special characters in sql strings
Date
Msg-id 200103191458.GAA01225@smtp3.tksoft.com
Whole thread Raw
In response to handling special characters in sql strings  (Markus Wagner <wagner@imsd.uni-mainz.de>)
List 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 by date:

Previous
From: Markus Wagner
Date:
Subject: handling special characters in sql strings
Next
From: "tjk@tksoft.com"
Date:
Subject: Re: MultiByte strings