[From nobody Tue Jan 25 16:05:47 2011 MIME-Version: 1.0 Subject: Postgresql 7.3/contrib/ltree - jak na "rekurzivni" trigger? From: otakarek@post.cz X-Sender: otakarek@post.cz To: databases@linux.cz Date: Thu, 12 Feb 2004 15:31:59 +0100 (CET) Message-ID: <bd99307768cab1fc6ec3530ad6f6d8b4@www1.mail.post.cz> X-Mailer: Volny.cz Webmail2 1.52 X-Originating-Ip: 217.112.162.145 X-Originating-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040113 X-Priority: 3 Content-Type: multipart/mixed; boundary="=_4c4be4aa21fa019b763d7a2a4d0952c0" --=_4c4be4aa21fa019b763d7a2a4d0952c0 Content-Type: text/plain; charset="iso-8859-2" Content-Transfer-Encoding: 7bit Zdravim, zacal jsem si hrat se stromy v PG v komginaci s contrib/ltree. Vse funguje k me spokojenosti, ale mam problem s UPDATEm v triggeru make_ltree_struct(viz priloha). Jeho funkce(UPDATE) spociva ve zjisteni poctu vsech potomku rodice v korenu. Nejak to nemohu rozchodit (vzdy koncim na nechtene rekurzivite tohoto triggeru). Tak jak to mam ted to sice funguje, ale neni to ciste. Navic mi to pri zadani SQL: UPDATE test_ltree set _timestamp=CURRENT_TIMESTAMP; Vyhodi nasledujici chybu: ERROR: heap_mark4update: (am)invalid tid Pokud z triggeru odstranim ten nestastny UPDATE, tak chyba nenaskakuje. Jak na to? Diky za radu. -- Otas -- Chces kilo? Tak pripoj kamose pres VOLNY. Vice na http://studentpartner.volny.cz/ --=_4c4be4aa21fa019b763d7a2a4d0952c0 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ltree_example.sql" CkRST1AgVEFCTEUgdGVzdF9sdHJlZTsKQ1JFQVRFIFRBQkxFIHRlc3RfbHRy ZWUgKAogICAgZ2lkIGludGVnZXIgREVGQVVMVCBuZXh0dmFsKCdvYmpfZ2lk Jzo6dGV4dCkgTk9UIE5VTEwsCiAgICBfcGFyZW50IGludGVnZXIgREVGQVVM VCBOVUxMIFJFRkVSRU5DRVMgdGVzdF9sdHJlZSBPTiBVUERBVEUgQ0FTQ0FE RSBPTiBERUxFVEUgQ0FTQ0FERSwKICAgIF90aW1lc3RhbXAgdGltZXN0YW1w IHdpdGhvdXQgdGltZSB6b25lIERFRkFVTFQgKCdub3cnOjp0ZXh0KTo6dGlt ZXN0YW1wKDYpIHdpdGggdGltZSB6b25lIE5PVCBOVUxMLAogICAgX2xheWVy IHNtYWxsaW50IERFRkFVTFQgMCBOT1QgTlVMTCwKICAgIF9jb3VudCBpbnRl Z2VyIERFRkFVTFQgMCBOT1QgTlVMTCwKICAgIF9ub2RlcyBsdHJlZSwKICAg IF90aXRsZSBjaGFyYWN0ZXIgdmFyeWluZyg1MTIpIERFRkFVTFQgJyAnIE5P VCBOVUxMLAogICAgcHJpbWFyeSBrZXkgKGdpZCkKKTsKQ1JFQVRFIElOREVY IHRlc3RfbHRyZWVfZ2lzdF9pZHggT04gdGVzdF9sdHJlZSBVU0lORyBnaXN0 KF9ub2Rlcyk7CkNSRUFURSBJTkRFWCB0ZXN0X2x0cmVlX2lkeCBPTiB0ZXN0 X2x0cmVlIFVTSU5HIGJ0cmVlKF9ub2Rlcyk7CgpEUk9QIEZVTkNUSU9OIG1h a2VfbHRyZWVfc3RydWN0ICgpOwpDUkVBVEUgRlVOQ1RJT04gbWFrZV9sdHJl ZV9zdHJ1Y3QgKCkgUkVUVVJOUyAidHJpZ2dlciIgQVMgJwpERUNMQVJFCiAg ICB0bXAgUkVDT1JEOwpCRUdJTgogICAtLSB6YXpuYW0gdiBrb3JlbnUKICAg SUYgTkVXLl9wYXJlbnQgSVMgTlVMTCBUSEVOCiAgICAgIE5FVy5fbGF5ZXIg Oj0gMDsKICAgICAgTkVXLl9ub2RlcyA6PSBORVcuZ2lkOwogICAgICByZXR1 cm4gTkVXOwogICBFTkQgSUY7CgogICAtLSBobGVkYW5pIHByZWRrYQogICBT RUxFQ1QgSU5UTyB0bXAgdGJsLl9sYXllcix0YmwuX25vZGVzLChzZWxlY3Qg Y291bnQodGJsMi4qKSBmcm9tIHRlc3RfbHRyZWUgQVMgdGJsMiB3aGVyZSB0 YmwyLl9ub2RlcyA8QCBzdWJwYXRoKHRibC5fbm9kZXMsMCwxKSkgYXMgX2Nv dW50LHN1YnBhdGgodGJsLl9ub2RlcywwLDEpIEFTIF9wYXJlbnQgRlJPTSB0 ZXN0X2x0cmVlIEFTIHRibCBXSEVSRSB0YmwuZ2lkPU5FVy5fcGFyZW50OwoK ICAgSUYgRk9VTkQgVEhFTgogICAgICBORVcuX2xheWVyIDo9IHRtcC5fbGF5 ZXIgKyAxOwogICAgICBORVcuX25vZGVzIDo9IGx0cmVlX2FkZHRleHQodG1w Ll9ub2RlcyxORVcuZ2lkKTsKICAgICAgVVBEQVRFIHRlc3RfbHRyZWUgU0VU IF9jb3VudD10bXAuX2NvdW50IFdIRVJFIF9ub2Rlcz1zdWJwYXRoKE5FVy5f bm9kZXMsMCwxKTsKICAgRU5EIElGOwoKICAgUkVUVVJOIE5FVzsKRU5EOwon CkxBTkdVQUdFIHBscGdzcWw7CgpDUkVBVEUgVFJJR0dFUiAidGVzdF9sdHJl ZV90cjEiIEJFRk9SRSBJTlNFUlQgT1IgVVBEQVRFIE9OIHRlc3RfbHRyZWUg Rk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIG1ha2VfbHRyZWVfc3Ry dWN0KCk7CgotLSBwb2t1c25lIHphem5hbXkKSU5TRVJUIElOVE8gdGVzdF9s dHJlZSAoZ2lkLF9wYXJlbnQsX3RpdGxlKSB2YWx1ZXMoMSxOVUxMLCcxLiB4 eHgnKTsKSU5TRVJUIElOVE8gdGVzdF9sdHJlZSAoZ2lkLF9wYXJlbnQsX3Rp dGxlKSB2YWx1ZXMoMixOVUxMLCcyLiB4eHgnKTsKSU5TRVJUIElOVE8gdGVz dF9sdHJlZSAoZ2lkLF9wYXJlbnQsX3RpdGxlKSB2YWx1ZXMoMyxOVUxMLCcz LiB4eHgnKTsKSU5TRVJUIElOVE8gdGVzdF9sdHJlZSAoZ2lkLF9wYXJlbnQs X3RpdGxlKSB2YWx1ZXMoNCxOVUxMLCc0LiB4eHgnKTsKCklOU0VSVCBJTlRP IHRlc3RfbHRyZWUgKGdpZCxfcGFyZW50LF90aXRsZSkgdmFsdWVzKDExLDEs JzEuMS4geHh4Jyk7CklOU0VSVCBJTlRPIHRlc3RfbHRyZWUgKGdpZCxfcGFy ZW50LF90aXRsZSkgdmFsdWVzKDIyLDIsJzEuMi4geHh4Jyk7CklOU0VSVCBJ TlRPIHRlc3RfbHRyZWUgKGdpZCxfcGFyZW50LF90aXRsZSkgdmFsdWVzKDQ0 LDQsJzEuMy4geHh4Jyk7CgpJTlNFUlQgSU5UTyB0ZXN0X2x0cmVlIChnaWQs X3BhcmVudCxfdGl0bGUpIHZhbHVlcygxMTEsMTEsJzEuMS4xLiB4eHgnKTsK SU5TRVJUIElOVE8gdGVzdF9sdHJlZSAoZ2lkLF9wYXJlbnQsX3RpdGxlKSB2 YWx1ZXMoMTEyLDExLCcxLjEuMi4geHh4Jyk7CklOU0VSVCBJTlRPIHRlc3Rf bHRyZWUgKGdpZCxfcGFyZW50LF90aXRsZSkgdmFsdWVzKDExMywxMSwnMS4x LjMuIHh4eCcpOwoKSU5TRVJUIElOVE8gdGVzdF9sdHJlZSAoZ2lkLF9wYXJl bnQsX3RpdGxlKSB2YWx1ZXMoMTExMSwxMTEsJzEuMS4xLjEuIHh4eCcpOwoK LS0gem9icmF6ZW5pIHN0cm9tdQpTRUxFQ1QgKiBGUk9NIHRlc3RfbHRyZWUg T1JERVIgQlkgX25vZGVzOwoKLS0gU1FMIHMgY2h5Yi4gaGxhc2tvdQpVUERB VEUgdGVzdF9sdHJlZSBzZXQgX3RpbWVzdGFtcD1DVVJSRU5UX1RJTUVTVEFN UDsKCg== --=_4c4be4aa21fa019b763d7a2a4d0952c0-- ]