Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
IDS 11.10.FC2TL: нерабочая рекурсия ХП
|
|||
|---|---|---|---|
|
#18+
IBM Informix Dynamic Server Version 11.10.FC2TL Проверяем работоспособность рекурсивного вызова ХП: (предупреждаю заранее: некоторые вариации эксперимента ложили сервер - особенно при попытках TRACE ON) (с) CREATE TEMP TABLE tmp_tb_check_recurs( id SERIAL , p_cycle_num INTEGER, , i INTEGER, , v VARCHAR(30) ) WITH NO LOG; CREATE PROCEDURE "informix".tmp_sp_check_recurs( p_cycle_num INT -- текущий счетчик , p_max_count INT -- ограничитель рекурсии ) RETURNING INT; DEFINE v_res INT; LET v_res = 0; LET p_cycle_num = p_cycle_num + 1; INSERT INTO tmp_tb_check_recurs (p_cycle_num, i, v) VALUES (p_cycle_num, 1, 'старт'); IF (p_cycle_num > p_max_count) THEN INSERT INTO tmp_tb_check_recurs (p_cycle_num, i, v) VALUES (p_cycle_num, 2, 'if - before return'); RETURN -1; END IF; FOREACH EXECUTE PROCEDURE tmp_sp_check_recurs(p_cycle_num, p_max_count) INTO v_res INSERT INTO tmp_tb_check_recurs (p_cycle_num, i, v) VALUES (p_cycle_num, 5, 'EXECUTE PROCEDURE'); EXIT FOREACH; END FOREACH; INSERT INTO tmp_tb_check_recurs (p_cycle_num, i, v) VALUES (p_cycle_num, 8, 'END'); RETURN v_res; END PROCEDURE EXECUTE PROCEDURE tmp_sp_check_recurs(1, 200); SELECT * FROM tmp_tb_check_recurs; ХП должна вернуть -1, а во временной таблице должны были бы получить результат в стиле Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. А получаем NULL, никаких сообщений об ошибке, и во временной авторid p_cycle_num i v 1 1 1 старт 2 2 1 старт .. 177 177 1 старт 178 178 1 старт П.С.: для тех, кто по окончанию экспериментов чистит за собой хвосты: (с)DROP TABLE tmp_tb_check_recurs; DROP PROCEDURE "informix".tmp_sp_check_recurs(INT, INT); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2008, 16:18 |
|
||
|
IDS 11.10.FC2TL: нерабочая рекурсия ХП
|
|||
|---|---|---|---|
|
#18+
АнатоЛой Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. а зачем FOREACH? Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 14:49 |
|
||
|
IDS 11.10.FC2TL: нерабочая рекурсия ХП
|
|||
|---|---|---|---|
|
#18+
Журавлев Денис а зачем FOREACH? Код: plaintext 1. 2. Остался от оригинальной процедуры, которая возвращала данные WITH RESUME'ом... Расклада с рекурсией это менять не дожно... Но я, конечно же, проверю :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 15:35 |
|
||
|
IDS 11.10.FC2TL: нерабочая рекурсия ХП
|
|||
|---|---|---|---|
|
#18+
без foreach, везде разный результат 10.00.UC3 11.10.UC1 11.10.UC2 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 16:15 |
|
||
|
IDS 11.10.FC2TL: нерабочая рекурсия ХП
|
|||
|---|---|---|---|
|
#18+
что-то испортили с рекурсивными процедурами имеющими RETURNING ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 17:34 |
|
||
|
IDS 11.10.FC2TL: нерабочая рекурсия ХП
|
|||
|---|---|---|---|
|
#18+
Уже исправили в IDS 11.50 !!! С уважением, Вадим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2008, 22:48 |
|
||
|
|

start [/forum/topic.php?fid=44&fpage=36&tid=1608105]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
25ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 328ms |

| 0 / 0 |
