function SearchCompleteValues(&$form, $text, &$found)
 {
     $error = '';
     $found = array();
     if (strlen($complete_expression = MetabaseBeginsWith($this->connection, $text)) == 0) {
         return 'it was not possible to build the complete query expression: ' . MetabaseError($this->connection);
     }
     if (!strcmp($complete_values_query = str_replace('{BEGINSWITH}', $complete_expression, $this->complete_values_query), $this->complete_values_query)) {
         return 'the complete values query does not contain the {BEGINSWITH} mark to insert the complete expression';
     }
     if (strlen($text) && $this->complete_values_limit) {
         MetabaseSetSelectedRowRange($this->connection, 0, $this->complete_values_limit);
     }
     if ($r = MetabaseQuery($this->connection, $complete_values_query)) {
         for ($l = 0; !MetabaseEndOfResult($this->connection, $r); $l++) {
             if (!MetabaseFetchResultArray($this->connection, $r, $d, $l)) {
                 $error = 'Could not retrieve the complete values: ' . MetabaseError($this->connection);
                 break;
             }
             $found[$d[0]] = $this->FormatCompleteValue($d);
         }
         MetabaseFreeResult($this->connection, $r);
     } else {
         $error = 'Complete values query execution failed: ' . MetabaseError($this->connection);
     }
     return $error;
 }
Exemplo n.º 2
0
             }
             if ($pass) {
                 if (!MetabaseEndOfResult($database, $result)) {
                     $pass = 0;
                     echo "FAILED!{$eol}";
                     $failed++;
                     echo "Test {$test}: the query result did not seem to have reached the end of result as expected starting row {$start_row} after fetching upto row {$row}{$eol}";
                 }
             }
             MetabaseFreeResult($database, $result);
         }
     }
 }
 if ($success) {
     for ($rows = 2, $start_row = 0; $pass && $start_row < $total_rows; $start_row += $rows) {
         MetabaseSetSelectedRowRange($database, $start_row, $rows);
         if (!($result = MetabaseQuery($database, "SELECT user_name,user_password,subscribed,user_id,quota,weight,access_date,access_time,approved FROM users ORDER BY user_id"))) {
             $success = 0;
             break;
         } else {
             if (($result_rows = MetabaseNumberOfRows($database, $result)) > $rows) {
                 $pass = 0;
                 echo "FAILED!{$eol}";
                 $failed++;
                 echo "Test {$test}: expected a result of no more than {$rows} but the returned number of rows is {$result_rows}";
             } else {
                 for ($row = 0; $row < $result_rows; $row++) {
                     if (MetabaseEndOfResult($database, $result)) {
                         $pass = 0;
                         echo "FAILED!{$eol}";
                         $failed++;