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

justin-millman / Kvasir
98%
master: 98%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Repo Added 24 Dec 2020 08:54PM UTC
Files 176
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

LAST BUILD ON BRANCH main
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • bugfix/TEXT-to-LONGTEXT
  • bugfix/error-messages-for-aggregate-nested-relations
  • bugfix/fix-relation-nullability
  • bugfix/mysql-datetime-literal
  • bugfix/pre-defined-create-table-does-inserts
  • bugfix/relation-nested-relation-via-aggregate-memoized
  • bugfix/transactor-delete-associative-relation-entry-during-update
  • cleanup/relation-base-interfaces
  • feature/blobbing
  • feature/date-only
  • feature/dependency-bumps
  • feature/localization-v3
  • feature/msyql-transaction
  • feature/mysql-transcription
  • feature/pre-defined-entities
  • feature/some-tweaks
  • feature/transactor
  • feature/unreachable-exception
  • feature/writeable-relation-exception
  • main
  • master

01 Nov 2025 06:21PM UTC coverage: 98.338% (-0.2%) from 98.512%
19000805943

push

github

justin-millman
Translation of Localizations

This commit introduces Localizations, a new first-class property type that Kvasir can handle. A Localization
is any type derived from the Localization<K, L, V> generic, which in turn implements the brand new
ILocalization interface. Localizations are designed to support different values under different circumstances
for a single semantic, such as different languages' translations of text or different systems' units of
measurement.

The "key" of a Localization shows up in the Principal or Relation Table that "owns" the Localization, while
the locale-value pairs are aggregated into a Localization Table. All instances of a Localization Type share
a single Localization Table, so the keys must be unique-per-type, while the locales are necessarily unique
per-key. Derived Localization types cannot have their own properties included in the data model.

Annotations may be applied to a Localization's key in the Principal or Relation Table, but those constraints
do not propagate to the Localization Table. Data Converters are not supported, however. Localizations may
appear nested in Relations, but not in other Localizations; Relations cannot be nested in Localizations.

At this time, only the Schema-layer translation of Localizations is supported. Extraction and Reconstitution
will be implemented in future commits.

4250 of 4390 branches covered (96.81%)

Branch coverage included in aggregate %.

335 of 359 new or added lines in 20 files covered. (93.31%)

6994 of 7044 relevant lines covered (99.29%)

5666.52 hits per line

Relevant lines Covered
Build:
Build:
7044 RELEVANT LINES 6994 COVERED LINES
5666.52 HITS PER LINE
Source Files on master
  • Tree
  • List 176
  • Changed 12
  • Source Changed 0
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
19000805943 main Translation of Localizations This commit introduces Localizations, a new first-class property type that Kvasir can handle. A Localization is any type derived from the Localization<K, L, V> generic, which in turn implements the brand new ILocaliza... push 01 Nov 2025 06:22PM UTC justin-millman github
98.34
19000754664 feature/localization-v3 Merge 2fcfed65a into 78e381103 Pull #148 01 Nov 2025 06:18PM UTC web-flow github
98.34
16401577818 main Harden Rule Around Nullability of Relations This commit hardens the translation logic regarding nullability and Relations. In particular: * Relations cannot be natively nullable * Natively nullable Relations that are annotated as [NonNulla... push 20 Jul 2025 03:46PM UTC justin-millman github
98.51
16401550038 bugfix/fix-relation-nullability Merge 3cfe67629 into f792b6273 Pull #147 20 Jul 2025 03:43PM UTC web-flow github
98.51
16081764670 main Simplify Relation Interfaces This commit removes a number of interfaces explicitly listed for the four Relation containers, since those interfaces were already present through others. For example, IEnumerable<T> is implied by IList<T>, and theref... push 04 Jul 2025 10:36PM UTC justin-millman github
98.53
16081417047 cleanup/relation-base-interfaces Merge 901f7e117 into 2d0e9053a Pull #146 04 Jul 2025 09:57PM UTC web-flow github
98.53
16080746156 main Make VARCHAR(255) the Data Type for Text Fields in MySQL This commit changes, yet again, the behavior for Text-type Fields in the MySQL provider. Previously, they defaulted to being represented with LONGTEXT and would become VARCHAR(N) when a [Ch... push 04 Jul 2025 08:49PM UTC justin-millman github
98.53
16079940397 feature/blobbing Merge d516cde0b into 0cdd44701 Pull #145 04 Jul 2025 07:32PM UTC web-flow github
98.53
15962387070 main Bug Fix: MySQL DateTime Literal Keyword is TIMESTAMP not DATETIME This commit fixes a bug in the rendering of DateTime literals for the MySQL provider. Previously, the keyword identifier used was DATETIME, but this was wrong according to the offi... push 30 Jun 2025 02:24AM UTC justin-millman github
98.53
15962268798 bugfix/mysql-datetime-literal Merge 02d4b4182 into 5a5ec52d2 Pull #144 30 Jun 2025 02:13AM UTC web-flow github
98.53
See All Builds (231)
  • Repo on GitHub
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

© 2025 Coveralls, Inc