{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,9,15]],"date-time":"2026-09-15T01:16:18Z","timestamp":1789434978782,"version":"build-2803163510"},"reference-count":75,"publisher":"Association for Computing Machinery (ACM)","issue":"10","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2022,6]]},"abstract":"<jats:p>The diversity and complexity of modern data management applications have led to the extension of the relational paradigm with syntactic and semantic support for User-Defined Functions (UDFs). Although well-established in traditional DBMS settings, UDFs have become central in many application contexts as well, such as data science, data analytics, and edge computing. Still, a critical limitation of UDFs is the impedance mismatch between their evaluation and relational processing. In this paper, we present YeSQL, an SQL extension with rich UDF support along with a pluggable architecture to easily integrate it with either server-based or embedded database engines. YeSQL currently supports Python UDFs fully integrated with relational queries as scalar, aggregator, or table functions. Key novel characteristics of YeSQL include easy implementation of complex algorithms and several performance enhancements, including tracing JIT compilation of Python UDFs, parallelism and fusion of UDFs, stateful UDFs, and seamless integration with a database engine. Our experimental analysis showcases the usability and expressiveness of YeSQL and demonstrates that our techniques of minimizing context switching between the relational engine and the Python VM are very effective and achieve significant speedups up to 68x in common, practical use cases compared to earlier approaches and alternative implementation choices.<\/jats:p>","DOI":"10.14778\/3547305.3547328","type":"journal-article","created":{"date-parts":[[2022,9,7]],"date-time":"2022-09-07T16:09:53Z","timestamp":1662566993000},"page":"2270-2283","source":"Crossref","is-referenced-by-count":21,"title":["YeSQL"],"prefix":"10.14778","volume":"15","author":[{"given":"Yannis","family":"Foufoulas","sequence":"first","affiliation":[{"name":"U. of Athens"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Alkis","family":"Simitsis","sequence":"additional","affiliation":[{"name":"Athena Research Center"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Lefteris","family":"Stamatogiannakis","sequence":"additional","affiliation":[{"name":"University of Athens"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yannis","family":"Ioannidis","sequence":"additional","affiliation":[{"name":"U. of Athens"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2022,9,7]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Apache Arrow. 2022. Available at: https:\/\/arrow.apache.org\/.  Apache Arrow. 2022. Available at: https:\/\/arrow.apache.org\/."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/MCSE.2010.118"},{"key":"e_1_2_1_3_1","unstructured":"Konstantina Bereta Herv\u00e9 Caumont Ulrike Daniels Erwin Goor Manolis Koubarakis Despina-Athanasia Pantazi George Stamoulis Sam Ubels Valentijn Venus and Firman Wahyudi. 2019. The Copernicus App Lab project: Easy Access to Copernicus Data. In EDBT. 501--511.  Konstantina Bereta Herv\u00e9 Caumont Ulrike Daniels Erwin Goor Manolis Koubarakis Despina-Athanasia Pantazi George Stamoulis Sam Ubels Valentijn Venus and Firman Wahyudi. 2019. The Copernicus App Lab project: Easy Access to Copernicus Data. In EDBT. 501--511."},{"key":"e_1_2_1_4_1","doi-asserted-by":"crossref","unstructured":"Konstantina Bereta Herv\u00e9 Caumont Erwin Goor Manolis Koubarakis Despina-Athanasia Pantazi George Stamoulis Sam Ubels Valentijn Venus and Firman Wahyudi. 2018. From Copernicus Big Data to Big Information and Big Knowledge: A Demo from the Copernicus App Lab Project. In CIKM. 1911--1914.  Konstantina Bereta Herv\u00e9 Caumont Erwin Goor Manolis Koubarakis Despina-Athanasia Pantazi George Stamoulis Sam Ubels Valentijn Venus and Firman Wahyudi. 2018. From Copernicus Big Data to Big Information and Big Knowledge: A Demo from the Copernicus App Lab Project. In CIKM. 1911--1914.","DOI":"10.1145\/3269206.3269232"},{"key":"e_1_2_1_5_1","unstructured":"Mark Blacher Joachim Giesen S\u00c3\u00fcren Laue Julien Klaus and Viktor Leis. 2022. Machine Learning Linear Algebra and More: Is SQL All You Need?. In CIDR.  Mark Blacher Joachim Giesen S\u00c3\u00fcren Laue Julien Klaus and Viktor Leis. 2022. Machine Learning Linear Algebra and More: Is SQL All You Need?. In CIDR."},{"key":"e_1_2_1_6_1","unstructured":"Carl Friedrich Bolz Antonio Cuni Maciej Fijalkowski and Armin Rigo. 2009. Tracing the meta-level: PyPy's tracing JIT compiler. In ICOOOLPS.  Carl Friedrich Bolz Antonio Cuni Maciej Fijalkowski and Armin Rigo. 2009. Tracing the meta-level: PyPy's tracing JIT compiler. In ICOOOLPS."},{"key":"e_1_2_1_7_1","unstructured":"CFFI. 2022. Using CFFI for embedding. Available at: https:\/\/cffi.readthedocs.io\/en\/latest\/embedding.html.  CFFI. 2022. Using CFFI for embedding. Available at: https:\/\/cffi.readthedocs.io\/en\/latest\/embedding.html."},{"key":"e_1_2_1_8_1","unstructured":"CFFI. 2022. Using the ffi\/lib objects. Available at: https:\/\/cffi.readthedocs.io\/en\/latest\/using.html#extern-python-new-style-callbacks.  CFFI. 2022. Using the ffi\/lib objects. Available at: https:\/\/cffi.readthedocs.io\/en\/latest\/using.html#extern-python-new-style-callbacks."},{"key":"e_1_2_1_9_1","unstructured":"CFFI Docs. 2022. Using the ffi\/lib objects. Available at: https:\/\/cffi.readthedocs.io\/en\/latest\/using.html.  CFFI Docs. 2022. Using the ffi\/lib objects. Available at: https:\/\/cffi.readthedocs.io\/en\/latest\/using.html."},{"key":"e_1_2_1_10_1","volume-title":"Hongji Chen, Bettina Kemme, and Laurie Hendren.","author":"Chen Hanfeng","year":"2018","unstructured":"Hanfeng Chen , Joseph Vinish D'silva , Hongji Chen, Bettina Kemme, and Laurie Hendren. 2018 . HorseIR: Bringing Array Programming Languages Together with Database Query Processing. In ACM SIGPLAN DLS. 37\u00e2\u0102\u015e49. Hanfeng Chen, Joseph Vinish D'silva, Hongji Chen, Bettina Kemme, and Laurie Hendren. 2018. HorseIR: Bringing Array Programming Languages Together with Database Query Processing. In ACM SIGPLAN DLS. 37\u00e2\u0102\u015e49."},{"key":"e_1_2_1_11_1","volume-title":"Laurie J. Hendren, and Bettina Kemme.","author":"Chen Hanfeng","year":"2021","unstructured":"Hanfeng Chen , Joseph Vinish D'silva , Laurie J. Hendren, and Bettina Kemme. 2021 . HorsePower: Accelerating Database Queries for Advanced Data Analytics. In EDBT. 361--366. Hanfeng Chen, Joseph Vinish D'silva, Laurie J. Hendren, and Bettina Kemme. 2021. HorsePower: Accelerating Database Queries for Advanced Data Analytics. In EDBT. 361--366."},{"key":"e_1_2_1_12_1","doi-asserted-by":"crossref","unstructured":"Alvin Cheung Armando Solar-Lezama and Samuel Madden. 2013. Optimizing database-backed applications with query synthesis. In SIGPLAN. 3--14.  Alvin Cheung Armando Solar-Lezama and Samuel Madden. 2013. Optimizing database-backed applications with query synthesis. In SIGPLAN . 3--14.","DOI":"10.1145\/2499370.2462180"},{"key":"e_1_2_1_13_1","unstructured":"Databases and Information Systems Group at TU Ilmenau. 2022. Compiled UDF engine. Available at: https:\/\/github.com\/dbisilm\/Compiled_UDF_engine\/tree\/main\/exp.  Databases and Information Systems Group at TU Ilmenau. 2022. Compiled UDF engine. Available at: https:\/\/github.com\/dbisilm\/Compiled_UDF_engine\/tree\/main\/exp."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.14778\/3236187.3236194"},{"key":"e_1_2_1_15_1","unstructured":"DuckSB. 2022. Available at: https:\/\/duckdb.org\/.  DuckSB. 2022. Available at: https:\/\/duckdb.org\/."},{"key":"e_1_2_1_16_1","unstructured":"Christian Duta and Torsten Grust. 2020. Functional-Style SQL UDFs With a Capital 'F'. In SIGMOD. 1273--1287.  Christian Duta and Torsten Grust. 2020. Functional-Style SQL UDFs With a Capital 'F'. In SIGMOD . 1273--1287."},{"key":"e_1_2_1_17_1","unstructured":"Christian Duta Denis Hirn and Torsten Grust. 2020. Compiling PL\/SQL Away. In CIDR.  Christian Duta Denis Hirn and Torsten Grust. 2020. Compiling PL\/SQL Away. In CIDR."},{"key":"e_1_2_1_18_1","doi-asserted-by":"crossref","unstructured":"Yannis Foufoulas Alkis Simitsis Lefteris Stamatogiannakis and Yannis Ioannidis. 2022. The YeSQL language. Available at: https:\/\/github.com\/athenarc\/YeSQL\/blob\/main\/Specs.md.  Yannis Foufoulas Alkis Simitsis Lefteris Stamatogiannakis and Yannis Ioannidis. 2022. The YeSQL language. Available at: https:\/\/github.com\/athenarc\/YeSQL\/blob\/main\/Specs.md.","DOI":"10.14778\/3547305.3547328"},{"key":"e_1_2_1_19_1","doi-asserted-by":"crossref","unstructured":"Yannis Foufoulas Lefteris Stamatogiannakis Harry Dimitropoulos and Yannis Ioannidis. 2017. High-pass text filtering for citation matching. In TPDL.  Yannis Foufoulas Lefteris Stamatogiannakis Harry Dimitropoulos and Yannis Ioannidis. 2017. High-pass text filtering for citation matching. In TPDL.","DOI":"10.1007\/978-3-319-67008-9_28"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-67008-9_28"},{"key":"e_1_2_1_21_1","doi-asserted-by":"crossref","unstructured":"Tasos Giannakopoulos Yannis Foufoulas Harry Dimitropoulos and Natalia Manola. 2019. Interactive Text Analysis and Information Extraction. In IRCDL.  Tasos Giannakopoulos Yannis Foufoulas Harry Dimitropoulos and Natalia Manola. 2019. Interactive Text Analysis and Information Extraction. In IRCDL.","DOI":"10.1007\/978-3-030-11226-4_27"},{"key":"e_1_2_1_22_1","doi-asserted-by":"crossref","unstructured":"Theodoros Giannakopoulos Eleftherios Stamatogiannakis Ioannis Foufoulas Harry Dimitropoulos Natalia Manola and Yannis Ioannidis. 2013. Content visualization of scientific corpora using an extensible relational database implementation. In TPDL.  Theodoros Giannakopoulos Eleftherios Stamatogiannakis Ioannis Foufoulas Harry Dimitropoulos Natalia Manola and Yannis Ioannidis. 2013. Content visualization of scientific corpora using an extensible relational database implementation. In TPDL.","DOI":"10.1007\/978-3-319-08425-1_10"},{"key":"e_1_2_1_23_1","volume-title":"Distributed Execution of Spatial SQL Queries","author":"Giannousis Konstantinos","unstructured":"Konstantinos Giannousis , Konstantina Bereta , Nikolaos Karalis , and Manolis Koubarakis . 2018. Distributed Execution of Spatial SQL Queries . In IEEE Big Data . 528--533. Konstantinos Giannousis, Konstantina Bereta, Nikolaos Karalis, and Manolis Koubarakis. 2018. Distributed Execution of Spatial SQL Queries. In IEEE Big Data. 528--533."},{"key":"e_1_2_1_24_1","volume-title":"Ioannidis","author":"Gogolou Anna","year":"2016","unstructured":"Anna Gogolou , Marialena Kyriakidi , and Yannis E . Ioannidis . 2016 . Data exploration: a roll call of all user-data interaction functionality. In ExploreDB. 31--33. Anna Gogolou, Marialena Kyriakidi, and Yannis E. Ioannidis. 2016. Data exploration: a roll call of all user-data interaction functionality. In ExploreDB. 31--33."},{"key":"e_1_2_1_25_1","unstructured":"Google groops. 2022. Not releasing the GIL. Available at: https:\/\/groups.google.com\/g\/python-cffi\/c\/ytAHJ0_YYAs\/m\/lUdP8TWPDQAJ.  Google groops. 2022. Not releasing the GIL. Available at: https:\/\/groups.google.com\/g\/python-cffi\/c\/ytAHJ0_YYAs\/m\/lUdP8TWPDQAJ."},{"key":"e_1_2_1_26_1","unstructured":"GraalVM. 2022. Available at: https:\/\/www.graalvm.org.  GraalVM. 2022. Available at: https:\/\/www.graalvm.org."},{"key":"e_1_2_1_27_1","volume-title":"Wrangling US Flight Data - Part 1","author":"Grammel Lars","year":"2015","unstructured":"Lars Grammel . 2020. Wrangling US Flight Data - Part 1 . 2015 . Available at: https:\/\/www.trifacta.com\/blog\/wrangling-us-flight-data-part-1. Lars Grammel. 2020. Wrangling US Flight Data - Part 1. 2015. Available at: https:\/\/www.trifacta.com\/blog\/wrangling-us-flight-data-part-1."},{"key":"e_1_2_1_28_1","volume-title":"Aggify: Lifting the Curse of Cursor Loops using Custom Aggregates. In SIGMOD. 559--573.","author":"Gupta Surabhi","year":"2020","unstructured":"Surabhi Gupta , Sanket Purandare , and Karthik Ramachandra . 2020 . Aggify: Lifting the Curse of Cursor Loops using Custom Aggregates. In SIGMOD. 559--573. Surabhi Gupta, Sanket Purandare, and Karthik Ramachandra. 2020. Aggify: Lifting the Curse of Cursor Loops using Custom Aggregates. In SIGMOD. 559--573."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.14778\/3457390.3457402"},{"key":"e_1_2_1_30_1","unstructured":"Stefan Hagedorn Steffen Kl\u00e4be and Kai-Uwe Sattler. 2021. Putting Pandas in a Box. In CIDR.  Stefan Hagedorn Steffen Kl\u00e4be and Kai-Uwe Sattler. 2021. Putting Pandas in a Box. In CIDR."},{"key":"e_1_2_1_31_1","unstructured":"Anna Herlihy Periklis Chrysogelos and Anastasia Ailamaki. 2022. Boosting Efficiency of External Pipelines by Blurring Application Boundaries. In CIDR.  Anna Herlihy Periklis Chrysogelos and Anastasia Ailamaki. 2022. Boosting Efficiency of External Pipelines by Blurring Application Boundaries. In CIDR."},{"key":"e_1_2_1_32_1","volume-title":"Andreas Mueller, Wentao Wu, and Hiren Patel.","author":"Jindal Alekh","year":"2021","unstructured":"Alekh Jindal , K. Venkatesh Emani , Maureen Daum , Olga Poppe , Brandon Haynes , Anna Pavlenko , Ayushi Gupta , Karthik Ramachandra , Carlo Curino , Andreas Mueller, Wentao Wu, and Hiren Patel. 2021 . Magpie : Python at Speed and Scale using Cloud Backends. In CIDR. Alekh Jindal, K. Venkatesh Emani, Maureen Daum, Olga Poppe, Brandon Haynes, Anna Pavlenko, Ayushi Gupta, Karthik Ramachandra, Carlo Curino, Andreas Mueller, Wentao Wu, and Hiren Patel. 2021. Magpie: Python at Speed and Scale using Cloud Backends. In CIDR."},{"key":"e_1_2_1_33_1","unstructured":"Johannes Kepler University. 2022. The Truffle Language Implementation Framework. Available at: http:\/\/www.ssw.unilinz.ac.at\/Research\/Projects\/JVM\/Truffle.html.  Johannes Kepler University. 2022. The Truffle Language Implementation Framework. Available at: http:\/\/www.ssw.unilinz.ac.at\/Research\/Projects\/JVM\/Truffle.html."},{"key":"e_1_2_1_34_1","doi-asserted-by":"crossref","unstructured":"Alfons Kemper and Thomas Neumann. 2011. HyPer: A hybrid OLTP&OLAP main memory database system based on virtual memory snapshots. In ICDE.  Alfons Kemper and Thomas Neumann. 2011. HyPer: A hybrid OLTP&OLAP main memory database system based on virtual memory snapshots. In ICDE.","DOI":"10.1109\/ICDE.2011.5767867"},{"key":"e_1_2_1_35_1","first-page":"301","article-title":"Maximizing Loop Parallelism and Improving Data Locality via Loop Fusion and Distribution","volume":"768","author":"Kennedy Ken","year":"1993","unstructured":"Ken Kennedy and Kathryn S. McKinley . 1993 . Maximizing Loop Parallelism and Improving Data Locality via Loop Fusion and Distribution . In LCPC , Vol. 768. 301 -- 320 . Ken Kennedy and Kathryn S. McKinley. 1993. Maximizing Loop Parallelism and Improving Data Locality via Loop Fusion and Distribution. In LCPC, Vol. 768. 301--320.","journal-title":"LCPC"},{"key":"e_1_2_1_36_1","first-page":"2209","article-title":"Everything You Always Wanted to Know About Compiled and Vectorized Queries But Were Afraid to Ask","volume":"11","author":"Kersten Timo","year":"2018","unstructured":"Timo Kersten , Viktor Leis , Alfons Kemper , Thomas Neumann , Andrew Pavlo , and Peter A. Boncz . 2018 . Everything You Always Wanted to Know About Compiled and Vectorized Queries But Were Afraid to Ask . PVLDB 11 , 13 (2018), 2209 -- 2222 . Timo Kersten, Viktor Leis, Alfons Kemper, Thomas Neumann, Andrew Pavlo, and Peter A. Boncz. 2018. Everything You Always Wanted to Know About Compiled and Vectorized Queries But Were Afraid to Ask. PVLDB 11, 13 (2018), 2209--2222.","journal-title":"PVLDB"},{"key":"e_1_2_1_37_1","unstructured":"Steffen Kl\u00c3d'be Robert DeSantis Stefan Hagedorn and Kai-Uwe Sattler. 2022. Accelerating Python UDFs in Vectorized Query Execution. In CIDR.  Steffen Kl\u00c3d'be Robert DeSantis Stefan Hagedorn and Kai-Uwe Sattler. 2022. Accelerating Python UDFs in Vectorized Query Execution. In CIDR ."},{"key":"e_1_2_1_38_1","volume-title":"GeoTriples: Transforming geospatial data into RDF graphs using R2RML and RML mappings. J. Web Semant. 52--53","author":"Kyzirakos Kostis","year":"2018","unstructured":"Kostis Kyzirakos , Dimitrianos Savva , Ioannis Vlachopoulos , Alexandros Vasileiou , Nikolaos Karalis , Manolis Koubarakis , and Stefan Manegold . 2018. GeoTriples: Transforming geospatial data into RDF graphs using R2RML and RML mappings. J. Web Semant. 52--53 ( 2018 ), 16--32. Kostis Kyzirakos, Dimitrianos Savva, Ioannis Vlachopoulos, Alexandros Vasileiou, Nikolaos Karalis, Manolis Koubarakis, and Stefan Manegold. 2018. GeoTriples: Transforming geospatial data into RDF graphs using R2RML and RML mappings. J. Web Semant. 52--53 (2018), 16--32."},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/2833157.2833162"},{"key":"e_1_2_1_40_1","volume-title":"MLIR: A Compiler Infrastructure for the End of Moore's Law. CoRR abs\/2002.11054","author":"Lattner Chris","year":"2020","unstructured":"Chris Lattner , Jacques A. Pienaar , Mehdi Amini , Uday Bondhugula , River Riddle , Albert Cohen , Tatiana Shpeisman , Andy Davis , Nicolas Vasilache , and Oleksandr Zinenko . 2020 . MLIR: A Compiler Infrastructure for the End of Moore's Law. CoRR abs\/2002.11054 (2020). Chris Lattner, Jacques A. Pienaar, Mehdi Amini, Uday Bondhugula, River Riddle, Albert Cohen, Tatiana Shpeisman, Andy Davis, Nicolas Vasilache, and Oleksandr Zinenko. 2020. MLIR: A Compiler Infrastructure for the End of Moore's Law. CoRR abs\/2002.11054 (2020)."},{"key":"e_1_2_1_41_1","volume-title":"FFI library","author":"Lua","year":"2022","unstructured":"Lua JIT , FFI library . 2022 . Available at: https:\/\/luajit.org\/ext_ffi.html. Lua JIT, FFI library. 2022. Available at: https:\/\/luajit.org\/ext_ffi.html."},{"key":"e_1_2_1_42_1","volume-title":"Digital Libraries: Supporting Open Science: 15th Italian Research Conference on Digital Libraries, IRCDL","author":"Manola Natalia","year":"2019","unstructured":"Natalia Manola . 2019. Interactive Text Analysis and Information Extraction . In Digital Libraries: Supporting Open Science: 15th Italian Research Conference on Digital Libraries, IRCDL 2019 , Pisa, Italy, January 31--February 1, 2019, Proceedings, Vol. 988 . Springer , 340. Natalia Manola. 2019. Interactive Text Analysis and Information Extraction. In Digital Libraries: Supporting Open Science: 15th Italian Research Conference on Digital Libraries, IRCDL 2019, Pisa, Italy, January 31--February 1, 2019, Proceedings, Vol. 988. Springer, 340."},{"key":"e_1_2_1_43_1","unstructured":"Kevin Modzelewski. 2014. Introducing Pyston: an upcoming JIT-based Python implementation. Available at:. https:\/\/nuitka.net  Kevin Modzelewski. 2014. Introducing Pyston: an upcoming JIT-based Python implementation. Available at:. https:\/\/nuitka.net"},{"key":"e_1_2_1_44_1","unstructured":"Kevin Modzelewski. 2020. Pyston v2: 20% faster Python. Available at:. https:\/\/blog.pyston.org\/2020\/10\/28\/pyston-v2-20-faster-python  Kevin Modzelewski. 2020. Pyston v2: 20% faster Python. Available at:. https:\/\/blog.pyston.org\/2020\/10\/28\/pyston-v2-20-faster-python"},{"key":"e_1_2_1_45_1","unstructured":"MonetDB. 2022. Base Types. Available at: https:\/\/www.monetdb.org\/documentation-Jan2022\/user-guide\/sql-manual\/data-types\/base-types.  MonetDB. 2022. Base Types. Available at: https:\/\/www.monetdb.org\/documentation-Jan2022\/user-guide\/sql-manual\/data-types\/base-types."},{"key":"e_1_2_1_46_1","unstructured":"MonetDB. 2022. Index Definitions. Available at: https:\/\/www.monetdb.org\/documentation-Jan2022\/user-guide\/sql-manual\/data-definition\/index-definitions.  MonetDB. 2022. Index Definitions. Available at: https:\/\/www.monetdb.org\/documentation-Jan2022\/user-guide\/sql-manual\/data-definition\/index-definitions."},{"key":"e_1_2_1_47_1","unstructured":"MonetDB docs. 2022. Jit C UDFs. Available at: https:\/\/www.monetdb.org\/documentation-Jan2022\/user-guide\/blog-archive\/jit-c-udfs.  MonetDB docs. 2022. Jit C UDFs. Available at: https:\/\/www.monetdb.org\/documentation-Jan2022\/user-guide\/blog-archive\/jit-c-udfs."},{"key":"e_1_2_1_48_1","unstructured":"Nuitka the Python Compiler. 2022. Available at: https:\/\/nuitka.net.  Nuitka the Python Compiler. 2022. Available at: https:\/\/nuitka.net."},{"key":"e_1_2_1_49_1","unstructured":"Numpy. 2022. Available at: https:\/\/numpy.org\/.  Numpy. 2022. Available at: https:\/\/numpy.org\/."},{"key":"e_1_2_1_50_1","unstructured":"Shoumik Palkar James J. Thomas Anil Shanbhag Malte Schwarzkopf Saman P. Amarasinghe and Matei Zaharia. 2017. A Common Runtime for High Performance Data Analysis. In CIDR.  Shoumik Palkar James J. Thomas Anil Shanbhag Malte Schwarzkopf Saman P. Amarasinghe and Matei Zaharia. 2017. A Common Runtime for High Performance Data Analysis. In CIDR."},{"key":"e_1_2_1_51_1","unstructured":"Arash Partow. 2020. The Global Airport Database. Available at: https:\/\/www.partow.net\/miscellaneous\/airportdatabase.  Arash Partow. 2020. The Global Airport Database. Available at: https:\/\/www.partow.net\/miscellaneous\/airportdatabase."},{"key":"e_1_2_1_52_1","doi-asserted-by":"crossref","unstructured":"Richard Plangger and Andreas Krall. 2016. Vectorization in PyPy's Tracing Just-In-Time Compiler. In SCOPES. 67\u00e2\u0102\u015e76.  Richard Plangger and Andreas Krall. 2016. Vectorization in PyPy's Tracing Just-In-Time Compiler. In SCOPES. 67\u00e2\u0102\u015e76.","DOI":"10.1145\/2906363.2906384"},{"key":"e_1_2_1_53_1","unstructured":"PostgreSQL. 2022. Procedural languages. In PostgreSQL User Manual.  PostgreSQL. 2022. Procedural languages. In PostgreSQL User Manual."},{"key":"e_1_2_1_54_1","unstructured":"PostgreSQL Documentation. 2022. Create type. Available at: https:\/\/www.postgresql.org\/docs\/14\/sql-createtype.html.  PostgreSQL Documentation. 2022. Create type. Available at: https:\/\/www.postgresql.org\/docs\/14\/sql-createtype.html."},{"key":"e_1_2_1_55_1","volume-title":"Junda Chen, and Jignesh Patel.","author":"Prammer Martin","year":"2022","unstructured":"Martin Prammer , Suryadev Sahadevan Rajesh , Junda Chen, and Jignesh Patel. 2022 . Introducing a Query Acceleration Path for Analytics in SQLite3. In CIDR. Martin Prammer, Suryadev Sahadevan Rajesh, Junda Chen, and Jignesh Patel. 2022. Introducing a Query Acceleration Path for Analytics in SQLite3. In CIDR."},{"key":"e_1_2_1_56_1","unstructured":"PyPY. 2022. PyPy's Python packages compatibility. Available at: http:\/\/packages.pypy.org.  PyPY. 2022. PyPy's Python packages compatibility. Available at: http:\/\/packages.pypy.org."},{"key":"e_1_2_1_57_1","unstructured":"PyPY. 2022. Python compatibility. Available at: https:\/\/www.pypy.org\/compat.html.  PyPY. 2022. Python compatibility. Available at: https:\/\/www.pypy.org\/compat.html."},{"key":"e_1_2_1_58_1","unstructured":"PyPY. 2022. Unicode strings. Available at: https:\/\/www.pypy.org\/posts\/2019\/03\/pypy-v71-released-now-uses-utf-8-451324088028792912.html.  PyPY. 2022. Unicode strings. Available at: https:\/\/www.pypy.org\/posts\/2019\/03\/pypy-v71-released-now-uses-utf-8-451324088028792912.html."},{"key":"e_1_2_1_59_1","doi-asserted-by":"crossref","unstructured":"Mark Raasveldt and Hannes M\u00fchleisen. 2016. Vectorized udfs in column-stores. In SSDBM.  Mark Raasveldt and Hannes M\u00fchleisen. 2016. Vectorized udfs in column-stores. In SSDBM.","DOI":"10.1145\/2949689.2949703"},{"key":"e_1_2_1_60_1","first-page":"432","article-title":"Froid: Optimization of Imperative Programs in a Relational Database","volume":"11","author":"Ramachandra Karthik","year":"2017","unstructured":"Karthik Ramachandra , Kwanghyun Park , K. Venkatesh Emani , Alan Halverson , C\u00e9sar A. Galindo-Legaria , and Conor Cunningham . 2017 . Froid: Optimization of Imperative Programs in a Relational Database . PVLDB 11 , 4(2017), 432 -- 444 . Karthik Ramachandra, Kwanghyun Park, K. Venkatesh Emani, Alan Halverson, C\u00e9sar A. Galindo-Legaria, and Conor Cunningham. 2017. Froid: Optimization of Imperative Programs in a Relational Database. PVLDB 11, 4(2017), 432--444.","journal-title":"PVLDB"},{"key":"e_1_2_1_61_1","unstructured":"Armin Rigo and Maciej Fijalkowski. 2021. CFFI documentation.  Armin Rigo and Maciej Fijalkowski. 2021. CFFI documentation."},{"key":"e_1_2_1_62_1","doi-asserted-by":"crossref","unstructured":"Viktor Rosenfeld Ren\u00e9 M\u00fcller Pinar T\u00f6z\u00fcn and Fatma \u00d6zcan. 2017. Processing Java UDFs in a C++ environment. In SoCC. 419--431.  Viktor Rosenfeld Ren\u00e9 M\u00fcller Pinar T\u00f6z\u00fcn and Fatma \u00d6zcan. 2017. Processing Java UDFs in a C++ environment. In SoCC. 419--431.","DOI":"10.1145\/3127479.3132022"},{"key":"e_1_2_1_63_1","first-page":"1","article-title":"Freedom for the SQL-Lambda","volume":"6","author":"Sch\u00fcle Maximilian E.","year":"2020","unstructured":"Maximilian E. Sch\u00fcle , Jakob Huber , Alfons Kemper , and Thomas Neumann . 2020 . Freedom for the SQL-Lambda : Just-in-Time-Compiling User-Injected Functions in PostgreSQL. In SSDBM. 6 : 1 -- 6 :12. Maximilian E. Sch\u00fcle, Jakob Huber, Alfons Kemper, and Thomas Neumann. 2020. Freedom for the SQL-Lambda: Just-in-Time-Compiling User-Injected Functions in PostgreSQL. In SSDBM. 6:1--6:12.","journal-title":"Just-in-Time-Compiling User-Injected Functions in PostgreSQL. In SSDBM."},{"key":"e_1_2_1_64_1","unstructured":"Scipy. 2022. Available at: https:\/\/scipy.org.  Scipy. 2022. Available at: https:\/\/scipy.org."},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1109\/JIOT.2016.2579198"},{"key":"e_1_2_1_66_1","doi-asserted-by":"crossref","unstructured":"Varum Simhadri Karthik Ramachandra Arun Chaitanya Ravindra Guravannavar and S. Sudarshan. 2014. Decorrelation of user defined function invocations in queries. In ICDE. 532--543.  Varum Simhadri Karthik Ramachandra Arun Chaitanya Ravindra Guravannavar and S. Sudarshan. 2014. Decorrelation of user defined function invocations in queries. In ICDE . 532--543.","DOI":"10.1109\/ICDE.2014.6816679"},{"key":"e_1_2_1_67_1","unstructured":"Spark documentation. 2022. User Defined Aggregate Functions. Available at: https:\/\/spark.apache.org\/docs\/latest\/sql-ref-functions-udf-aggregate.html.  Spark documentation. 2022. User Defined Aggregate Functions. Available at: https:\/\/spark.apache.org\/docs\/latest\/sql-ref-functions-udf-aggregate.html."},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/3448016.3457244"},{"key":"e_1_2_1_69_1","unstructured":"SQLite C Interface. 2022. Create Or Redefine SQL Functions. Available at: https:\/\/www.sqlite.org\/c3ref\/create_function.html.  SQLite C Interface. 2022. Create Or Redefine SQL Functions. Available at: https:\/\/www.sqlite.org\/c3ref\/create_function.html."},{"key":"e_1_2_1_70_1","unstructured":"SQLite documentation. 2022. Application-Defined SQL Functions. Available at: https:\/\/www.sqlite.org\/appfunc.html.  SQLite documentation. 2022. Application-Defined SQL Functions. Available at: https:\/\/www.sqlite.org\/appfunc.html."},{"key":"e_1_2_1_71_1","unstructured":"TPC-H Benchmark. 2022. Available at: http:\/\/www.tpc.org\/tpch.  TPC-H Benchmark. 2022. Available at: http:\/\/www.tpc.org\/tpch."},{"key":"e_1_2_1_72_1","unstructured":"Itamar Turner-Trauring. 2022. Faster string processing in Pandas. Available at: https:\/\/www.gresearch.co.uk\/article\/faster-string-processing-in-pandas.  Itamar Turner-Trauring. 2022. Faster string processing in Pandas. Available at: https:\/\/www.gresearch.co.uk\/article\/faster-string-processing-in-pandas."},{"key":"e_1_2_1_73_1","unstructured":"U.S. Department of Transportation Bureau of Transportation Statistics. 2020. Carrier history lookup table. Available at: https:\/\/www.transtats.bts.gov\/Download_Lookup.asp?Lookup=L_CARRIER_HISTORY.  U.S. Department of Transportation Bureau of Transportation Statistics. 2020. Carrier history lookup table. Available at: https:\/\/www.transtats.bts.gov\/Download_Lookup.asp?Lookup=L_CARRIER_HISTORY."},{"key":"e_1_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1093\/rheumatology\/key148"},{"key":"e_1_2_1_75_1","unstructured":"Vertica documentation. 2022. UDAF Class Overview. Available at: https:\/\/www.vertica.com\/docs\/10.0.x\/HTML\/Content\/Authoring\/ExtendingVertica\/UDx\/AggregateFunctions\/UDAFClassOverview.htm.  Vertica documentation. 2022. UDAF Class Overview. Available at: https:\/\/www.vertica.com\/docs\/10.0.x\/HTML\/Content\/Authoring\/ExtendingVertica\/UDx\/AggregateFunctions\/UDAFClassOverview.htm."}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3547305.3547328","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T11:19:34Z","timestamp":1672226374000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3547305.3547328"}},"subtitle":["\"you extend SQL\" with rich and highly performant user-defined functions in relational databases"],"short-title":[],"issued":{"date-parts":[[2022,6]]},"references-count":75,"journal-issue":{"issue":"10","published-print":{"date-parts":[[2022,6]]}},"alternative-id":["10.14778\/3547305.3547328"],"URL":"https:\/\/doi.org\/10.14778\/3547305.3547328","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2022,6]]}}}