extensions/clientprefs/extension.cpp
changeset 2359 a51e376f3700
parent 2338 b9a152a270c9
child 2373 01dd8a057823
     1.1 --- a/extensions/clientprefs/extension.cpp	Tue Oct 14 12:31:22 2008 +1300
     1.2 +++ b/extensions/clientprefs/extension.cpp	Wed Oct 15 01:01:36 2008 -0700
     1.3 @@ -415,7 +415,18 @@
     1.4  	{
     1.5  		query->SetDatabase(Database);
     1.6  		query->SetPreparedQuery();
     1.7 -		dbi->AddToThreadQueue(query, PrioQueue_Normal);
     1.8 +		if (query->GetQuery() == NULL && query->GetType() != Query_Connect)
     1.9 +		{
    1.10 +			g_pSM->LogError(myself, "Invalid aqtq query %d being inserted! glorp: %p, %p",
    1.11 +				query->GetType(),
    1.12 +				query->GetDriver(),
    1.13 +				query);
    1.14 +			query->Destroy();
    1.15 +		}
    1.16 +		else
    1.17 +		{
    1.18 +			dbi->AddToThreadQueue(query, PrioQueue_Normal);
    1.19 +		}
    1.20  		return true;
    1.21  	}
    1.22  
    1.23 @@ -435,17 +446,28 @@
    1.24  	
    1.25  	while (iter != cachedQueries.end())
    1.26  	{
    1.27 -		TQueryOp *op = (TQueryOp *)*iter;
    1.28 +		TQueryOp *op = *iter;
    1.29  
    1.30  		if (Database != NULL)
    1.31  		{
    1.32  			op->SetDatabase(Database);
    1.33  			op->SetPreparedQuery();
    1.34 -			dbi->AddToThreadQueue(op, PrioQueue_Normal);
    1.35 +			if (op->GetQuery() == NULL && op->GetType() != Query_Connect)
    1.36 +			{
    1.37 +				g_pSM->LogError(myself, "Invalid pqc query %d being inserted! glorp: %p, %p",
    1.38 +					op->GetType(),
    1.39 +					op->GetDriver(),
    1.40 +					op);
    1.41 +				op->Destroy();
    1.42 +			}
    1.43 +			else
    1.44 +			{
    1.45 +				dbi->AddToThreadQueue(op, PrioQueue_Normal);
    1.46 +			}
    1.47  		}
    1.48  		else
    1.49  		{
    1.50 -			delete op;
    1.51 +			op->Destroy();
    1.52  		}
    1.53  
    1.54  		iter++;