|
|
|
Триггер DELETE в случае группового удаления данных
|
|||
|---|---|---|---|
|
#18+
сизиф и мартышки, Я ничего и никому не порчу. Я не павлович. Нечего сказать по существу - проходите мимо. Я смотрю тут много подобных умников-философоф трется. А казалось бы технический форум. И да, пока на дворе еще только поздняя зима, г-н сифиз и мартышки. Посмотрите в календарь, в окно, или куда там вас выпустят посмотреть. Опыт по обострениям видать у вас большой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2015, 09:35 |
|
||
|
Триггер DELETE в случае группового удаления данных
|
|||
|---|---|---|---|
|
#18+
EvgIq, ну право слово, не стоит дуться ну вот, случилось вам идея ощастливить мир -- щасливьте я только за; и даже вот помогаю а что не понимаете, что вам помогают именно технически -- тоже не беда ещё раз: если вам знаком MSSQL -- там в триггере на удаление (на весь стейтмент, а не на каждый рядок) -- вам проще будет высчитать "коллективные эффекты" (раз они вам мешают жить) а в качестве бонуса -- вы не породите массу dead rows [в версионнике], которые постгресу, в норме, ни к чему, и если есть способы обсчистывать дерево без таких подарков от жениев не павловичей [а они есть], то люди будут пользоваться ими, а не вашим щасьем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2015, 12:33 |
|
||
|
Триггер DELETE в случае группового удаления данных
|
|||
|---|---|---|---|
|
#18+
сизиф и мартышки, Глобальные идеи для всемирного счастия я оставляю вам. И дабы не провоцировать очередной кризис у поциентов, уже впавших в раннее весеннее обострение, сообщаю - я буду складывать "дырки" в отдельную таблицу, и брать их оттуда когда нормальные id на уровне кончатся. Свои же, неактуальные сейчас для меня, бестолковые, советы по выбору бд, оставьте, для коллег по палате. Для них же приберегите свои размышления о групповых операциях над ключем, особенно когда попытаетесь помочь реализовать, для всемирного опять же счастия, такие алгоритмы как "Nested Sets" и "Materialized Paths". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2015, 13:04 |
|
||
|
Триггер DELETE в случае группового удаления данных
|
|||
|---|---|---|---|
|
#18+
EvgIq, не огрызайтесь, деточка если вы сбежали от санитаров, это не повод пытаться править миром кодинг, это не гениальные идеи, а банальные рефлексы по их реализации и, в т.ч. реализации даже далеко не жениальных идей судя же по вашему коду -- вы нуб в бд вообще и в postgresql -- в частности поэтому мсскл вам ничем не хуже. некоторые ваши собеседники кстати имеют опыт реализации "вот этого всего", что вы с придыханием, с большенььких, да на латинской буквице. резюме опыта -- бред это всё собачий. если на это всё равно тянет -- жениться срочно. ну или к санитарам взад. на процедурки Но к делу: егоров правильно вам написал по мелочи: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. -- это конечно всё "не существенно", для изобретателей велосипедов, но когда база из за таких кодеров встаёт колом -- приходится доставать полено -- и заниматься промежушной педагогикой Далее тот же егоров парвильно вам написал про вставку первого. А то, что вы вместо правки своего жениального овнокода вдарились в рассуждения про джанго выявило в вас (не впервый раз) прожектёра. правится это примерно так (не думая): Код: sql 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. - это не ревизия а просто заплатки на лету, не вдумываясь. пока такие мелочи в рефлексы не забьёте -- к здоровым людям с вопросами не приставайте. не поймутс. бесконечно лень вчитываться в вашу пену слов и кода, т.ч. предположу, что вас, возможно , спас бы перенос AFTER DELETE логики в заключение в BEFORE DELETE [могу врать, но есть подозрение, что это так] т.е. Код: sql 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. -- если я вру -- поправьте, желательно на пальцах. (там реально думать надо [о видимостях и т.п.], а это затратно, а повода нет) теперь -- почему нет повода: id дерева -- это, как правило, ссылка на сущность, на которую ссылаются другие объекты (а не только оно само -- уробороссом) . каскадный апдейт всей базы, это то, за что не увольняют, а закапывают на месте. даже в блокировочнике. в случае версионника -- это еще и дублирование занятого дискового, и последующая глобальная сборка мусора [в postgresql -- воркерами автовакуума] повторяю, в этом случае вам не помогать нужно, а вязать вас санитарами, пхать в смирительную, и на процедурки так что, чтобы повысить юзабельность вашего макетика (который у вас рассыпается) сделайте отдельно -- board_id суррогат, неизменый. -- На него будете ссылаться снаружи, без всех этих каскадов. Вместо id и parent_id я бы ввел key и parent_key -- для читаемости, но это вопрос предпочтений и наличного кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2015, 14:43 |
|
||
|
Триггер DELETE в случае группового удаления данных
|
|||
|---|---|---|---|
|
#18+
сизиф и мартышки, То, что вы сломя голову, не читая и не вникая бросились улучшать мир, давать советы, ставит под сомнение их ценность, а ваш тон и манеры - вашу адекватность. Повторю для дурачков - я извинился за свой код (5-е сообщение в ветке). И вообще тема вопроса была другая. Но человек попросил, я запилил. Конечно все еще будет правиться/рефакториться/теститься и проч. Про RETURN'ы - будет вызов констант из таблицы, так как в БД будет не одно дерево. Так что ваш совет очередной пук в лужу. Про AFTER DELETE и BEFORE DELETE - так же писал уже, второй раз не вижу смысла так как см. первое предложение в этой мессаге. и т.д. и т.п. ...вобщем для вас всё печально... Но вы ведь здесь заняты тренировкой своего хилого больного остроумия, вместо обычного решения технических задач, что, несомненно, более пошло бы вам на пользу. "Собака лает, караван идет", так вот, вы в этой ветке не караван. Не утруждайтесь далее, отдохните. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2015, 15:22 |
|
||
|
Триггер DELETE в случае группового удаления данных
|
|||
|---|---|---|---|
|
#18+
EvgIqсизиф и мартышки, То, что вы сломя голову, не читая и не вникая бросились улучшать мир, давать советы, ставит под сомнение их ценность, а ваш тон и манеры - вашу адекватность. Повторю для дурачков - я извинился за свой код (5-е сообщение в ветке). И вообще тема вопроса была другая. Но человек попросил, я запилил. Конечно все еще будет правиться/рефакториться/теститься и проч. Про RETURN'ы - будет вызов констант из таблицы, так как в БД будет не одно дерево. Так что ваш совет очередной пук в лужу. Про AFTER DELETE и BEFORE DELETE - так же писал уже, второй раз не вижу смысла так как см. первое предложение в этой мессаге. <>чотаржу. select-ы вполне выполняются из таблиц [это на предмет газификации луж return-ами] смысл же изложен егоровым [выбор процедурного языка, прозрачного планировщику, а не синтаксиса] повторяться не буду -- rtfm , и воздастся. первое ваше сообщение (единственное о вашем предпочтении в выборе before -- after логики) я тоже бегло просмотрел -- т.ч. не обнаружил за вами внятного понимания, что вы делаете before, а что -- after. настаивать на прояснением этого не буду -- очевидно это непосильный для вас труд. если караван до сих пор так и ходит -- только под себя , -- то это проблема корована. и да, простите за издевательство -- старая зобава -- грабить корованы как вижу -- "корован" -- так и тянет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2015, 15:44 |
|
||
|
Триггер DELETE в случае группового удаления данных
|
|||
|---|---|---|---|
|
#18+
сизиф и мартышки, сабака грабит караваны?, что-то новенькое :) идите, работайте, повышайте тех уровень и недостающее воспитание, а то уволят ведь несмотря на высокие мотивы и каскадные операции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2015, 15:55 |
|
||
|
Триггер DELETE в случае группового удаления данных
|
|||
|---|---|---|---|
|
#18+
EvgIqсизиф и мартышки, сабака грабит караваны?, что-то новенькое :) идите, работайте, повышайте тех уровень и недостающее воспитание, а то уволят ведь несмотря на высокие мотивы и каскадные операции. деточка, заплесневелые мемы можно было бы и узнавать без расшифровки ну или если в гугле не зобанеле -- то проявить реакцыю (быстрость разумом невтонов, ага) а то же -- ни реакции, ни способности к педантичному труду -- одни жениальные потуги, не подтверждённые ничем, кроме готовности пусто, кхм, лаяться иди, куй, мальчик. вычёркиваю(тм). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2015, 16:31 |
|
||
|
Триггер DELETE в случае группового удаления данных
|
|||
|---|---|---|---|
|
#18+
сизиф и мартышки, что за мем? неужели мартышки грабят караваны? гуголь так говорит? врет! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2015, 16:35 |
|
||
|
Триггер DELETE в случае группового удаления данных
|
|||
|---|---|---|---|
|
#18+
EvgIq, Я попытался еще раз: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Я бы рекомендовал привести код в порядок, т.к. передергивание триггеров требует эксклюзивного блока на таблицу. Заниматься этим каждый раз, когда необходимо создать новое дерево выглядит крайне неудобно. Также я в третий раз прошу — предоставьте набор SQL-команд, которые приведут систему к виду, показанному вами на скриншотах. На данный момент я сомневаюсь, что это возможно без грубой доделки молотком и зубилом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2015, 10:30 |
|
||
|
Триггер DELETE в случае группового удаления данных
|
|||
|---|---|---|---|
|
#18+
vyegorov, команда Код: plsql 1. Создаст элемент (-64,1,0,'-64',128) затем Код: plsql 1. Создаст элемент (0,1,0,'0',128) затем Код: plsql 1. Создаст элемент (64,1,0,'64',128) ну и далее по аналогии Код: plsql 1. 2. 3. 4. 5. 6. Получится дерево как на картинке. Я не зря приводил скрины из админки Django, чтобы было понятно что проект рабочий. Вчера я переделал алгоритм - теперь, если получается "дырка", "складываю" ее родителя и номер в отдельную таблицу, и "забираю" ее оттуда при создании нового ребенка или перемещение к Родителю. Первоначальный вопрос, который в теме ветки, стал неактуален. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2015, 11:07 |
|
||
|
Триггер DELETE в случае группового удаления данных
|
|||
|---|---|---|---|
|
#18+
В строках "создаст элемент" минус у родителя забыл указать... правильно так: Создаст элемент (-64,1,0,'-64',-128)....Создаст элемент (0,1,0,'0',-128)....Создаст элемент (64,1,0,'64',-128)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2015, 11:23 |
|
||
|
Триггер DELETE в случае группового удаления данных
|
|||
|---|---|---|---|
|
#18+
vyegorov, не мучайте дитё оно в первый раз дорвалось до "одминки джанго" и да, человечество придумало позиционную запись для экономии собственной памяти, а оно возвращается от позиционной записи обратно к бесконечно длинным битовым словам вместо записи слов длины M в алфавите N используя слова алфавита [01] длиной N^M в общем -- алгоритмически там всё безобразно. т.е. буквально всё, а не только подмеченное сибиряковым т.ч. пусть себе играет в куличики, пока оно не лепит их у вас, в вашей команде ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 08:34 |
|
||
|
Триггер DELETE в случае группового удаления данных
|
|||
|---|---|---|---|
|
#18+
сизиф и мартышки, О, грабитель караванов, компы раздали? :) Вы же вроде как разобиделись и попрощались? Правильно, не обижайтесь, заходите почаще, я завсегда рад подбодрить больного человека. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 09:26 |
|
||
|
Триггер DELETE в случае группового удаления данных
|
|||
|---|---|---|---|
|
#18+
EvgIq, первый вопрос - да, верно Код: sql 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. вывод: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Второй вопрос- ну напишите свою функцию на удаление: Код: sql 1. 2. 3. 4. 5. 6. Третий вопрос- www.pgadmin.org/docs/1.8/debugger.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2015, 13:20 |
|
||
|
Триггер DELETE в случае группового удаления данных
|
|||
|---|---|---|---|
|
#18+
подчищаем за собой Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2015, 13:23 |
|
||
|
|

start [/forum/topic.php?fid=53&gotonew=1&tid=1998151]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
62ms |
get topic data: |
13ms |
get first new msg: |
8ms |
get forum data: |
5ms |
get page messages: |
68ms |
get tp. blocked users: |
3ms |
| others: | 264ms |
| total: | 464ms |

| 0 / 0 |
