New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PostgreSQL vyhazuje chybu při $entity->removeFromX($atr); #59

Closed
JanFolwarczny opened this Issue May 25, 2014 · 5 comments

Comments

Projects
None yet
4 participants
@JanFolwarczny

JanFolwarczny commented May 25, 2014

Při zavolání metody removeFromX() na entitě vygeneruje Lean Mapper u M:N vazeb tento dotaz:

DELETE 
FROM "prvni_druha" 
WHERE "prvni_id" = 101 AND "druha_id" = 2 
LIMIT 1

Postgre ale nevezme ten LIMIT a vyhodí chybu syntax error at or near "LIMIT". Bez limitu stejný dotaz provede.

@Tharos Tharos added the Bug label May 26, 2014

@Tharos

This comment has been minimized.

Show comment
Hide comment
@Tharos

Tharos May 26, 2014

Owner

Hmm, koukám, že PostgreSQL nepodporuje v DELETE dotazech LIMIT klauzuli.

Rychlý fix je přetížit si v nějakém vlastním abstraktním repositáři metodu persistHasManyChanges. Lze plně vyjít z výchozí implementace, jen upravit tu část s DELETE. Ty v ní víš vše potřebné (oba FK klíče i počet záznamů, které se mají odstranit), jde jen o sestavení toho dotazu.

No a já taky najdu nějaké hezké univerzální provedení toho dotazu a to bych dal přímo do knihovny.

Owner

Tharos commented May 26, 2014

Hmm, koukám, že PostgreSQL nepodporuje v DELETE dotazech LIMIT klauzuli.

Rychlý fix je přetížit si v nějakém vlastním abstraktním repositáři metodu persistHasManyChanges. Lze plně vyjít z výchozí implementace, jen upravit tu část s DELETE. Ty v ní víš vše potřebné (oba FK klíče i počet záznamů, které se mají odstranit), jde jen o sestavení toho dotazu.

No a já taky najdu nějaké hezké univerzální provedení toho dotazu a to bych dal přímo do knihovny.

@Tharos

This comment has been minimized.

Show comment
Hide comment
@Tharos

Tharos May 26, 2014

Owner

Hezky by to mělo jít vyřešit takhle.

Owner

Tharos commented May 26, 2014

Hezky by to mělo jít vyřešit takhle.

@JanFolwarczny

This comment has been minimized.

Show comment
Hide comment
@JanFolwarczny

JanFolwarczny May 26, 2014

Díky, poděděním repositáře jsem to právě pořešil. Pokud se to vyřeší přímo v Lean Mapperu, tak to bude paráda. :)

JanFolwarczny commented May 26, 2014

Díky, poděděním repositáře jsem to právě pořešil. Pokud se to vyřeší přímo v Lean Mapperu, tak to bude paráda. :)

@Tharos Tharos added Approved feature and removed Bug labels Jun 14, 2014

@pmachan

This comment has been minimized.

Show comment
Hide comment
@pmachan

pmachan Nov 13, 2014

Contributor

Tak sem na to dnes také narazil :) Prozatím sem to změnil přepsáním persistHasManyChanges a to odstraněním limitu.

Contributor

pmachan commented Nov 13, 2014

Tak sem na to dnes také narazil :) Prozatím sem to změnil přepsáním persistHasManyChanges a to odstraněním limitu.

@fredomgc

This comment has been minimized.

Show comment
Hide comment
@fredomgc

fredomgc Dec 28, 2014

Taky jsem na to narazil, taky vyřešeno přepsáním persistHasManyChanges.

fredomgc commented Dec 28, 2014

Taky jsem na to narazil, taky vyřešeno přepsáním persistHasManyChanges.

@castamir castamir closed this in 57092a4 Aug 31, 2017

castamir added a commit that referenced this issue Aug 31, 2017

Merge pull request #114 from inlm/pr/postgres-fix-removefromx
Repository: fixed persistHasManyChanges() for PostgreSQL (fixes #59)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment