View Issue Details

This bug affects 1 person(s).
 10
IDProjectCategoryView StatusLast Update
07787Bug reportsStatisticspublic2013-08-27 14:37
Reportersandrocasali Assigned Toc_schmitz  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version2.00+ 
Fixed in Version2.00+ 
Summary07787: "General error: 2014 Cannot execute queries while other unbuffered queries are active" on function "Get statistics"
Description

I have the this error in /limesurvey/index.php/admin/statistics/sa/index/surveyid/21854 action :

Internal Server Error
CDbCommand failed to execute the SQL statement: SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.

An internal error occurred while the Web server was processing your request. Please contact the webmaster to report this problem.

Thank you.

TagsNo tags attached.
Attached Files
CDbException.html (21,916 bytes)   
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CDbException</title>

<style type="text/css">
/*<![CDATA[*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;margin:0;padding:0;}
body{line-height:1;}
ol,ul{list-style:none;}
blockquote,q{quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{content:none;}
:focus{outline:0;}
ins{text-decoration:none;}
del{text-decoration:line-through;}
table{border-collapse:collapse;border-spacing:0;}

body {
	font: normal 9pt "Verdana";
	color: #000;
	background: #fff;
}

h1 {
	font: normal 18pt "Verdana";
	color: #f00;
	margin-bottom: .5em;
}

h2 {
	font: normal 14pt "Verdana";
	color: #800000;
	margin-bottom: .5em;
}

h3 {
	font: bold 11pt "Verdana";
}

pre {
	font: normal 11pt Menlo, Consolas, "Lucida Console", Monospace;
}

pre span.error {
	display: block;
	background: #fce3e3;
}

pre span.ln {
	color: #999;
	padding-right: 0.5em;
	border-right: 1px solid #ccc;
}

pre span.error-ln {
	font-weight: bold;
}

.container {
	margin: 1em 4em;
}

.version {
	color: gray;
	font-size: 8pt;
	border-top: 1px solid #aaa;
	padding-top: 1em;
	margin-bottom: 1em;
}

.message {
	color: #000;
	padding: 1em;
	font-size: 11pt;
	background: #f3f3f3;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	margin-bottom: 1em;
	line-height: 160%;
}

.source {
	margin-bottom: 1em;
}

.code pre {
	background-color: #ffe;
	margin: 0.5em 0;
	padding: 0.5em;
	line-height: 125%;
	border: 1px solid #eee;
}

.source .file {
	margin-bottom: 1em;
	font-weight: bold;
}

.traces {
	margin: 2em 0;
}

.trace {
	margin: 0.5em 0;
	padding: 0.5em;
}

.trace.app {
	border: 1px dashed #c00;
}

.trace .number {
	text-align: right;
	width: 2em;
	padding: 0.5em;
}

.trace .content {
	padding: 0.5em;
}

.trace .plus,
.trace .minus {
	display:inline;
	vertical-align:middle;
	text-align:center;
	border:1px solid #000;
	color:#000;
	font-size:10px;
	line-height:10px;
	margin:0;
	padding:0 1px;
	width:10px;
	height:10px;
}

.trace.collapsed .minus,
.trace.expanded .plus,
.trace.collapsed pre {
	display: none;
}

.trace-file {
	cursor: pointer;
	padding: 0.2em;
}

.trace-file:hover {
	background: #f0ffff;
}
/*]]>*/
</style>
<!-- base href="http://sl03usx2.risorse.enel/limesurvey/index.php/admin/statistics/sa/index/surveyid/46545" --></head>

<body>
<div class="container">
	<h1>CDbException</h1>

	<p class="message">
		CDbCommand failed to execute the SQL statement: SQLSTATE[HY000]: 
General error: 2014 Cannot execute queries while other unbuffered 
queries are active.  Consider using PDOStatement::fetchAll().  
Alternatively, if your code is only ever going to run against mysql, you
 may enable query buffering by setting the 
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.. The SQL statement 
executed was: SELECT count(*) FROM survey_46545	</p>

	<div class="source">
		<p class="file">/opt/limesurvey/200plus-build130325/framework/db/CDbCommand.php(528)</p>
		<div class="code"><pre><span class="ln">516</span>             return $result;
