{"id":"https://openalex.org/W4282596171","doi":"https://doi.org/10.1145/3514221.3520175","title":"Snakes on a Plan: Compiling Python Functions into Plain SQL Queries","display_name":"Snakes on a Plan: Compiling Python Functions into Plain SQL Queries","publication_year":2022,"publication_date":"2022-06-10","ids":{"openalex":"https://openalex.org/W4282596171","doi":"https://doi.org/10.1145/3514221.3520175"},"language":"en","primary_location":{"id":"doi:10.1145/3514221.3520175","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3514221.3520175","pdf_url":null,"source":{"id":"https://openalex.org/S4363608845","display_name":"Proceedings of the 2022 International Conference on Management of Data","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2022 International Conference on Management of Data","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5018810636","display_name":"Tim Fischer","orcid":"https://orcid.org/0000-0002-6625-9627"},"institutions":[{"id":"https://openalex.org/I8087733","display_name":"University of T\u00fcbingen","ror":"https://ror.org/03a1kwz48","country_code":"DE","type":"education","lineage":["https://openalex.org/I8087733"]}],"countries":["DE"],"is_corresponding":true,"raw_author_name":"Tim Fischer","raw_affiliation_strings":["University of T\u00fcbingen, T\u00fcbingen, Germany"],"affiliations":[{"raw_affiliation_string":"University of T\u00fcbingen, T\u00fcbingen, Germany","institution_ids":["https://openalex.org/I8087733"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5068218400","display_name":"Denis Hirn","orcid":"https://orcid.org/0000-0001-7040-1780"},"institutions":[{"id":"https://openalex.org/I8087733","display_name":"University of T\u00fcbingen","ror":"https://ror.org/03a1kwz48","country_code":"DE","type":"education","lineage":["https://openalex.org/I8087733"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Denis Hirn","raw_affiliation_strings":["University of T\u00fcbingen, T\u00fcbingen, Germany"],"affiliations":[{"raw_affiliation_string":"University of T\u00fcbingen, T\u00fcbingen, Germany","institution_ids":["https://openalex.org/I8087733"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5088806837","display_name":"Torsten Grust","orcid":"https://orcid.org/0000-0002-8279-0493"},"institutions":[{"id":"https://openalex.org/I8087733","display_name":"University of T\u00fcbingen","ror":"https://ror.org/03a1kwz48","country_code":"DE","type":"education","lineage":["https://openalex.org/I8087733"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Torsten Grust","raw_affiliation_strings":["University of T\u00fcbingen, T\u00fcbingen, Germany"],"affiliations":[{"raw_affiliation_string":"University of T\u00fcbingen, T\u00fcbingen, Germany","institution_ids":["https://openalex.org/I8087733"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5018810636"],"corresponding_institution_ids":["https://openalex.org/I8087733"],"apc_list":null,"apc_paid":null,"fwci":0.9355,"has_fulltext":false,"cited_by_count":10,"citation_normalized_percentile":{"value":0.75872657,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"2389","last_page":"2392"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9976999759674072,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9976999759674072,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10317","display_name":"Advanced Database Systems and Queries","score":0.995199978351593,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9934999942779541,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8739111423492432},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.8553266525268555},{"id":"https://openalex.org/keywords/sql","display_name":"SQL","score":0.7607162594795227},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7079377770423889},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5077379941940308},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.5023472309112549},{"id":"https://openalex.org/keywords/user-defined-function","display_name":"User-defined function","score":0.48415786027908325},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.4586198031902313},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.4371834993362427},{"id":"https://openalex.org/keywords/stored-procedure","display_name":"Stored procedure","score":0.41333839297294617},{"id":"https://openalex.org/keywords/query-by-example","display_name":"Query by Example","score":0.2563050091266632},{"id":"https://openalex.org/keywords/world-wide-web","display_name":"World Wide Web","score":0.16792768239974976}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8739111423492432},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.8553266525268555},{"id":"https://openalex.org/C510870499","wikidata":"https://www.wikidata.org/wiki/Q47607","display_name":"SQL","level":2,"score":0.7607162594795227},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7079377770423889},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5077379941940308},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.5023472309112549},{"id":"https://openalex.org/C206384180","wikidata":"https://www.wikidata.org/wiki/Q599380","display_name":"User-defined function","level":5,"score":0.48415786027908325},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.4586198031902313},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.4371834993362427},{"id":"https://openalex.org/C154420247","wikidata":"https://www.wikidata.org/wiki/Q846619","display_name":"Stored procedure","level":5,"score":0.41333839297294617},{"id":"https://openalex.org/C194222762","wikidata":"https://www.wikidata.org/wiki/Q114486","display_name":"Query by Example","level":4,"score":0.2563050091266632},{"id":"https://openalex.org/C136764020","wikidata":"https://www.wikidata.org/wiki/Q466","display_name":"World Wide Web","level":1,"score":0.16792768239974976},{"id":"https://openalex.org/C164120249","wikidata":"https://www.wikidata.org/wiki/Q995982","display_name":"Web search query","level":3,"score":0.0},{"id":"https://openalex.org/C97854310","wikidata":"https://www.wikidata.org/wiki/Q19541","display_name":"Search engine","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3514221.3520175","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3514221.3520175","pdf_url":null,"source":{"id":"https://openalex.org/S4363608845","display_name":"Proceedings of the 2022 International Conference on Management of Data","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2022 International Conference on Management of Data","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.5,"id":"https://metadata.un.org/sdg/16","display_name":"Peace, Justice and strong institutions"}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":6,"referenced_works":["https://openalex.org/W1573833643","https://openalex.org/W1970165929","https://openalex.org/W2002411399","https://openalex.org/W2441695939","https://openalex.org/W3205887319","https://openalex.org/W6697330090"],"related_works":["https://openalex.org/W2350258087","https://openalex.org/W2747066406","https://openalex.org/W2168095336","https://openalex.org/W42614002","https://openalex.org/W2614112517","https://openalex.org/W2361335440","https://openalex.org/W2910370998","https://openalex.org/W2557197178","https://openalex.org/W2253717087","https://openalex.org/W2183669956"],"abstract_inverted_index":{"\"Move":[0],"your":[1,16],"computation":[2],"close":[3],"to":[4,13,74,88,101,108],"the":[5,44,70,76,89],"data\"":[6],"is":[7,11],"decades-old":[8],"advice":[9],"that":[10],"hard":[12],"follow":[14],"if":[15],"code":[17,36],"exhibits":[18],"complex":[19],"control":[20,54],"flow.":[21],"The":[22,63,93],"runtime":[23,104],"of":[24,65,78,106,111],"such":[25],"applications":[26],"suffers":[27],"from":[28,99],"a":[29,66,79],"continual":[30],"back":[31],"and":[32,38],"forth":[33],"between":[34],"database-external":[35],"execution":[37],"plan-based":[39],"SQL":[40,102],"evaluation.":[41],"We":[42],"demonstrate":[43],"ByePy":[45],"compiler":[46],"which":[47],"translates":[48],"entire":[49],"Python":[50,100],"functions":[51],"with":[52,103],"arbitrary":[53],"flow-including":[55],"deeply":[56],"nested":[57],"iteration-into":[58],"plain":[59],"recursive":[60],"SQL:1999":[61],"queries.":[62],"invocation":[64],"ByePy-compiled":[67],"function":[68],"enters":[69],"database":[71],"engine":[72],"once":[73],"execute":[75],"plan":[77],"single":[80],"query.":[81],"Computation":[82],"does":[83],"not":[84],"get":[85],"much":[86],"closer":[87],"data":[90],"than":[91],"this.":[92],"system":[94],"rewards":[95],"this":[96],"translation":[97],"effort":[98],"improvements":[105],"up":[107],"an":[109],"order":[110],"magnitude.":[112]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":4}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
