View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
08396 | Bug reports | Import/Export | public | 2013-11-20 13:59 | 2016-08-25 16:43 |
Reporter | DenisChenu | Assigned To | DenisChenu | ||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | fixed | ||
Product Version | 2.00+ | ||||
Fixed in Version | 2.00+ | ||||
Summary | 08396: Sub Question code TIME with Save timings survey : unable to export survey | ||||
Description | When trying to export a survey with TIME in question code : | ||||
Steps To Reproduce | Import LSA file and try to export CSV reponse table | ||||
Additional Information | Need alias for each table. | ||||
Tags | No tags attached. | ||||
Attached Files | CDbException.html (10,266 bytes)
CDbException CDbCommand failed to execute the SQL statement: SQLSTATE[23000]: Integrity constraint violation: 1052 Column '968546X718X17787TIME' in field list is ambiguous. The SQL statement executed was: SELECT `token`, `submitdate`, `lastpage`, `startlanguage`, `startdate`, `datestamp`, `968546X718X17787SQ1`, `968546X718X17787TIME`, `968546X718X17790SQ1`, `968546X718X17790TIME`, `interviewtime`, `968546X718time`, `968546X718X17787time`, `968546X718X17790time`, `lime_survey_968546`.`id` FROM `lime_survey_968546` LEFT JOIN `lime_survey_968546_timings` `survey_timings` ON lime_survey_968546.id = survey_timings.id ORDER BY `lime_survey_968546`.`id` LIMIT 1 /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/db/CDbCommand.php(528) 516 return $result; 517 } 518 catch(Exception $e) 519 { 520 if($this->_connection->enableProfiling) 521 Yii::endProfile('system.db.CDbCommand.query('.$this->getText().$par.')','system.db.CDbCommand.query'); 522 $errorInfo = $e instanceof PDOException ? $e->errorInfo : null; 523 $message = $e->getMessage(); 524 Yii::log(Yii::t('yii','CDbCommand::{method}() failed: {error}. The SQL statement executed was: {sql}.', 525 array('{method}'=>$method, '{error}'=>$message, '{sql}'=>$this->getText().$par)),CLogger::LEVEL_ERROR,'system.db.CDbCommand'); 526 if(YII_DEBUG) 527 $message .= '. The SQL statement executed was: '.$this->getText().$par; 528 throw new CDbException(Yii::t('yii','CDbCommand failed to execute the SQL statement: {error}', 529 array('{error}'=>$message)),(int)$e->getCode(),$errorInfo); 530 } 531 } 532 533 /** 534 * Builds a SQL SELECT statement from the given query specification. 535 * @param array $query the query specification in name-value pairs. The following 536 * query options are supported: {@link select}, {@link distinct}, {@link from}, 537 * {@link where}, {@link join}, {@link group}, {@link having}, {@link order}, 538 * {@link limit}, {@link offset} and {@link union}. 539 * @return string the SQL statement 540 * @since 1.1.6 Stack Trace #0 + – /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/db/CDbCommand.php(372): *CDbCommand*->*queryInternal*("", 0, array()) 367 * @return CDbDataReader the reader object for fetching the query result 368 * @throws CException execution failed 369 */ 370 public function query($params=array()) 371 { 372 return $this->queryInternal('',0,$params); 373 } 374 375 /** 376 * Executes the SQL statement and returns all rows. 377 * @param boolean $fetchAssociative whether each row should be returned as an associated array with #1 + – /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/helpers/admin/exportresults_helper.php(325): *CDbCommand*->*query*() 320 if ($iOffset+$iLimit>$iMaximum) 321 { 322 $iLimit=$iMaximum-$iOffset; 323 } 324 325 $survey->responses=$oRecordSet->select($aSelectFields)->order('{{survey_' . $survey->id . '}}.id')->limit($iLimit, $iOffset)->query()->readAll(); 326 327 return count($survey->responses); 328 } 329 } 330 #2 + – /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/helpers/admin/exportresults_helper.php(108): *SurveyDao*->*loadSurveyResults*(SurveyObj, 100, 0, "1", ...) 103 104 $iBatchSize=100; $iCurrentRecord=$oOptions->responseMinRecord-1; 105 $bMoreRecords=true; $first=true; 106 while ($bMoreRecords) 107 { 108 $iExported= $surveyDao->loadSurveyResults($survey, $iBatchSize, $iCurrentRecord, $oOptions->responseMaxRecord, $sFilter); 109 $iCurrentRecord+=$iExported; 110 $writer->write($survey, $sLanguageCode, $oOptions,$first); 111 $first=false; 112 $bMoreRecords= ($iExported == $iBatchSize); 113 } #3 + – /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/controllers/admin/export.php(270): *ExportSurveyResultsService*->*exportSurvey*("968546", "en", "pdf", FormattingOptions, ...) 265 else 266 { 267 $sFilter=''; 268 } 269 $resultsService = new ExportSurveyResultsService(); 270 $resultsService->exportSurvey($iSurveyID, $explang, $type, $options, $sFilter); 271 272 exit; 273 } 274 275 /* #4 unknown(0): *export*->*exportresults*() #5 + – /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/actions/CAction.php(107): *ReflectionMethod*->*invokeArgs*(export, array()) 102 else if($param->isDefaultValueAvailable()) 103 $ps[]=$param->getDefaultValue(); 104 else 105 return false; 106 } 107 $method->invokeArgs($object,$ps); 108 return true; 109 } 110 } #6 + – /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/core/Survey_Common_Action.php(100): *CAction*->*runWithParamsInternal*(export, ReflectionMethod, array("surveyid" => "968546", "sa" => "exportresults", "iSurveyId" => "968546", "iSurveyID" => "968546")) 095 $oMethod = new ReflectionMethod($this, $sDefault); 096 } 097 098 // We're all good to go, let's execute it 099 // runWithParamsInternal would automatically get the parameters of the method and populate them as required with the params 100 return parent::runWithParamsInternal($this, $oMethod, $params); 101 } 102 103 /** 104 * Some functions have different parameters, which are just an alias of the 105 * usual parameters we're getting in the url. This function just populates #7 + – /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CController.php(309): *Survey_Common_Action*->*runWithParams*(array("surveyid" => "968546", "sa" => "exportresults")) 304 { 305 $priorAction=$this->_action; 306 $this->_action=$action; 307 if($this->beforeAction($action)) 308 { 309 if($action->runWithParams($this->getActionParams())===false) 310 $this->invalidActionParams($action); 311 else 312 $this->afterAction($action); 313 } 314 $this->_action=$priorAction; #8 + – /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CController.php(287): *CController*->*runAction*(export) 282 * @see runAction 283 */ 284 public function runActionWithFilters($action,$filters) 285 { 286 if(empty($filters)) 287 $this->runAction($action); 288 else 289 { 290 $priorAction=$this->_action; 291 $this->_action=$action; 292 CFilterChain::create($this,$action,$filters)->run(); #9 + – /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CController.php(266): *CController*->*runActionWithFilters*(export, array()) 261 { 262 if(($parent=$this->getModule())===null) 263 $parent=Yii::app(); 264 if($parent->beforeControllerAction($this,$action)) 265 { 266 $this->runActionWithFilters($action,$this->filters()); 267 $parent->afterControllerAction($this,$action); 268 } 269 } 270 else 271 $this->missingAction($actionID); #10 + – /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/controllers/AdminController.php(170): *CController*->*run*("export") 165 $this->redirect($this->createUrl('/admin/authentication/sa/login')); 166 } 167 168 } 169 170 return parent::run($action); 171 } 172 173 /** 174 * Routes all the actions to their respective places 175 * #11 + – /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CWebApplication.php(276): *AdminController*->*run*("export") 271 { 272 list($controller,$actionID)=$ca; 273 $oldController=$this->_controller; 274 $this->_controller=$controller; 275 $controller->init(); 276 $controller->run($actionID); 277 $this->_controller=$oldController; 278 } 279 else 280 throw new CHttpException(404,Yii::t('yii','Unable to resolve the request "{route}".', 281 array('{route}'=>$route===''?$this->defaultController:$route))); #12 + – /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CWebApplication.php(135): *CWebApplication*->*runController*("admin/export/sa/exportresults") 130 foreach(array_splice($this->catchAllRequest,1) as $name=>$value) 131 $_GET[$name]=$value; 132 } 133 else 134 $route=$this->getUrlManager()->parseUrl($this->getRequest()); 135 $this->runController($route); 136 } 137 138 /** 139 * Registers the core application components. 140 * This method overrides the parent implementation by registering additional core components. #13 + – /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/base/CApplication.php(162): *CWebApplication*->*processRequest*() 157 */ 158 public function run() 159 { 160 if($this->hasEventHandler('onBeginRequest')) 161 $this->onBeginRequest(new CEvent($this)); 162 $this->processRequest(); 163 if($this->hasEventHandler('onEndRequest')) 164 $this->onEndRequest(new CEvent($this)); 165 } 166 167 /** #14 + – /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/index.php(178): *CApplication*->*run*() 173 * 174 */ 175 require_once BASEPATH . 'yii' . EXT; 176 require_once APPPATH . 'core/LSYii_Application' . EXT; 177 178 Yii::createApplication('LSYii_Application', APPPATH . 'config/config' . EXT)->run(); 179 180 /* End of file index.php */ 181 /* Location: ./index.php */ 2013-11-20 13:57:22 Apache/2.2.16 (Debian) Yii Framework <http://www.yiiframework.com/>/1.1.10 | ||||
Bug heat | 14 | ||||
Complete LimeSurvey version number (& build) | 131120 | ||||
I will donate to the project if issue is resolved | No | ||||
Browser | not relevant | ||||
Database type & version | Mysql 5 | ||||
Server OS (if known) | debian/linux | ||||
Webserver software & version (if known) | apache | ||||
PHP Version | PHP Version 5.3 | ||||
has duplicate | 09909 | closed | DenisChenu | Empty colums in export file while data visible in GUI |
Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=13471 |
|
Fix committed to 2.05 branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=13473 |
|
2.00+ Build 131122 released |
|
LimeSurvey: master 06344fda 2013-11-20 14:50 Details Diff |
Fixed issue 08396: Sub Question code TIME with Save timings survey : unable to export survey Dev: adding table prefix for all field Dev: keep PHP<5.3 compatibility |
Affected Issues 08396 |
|
mod - application/helpers/admin/exportresults_helper.php | Diff File | ||
LimeSurvey: 2.05 7391cf2d 2013-11-20 15:45 Details Diff |
Fixed issue 08396: Sub Question code TIME with Save timings survey : unable to export survey Dev: adding table prefix for all field Dev: keep PHP<5.3 compatibility |
Affected Issues 08396 |
|
mod - application/helpers/admin/export/SurveyDao.php | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2013-11-20 13:59 | DenisChenu | New Issue | |
2013-11-20 13:59 | DenisChenu | Assigned To | => DenisChenu |
2013-11-20 13:59 | DenisChenu | Status | new => assigned |
2013-11-20 13:59 | DenisChenu | File Added: CDbException.html | |
2013-11-20 14:00 | DenisChenu | File Added: survey_archive_TIME.lsa | |
2013-11-20 14:50 | DenisChenu | Changeset attached | => LimeSurvey master 06344fda |
2013-11-20 14:50 | DenisChenu | Note Added: 27257 | |
2013-11-20 14:50 | DenisChenu | Resolution | open => fixed |
2013-11-20 15:45 | DenisChenu | Changeset attached | => LimeSurvey 2.05 7391cf2d |
2013-11-20 15:45 | DenisChenu | Note Added: 27259 | |
2013-11-20 15:46 | DenisChenu | Status | assigned => resolved |
2013-11-20 15:46 | DenisChenu | Fixed in Version | => 2.00+ |
2013-11-24 19:05 | c_schmitz | Note Added: 27348 | |
2013-11-24 19:05 | c_schmitz | Status | resolved => closed |
2016-08-25 16:43 | DenisChenu | Relationship added | has duplicate 09909 |