private boolean sendAutomaticSavepoint(Query query, int flags) throws IOException { if (((flags & QueryExecutor.QUERY_SUPPRESS_BEGIN) == 0 || getTransactionState() == TransactionState.OPEN) && query != restoreToAutoSave && getAutoSave() != AutoSave.NEVER // If query has no resulting fields, it cannot fail with 'cached plan must not change result type' // thus no need to set a safepoint before such query && (getAutoSave() == AutoSave.ALWAYS // If CompositeQuery is observed, just assume it might fail and set the savepoint || !(query instanceof SimpleQuery) || ((SimpleQuery) query).getFields() != null)) { sendOneQuery(autoSaveQuery, SimpleQuery.NO_PARAMETERS, 1, 0, QUERY_NO_RESULTS | QUERY_NO_METADATA // PostgreSQL does not support bind, exec, simple, sync message flow, // so we force autosavepoint to use simple if the main query is using simple | QUERY_EXECUTE_AS_SIMPLE); return true; } return false; }
Field[] fields = query.getFields(); if (!noBinaryTransfer && query.needUpdateFieldFormats()) { for (Field field : fields) {
SimpleQuery currentQuery = (SimpleQuery)describeData[0]; Field[] fields = currentQuery.getFields(); Portal currentPortal = (Portal)executeData[1]; Field[] fields = currentQuery.getFields(); if (fields != null && !noResults && tuples == null) tuples = new Vector(); Portal currentPortal = (Portal)executeData[1]; Field[] fields = currentQuery.getFields(); if (fields != null && !noResults && tuples == null) tuples = new Vector();
SimpleQuery currentQuery = (SimpleQuery)describeData[0]; Field[] fields = currentQuery.getFields(); Portal currentPortal = (Portal)executeData[1]; Field[] fields = currentQuery.getFields(); if (fields != null && !noResults && tuples == null) tuples = new Vector(); Portal currentPortal = (Portal)executeData[1]; Field[] fields = currentQuery.getFields(); if (fields != null && !noResults && tuples == null) tuples = new Vector();
SimpleQuery currentQuery = (SimpleQuery)describeData[0]; Field[] fields = currentQuery.getFields(); Portal currentPortal = (Portal)executeData[1]; Field[] fields = currentQuery.getFields(); if (fields != null && !noResults && tuples == null) tuples = new Vector(); Portal currentPortal = (Portal)executeData[1]; Field[] fields = currentQuery.getFields(); if (fields != null && !noResults && tuples == null) tuples = new Vector();