<span class="ln">517</span>         }
<span class="ln">518</span>         catch(Exception $e)
<span class="ln">519</span>         {
<span class="ln">520</span>             if($this-&gt;_connection-&gt;enableProfiling)
<span class="ln">521</span>                 Yii::endProfile('system.db.CDbCommand.query('.$this-&gt;getText().$par.')','system.db.CDbCommand.query');
<span class="ln">522</span>             $errorInfo = $e instanceof PDOException ? $e-&gt;errorInfo : null;
<span class="ln">523</span>             $message = $e-&gt;getMessage();
<span class="ln">524</span>             Yii::log(Yii::t('yii','CDbCommand::{method}() failed: {error}. The SQL statement executed was: {sql}.',
<span class="ln">525</span>                 array('{method}'=&gt;$method, '{error}'=&gt;$message, '{sql}'=&gt;$this-&gt;getText().$par)),CLogger::LEVEL_ERROR,'system.db.CDbCommand');
<span class="ln">526</span>             if(YII_DEBUG)
<span class="ln">527</span>                 $message .= '. The SQL statement executed was: '.$this-&gt;getText().$par;
<span class="error"><span class="ln error-ln">528</span>             throw new CDbException(Yii::t('yii','CDbCommand failed to execute the SQL statement: {error}',
</span><span class="ln">529</span>                 array('{error}'=&gt;$message)),(int)$e-&gt;getCode(),$errorInfo);
<span class="ln">530</span>         }
<span class="ln">531</span>     }
<span class="ln">532</span> 
<span class="ln">533</span>     /**
<span class="ln">534</span>      * Builds a SQL SELECT statement from the given query specification.
<span class="ln">535</span>      * @param array $query the query specification in name-value pairs. The following
<span class="ln">536</span>      * query options are supported: {@link select}, {@link distinct}, {@link from},
<span class="ln">537</span>      * {@link where}, {@link join}, {@link group}, {@link having}, {@link order},
<span class="ln">538</span>      * {@link limit}, {@link offset} and {@link union}.
<span class="ln">539</span>      * @return string the SQL statement
<span class="ln">540</span>      * @since 1.1.6
</pre></div>	</div>

	<div class="traces">
		<h2>Stack Trace</h2>
				<table style="width:100%;">
						<tbody><tr class="trace core collapsed">
			<td class="number">
				#0			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/opt/limesurvey/200plus-build130325/framework/db/CDbCommand.php(372): <strong>CDbCommand</strong>-&gt;<strong>queryInternal</strong>("", 0, array())				</div>

				<div class="code"><pre><span class="ln">367</span>      * @return CDbDataReader the reader object for fetching the query result
<span class="ln">368</span>      * @throws CException execution failed
<span class="ln">369</span>      */
<span class="ln">370</span>     public function query($params=array())
<span class="ln">371</span>     {
<span class="error"><span class="ln error-ln">372</span>         return $this-&gt;queryInternal('',0,$params);
</span><span class="ln">373</span>     }
<span class="ln">374</span> 
<span class="ln">375</span>     /**
<span class="ln">376</span>      * Executes the SQL statement and returns all rows.
<span class="ln">377</span>      * @param boolean $fetchAssociative whether each row should be returned as an associated array with
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#1			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/opt/limesurvey/200plus-build130325/application/helpers/admin/statistics_helper.php(3312): <strong>CDbCommand</strong>-&gt;<strong>query</strong>()				</div>

				<div class="code"><pre><span class="ln">3307</span>             $query .= implode(" AND ", $selects);
<span class="ln">3308</span>         }
<span class="ln">3309</span> 
<span class="ln">3310</span> 
<span class="ln">3311</span>         //get me some data Scotty
<span class="error"><span class="ln error-ln">3312</span>         $result=Yii::app()-&gt;db-&gt;createCommand($query)-&gt;query();
</span><span class="ln">3313</span> 
<span class="ln">3314</span>         //put all results into $results
<span class="ln">3315</span>         $row=$result-&gt;read(); $results=reset($row);
<span class="ln">3316</span> 
<span class="ln">3317</span>         if ($total)
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#2			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/opt/limesurvey/200plus-build130325/application/controllers/admin/statistics.php(467): <strong>statistics_helper</strong>-&gt;<strong>generate_statistics</strong>("46545", array("idG", "idL"), array("idG", "idL"), 0, ...)				</div>

				<div class="code"><pre><span class="ln">462</span>             $outputType = $_POST['outputtype'];
<span class="ln">463</span> 
<span class="ln">464</span>             $helper = new statistics_helper();
<span class="ln">465</span>             switch($outputType){
<span class="ln">466</span>                 case 'html':
<span class="error"><span class="ln error-ln">467</span>                     $statisticsoutput .= $helper-&gt;generate_statistics($surveyid,$summary,$summary,$usegraph,$outputType,'DD',$statlang);
</span><span class="ln">468</span>                     break;
<span class="ln">469</span>                 case 'pdf':
<span class="ln">470</span>                     $helper-&gt;generate_statistics($surveyid,$summary,$summary,$usegraph,$outputType,'I',$statlang);
<span class="ln">471</span>                     exit;
<span class="ln">472</span>                     break;
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#3			</td>
			<td class="content">
				<div class="trace-file">
										&nbsp;unknown(0): <strong>statistics</strong>-&gt;<strong>run</strong>("46545", null)				</div>

							</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#4			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/opt/limesurvey/200plus-build130325/framework/web/actions/CAction.php(107): <strong>ReflectionMethod</strong>-&gt;<strong>invokeArgs</strong>(statistics, array("46545", null))				</div>

				<div class="code"><pre><span class="ln">102</span>             else if($param-&gt;isDefaultValueAvailable())
<span class="ln">103</span>                 $ps[]=$param-&gt;getDefaultValue();
<span class="ln">104</span>             else
<span class="ln">105</span>                 return false;
<span class="ln">106</span>         }
<span class="error"><span class="ln error-ln">107</span>         $method-&gt;invokeArgs($object,$ps);
</span><span class="ln">108</span>         return true;
<span class="ln">109</span>     }
<span class="ln">110</span> }
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#5			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/opt/limesurvey/200plus-build130325/application/core/Survey_Common_Action.php(100): <strong>CAction</strong>-&gt;<strong>runWithParamsInternal</strong>(statistics,
 ReflectionMethod, array("surveyid" =&gt; "46545", "sa" =&gt; "index", 
"iSurveyId" =&gt; "46545", "iSurveyID" =&gt; "46545"))				</div>

				<div class="code"><pre><span class="ln">095</span>             $oMethod = new ReflectionMethod($this, $sDefault);
<span class="ln">096</span>         }
<span class="ln">097</span> 
<span class="ln">098</span>         // We're all good to go, let's execute it
<span class="ln">099</span>         // runWithParamsInternal would automatically get the parameters of the method and populate them as required with the params
<span class="error"><span class="ln error-ln">100</span>         return parent::runWithParamsInternal($this, $oMethod, $params);
</span><span class="ln">101</span>     }
<span class="ln">102</span> 
<span class="ln">103</span>     /**
<span class="ln">104</span>     * Some functions have different parameters, which are just an alias of the
<span class="ln">105</span>     * usual parameters we're getting in the url. This function just populates
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#6			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/opt/limesurvey/200plus-build130325/framework/web/CController.php(309): <strong>Survey_Common_Action</strong>-&gt;<strong>runWithParams</strong>(array("surveyid" =&gt; "46545", "sa" =&gt; "index"))				</div>

				<div class="code"><pre><span class="ln">304</span>     {
<span class="ln">305</span>         $priorAction=$this-&gt;_action;
<span class="ln">306</span>         $this-&gt;_action=$action;
<span class="ln">307</span>         if($this-&gt;beforeAction($action))
<span class="ln">308</span>         {
<span class="error"><span class="ln error-ln">309</span>             if($action-&gt;runWithParams($this-&gt;getActionParams())===false)
</span><span class="ln">310</span>                 $this-&gt;invalidActionParams($action);
<span class="ln">311</span>             else
<span class="ln">312</span>                 $this-&gt;afterAction($action);
<span class="ln">313</span>         }
<span class="ln">314</span>         $this-&gt;_action=$priorAction;
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#7			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/opt/limesurvey/200plus-build130325/framework/web/CController.php(287): <strong>CController</strong>-&gt;<strong>runAction</strong>(statistics)				</div>

				<div class="code"><pre><span class="ln">282</span>      * @see runAction
<span class="ln">283</span>      */
<span class="ln">284</span>     public function runActionWithFilters($action,$filters)
<span class="ln">285</span>     {
<span class="ln">286</span>         if(empty($filters))
<span class="error"><span class="ln error-ln">287</span>             $this-&gt;runAction($action);
</span><span class="ln">288</span>         else
<span class="ln">289</span>         {
<span class="ln">290</span>             $priorAction=$this-&gt;_action;
<span class="ln">291</span>             $this-&gt;_action=$action;
<span class="ln">292</span>             CFilterChain::create($this,$action,$filters)-&gt;run();
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#8			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/opt/limesurvey/200plus-build130325/framework/web/CController.php(266): <strong>CController</strong>-&gt;<strong>runActionWithFilters</strong>(statistics, array())				</div>

				<div class="code"><pre><span class="ln">261</span>         {
<span class="ln">262</span>             if(($parent=$this-&gt;getModule())===null)
<span class="ln">263</span>                 $parent=Yii::app();
<span class="ln">264</span>             if($parent-&gt;beforeControllerAction($this,$action))
<span class="ln">265</span>             {
<span class="error"><span class="ln error-ln">266</span>                 $this-&gt;runActionWithFilters($action,$this-&gt;filters());
</span><span class="ln">267</span>                 $parent-&gt;afterControllerAction($this,$action);
<span class="ln">268</span>             }
<span class="ln">269</span>         }
<span class="ln">270</span>         else
<span class="ln">271</span>             $this-&gt;missingAction($actionID);
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#9			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/opt/limesurvey/200plus-build130325/application/controllers/AdminController.php(169): <strong>CController</strong>-&gt;<strong>run</strong>("statistics")				</div>

				<div class="code"><pre><span class="ln">164</span>                     $this-&gt;redirect($this-&gt;createUrl('/admin/authentication/sa/login'));
<span class="ln">165</span>                 }
<span class="ln">166</span>                 
<span class="ln">167</span>             }
<span class="ln">168</span> 
<span class="error"><span class="ln error-ln">169</span>             return parent::run($action);
</span><span class="ln">170</span>     }
<span class="ln">171</span> 
<span class="ln">172</span>     /**
<span class="ln">173</span>     * Routes all the actions to their respective places
<span class="ln">174</span>     *
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#10			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/opt/limesurvey/200plus-build130325/framework/web/CWebApplication.php(276): <strong>AdminController</strong>-&gt;<strong>run</strong>("statistics")				</div>

				<div class="code"><pre><span class="ln">271</span>         {
<span class="ln">272</span>             list($controller,$actionID)=$ca;
<span class="ln">273</span>             $oldController=$this-&gt;_controller;
<span class="ln">274</span>             $this-&gt;_controller=$controller;
<span class="ln">275</span>             $controller-&gt;init();
<span class="error"><span class="ln error-ln">276</span>             $controller-&gt;run($actionID);
</span><span class="ln">277</span>             $this-&gt;_controller=$oldController;
<span class="ln">278</span>         }
<span class="ln">279</span>         else
<span class="ln">280</span>             throw new CHttpException(404,Yii::t('yii','Unable to resolve the request "{route}".',
<span class="ln">281</span>                 array('{route}'=&gt;$route===''?$this-&gt;defaultController:$route)));
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#11			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/opt/limesurvey/200plus-build130325/framework/web/CWebApplication.php(135): <strong>CWebApplication</strong>-&gt;<strong>runController</strong>("admin/statistics/sa/index")				</div>

				<div class="code"><pre><span class="ln">130</span>             foreach(array_splice($this-&gt;catchAllRequest,1) as $name=&gt;$value)
<span class="ln">131</span>                 $_GET[$name]=$value;
<span class="ln">132</span>         }
<span class="ln">133</span>         else
<span class="ln">134</span>             $route=$this-&gt;getUrlManager()-&gt;parseUrl($this-&gt;getRequest());
<span class="error"><span class="ln error-ln">135</span>         $this-&gt;runController($route);
</span><span class="ln">136</span>     }
<span class="ln">137</span> 
<span class="ln">138</span>     /**
<span class="ln">139</span>      * Registers the core application components.
<span class="ln">140</span>      * This method overrides the parent implementation by registering additional core components.
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#12			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/opt/limesurvey/200plus-build130325/framework/base/CApplication.php(162): <strong>CWebApplication</strong>-&gt;<strong>processRequest</strong>()				</div>

				<div class="code"><pre><span class="ln">157</span>      */
