1 21 package com.db4o.cs.messages; 22 23 import com.db4o.*; 24 import com.db4o.config.*; 25 import com.db4o.cs.*; 26 import com.db4o.inside.query.*; 27 28 public final class MQueryExecute extends MsgQuery { 29 30 private QueryEvaluationMode _evaluationMode; 31 32 public boolean processAtServer(YapServerThread serverThread) { 33 unmarshall(); 34 writeQueryResult(execute(), serverThread, _evaluationMode); 35 return true; 36 } 37 38 private AbstractQueryResult execute() { 39 40 synchronized (streamLock()) { 41 42 46 QQuery query = (QQuery) stream().unmarshall(_payLoad); 47 query.unmarshall(transaction()); 48 49 _evaluationMode = query.evaluationMode(); 50 51 return executeFully(query); 52 53 } 54 } 55 56 private AbstractQueryResult executeFully(QQuery query) { 57 try { 58 AbstractQueryResult qr = newQueryResult(query.evaluationMode()); 59 qr.loadFromQuery(query); 60 return qr; 61 } catch (Exception e) { 62 return newQueryResult(query.evaluationMode()); 63 } 64 } 65 66 } | Popular Tags |