Data with a literal backslash that is submitted to
ns_dbquotevalue will get mangled by insertion into the
database - I found this out when I tried to insert some
C source code with the text '\0' in it, which needed to
be quoted into \\0. The following should be added to
nsdb.tcl.
In ns_dbquotevalue, right after the 'regsub' line, add
another:
regsub -all {\B} $value "\\\\\\\\" value
Unfortunately, yes, that is indeed eight backslashes.
There's probably a way to do it with four \B's instead
- or maybe two. The above is what I did to make it work
for me.
Logged In: YES
user_id=21885
I'm tempted to say that this won't get fixed - there's several
annoying issues with ns_dbquotevalue but I'm hesitant to
change that proc as lots of code depends on it, and probably
depends somewhat on its already broken behavior.
I'm going to leave this open, but marked as "Wont Fix" -- in
the new DB API, this along with all other ns_dbquotevalue
issues, should get addressed.