{"repo":"kryonix/pg_cuckoo","free":true,"listed":false,"github":"https://github.com/kryonix/pg_cuckoo","clone":"git clone https://github.com/kryonix/pg_cuckoo.git","description":"Use PostgreSQL's planner hook to open a side entrance through which we can pass plan trees for immediate execution","language":"Haskell","stars":28,"topics":["postgresql","extension","c","planner","pgcuckoo"],"license":null,"category":"databases-storage","readme_excerpt":"PgCuckoo PgCuckoo significantly alters PostgreSQL’s operation: we use the planner hook to inject query plan trees from outside the system and have these foreign plans be executed by the system's query executor. PostgreSQL Extension PostgreSQL's planner hook can be used to open a side entrance through which we can pass plan trees for immediate execution. The PostgreSQL extension makes this functionality available at the surface language level in terms of a table-valued SQL function plan execute(·) whose argument contains a textual representation of the plan piece. PgCuckoo Plan Decorator PgCuckoo provides a Haskell based plan decorator through which code generators may route skeleton plan trees before they are passed into PostgreSQL. The decorator completes the skeleton through rule-based property inference and queries PostgreSQL’s catalog to, e.g., infer expression types, resolve operator overloading, and establish node-to-node references. This ensures that externally crafted trees perfectly mimic regular plans. 1. PgCuckoo: Laying Plan Eggs in PostgreSQL’s Nest. Proc. SIGMOD 2019 2. PgCuckoo – Injecting Physical Plans into PostgreSQL. Proc. BTW 2019","default_branch":null,"files":null,"tree":[],"storefront":"/r/kryonix","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/kryonix/pg_cuckoo/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}