<span class="ln">158</span>     public function run()
<span class="ln">159</span>     {
<span class="ln">160</span>         if($this-&gt;hasEventHandler('onBeginRequest'))
<span class="ln">161</span>             $this-&gt;onBeginRequest(new CEvent($this));
<span class="error"><span class="ln error-ln">162</span>         $this-&gt;processRequest();
</span><span class="ln">163</span>         if($this-&gt;hasEventHandler('onEndRequest'))
<span class="ln">164</span>             $this-&gt;onEndRequest(new CEvent($this));
<span class="ln">165</span>     }
<span class="ln">166</span> 
<span class="ln">167</span>     /**
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#13			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/opt/limesurvey/200plus-build130325/index.php(178): <strong>CApplication</strong>-&gt;<strong>run</strong>()				</div>

				<div class="code"><pre><span class="ln">173</span>  *
<span class="ln">174</span>  */
<span class="ln">175</span> require_once BASEPATH . 'yii' . EXT;
<span class="ln">176</span> require_once APPPATH . 'core/LSYii_Application' . EXT;
<span class="ln">177</span> 
<span class="error"><span class="ln error-ln">178</span> Yii::createApplication('LSYii_Application', APPPATH . 'config/config' . EXT)-&gt;run();
</span><span class="ln">179</span> 
<span class="ln">180</span> /* End of file index.php */
<span class="ln">181</span> /* Location: ./index.php */
</pre></div>			</td>
		</tr>
				</tbody></table>
	</div>

	<div class="version">
		2013-04-22 15:21:04 Apache/2.2.3 (CentOS) <a href="http://www.yiiframework.com/">Yii Framework</a>/1.1.10	</div>
