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

codenotary / immudb / 24841571249
85%

Build:
DEFAULT BRANCH: master
Ran 23 Apr 2026 02:54PM UTC
Jobs 1
Files 310
Run time 7min
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

23 Apr 2026 02:44PM UTC coverage: 85.275% (-4.0%) from 89.306%
24841571249

push

gh-ci

web-flow
feat: v1.11.0 PostgreSQL compatibility and SQL feature expansion (#2090)

* Add structured audit logging with immutable audit trail

Introduces a new --audit-log flag that records all gRPC operations as
structured JSON events in immudb's tamper-proof KV store. Events are
stored under the audit: key prefix in systemdb, queryable via Scan and
verifiable via VerifiableGet. An async buffered writer ensures minimal
latency impact. Configurable event filtering (all/write/admin) via
--audit-log-events flag.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Add PostgreSQL ORM compatibility layer and verification functions

Extend the pgsql wire protocol with immudb verification functions
(immudb_state, immudb_verify_row, immudb_verify_tx, immudb_history,
immudb_tx) accessible via standard SQL SELECT statements.

Add pg_catalog resolvers (pg_attribute, pg_index, pg_constraint,
pg_type, pg_settings, pg_description) and information_schema
resolvers (tables, columns, schemata, key_column_usage) to support
ORM introspection from Django, SQLAlchemy, GORM, and ActiveRecord.

Add PostgreSQL compatibility functions: current_database,
current_schema, current_user, format_type, pg_encoding_to_char,
pg_get_expr, pg_get_constraintdef, obj_description, col_description,
has_table_privilege, has_schema_privilege, and others.

Add SHOW statement emulation for common ORM config queries and
schema-qualified name stripping for information_schema and public
schema references.

* Implement EXISTS and IN subquery support in SQL engine

Replace the previously stubbed ExistsBoolExp and InSubQueryExp
implementations with working non-correlated subquery execution.

EXISTS subqueries resolve the inner SELECT and check if any rows
are returned. IN subqueries resolve the inner SELECT, iterate the
result set, and compare each value against the outer expression.
Both support NOT variants (NOT EXISTS, NOT IN).

Correlated subqueries (referencing outer query columns) ar... (continued)

7254 of 10471 new or added lines in 124 files covered. (69.28%)

119 existing lines in 18 files now uncovered.

44597 of 52298 relevant lines covered (85.27%)

127591.66 hits per line

Uncovered Changes

Lines Coverage ∆ File
602
49.13
-41.88% embedded/sql/functions.go
483
83.29
-1.88% embedded/sql/stmt.go
400
18.53
pkg/pgsql/server/immudb_functions.go
251
42.3
pkg/pgsql/server/pgadmin_compat.go
201
6.07
pkg/pgsql/server/copy_handler.go
84
73.83
embedded/sql/window_row_reader.go
82
80.27
-9.05% embedded/sql/engine.go
81
89.87
-4.14% embedded/sql/sql_parser.go
77
26.67
pkg/audit/logger.go
73
78.48
-15.14% embedded/sql/aggregated_values.go
63
84.94
-4.03% pkg/pgsql/server/query_machine.go
59
61.94
embedded/sql/hash_join_reader.go
45
70.06
-20.6% embedded/sql/sql_tx.go
43
78.26
-18.35% embedded/sql/distinct_row_reader.go
41
32.79
pkg/pgsql/sys/types.go
36
66.36
embedded/sql/set_op_row_reader.go
34
73.91
-19.42% pkg/pgsql/server/stmts_handler.go
30
62.03
pkg/pgsql/server/rewrite/rules/walk.go
30
21.05
pkg/server/audit_log_interceptor.go
28
84.7
embedded/sql/full_outer_join_reader.go
28
0.0
pkg/audit/query.go
25
72.66
-12.71% pkg/pgsql/server/session.go
22
69.86
embedded/sql/hash_grouped_row_reader.go
22
0.0
pkg/pgsql/server/bmessages/copy_in_response.go
19
88.41
-0.39% embedded/store/ongoing_tx.go
18
85.48
embedded/sql/predicate_pushdown.go
18
87.82
-2.48% embedded/store/indexer.go
16
90.64
pkg/pgsql/server/unique_ddl.go
15
88.16
-3.16% embedded/sql/joint_row_reader.go
13
79.37
embedded/sql/count_row_reader.go
13
0.0
pkg/pgsql/server/fmessages/copy.go
12
86.18
0.71% embedded/sql/sort_reader.go
12
91.67
embedded/sql/system_tables.go
12
75.68
-1.52% pkg/pgsql/server/initialize_session.go
12
80.25
-0.43% pkg/server/server.go
10
84.62
-15.38% embedded/appendable/multiapp/appendable_cache.go
10
82.47
-1.47% embedded/sql/file_sort.go
10
84.38
-15.63% embedded/sql/options.go
9
88.55
-3.7% embedded/sql/grouped_row_reader.go
9
85.96
-1.78% embedded/sql/row_reader.go
8
96.41
-3.59% pkg/server/metrics.go
8
76.82
-3.75% pkg/server/remote_storage.go
7
84.0
-7.55% pkg/pgsql/server/server.go
6
89.61
-10.39% pkg/pgsql/server/bmessages/row_description.go
6
78.57
pkg/pgsql/server/rewrite/rules/collapse_star_comma.go
6
80.0
pkg/pgsql/server/rewrite/rules/table_star.go
6
80.0
pkg/pgsql/server/rewriter_config.go
6
94.87
-5.13% pkg/pgsql/server/types.go
6
88.0
pkg/pgsql/sys/pg_policy_publication_stats.go
6
86.41
-5.26% pkg/replication/options.go
6
90.24
-0.06% pkg/server/sessions/manager.go
6
82.46
-2.49% pkg/server/sessions/session.go
5
92.61
-0.24% embedded/sql/catalog.go
5
87.79
1.42% pkg/database/sql.go
5
82.76
pkg/pgsql/server/rewrite/rules/count_one.go
5
80.0
pkg/pgsql/server/rewrite/rules/pg_casts.go
4
87.6
-0.5% embedded/appendable/multiapp/multi_app.go
4
83.56
-0.17% embedded/store/immustore.go
4
99.02
-0.98% embedded/store/options.go
3
82.96
-0.24% embedded/sql/parser.go
3
90.66
0.04% embedded/tbtree/tbtree.go
3
91.84
-8.16% pkg/auth/serverinterceptors.go
3
87.54
-0.95% pkg/client/sql.go
3
57.14
pkg/pgsql/server/rewrite/parser.go
3
98.44
-0.61% pkg/server/options.go
2
98.06
1.67% embedded/sql/union_row_reader.go
2
90.91
-0.84% pkg/pgsql/server/bmessages/data_row.go
2
98.0
-2.0% pkg/pgsql/server/fmessages/bind.go
2
85.71
pkg/pgsql/sys/pg_attrdef.go
2
98.28
pkg/pgsql/sys/pg_attribute.go
2
97.78
pkg/pgsql/sys/pg_class.go
2
89.47
pkg/pgsql/sys/pg_collation.go
2
97.62
pkg/pgsql/sys/pg_constraint.go
2
97.53
pkg/pgsql/sys/pg_index.go
2
95.45
pkg/pgsql/sys/pg_indexes.go
2
86.67
pkg/pgsql/sys/pg_inherits.go
2
95.35
pkg/pgsql/sys/pg_tables.go
2
89.74
-0.4% pkg/replication/replicator.go
2
80.0
-20.0% pkg/server/service.go
2
88.45
-0.42% pkg/server/user.go
1
83.75
-0.87% pkg/client/transaction.go
1
96.55
pkg/pgsql/server/rewrite/rewriter.go
1
94.12
pkg/pgsql/server/rewrite/rules/check_constraints.go
1
90.0
pkg/pgsql/server/rewrite/rules/collate.go
1
87.5
pkg/pgsql/server/rewrite/rules/create_index_name.go
1
87.5
pkg/pgsql/server/rewrite/rules/create_table_if_not_exists.go
1
87.5
pkg/pgsql/server/rewrite/rules/create_view_cols.go
1
95.83
pkg/pgsql/server/rewrite/rules/foreign_keys.go
1
90.91
pkg/pgsql/server/rewrite/rules/on_conflict.go
1
83.33
pkg/pgsql/server/rewrite/rules/trailing_comment_on.go
1
87.5
pkg/pgsql/server/rewrite/rules/transaction_modes.go
1
94.51
4.26% pkg/server/types.go

Coverage Regressions

Lines Coverage ∆ File
48
89.87
-4.14% embedded/sql/sql_parser.go
16
83.29
-1.88% embedded/sql/stmt.go
8
92.61
-0.24% embedded/sql/catalog.go
8
83.56
-0.17% embedded/store/immustore.go
7
85.96
-1.78% embedded/sql/row_reader.go
6
88.16
-3.16% embedded/sql/joint_row_reader.go
6
89.47
-10.53% pkg/pgsql/errors/errors.go
4
88.55
-3.7% embedded/sql/grouped_row_reader.go
3
87.22
-0.28% pkg/client/auditor/auditor.go
3
84.0
-7.55% pkg/pgsql/server/server.go
2
80.27
-9.05% embedded/sql/engine.go
2
89.61
-10.39% pkg/pgsql/server/bmessages/row_description.go
1
49.13
-41.88% embedded/sql/functions.go
1
90.66
0.04% embedded/tbtree/tbtree.go
1
91.84
-8.16% pkg/auth/serverinterceptors.go
1
87.54
-0.95% pkg/client/sql.go
1
87.79
1.42% pkg/database/sql.go
1
90.24
-0.06% pkg/server/sessions/manager.go
Jobs
ID Job ID Ran Files Coverage
1 24841571249.1 23 Apr 2026 02:54PM UTC 310
85.27
Source Files on build 24841571249
  • Tree
  • List 310
  • Changed 68
  • Source Changed 0
  • Coverage Changed 68
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 4e9926b2 on github
  • Prev Build on master (#24401624429)
  • Next Build on master (#24878404218)
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