Hi Nico This seems to be because you've got IF calls in your index definitions - and that's a MySQL function, whereas Heroku uses PostgreSQL.
PostgreSQL's best replacement (that I've found, but I'm no expert) is using a case statement - which feels a bit ugly, but it should do the job: "CASE WHEN companies.country = 'Deutschland' THEN '0' ELSE '1' END" Give that a spin and see how you go. Cheers -- Pat On 16/08/2011, at 7:47 PM, nico wrote: > Hi there, > > we used thinking sphinx for a couple of years now. Now I upgraded our > app to Rails 3 and we like to use flying sphinx on Heroku. > However, I get the following errors when trying to index: > > Sphinx 1.10-beta (r2420) > Copyright (c) 2001-2010, Andrew Aksyonoff > Copyright (c) 2008-2010, Sphinx Technologies Inc (http:// > sphinxsearch.com) > > using config file '/mnt/sphinx/flying-sphinx/1aa5515783a7280cc/ > sphinx.conf'... > indexing index 'company_core'... > ERROR: index 'company_core': sql_range_query: ERROR: function > if(boolean, unknown, unknown) does not exist > LINE 1: ...sort", IF(companies.country = 'Deutschland', '0', > IF(compani... > ^ > HINT: No function matches the given name and argument types. You > might need to add explicit type casts. > (DSN=pgsql://lisuxygdfr:***@127.0.0.1:10323/lisuxygdfr). > total 0 docs, 0 bytes > total 0.164 sec, 0 bytes/sec, 0.00 docs/sec > indexing index 'company_delta'... > ERROR: index 'company_delta': sql_range_query: ERROR: function > if(boolean, unknown, unknown) does not exist > LINE 1: ...sort", IF(companies.country = 'Deutschland', '0', > IF(compani... > ^ > HINT: No function matches the given name and argument types. You > might need to add explicit type casts. > (DSN=pgsql://lisuxygdfr:***@127.0.0.1:10323/lisuxygdfr). > total 0 docs, 0 bytes > total 0.079 sec, 0 bytes/sec, 0.00 docs/sec > skipping non-plain index 'company'... > indexing index 'forum_post_core'... > ERROR: index 'forum_post_core': sql_range_query: ERROR: function > if(boolean, unknown, character varying) does not exist > LINE 1: ..., "users"."vorname" AS "forum_poster_first_name", > IF(users.p... > ^ > HINT: No function matches the given name and argument types. You > might need to add explicit type casts. > (DSN=pgsql://lisuxygdfr:***@127.0.0.1:10323/lisuxygdfr). > total 0 docs, 0 bytes > total 0.169 sec, 0 bytes/sec, 0.00 docs/sec > indexing index 'forum_post_delta'... > ERROR: index 'forum_post_delta': sql_range_query: ERROR: function > if(boolean, unknown, character varying) does not exist > LINE 1: ..., "users"."vorname" AS "forum_poster_first_name", > IF(users.p... > ^ > HINT: No function matches the given name and argument types. You > might need to add explicit type casts. > (DSN=pgsql://lisuxygdfr:***@127.0.0.1:10323/lisuxygdfr). > total 0 docs, 0 bytes > total 0.079 sec, 0 bytes/sec, 0.00 docs/sec > skipping non-plain index 'forum_post'... > indexing index 'job_core'... > ERROR: index 'job_core': sql_range_query: ERROR: function > crc32(character varying) does not exist > LINE 1: ..."name", '') AS "job_name_sort", 1 AS "activated", > CRC32(coun... > ^ > HINT: No function matches the given name and argument types. You > might need to add explicit type casts. > (DSN=pgsql://lisuxygdfr:***@127.0.0.1:10323/lisuxygdfr). > total 0 docs, 0 bytes > total 0.106 sec, 0 bytes/sec, 0.00 docs/sec > indexing index 'job_delta'... > ERROR: index 'job_delta': sql_range_query: ERROR: function > crc32(character varying) does not exist > LINE 1: ..."name", '') AS "job_name_sort", 1 AS "activated", > CRC32(coun... > ^ > HINT: No function matches the given name and argument types. You > might need to add explicit type casts. > (DSN=pgsql://lisuxygdfr:***@127.0.0.1:10323/lisuxygdfr). > total 0 docs, 0 bytes > total 0.053 sec, 0 bytes/sec, 0.00 docs/sec > skipping non-plain index 'job'... > indexing index 'photo_core'... > ERROR: index 'photo_core': sql_range_query: ERROR: function > if(boolean, unknown, character varying) does not exist > LINE 1: ..._description", "users"."vorname" AS "first_name", > IF(users.p... > ^ > HINT: No function matches the given name and argument types. You > might need to add explicit type casts. > (DSN=pgsql://lisuxygdfr:***@127.0.0.1:10323/lisuxygdfr). > total 0 docs, 0 bytes > total 0.090 sec, 0 bytes/sec, 0.00 docs/sec > indexing index 'photo_delta'... > ERROR: index 'photo_delta': sql_range_query: ERROR: function > if(boolean, unknown, character varying) does not exist > LINE 1: ..._description", "users"."vorname" AS "first_name", > IF(users.p... > ^ > HINT: No function matches the given name and argument types. You > might need to add explicit type casts. > (DSN=pgsql://lisuxygdfr:***@127.0.0.1:10323/lisuxygdfr). > total 0 docs, 0 bytes > total 0.149 sec, 0 bytes/sec, 0.00 docs/sec > skipping non-plain index 'photo'... > indexing index 'photo_album_core'... > ERROR: index 'photo_album_core': sql_range_query: ERROR: function > if(boolean, unknown, character varying) does not exist > LINE 1: ..._description", "users"."vorname" AS "first_name", > IF(users.p... > ^ > HINT: No function matches the given name and argument types. You > might need to add explicit type casts. > (DSN=pgsql://lisuxygdfr:***@127.0.0.1:10323/lisuxygdfr). > total 0 docs, 0 bytes > total 0.139 sec, 0 bytes/sec, 0.00 docs/sec > indexing index 'photo_album_delta'... > ERROR: index 'photo_album_delta': sql_range_query: ERROR: function > if(boolean, unknown, character varying) does not exist > LINE 1: ..._description", "users"."vorname" AS "first_name", > IF(users.p... > ^ > HINT: No function matches the given name and argument types. You > might need to add explicit type casts. > (DSN=pgsql://lisuxygdfr:***@127.0.0.1:10323/lisuxygdfr). > total 0 docs, 0 bytes > total 0.137 sec, 0 bytes/sec, 0.00 docs/sec > skipping non-plain index 'photo_album'... > indexing index 'user_core'... > ERROR: index 'user_core': sql_range_query: ERROR: function > if(boolean, unknown, character varying) does not exist > LINE 1: ...ies"."name" AS "company", "jobs"."name" AS "job", > IF(privacy... > ^ > HINT: No function matches the given name and argument types. You > might need to add explicit type casts. > (DSN=pgsql://lisuxygdfr:***@127.0.0.1:10323/lisuxygdfr). > total 0 docs, 0 bytes > total 0.112 sec, 0 bytes/sec, 0.00 docs/sec > indexing index 'user_delta'... > ERROR: index 'user_delta': sql_range_query: ERROR: function > if(boolean, unknown, character varying) does not exist > LINE 1: ...ies"."name" AS "company", "jobs"."name" AS "job", > IF(privacy... > ^ > HINT: No function matches the given name and argument types. You > might need to add explicit type casts. > (DSN=pgsql://lisuxygdfr:***@127.0.0.1:10323/lisuxygdfr). > total 0 docs, 0 bytes > total 0.168 sec, 0 bytes/sec, 0.00 docs/sec > skipping non-plain index 'user'... > indexing index 'video_core'... > ERROR: index 'video_core': sql_range_query: ERROR: function > if(boolean, unknown, character varying) does not exist > LINE 1: ..._description", "users"."vorname" AS "first_name", > IF(users.p... > ^ > HINT: No function matches the given name and argument types. You > might need to add explicit type casts. > (DSN=pgsql://lisuxygdfr:***@127.0.0.1:10323/lisuxygdfr). > total 0 docs, 0 bytes > total 0.091 sec, 0 bytes/sec, 0.00 docs/sec > indexing index 'video_delta'... > ERROR: index 'video_delta': sql_range_query: ERROR: function > if(boolean, unknown, character varying) does not exist > LINE 1: ..._description", "users"."vorname" AS "first_name", > IF(users.p... > ^ > HINT: No function matches the given name and argument types. You > might need to add explicit type casts. > (DSN=pgsql://lisuxygdfr:***@127.0.0.1:10323/lisuxygdfr). > total 0 docs, 0 bytes > total 0.040 sec, 0 bytes/sec, 0.00 docs/sec > skipping non-plain index 'video'... > indexing index 'video_album_core'... > ERROR: index 'video_album_core': sql_range_query: ERROR: function > if(boolean, unknown, character varying) does not exist > LINE 1: ..._description", "users"."vorname" AS "first_name", > IF(users.p... > ^ > HINT: No function matches the given name and argument types. You > might need to add explicit type casts. > (DSN=pgsql://lisuxygdfr:***@127.0.0.1:10323/lisuxygdfr). > total 0 docs, 0 bytes > total 0.161 sec, 0 bytes/sec, 0.00 docs/sec > indexing index 'video_album_delta'... > ERROR: index 'video_album_delta': sql_range_query: ERROR: function > if(boolean, unknown, character varying) does not exist > LINE 1: ..._description", "users"."vorname" AS "first_name", > IF(users.p... > ^ > HINT: No function matches the given name and argument types. You > might need to add explicit type casts. > (DSN=pgsql://lisuxygdfr:***@127.0.0.1:10323/lisuxygdfr). > total 0 docs, 0 bytes > total 0.077 sec, 0 bytes/sec, 0.00 docs/sec > skipping non-plain index 'video_album'... > total 0 reads, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg > total 0 writes, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg > > > > All these indexes used to work fine, has anything changed > significantly in the way indexes are defined? > Are there some hints somewhere, what has changed, so that i can fix > these issues? > > Best Regards, > Nico > > -- > You received this message because you are subscribed to the Google Groups > "Thinking Sphinx" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/thinking-sphinx?hl=en. > -- You received this message because you are subscribed to the Google Groups "Thinking Sphinx" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/thinking-sphinx?hl=en.
