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

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

Build:
Build:
LAST BUILD BRANCH: jira-babel-ssms-perf
DEFAULT BRANCH: main
Ran 08 May 2026 06:44PM UTC
Jobs 1
Files 127
Run time 1min
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

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)

582 of 909 new or added lines in 16 files covered. (64.03%)

53876 of 69915 relevant lines covered (77.06%)

643498.94 hits per line

Uncovered Changes

Lines Coverage ∆ File
83
51.18
contrib/babelfishpg_tsql/src/pltsql_node/pltsql_nodeio.c
74
1.27
contrib/babelfishpg_tsql/src/pl_gram.y
66
13.16
contrib/babelfishpg_tsql/src/pltsql_node/pltsql_equalfuncs.c
32
70.29
contrib/babelfishpg_tsql/src/pl_comp.c
30
62.96
contrib/babelfishpg_tsql/src/pltsql_node/pltsql_readfuncs_stubs.c
17
85.87
contrib/babelfishpg_tsql/src/hooks.c
10
81.13
contrib/babelfishpg_tsql/src/pltsql_node/pltsql_outfuncs_stubs.c
7
75.0
contrib/babelfishpg_tsql/src/pltsql_node/pltsql_node_macros.h
4
44.56
contrib/babelfishpg_tsql/src/pl_exec.c
3
0.0
contrib/babelfishpg_tsql/src/tsqlNodes.c
1
86.89
contrib/babelfishpg_tsql/src/catalog.c
Jobs
ID Job ID Ran Files Coverage
1 25571405065.1 08 May 2026 06:44PM UTC 127
77.06
GitHub Action Run
Source Files on build 25571405065
  • Tree
  • List 127
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25571405065
  • 2ac0eda9 on github
  • Next Build on jira-babel-6037-6x (#25809760669)
  • 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