</div>

<script type="text/javascript">
/*<![CDATA[*/
var traceReg = new RegExp("(^|\\s)trace-file(\\s|$)");
var collapsedReg = new RegExp("(^|\\s)collapsed(\\s|$)");

var e = document.getElementsByTagName("div");
for(var j=0,len=e.length;j<len;j++){
	if(traceReg.test(e[j].className)){
		e[j].onclick = function(){
			var trace = this.parentNode.parentNode;
			if(collapsedReg.test(trace.className))
				trace.className = trace.className.replace("collapsed", "expanded");
			else
				trace.className = trace.className.replace("expanded", "collapsed");
		}
	}
}
/*]]>*/
</script>



</body></html>
CDbException.html (21,916 bytes)   
Bug heat10
Complete LimeSurvey version number (& build)130325
I will donate to the project if issue is resolvedNo
Browserff and ie
Database type & versionmysql Ver 14.12 Distrib 5.0.95, for redhat-linux-gnu (x86_64) using readline 5.1
Server OS (if known)Linux CentOS release 5.8 (Final)
Webserver software & version (if known)Apache/2.2.3
PHP Version5.1.6

Relationships

related to 08109 closedMazi Copying a question 

Users monitoring this issue

pierro, sandrocasali

Activities

sandrocasali

