View Issue Details

This bug affects 1 person(s).
 2
IDProjectCategoryView StatusLast Update
10045Bug reportsSurvey participants (Tokens)public2015-12-04 11:43
Reporterfvanderstarre Assigned Toc_schmitz  
PriorityhighSeveritypartial_block 
Status closedResolutionfixed 
Product Version2.06+ 
Fixed in Version2.06+ 
Summary10045: Responses not visble in non-anonymous survey using tokens
Description

In a non-anonymous survey tokens are created and used for completing the survey. Responses can not be shown in admin interface, or be exported to Excel etc.
When token fields are added to be exported, I get a db error:
"CDbCommand faalde tijdens het uitvoeren van volgend SQL statement: SQLSTATE[HY000]: General error: 20018 Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "SQL_Latin1_General_CP1_CS_AS" in the equal to operation. [20018] (severity 16) [(null)]".

Steps To Reproduce

Set up non-anonymous survey using tokens.
Complete survey as participant.
Log in as admin, try to view/export responses.

Additional Information

Token column in survey table is defined with collation: SQL_Latin1_General_CP1_CI_AS (case insensitive)
Token in token table: SQL_Latin1_General_CP1_CS_AS (case sensitive).
There seems to be a discrepancy here!

TagsNo tags attached.
Attached Files
activate_helper.php (22,432 bytes)
Bug heat2
Complete LimeSurvey version number (& build)2.06+ 151018
I will donate to the project if issue is resolvedNo
BrowserAny
Database type & versionMS SQL server 2008R2 10.50.6220 (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.6.13

Users monitoring this issue

There are no users monitoring this issue.

Activities

fvanderstarre

fvanderstarre

2015-11-19 08:41

reporter   ~33589

Problem can be avoided by first creating the token table, then activating the survey.
I think it has to do with the coding in:
application\helpers\admin\activate_helper.php, line # 362-363

if ($prow->anonymized == 'N' && !array_key_exists('token',$createsurvey)) {
$createsurvey['token'] = "string(36)";

fvanderstarre

fvanderstarre

2015-11-19 12:26

reporter   ~33596

Please ignore attached file "activate_helper.php".

fvanderstarre

fvanderstarre

2015-11-19 13:27

reporter   ~33603

Fixed by replacing line # 363 by lines 346-354, where token collation is set.

Related Changesets

LimeSurvey: master 6e609576

2015-10-30 09:57:36

encelado

Details Diff
Fixed issue: 'token' column collation is not (always) set in survey tables Affected Issues
10045
mod - application/helpers/admin/activate_helper.php Diff File

Issue History

Date Modified Username Field Change
2015-11-17 15:42 fvanderstarre New Issue
2015-11-17 15:42 fvanderstarre File Added: survey_archive_731748.lsa
2015-11-19 08:41 fvanderstarre Note Added: 33589
2015-11-19 12:19 fvanderstarre File Added: activate_helper.php
2015-11-19 12:26 fvanderstarre Note Added: 33596
2015-11-19 13:27 fvanderstarre Note Added: 33603
2015-12-04 11:41 c_schmitz Status new => closed
2015-12-04 11:41 c_schmitz Assigned To => c_schmitz
2015-12-04 11:41 c_schmitz Resolution open => fixed
2015-12-04 11:41 c_schmitz Fixed in Version => 2.06+
2015-12-04 11:43 c_schmitz Changeset attached => LimeSurvey master 6e609576
2016-12-08 10:39 c_schmitz Category Tokens => Survey participants (Tokens)