Which postgresql version are you using? It is complain there is not replace function but there should be:
http://www.postgresql.org/docs/8.1/static/functions-string.html On Saturday, 13 April 2013 15:23:04 UTC-5, Ricardo Cárdenas wrote: > > Hi niphlod, here's the code: > > p = db.my_post > g = db.my_group > m = db.my_membership > query = ((m.my_user == auth.user.id) & > (m.my_group == g.id) & > (p.groups.contains(g.id))) > rows= db(query).select(p.id, p.status, orderby=~p.creation_date,distinct > =True) > > The SQL generated is: > > SELECT DISTINCT my_post.id, my_post.status FROM my_post, > my_membership,my_group WHERE > (((my_membership.my_user = 1) AND (my_membership.my_group = my_group.id))AND > (CAST(my_post.groups AS CHAR(512)) LIKE (('%|' || (REPLACE((REPLACE( > my_group.id,'%','%%')),'|','||')) || '|%')))) ORDER BY my_post.creation_date > DESC; > > and the error again: > > <class 'psycopg2.ProgrammingError'> function replace(integer, unknown, > unknown) does not exist LINE 1: ...ost.groups AS CHAR(512)) LIKE (('%|' || > (REPLACE((REPLACE(me... ^ HINT: No function matches the given name and > argument types. You might need to add explicit type casts. > > Thanks and best regards -Ricardo > > > On Saturday, April 13, 2013 10:42:52 AM UTC-5, Niphlod wrote: >> >> can you post the code that generates the error and the query generated bu >> the DAL ( i.e. print db(......)._select() with the underscore) ? >> >> On Saturday, April 13, 2013 4:28:55 PM UTC+2, Ricardo Cárdenas wrote: >>> >>> Just upgraded to 2.4.6-stable+timestamp.2013.04.12.23.32.51. >>> >>> Code that worked in my prior version (I think trunk 2013.04.02? sorry >>> don't have the exact version on-hand) now breaks. I get the following error: >>> >>> <class 'psycopg2.ProgrammingError'> function replace(integer, unknown, >>> unknown) does not exist LINE 1: ...ost.groups AS CHAR(512)) LIKE (('%|' || >>> (REPLACE((REPLACE(me... ^ HINT: No function matches the given name and >>> argument types. You might need to add explicit type casts >>> >>> The ticket comes from a 3-table query on PostgreSQL that uses .CONTAINS. >>> (Perhaps related to this >>> issue<https://groups.google.com/forum/?fromgroups=#!searchin/web2py/contains/web2py/WKmzK6prO20/SRkZ2SF5YlwJ>.) >>> >>> When I simplify the query to a simple db(table).select(), the code works >>> (though of course it doesn't bring back the results I am looking for). >>> >>> I just thought I'd throw it out there in case someone has worked on that >>> code recently.. >>> >>> best regards -Ricardo >>> >> -- --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.

