[RDD] SQL problem upgrading an installation

John Edstrom johnedstrom at firebare.org
Tue May 2 23:46:12 EDT 2017


I'm (finally) upgrading our old Rivendell to a newer version and am
having problems with the SQL.

We're going from RD 2.2.1 -> 2.15.3
              mysql 14.14 dist 5.5.29 -> 14.14 dist 5.5.55
              
both are running on Linux debian Mints (13 and 17.3 and the RDs were
both built clean from source.

I exported the db from the old server, transferred it to the new one and
'restored' the new database from the old dump with the rdadmin tool.  No
errors were reported.

I ran rdlibrary and searched the library with 'MUSIC' in the search
input.  The search failed.  The query from the mysql log, formatted for
readability is:

select CART.NUMBER,CART.FORCED_LENGTH,CART.TITLE,CART.ARTIST,
       CART.ALBUM,CART.LABEL,
       CART.CLIENT,CART.AGENCY,CART.USER_DEFINED,
       CART.COMPOSER,CART.PUBLISHER,CART.CONDUCTOR,
       CART.GROUP_NAME,CART.START_DATETIME,CART.END_DATETIME,CART.TYPE,
       CART.CUT_QUANTITY,CART.LAST_CUT_PLAYED,
       CART.ENFORCE_LENGTH,CART.PRESERVE_PITCH,
       CART.LENGTH_DEVIATION,CART.OWNER,CART.VALIDITY,GROUPS.COLOR,
       CUTS.LENGTH,CUTS.EVERGREEN,CUTS.START_DATETIME,CUTS.END_DATETIME,
       CUTS.START_DAYPART,CUTS.END_DAYPART,CUTS.MON,CUTS.TUE,
       CUTS.WED,CUTS.THU,CUTS.FRI,CUTS.SAT,CUTS.SUN 
  from CART left join GROUPS on CART.GROUP_NAME=GROUPS.NAME
            left join CUTS   on CART.NUMBER=CUTS.CART_NUMBER 
 where () && ((CART.TITLE like "%MUSIC%")||
        (CART.ARTIST like "%MUSIC%")||(CART.CLIENT like "%MUSIC%")||
        (CART.AGENCY like "%MUSIC%")||(CART.ALBUM like "%MUSIC%")||
        (CART.LABEL like "%MUSIC%")||(CART.NUMBER like "%MUSIC%")||
        (CART.PUBLISHER like "%MUSIC%")||(CART.COMPOSER like "%MUSIC
%")||
        (CART.CONDUCTOR like "%MUSIC%")||(CART.SONG_ID like "%MUSIC%")||
        (CART.USER_DEFINED like "%MUSIC%")||(CUTS.ISCI like "%MUSIC%")
||(CUTS.ISRC like "%MUSIC%")
        ||(CUTS.DESCRIPTION like "%MUSIC%")
        ||(CUTS.OUTCUE like "%MUSIC%"))
         && ((TYPE=1)||(TYPE=2)||(TYPE=3))
         order by CART.NUMBER limit 100


It horked at "...)&&((CART.TITLE..."

If I take the "()&&" clause out the query works OK.


My question is, what is supposed to go in the "()&&" section, and what
bit of code is responsible for generating that query?


  JE

-- 
John Edstrom <johnedstrom at firebare.org>
Firebare



More information about the Rivendell-dev mailing list