|
Непонятки с UDF & group by...
|
|||
---|---|---|---|
#18+
У меня есть агрегатная функция pairalign, которая в качестве 2 параметров принимает последовательности символов. Ее суть - попарное сравнение последовательностей (дальше - неинтересно: генетика, выравнивание...) Последовательности хранятся как TEXT-поля. Смотрел содержимое таблицы - все с ними нормально. Для удобства вывел поля во временную таблицу, получив такое: id seq1 seq2 ------------------------- 1 some_seq1 some_seq2 2 some_seq1 some_seq2 3 some_seq1 some_seq2 4 some_seq1 some_seq2 Известно, что агрегатная функция работает с группами. Прекрасно, здесь - 4 группы (если группировать по ключу id) Делаю select pairalign(seq1, seq2) from seq_tbl group by id; Выдает какой-то бред (я просто знаю, что должно получиться). В качестве теста изменяю функцию так, чтобы она показала, что подается на вход главной считающей функции. И удивленно обнаруживаю, что после memcpy( inputDataElem->seq1_, args->args[ 0 ], strlen( (char*)args->args[ 0 ] ) ) в seq1_ оказывается считано в 2 раза больше данных, чем хранится в соотв. ячейке. Хотя с seq2_ при аналогичном memcpy все в порядке... Помнится, когда задавал еще какие-то дополнительные условия where - выводило и как положено. Но я не уловил суть и поэтому не запомнил. Бред, в общем, какой-то... Где же ошибка? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2004, 01:52 |
|
|
start [/forum/topic.php?fid=47&fpage=695&tid=1855518]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
184ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
28ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 269ms |
0 / 0 |