Каким полезным сценариям GDB использовали/писали Вас?

Извините, это не возможно с SQL Server MS (возможный хотя с PostgreSQL):

select lastname + ', ' + firstname as fullname
from person
group by fullname

Иначе просто использование это:

select x.fullname
from 
(
    select lastname + ', ' + firstname as fullname
    from person
) as x
group by x.fullname

Или это:

select lastname + ', ' + firstname as fullname
from person
group by lastname, firstname  -- no need to put the ', '

вышеупомянутый запрос быстрее, группирует поля сначала, затем вычисляют те поля.

следующий запрос медленнее (он пробует к [1 110], вычисляют сначала избранное выражение, затем он группирует записи на основе того вычисления).

select lastname + ', ' + firstname as fullname
from person
group by lastname + ', ' + firstname
28
задан nik 8 July 2009 в 05:35
поделиться

2 ответа

Этот скрипт, написанный не мной, печатает контейнеры STL, такие как вектор, карта и т.д: http://www.yolinux.com/TUTORIALS/src/dbinit_stl_views-1.03.txt

Совершенно потрясающе.

10
ответ дан 28 November 2019 в 03:54
поделиться

1. При попытке заставить некоторые сторонние библиотеки DLL с закрытым исходным кодом работать с нашим проектом в Mono, он выдавал бессмысленные ошибки. Поэтому я обратился к скриптам из проекта Mono .

2. У меня также был проект, который мог выгружать собственную информацию в stdout для использования в GDB, поэтому в точке останова я мог запустить функцию, а затем вырезать и вставить ее вывод в GDB.

[Изменить]

3. Большая часть моего использования GCC / G ++ длилась некоторое время, но я также помню, как использовал макрос, чтобы воспользоваться тем фактом, что GDB знал элементы некоторых непрозрачных данных, которые у меня были (библиотека была скомпилирована с отладкой). Это было чрезвычайно полезно.

4. И я тоже это нашел. Он выводит список объектов (из глобального SLL "headMeterFix"), которые содержат, среди прочего, динамические массивы другого типа объектов. Один из немногих случаев, когда я использовал вложенные циклы в макросе:

define showFixes
  set $i= headMeterFix
  set $n = 0
  while ($i != 0)
    set $p = $i->resolved_list
    set $x = $i->resolved_cnt
    set $j = 0 
    printf "%08x [%d] = {", $i, $x
    printf "%3d [%3d] %08x->%08x (D/R): %3d/%-3d - %3d/%-3d {", $n, $i, $x, $i->fix, $i->depend_cnt, dynArySizeDepList($i->depend_list), $i->resolved_cnt, dynArySizeDepList($i->resolved_list)
    while ($j < $x)
       printf " %08x", $p[$j]
       set $j=$j+1
    end
    printf " }\n"
    set $i = $i->next
    set $n = $n+1
  end
end 
3
ответ дан 28 November 2019 в 03:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: