Selamlar,

Bu olabilir ve yazdigim cogu programda kullanici yapmakta. Oncelikle bu
islemi calistirmadan once Cycle Detection / Loop Detection islemi
yapmaniz lazim. Ya da daha kolayi kaydedip loop detection testi yapip
hata attiginda transaction i iptal etmeniz gerekiyor. Bunu da static bir
degisken ile parentlari arrayde tutatrak recursive fonksiyonda parent
arrayde mi diye bakarak anlayabilirsiniz. Hata atarak transactioni iptal
edebilirsiniz.

https://en.wikipedia.org/wiki/Cycle_detection

http://www.bogotobogo.com/cplusplus/statics.php


Saygilar.




On 05/31/2018 01:52 AM, Yiğit Kozan wrote:
> aslında döngüye girme kısmında yapısal bir hata var gibi görünüyor.
>
> "Temel olarak bir üst mamülün diğer bir üst mamülün altına kazara (!)
> konulabileceğini anlatmaya çalışmıştım. ;-) "
>
> burdaki yazdığından anladığım kadarıyla aslında böyle bir durum yok
> ama bu şekilde bir hata yapılması durumunda kısır döngüye girmeyi
> engellemek istiyorsun. Hiyerarşik yapıda üstünde bulunanı altına
> alamazsın. eklenmek istenen id senin sağ-sol aralığında olup
> olmadığını kontrol ederek doğrudan engelleyebilirsin. Ancak böyle bir
> duruma ihtiyaç duyuyorsan yapmak istediğini biraz daha
> detaylandırabilir misin ?
>
> 31 Mayıs 2018 00:41 tarihinde Dr. Mucibirahman İLBUĞA
> <[email protected] <mailto:[email protected]>> yazdı:
>
>     30.05.2018 23:37 tarihinde Yiğit Kozan yazdı:
>>     aradığın anahtar kelime : nested set model
>
>     Merhabalar,
>
>     Hızlıca baktım.
>
>     Burada
>     
> <https://www.hermesiletisim.net/dev/mysql-de-hiyerarsik-datanin-yonetimi-nested-set-modeli#.Ww8Z7SChmUk>
>     da bahsedildiği gibi ben de reçeteyi oluşturmak için bir dolu
>     sorgu ve çarpan katsayısı hesaplıyorum. Anladığım kadarı ile
>     zibilyon tane içi içe prosedür kullanmaya gerek kalmıyor. Ancak
>     döngüye girme ile ilgili bir kontrolden bahsedilmemiş veya ben
>     kaçırdım?!...
>
>     Kolay gelsin,
>     Mucip:)
>
>
>     _______________________________________________
>     Linux-programlama mailing list
>     [email protected]
>     <mailto:[email protected]>
>     https://liste.linux.org.tr/mailman/listinfo/linux-programlama
>     <https://liste.linux.org.tr/mailman/listinfo/linux-programlama>
>     Liste kurallari: http://liste.linux.org.tr/kurallar.php
>     <http://liste.linux.org.tr/kurallar.php>
>
>
>
>
> _______________________________________________
> Linux-programlama mailing list
> [email protected]
> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> Liste kurallari: http://liste.linux.org.tr/kurallar.php

_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap