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

kostafey / ejc-sql / 34008065912
38%

Build:
DEFAULT BRANCH: master
Ran 06 Sep 2026 03:06AM UTC
Jobs 2
Files 11
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

06 Sep 2026 03:04AM UTC coverage: 40.226% (-0.08%) from 40.309%
34008065912

push

github

kostafey
Cache Capf candidates to avoid a database round-trip per typed char

`ejc-capf' requested owners, tables, views and keywords from the Clojure
side on every keystroke, since Capf frontends call it after every command.
Collect them by an idle timer instead and cache the result, the way
`ejc-company' does, but share the cache between all the buffers connected
to the same database.

The columns candidates depend on the SQL expression around the point, so
they are still requested synchronously, but only once per completion
session: the cache key is the SQL expression with the word being typed
after the dot cut out of it.

Return a lazy completion table, so the candidates are collected only when
the frontend actually queries it, and schedule the cache update in
`ejc-capf' itself, so the cache is warmed up even when the frontend
decides not to complete this time.

Set `ejc-candidates-pending' when the database structure cache is not
ready yet on the Clojure side, to refresh the incomplete candidates in
`ejc-capf-cache-retry-ivl-secs' instead of `ejc-capf-cache-update-ivl-secs'.
Flush the cache when `ejc-invalidate-cache' is called.

Also fix the completion right after a dot: `bounds-of-thing-at-point'
returns nil there, hence `alias.#' produced no candidates at all.  Grab
the symbol backwards only, like `company-grab-symbol' does.

Add the packages candidates, the `ejc-sql-mode' guard, `ejc-capf-setup',
`company-kind' for the icons providers and `company-doc-buffer' for
`corfu-popupinfo-mode'.  Start the completion by `ejc-complete-on-dot' and
by the Clojure side callback for the Capf frontends as well.

0 of 6 new or added lines in 1 file covered. (0.0%)

391 of 972 relevant lines covered (40.23%)

4.7 hits per line

Uncovered Changes

Lines Coverage ∆ File
6
67.39
-3.06% ejc-completion-common.el
Jobs
ID Job ID Ran Files Coverage
1 emacs-30.2 - 34008065912.1 06 Sep 2026 03:06AM UTC 11
40.23
GitHub Action Run
2 emacs-snapshot - 34008065912.2 06 Sep 2026 03:06AM UTC 11
40.23
GitHub Action Run
Source Files on build 34008065912
  • Tree
  • List 11
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 0324fde6 on github
  • Prev Build on master (#34001587317)
  • Next Build on master (#34060604230)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc