+ //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->traceMessage(sprintf('DATABASE-CONNECTION: Invoking this->backendInstance->querySelect(%s,%s) ...', $tableName, $criteriaInstance->__toString()));
+ $result = $this->backendInstance->querySelect($tableName, $criteriaInstance);
+
+ // Is a valid array returned?
+ if (!isset($result[BaseDatabaseResult::RESULT_NAME_STATUS])) {
+ // Missing element
+ throw new OutOfBoundsException(sprintf('result()=%d does not have element "%s"', count($result), BaseDatabaseResult::RESULT_NAME_STATUS), FrameworkInterface::EXCEPTION_OUT_OF_BOUNDS);
+ } elseif ($result[BaseDatabaseResult::RESULT_NAME_STATUS] != 'ok') {
+ // Is exception given?
+ if (isset($result[BaseDatabaseResult::RESULT_NAME_EXCEPTION])) {
+ // Attach it
+ throw new UnexpectedValueException(sprintf('result[%s]=%s is not "ok" with cause', BaseDatabaseResult::RESULT_NAME_STATUS), FrameworkInterface::EXCEPTION_INVALID_ARGUMENT, BaseDatabaseResult::RESULT_NAME_EXCEPTION);
+ } else {
+ // No exception attached
+ throw new UnexpectedValueException(sprintf('result[%s]=%s is not "ok"', BaseDatabaseResult::RESULT_NAME_STATUS, $result[BaseDatabaseResult::RESULT_NAME_STATUS]), FrameworkInterface::EXCEPTION_INVALID_ARGUMENT);
+ }
+ }