sandrocasali

2013-04-22 09:19

reporter   ~25023

on suggestion of c_schmitz (http://bugs.limesurvey.org/view.php?id=7742#c25012) i have set debug to 1 on config.php, now on all page i have this error:

Use of undefined constant PCRE_VERSION - assumed 'PCRE_VERSION'

/opt/limesurvey/200plus-build130325/application/helpers/common_helper.php(4572)

c_schmitz

c_schmitz

2013-04-22 10:27

administrator   ~25028

Please change line 4572 in /application/helpers/common_helper.php to

    if (defined('PCRE_VERSION') && version_compare(substr(PCRE_VERSION,0,strpos(PCRE_VERSION,' ')),'7.0')>-1)

and then try again for a better error regarding your original issue.

pierro

pierro

2013-04-22 15:05

reporter   ~25044

Same error here. The exception I got i thrown in CDbCommand.php:528.
I will investigate on it as soon as I have some free time.

sandrocasali

sandrocasali

2013-04-22 15:14

reporter   ~25048

Last edited: 2013-04-22 15:16

I do not know if this can be useful, I have solve the problem adding this method to class LSYii_Application:

/**
 * Returns a property value, an event handler list or a behavior based on its name.
 * Do not call this method. This is a PHP magic method that we override
 * to allow using the following syntax to read a property or obtain event handlers:
 * <pre>
 * $value=$component->propertyName;
 * $handlers=$component->eventName;
 * </pre>
 * @param string $name the property name or event name
 * @return mixed the property value, event handlers attached to the event, or the named behavior
 * @throws CException if the property or event is not defined
 * @see __set
 */
public function __get($name)
{
    if ($name === 'db') {
        $db = parent::__get($name);
        /**
         * Solve thi error whit older php version:
         * CDbCommand failed to execute the SQL statement: SQLSTATE[HY000]: General error:
         * 2014 Cannot execute queries while other unbuffered queries are active.
         * Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever
         * going to run against mysql, you may enable query buffering by setting the
         * PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
         */
        if ($db->active === true)
            $db->active = false;
        return $db;
    }
    return parent::__get($name);
}

!!!!!!!!!!!!!!!!!!!!!!!!! THIS IS ONLY a WORKAROUND !!!!!!!!!!!!!!!!!!!

c_schmitz

c_schmitz

2013-04-23 13:39

administrator   ~25078

Yes, it is only a hack - one I would not recommend. I still need the CallStack for the error - otherwise I cannot fix it.

sandrocasali

sandrocasali

2013-04-23 13:43

reporter   ~25079

the callstack is present in attached file CDbException.html

c_schmitz

c_schmitz

2013-04-24 11:39

administrator   ~25112

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

c_schmitz

c_schmitz

2013-04-24 11:40

administrator   ~25113

Thank you. If you find more issues like this please always attach the call stack.

c_schmitz

c_schmitz

2013-04-28 18:32

administrator   ~25151

New version 2.0+ build 130428 released

c_schmitz

c_schmitz

2013-05-10 15:00

administrator   ~25213

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

Related Changesets

LimeSurvey: master f3e8eced

2013-04-24 09:39:20

c_schmitz

Details Diff
Fixed issue 07787: Error "Cannot execute queries while other unbuffered queries are active" on function "Get statistics" Affected Issues
07787
mod - application/helpers/admin/statistics_helper.php Diff File

LimeSurvey: 2.05 ec00bbe7

2013-04-24 09:39:20

c_schmitz

Details Diff
Fixed issue 07787: Error "Cannot execute queries while other unbuffered queries are active" on function "Get statistics" Affected Issues
07787
mod - application/helpers/admin/statistics_helper.php Diff File

Issue History

Date Modified Username Field Change
2013-04-22 09:13 sandrocasali New Issue
2013-04-22 09:19 sandrocasali Note Added: 25023
2013-04-22 10:27 c_schmitz Note Added: 25028
2013-04-22 10:27 c_schmitz Assigned To => c_schmitz
2013-04-22 10:27 c_schmitz Status new => feedback
2013-04-22 15:05 pierro Note Added: 25044
2013-04-22 15:14 sandrocasali Note Added: 25048
2013-04-22 15:14 sandrocasali Status feedback => assigned
2013-04-22 15:16 sandrocasali Note Edited: 25048
2013-04-22 15:16 sandrocasali Note Edited: 25048
2013-04-22 15:26 sandrocasali File Added: CDbException.html
2013-04-22 15:27 sandrocasali Issue Monitored: sandrocasali
2013-04-23 11:14 pierro Issue Monitored: pierro
2013-04-23 13:39 c_schmitz Note Added: 25078
2013-04-23 13:39 c_schmitz Status assigned => feedback
2013-04-23 13:43 sandrocasali Note Added: 25079
2013-04-23 13:43 sandrocasali Status feedback => assigned
2013-04-24 11:39 c_schmitz Changeset attached => LimeSurvey master f3e8eced
2013-04-24 11:39 c_schmitz Note Added: 25112
2013-04-24 11:39 c_schmitz Resolution open => fixed
2013-04-24 11:40 c_schmitz Note Added: 25113
2013-04-24 11:40 c_schmitz Status assigned => resolved
2013-04-24 11:40 c_schmitz Fixed in Version => 2.00+
2013-04-28 18:32 c_schmitz Note Added: 25151
2013-04-28 18:32 c_schmitz Status resolved => closed
2013-05-10 15:00 c_schmitz Changeset attached => LimeSurvey 2.05 ec00bbe7
2013-05-10 15:00 c_schmitz Note Added: 25213
2013-08-27 14:37 DenisChenu Relationship added related to 08109
2021-08-02 16:33 guest Bug heat 6 => 10