{"id":13856,"date":"2025-03-18T21:31:42","date_gmt":"2025-03-18T20:31:42","guid":{"rendered":"https:\/\/www.salvis.com\/blog\/?p=13856"},"modified":"2025-03-18T22:00:51","modified_gmt":"2025-03-18T21:00:51","slug":"dblinter-rules-repository","status":"publish","type":"post","link":"https:\/\/www.salvis.com\/blog\/2025\/03\/18\/dblinter-rules-repository\/","title":{"rendered":"dbLinter Rules Repository"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p>Today I proudly announce that the Joint Venture between <a href=\"https:\/\/blog.united-codes.com\/post\/announcing-dblinter\">United Codes <\/a>and <a href=\"https:\/\/www.grisselbav.com\/\">Grisselbav<\/a> released the initial version of the <a href=\"https:\/\/dblinter-rules.united-codes.com\/\">dbLinter Rules Repository website<\/a>. This is the first publicly available component of the dbLinter tool suite.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is dbLinter?<\/h2>\n\n\n\n<p>dbLinter is a suite for checking and improving the quality of database applications. Quality is assessed using static code analysis and database queries based on a configuration. A configuration is primarily centrally managed. It contains file patterns, rules, validators, SQL-based tests, parameters, and connect information for read-only database access within checks and tests.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Is it Free?<\/h2>\n\n\n\n<p>dbLinter is a commercial and subscription-based product. However, there are two free subscription plans foreseen. <strong>Anonymous<\/strong> without registration and <strong>Free<\/strong> requiring registration with a valid email address. You need a login to manage configurations.<\/p>\n\n\n<div class=\"wp-block-tableberg-wrapper is-style-regular wp-block-tableberg-table\" >\n\t\t\t<div class=\"tableberg-table-wrapper\" style=\"\">\n\t\t\t\t<table class = \"has-inner-border\" style=\"border-spacing: 0 0; --tableberg-inner-border-top: none; --tableberg-inner-border-right: 1px solid #000000; --tableberg-inner-border-bottom: 1px solid #000000; --tableberg-inner-border-left: none; --tableberg-inner-border-top-first: 1px solid #000000; --tableberg-inner-border-left-first: 1px solid #000000; \" data-tableberg-header=\"converted\" data-tableberg-footer=\"\"  ><colgroup><col style=\"\"\/><col style=\"width: 10%; min-width: 10%; \"\/><col style=\"width: 10%; min-width: 10%; \"\/><col style=\"width: 10%; min-width: 10%; \"\/><col style=\"width: 10%; min-width: 10%; \"\/><\/colgroup><tbody><tr class=\"tableberg-header\" style=\"\">\n<th data-tableberg-row=\"0\" data-tableberg-col=\"0\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-left\"><\/p>\n<\/div><\/th>\n\n<th data-tableberg-row=\"0\" data-tableberg-col=\"1\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">Anonymous<\/p>\n<\/div><\/th>\n\n<th data-tableberg-row=\"0\" data-tableberg-col=\"2\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p>Free<\/p>\n<\/div><\/th>\n\n<th data-tableberg-row=\"0\" data-tableberg-col=\"3\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p>Essential<\/p>\n<\/div><\/th>\n\n<th data-tableberg-row=\"0\" data-tableberg-col=\"4\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p>Professional<\/p>\n<\/div><\/th>\n<\/tr><tr class=\"tableberg-odd-row\" style=\"\">\n<td data-tableberg-row=\"1\" data-tableberg-col=\"0\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-left\">Number of seats<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"1\" data-tableberg-col=\"1\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">unlimited<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"1\" data-tableberg-col=\"2\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">1<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"1\" data-tableberg-col=\"3\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">1-n<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"1\" data-tableberg-col=\"4\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">1-n<\/p>\n<\/div><\/td>\n<\/tr><tr class=\"tableberg-even-row\" style=\"\">\n<td data-tableberg-row=\"2\" data-tableberg-col=\"0\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-left\">Number of configurations<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"2\" data-tableberg-col=\"1\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"2\" data-tableberg-col=\"2\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">1<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"2\" data-tableberg-col=\"3\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">unlimited<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"2\" data-tableberg-col=\"4\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">unlimited<\/p>\n<\/div><\/td>\n<\/tr><tr class=\"tableberg-odd-row\" style=\"\">\n<td data-tableberg-row=\"3\" data-tableberg-col=\"0\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-left\">View rules and related data<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"3\" data-tableberg-col=\"1\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"3\" data-tableberg-col=\"2\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"3\" data-tableberg-col=\"3\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"3\" data-tableberg-col=\"4\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n<\/tr><tr class=\"tableberg-even-row\" style=\"\">\n<td data-tableberg-row=\"4\" data-tableberg-col=\"0\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-left\">Manage configurations<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"4\" data-tableberg-col=\"1\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"4\" data-tableberg-col=\"2\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"4\" data-tableberg-col=\"3\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"4\" data-tableberg-col=\"4\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n<\/tr><tr class=\"tableberg-odd-row\" style=\"\">\n<td data-tableberg-row=\"5\" data-tableberg-col=\"0\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-left\">Run checks<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"5\" data-tableberg-col=\"1\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"5\" data-tableberg-col=\"2\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"5\" data-tableberg-col=\"3\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"5\" data-tableberg-col=\"4\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n<\/tr><tr class=\"tableberg-even-row\" style=\"\">\n<td data-tableberg-row=\"6\" data-tableberg-col=\"0\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-left\">Run SQL-based tests<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"6\" data-tableberg-col=\"1\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"6\" data-tableberg-col=\"2\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"6\" data-tableberg-col=\"3\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"6\" data-tableberg-col=\"4\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n<\/tr><tr class=\"tableberg-odd-row\" style=\"\">\n<td data-tableberg-row=\"7\" data-tableberg-col=\"0\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-left\">dbLinter VS Code extension<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"7\" data-tableberg-col=\"1\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"7\" data-tableberg-col=\"2\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"7\" data-tableberg-col=\"3\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"7\" data-tableberg-col=\"4\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n<\/tr><tr class=\"tableberg-even-row\" style=\"\">\n<td data-tableberg-row=\"8\" data-tableberg-col=\"0\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-left\">Run all accessible checks and tests<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"8\" data-tableberg-col=\"1\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"8\" data-tableberg-col=\"2\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"8\" data-tableberg-col=\"3\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"8\" data-tableberg-col=\"4\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n<\/tr><tr class=\"tableberg-odd-row\" style=\"\">\n<td data-tableberg-row=\"9\" data-tableberg-col=\"0\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-left\">Quick fixes in dbLinter VS Code extension<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"9\" data-tableberg-col=\"1\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"9\" data-tableberg-col=\"2\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"9\" data-tableberg-col=\"3\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"9\" data-tableberg-col=\"4\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n<\/tr><tr class=\"tableberg-even-row\" style=\"\">\n<td data-tableberg-row=\"10\" data-tableberg-col=\"0\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-left\">Ignore chosen SQL-based test findings<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"10\" data-tableberg-col=\"1\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"10\" data-tableberg-col=\"2\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"10\" data-tableberg-col=\"3\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"10\" data-tableberg-col=\"4\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n<\/tr><tr class=\"tableberg-odd-row\" style=\"\">\n<td data-tableberg-row=\"11\" data-tableberg-col=\"0\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-left\">dbLinter CLI with SonarCloud integration<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"11\" data-tableberg-col=\"1\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"11\" data-tableberg-col=\"2\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"11\" data-tableberg-col=\"3\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"11\" data-tableberg-col=\"4\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n<\/tr><tr class=\"tableberg-even-row\" style=\"\">\n<td data-tableberg-row=\"12\" data-tableberg-col=\"0\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-left\">Manage user access<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"12\" data-tableberg-col=\"1\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"12\" data-tableberg-col=\"2\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"12\" data-tableberg-col=\"3\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"12\" data-tableberg-col=\"4\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n<\/tr><tr class=\"tableberg-odd-row\" style=\"\">\n<td data-tableberg-row=\"13\" data-tableberg-col=\"0\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-left\">dbLinter SonarQube plugin<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"13\" data-tableberg-col=\"1\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"13\" data-tableberg-col=\"2\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"13\" data-tableberg-col=\"3\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"13\" data-tableberg-col=\"4\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n<\/tr><tr class=\"tableberg-even-row\" style=\"\">\n<td data-tableberg-row=\"14\" data-tableberg-col=\"0\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-left\">Access to dbLinter test repository<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"14\" data-tableberg-col=\"1\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"14\" data-tableberg-col=\"2\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"14\" data-tableberg-col=\"3\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"14\" data-tableberg-col=\"4\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n<\/tr><tr class=\"tableberg-odd-row\" style=\"\">\n<td data-tableberg-row=\"15\" data-tableberg-col=\"0\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-left\">Custom rules, checks and SQL-based tests<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"15\" data-tableberg-col=\"1\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"15\" data-tableberg-col=\"2\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"15\" data-tableberg-col=\"3\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"15\" data-tableberg-col=\"4\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n<\/tr><tr class=\"tableberg-even-row\" style=\"\">\n<td data-tableberg-row=\"16\" data-tableberg-col=\"0\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-left\">Generate Java project for checks and SQL-based tests<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"16\" data-tableberg-col=\"1\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"16\" data-tableberg-col=\"2\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"16\" data-tableberg-col=\"3\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"16\" data-tableberg-col=\"4\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n<\/tr><tr class=\"tableberg-odd-row\" style=\"\">\n<td data-tableberg-row=\"17\" data-tableberg-col=\"0\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-left\">Manage custom validators (plugins)<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"17\" data-tableberg-col=\"1\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"17\" data-tableberg-col=\"2\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"17\" data-tableberg-col=\"3\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"17\" data-tableberg-col=\"4\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n<\/tr><tr class=\"tableberg-even-row\" style=\"\">\n<td data-tableberg-row=\"18\" data-tableberg-col=\"0\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-left\">Export rules and configurations<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"18\" data-tableberg-col=\"1\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"18\" data-tableberg-col=\"2\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"18\" data-tableberg-col=\"3\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"18\" data-tableberg-col=\"4\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n<\/tr><tr class=\"tableberg-odd-row\" style=\"\">\n<td data-tableberg-row=\"19\" data-tableberg-col=\"0\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-left\">Import rules and configurations<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"19\" data-tableberg-col=\"1\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"19\" data-tableberg-col=\"2\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"19\" data-tableberg-col=\"3\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">&#8211;<\/p>\n<\/div><\/td>\n\n<td data-tableberg-row=\"19\" data-tableberg-col=\"4\" style=\"\" class=\"wp-block-tableberg-cell tableberg-v-align-center\"><div class=\"tableberg-cell-inner\" style=\"display: block; justify-content: center; flex-wrap: wrap; \">\n<p class=\"has-text-align-center\">yes<\/p>\n<\/div><\/td>\n<\/tr><\/tbody><\/table>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\n<p>And of course, access to the <a href=\"https:\/\/dblinter-rules.united-codes.com\/\">dbLinter Rules Repository website<\/a> is also free.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What Are the Rules Based on?<\/h2>\n\n\n\n<p>Most of the rules are taken over from the decommissioned <a href=\"https:\/\/trivadis.github.io\/plsql-and-sql-coding-guidelines\/v4.4\/\">Trivadis PL\/SQL &amp; SQL Coding Guidelines<\/a>. The origin is documented per rule under the <code>Reference<\/code> section. See for example <a href=\"https:\/\/dblinter-rules.united-codes.com\/rules\/G-1080\/\">G-1080: Avoid using the same expression on both sides of a relational comparison operator or a logical operator<\/a>. This rule exists in 4 different rule repositories.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Over 180 Rules &#8211; This is Ridiculous!<\/h2>\n\n\n\n<p>You do not need to enable all rules. I compare it to a breakfast buffet. You pick what you like and how much you want.<\/p>\n\n\n\n<p>Furthermore, not all rules have the same severity. The most important rules are marked as <a href=\"https:\/\/dblinter-rules.united-codes.com\/severity-levels\/blocker\/\">Blocker<\/a>. Pick some of these to start with.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What&#8217;s Next?<\/h2>\n\n\n\n<p>Coding guidelines are really helpful, especially if you can use them to review your code automatically while it&#8217;s being developed in your favourite IDE. Of course you want them also as part of a CI\/CD pipeline. However, finding problems while typing code is far more efficient.<\/p>\n\n\n\n<p>Therefore the next component will be a VS Code extension. Here&#8217;s an example of how it will look like:<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"900\" style=\"aspect-ratio: 1200 \/ 900;\" width=\"1200\" autoplay controls loop muted src=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2025\/03\/sneak-peak-dblinter1.mp4\" playsinline><\/video><\/figure>\n\n\n\n<p>Stay tuned.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Today I proudly announce that the Joint Venture between United Codes and Grisselbav released the initial version of the dbLinter Rules Repository website. This is the first publicly available component of the dbLinter tool suite. What is dbLinter? dbLinter is a suite for checking and improving the quality of database applications.<span class=\"excerpt-hellip\"> [\u2026]<\/span><\/p>\n","protected":false},"author":1,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[86,151,13,85],"class_list":["post-13856","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oracle","tag-code-analysis","tag-dblinter","tag-plsql","tag-sql"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>dbLinter Rules Repository - Philipp Salvisberg&#039;s Blog<\/title>\n<meta name=\"description\" content=\"The dbLinter Rules Repository is the first component of the dbLinter tool suite for checking the quality of database applications.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.salvis.com\/blog\/2025\/03\/18\/dblinter-rules-repository\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"dbLinter Rules Repository - Philipp Salvisberg&#039;s Blog\" \/>\n<meta property=\"og:description\" content=\"The dbLinter Rules Repository is the first component of the dbLinter tool suite for checking the quality of database applications.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.salvis.com\/blog\/2025\/03\/18\/dblinter-rules-repository\/\" \/>\n<meta property=\"og:site_name\" content=\"Philipp Salvisberg&#039;s Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-18T20:31:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-18T21:00:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2025\/03\/dbLinter-logo-color2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"866\" \/>\n\t<meta property=\"og:image:height\" content=\"650\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Philipp Salvisberg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@phsalvisberg\" \/>\n<meta name=\"twitter:site\" content=\"@phsalvisberg\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Philipp Salvisberg\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2025\\\/03\\\/18\\\/dblinter-rules-repository\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2025\\\/03\\\/18\\\/dblinter-rules-repository\\\/\"},\"author\":{\"name\":\"Philipp Salvisberg\",\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/#\\\/schema\\\/person\\\/34352245c48678b1a5a05d4bc1339515\"},\"headline\":\"dbLinter Rules Repository\",\"datePublished\":\"2025-03-18T20:31:42+00:00\",\"dateModified\":\"2025-03-18T21:00:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2025\\\/03\\\/18\\\/dblinter-rules-repository\\\/\"},\"wordCount\":492,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/#\\\/schema\\\/person\\\/34352245c48678b1a5a05d4bc1339515\"},\"image\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2025\\\/03\\\/18\\\/dblinter-rules-repository\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/dbLinter-logo-color2.png\",\"keywords\":[\"Code Analysis\",\"dbLinter\",\"PL\\\/SQL\",\"SQL\"],\"articleSection\":[\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2025\\\/03\\\/18\\\/dblinter-rules-repository\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2025\\\/03\\\/18\\\/dblinter-rules-repository\\\/\",\"url\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2025\\\/03\\\/18\\\/dblinter-rules-repository\\\/\",\"name\":\"dbLinter Rules Repository - Philipp Salvisberg&#039;s Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2025\\\/03\\\/18\\\/dblinter-rules-repository\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2025\\\/03\\\/18\\\/dblinter-rules-repository\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/dbLinter-logo-color2.png\",\"datePublished\":\"2025-03-18T20:31:42+00:00\",\"dateModified\":\"2025-03-18T21:00:51+00:00\",\"description\":\"The dbLinter Rules Repository is the first component of the dbLinter tool suite for checking the quality of database applications.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2025\\\/03\\\/18\\\/dblinter-rules-repository\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2025\\\/03\\\/18\\\/dblinter-rules-repository\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2025\\\/03\\\/18\\\/dblinter-rules-repository\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/dbLinter-logo-color2.png\",\"contentUrl\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/dbLinter-logo-color2.png\",\"width\":866,\"height\":650,\"caption\":\"dbLinter logo\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2025\\\/03\\\/18\\\/dblinter-rules-repository\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"dbLinter Rules Repository\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/\",\"name\":\"Philipp Salvisberg&#039;s Blog\",\"description\":\"Database-centric development\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/#\\\/schema\\\/person\\\/34352245c48678b1a5a05d4bc1339515\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/#\\\/schema\\\/person\\\/34352245c48678b1a5a05d4bc1339515\",\"name\":\"Philipp Salvisberg\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/11\\\/phs_trivadis4.jpg\",\"url\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/11\\\/phs_trivadis4.jpg\",\"contentUrl\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/11\\\/phs_trivadis4.jpg\",\"width\":400,\"height\":400,\"caption\":\"Philipp Salvisberg\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/11\\\/phs_trivadis4.jpg\"},\"sameAs\":[\"http:\\\/\\\/www.salvis.com\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"dbLinter Rules Repository - Philipp Salvisberg&#039;s Blog","description":"The dbLinter Rules Repository is the first component of the dbLinter tool suite for checking the quality of database applications.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.salvis.com\/blog\/2025\/03\/18\/dblinter-rules-repository\/","og_locale":"en_US","og_type":"article","og_title":"dbLinter Rules Repository - Philipp Salvisberg&#039;s Blog","og_description":"The dbLinter Rules Repository is the first component of the dbLinter tool suite for checking the quality of database applications.","og_url":"https:\/\/www.salvis.com\/blog\/2025\/03\/18\/dblinter-rules-repository\/","og_site_name":"Philipp Salvisberg&#039;s Blog","article_published_time":"2025-03-18T20:31:42+00:00","article_modified_time":"2025-03-18T21:00:51+00:00","og_image":[{"width":866,"height":650,"url":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2025\/03\/dbLinter-logo-color2.png","type":"image\/png"}],"author":"Philipp Salvisberg","twitter_card":"summary_large_image","twitter_creator":"@phsalvisberg","twitter_site":"@phsalvisberg","twitter_misc":{"Written by":"Philipp Salvisberg","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.salvis.com\/blog\/2025\/03\/18\/dblinter-rules-repository\/#article","isPartOf":{"@id":"https:\/\/www.salvis.com\/blog\/2025\/03\/18\/dblinter-rules-repository\/"},"author":{"name":"Philipp Salvisberg","@id":"https:\/\/www.salvis.com\/blog\/#\/schema\/person\/34352245c48678b1a5a05d4bc1339515"},"headline":"dbLinter Rules Repository","datePublished":"2025-03-18T20:31:42+00:00","dateModified":"2025-03-18T21:00:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.salvis.com\/blog\/2025\/03\/18\/dblinter-rules-repository\/"},"wordCount":492,"commentCount":0,"publisher":{"@id":"https:\/\/www.salvis.com\/blog\/#\/schema\/person\/34352245c48678b1a5a05d4bc1339515"},"image":{"@id":"https:\/\/www.salvis.com\/blog\/2025\/03\/18\/dblinter-rules-repository\/#primaryimage"},"thumbnailUrl":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2025\/03\/dbLinter-logo-color2.png","keywords":["Code Analysis","dbLinter","PL\/SQL","SQL"],"articleSection":["Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.salvis.com\/blog\/2025\/03\/18\/dblinter-rules-repository\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.salvis.com\/blog\/2025\/03\/18\/dblinter-rules-repository\/","url":"https:\/\/www.salvis.com\/blog\/2025\/03\/18\/dblinter-rules-repository\/","name":"dbLinter Rules Repository - Philipp Salvisberg&#039;s Blog","isPartOf":{"@id":"https:\/\/www.salvis.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.salvis.com\/blog\/2025\/03\/18\/dblinter-rules-repository\/#primaryimage"},"image":{"@id":"https:\/\/www.salvis.com\/blog\/2025\/03\/18\/dblinter-rules-repository\/#primaryimage"},"thumbnailUrl":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2025\/03\/dbLinter-logo-color2.png","datePublished":"2025-03-18T20:31:42+00:00","dateModified":"2025-03-18T21:00:51+00:00","description":"The dbLinter Rules Repository is the first component of the dbLinter tool suite for checking the quality of database applications.","breadcrumb":{"@id":"https:\/\/www.salvis.com\/blog\/2025\/03\/18\/dblinter-rules-repository\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.salvis.com\/blog\/2025\/03\/18\/dblinter-rules-repository\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.salvis.com\/blog\/2025\/03\/18\/dblinter-rules-repository\/#primaryimage","url":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2025\/03\/dbLinter-logo-color2.png","contentUrl":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2025\/03\/dbLinter-logo-color2.png","width":866,"height":650,"caption":"dbLinter logo"},{"@type":"BreadcrumbList","@id":"https:\/\/www.salvis.com\/blog\/2025\/03\/18\/dblinter-rules-repository\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.salvis.com\/blog\/"},{"@type":"ListItem","position":2,"name":"dbLinter Rules Repository"}]},{"@type":"WebSite","@id":"https:\/\/www.salvis.com\/blog\/#website","url":"https:\/\/www.salvis.com\/blog\/","name":"Philipp Salvisberg&#039;s Blog","description":"Database-centric development","publisher":{"@id":"https:\/\/www.salvis.com\/blog\/#\/schema\/person\/34352245c48678b1a5a05d4bc1339515"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.salvis.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.salvis.com\/blog\/#\/schema\/person\/34352245c48678b1a5a05d4bc1339515","name":"Philipp Salvisberg","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2010\/11\/phs_trivadis4.jpg","url":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2010\/11\/phs_trivadis4.jpg","contentUrl":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2010\/11\/phs_trivadis4.jpg","width":400,"height":400,"caption":"Philipp Salvisberg"},"logo":{"@id":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2010\/11\/phs_trivadis4.jpg"},"sameAs":["http:\/\/www.salvis.com\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/posts\/13856","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/comments?post=13856"}],"version-history":[{"count":14,"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/posts\/13856\/revisions"}],"predecessor-version":[{"id":13875,"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/posts\/13856\/revisions\/13875"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/media?parent=13856"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/categories?post=13856"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/tags?post=13856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}