View Issue Details

This bug affects 1 person(s).
 6
IDProjectCategoryView StatusLast Update
09791Bug reportsInstallationpublic2015-07-29 13:05
Reporterfvanderstarre Assigned Toc_schmitz  
PrioritynormalSeveritypartial_block 
Status closedResolutionfixed 
Product Version2.06+ 
Fixed in Version2.06+ 
Summary09791: Upgrade from 2.05+ to 2.06+ breaks on Linux/mssql system
Description

When upgrading from db version 178 to 181, SQL error occurs on line #1398 in updatedb_helper.php (function upgradeTokenTables179() ).
"substr is not a valid function"

Steps To Reproduce

See above

Additional Information

current line #1398 in updatedb_helper.php:
" if(Yii::app()->db->driverName=='mssql' || Yii::app()->db->driverName=='mysql') $sSubstringCommand='substring'; else $sSubstringCommand='substr';"

Suggested modification:
switch (Yii::app()->db->driverName){
case 'sqlsrv':
case 'dblib':
case 'mssql':
$sSubstringCommand='substring';
case 'mysql':
case 'mysqli':
$sSubstringCommand='substr';

TagsNo tags attached.
Bug heat6
Complete LimeSurvey version number (& build)2.05+ 150310
I will donate to the project if issue is resolvedNo
BrowserAny
Database type & versionMS SQL server 2008 10.0.5500.0 (X64)
Server OS (if known)DB server: Windows NT 6.1 <X64> build 7601 SP1
Webserver software & version (if known)Linux RHEL 7, Apache 2.4.6
PHP Version5.4.43

Users monitoring this issue

There are no users monitoring this issue.

Activities

DenisChenu

DenisChenu

2015-07-24 09:33

developer   ~32771

Remind the break and pgsql ;)

switch (Yii::app()->db->driverName)
{
case 'sqlsrv':
case 'dblib':
case 'mssql':
$sSubstringCommand='substring';
break,
default:
$sSubstringCommand='substr';
}

Maybe you can test and make a pull request ?
:)

fvanderstarre

fvanderstarre

2015-07-24 09:51

reporter   ~32773

Thank you Denis! I'll test with this code:
switch (Yii::app()->db->driverName){
case 'sqlsrv':
case 'dblib':
case 'mssql':
case 'mysql':
case 'mysqli':
$sSubstringCommand='substring';
break;
default:
$sSubstringCommand='substr';
}
Is this OK? I'm not on GitHub by the way....

DenisChenu

DenisChenu

2015-07-24 10:07

developer   ~32774

Last edited: 2015-07-24 10:11

mysqli : not needed
mysql accept substr or substring, then leave substr seems better.

A github account is free ;)

PS : seems substring is know by all SQL server except SQLite :http://sql.sh/fonctions/substring . Maybe use substring directly ?
PS2 : oh no ... pgSQL system need FROM for substring and not for substr ....

fvanderstarre

fvanderstarre

2015-07-24 10:58

reporter   ~32775

updatedb_helper.php, line 1398 altered to:
switch (Yii::app()->db->driverName){
case 'sqlsrv':
case 'dblib':
case 'mssql':
$sSubstringCommand='substring';
break;
default:
$sSubstringCommand='substr';
}
This works OK.
However, in the token table column update statements following this something goes wrong, will be reported separately.

c_schmitz

c_schmitz

2015-07-24 12:07

administrator   ~32801

Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&amp;id=15612

c_schmitz

c_schmitz

2015-07-29 13:05

administrator   ~32828

Version 2.06+ Build 150729 released

Related Changesets

LimeSurvey: master 0306baf8

2015-07-24 10:07:01

c_schmitz

Details Diff
Fixed issue 09791: Upgrade from 2.05+ breaks on Linux/MSSQL systems Affected Issues
09791
mod - application/helpers/update/updatedb_helper.php Diff File

Issue History

Date Modified Username Field Change
2015-07-23 09:56 fvanderstarre New Issue
2015-07-24 09:33 DenisChenu Note Added: 32771
2015-07-24 09:51 fvanderstarre Note Added: 32773
2015-07-24 10:07 DenisChenu Note Added: 32774
2015-07-24 10:09 DenisChenu Note Edited: 32774
2015-07-24 10:11 DenisChenu Note Edited: 32774
2015-07-24 10:58 fvanderstarre Note Added: 32775
2015-07-24 12:07 c_schmitz Assigned To => c_schmitz
2015-07-24 12:07 c_schmitz Status new => assigned
2015-07-24 12:07 c_schmitz Changeset attached => LimeSurvey master 0306baf8
2015-07-24 12:07 c_schmitz Note Added: 32801
2015-07-24 12:07 c_schmitz Resolution open => fixed
2015-07-24 12:07 c_schmitz Status assigned => resolved
2015-07-24 12:07 c_schmitz Fixed in Version => 2.06+
2015-07-29 13:05 c_schmitz Note Added: 32828
2015-07-29 13:05 c_schmitz Status resolved => closed