• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

amazon-aurora / babelfish_extensions / 25571405065 / 1
77%
main: 77%

Build:
Build:
LAST BUILD BRANCH: jira-babel-ssms-perf
DEFAULT BRANCH: main
Ran 08 May 2026 06:44PM UTC
Files 127
Run time 14s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

08 May 2026 05:40PM UTC coverage: 77.059%. First build
25571405065.1

push

github

manisha-deshpande
[OSS-ONLY] Add persistent ANTLR parse tree cache for routines (#4547)

Cache serialized parse trees in sys.babelfish_function_ext to eliminate
redundant ANTLR parsing on first execution in new sessions. The PLtsql
function hash table is session-scoped, so without caching every new
session re-parses large routines from scratch. This reduces first-
execution time from ~2s to ~15ms for routines with ~1300 lines.

Serialized trees use a nodeToString/stringToNode framework modeled after
PostgreSQL's node serialization, with a Perl code generator producing
outfuncs/readfuncs/equalfuncs from annotated PLtsql headers. Extension-
owned NodeTags are offset from 10000 to avoid collision with PG's enum.
Cache is written at CREATE/ALTER time, restored on first EXEC in a new
session, and validated against BABELFISH_VERSION_STR to reject stale
entries after upgrades. Cache writes are skipped on read-only instances.

Caching behavior is controlled at three levels: a session-level GUC
(babelfishpg_tsql.enable_antlr_parse_cache, default true) provides the
global toggle, a per-function setting toggled via
sys.enable_antlr_parse_cache(routine_oid, true/false/NULL) allows
function owners to force-enable, force-disable, or follow the session
GUC, and a superuser-only debug GUC (validate_antlr_parse_cache)
enables roundtrip verification by comparing cached trees against fresh
ANTLR output.

Limitations: trigger functions and event triggers are not cached in this
initial implementation due to differences in datum array layout between
CREATE and EXEC time. These will be addressed in a follow-up.

Task: BABEL-6037

Author: Manisha Deshpande mmdeshp@amazon.com
(cherry picked from commit 56b641e7c)

53876 of 69915 relevant lines covered (77.06%)

643498.94 hits per line

Source Files on job 25571405065.1
  • Tree
  • List 127
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 25571405065
  • 2ac0eda9 on github
  • Next Job for on jira-babel-6037-6x (#25809760669.1)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc