Extra Characters in Find?

Hi-

I'm trying to submit a query through active record, and when I watch
the development log to see what is getting passed in, I see something
like this:

SELECT * FROM "my_model" WHERE (some_name LIKE E'%search%')

Is the "E" character supposed to be there? I am not getting results
returned and I don't know where that is coming from. Any ideas?

Thanks!

I'm trying to submit a query through active record, and when I watch
the development log to see what is getting passed in, I see something
like this:

SELECT * FROM "my_model" WHERE (some_name LIKE E'%search%')

Is the "E" character supposed to be there? I am not getting results
returned and I don't know where that is coming from. Any ideas?

Are you using PostgreSQL? If so...

http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html

PostgreSQL also accepts "escape" string constants, which are an extension to the SQL standard. An escape string constant is specified by writing the letter E (upper or lower case) just before the opening single quote, e.g. E'foo'. (When continuing an escape string constant across lines, write E only before the first opening quote.) Within an escape string, a backslash character (\) begins a C-like backslash escape sequence, in which the combination of backslash and following character(s) represents a special byte value. \b is a backspace, \f is a form feed, \n is a newline, \r is a carriage return, \t is a tab. Also supported are \digits, where digits represents an octal byte value, and \xhexdigits, where hexdigits represents a hexadecimal byte value. (It is your responsibility that the byte sequences you create are valid characters in the server character set encoding.) Any other character following a backslash is taken literally. Thus, to include a backslash character, write two backslashes (\\). Also, a single quote can be included in an escape string by writing \', in addition to the normal way of ''.