Seq nr | Name | Goal | Type | Data source | Last update▼ | License | ... |
---|---|---|---|---|---|---|---|
321 | Inconsistent time zone and precision usage in case of registering timestamps | Find as to whether different data types (with and without timezone) and precisions are used in case of registering timestamps in different columns. | Problem detection | INFORMATION_SCHEMA only | 2023-11-04 12:28 | MIT License | |
322 | Subqueries of derived tables with LIMIT/FETCH/DISTINCT ON without ORDER BY | Find subqueries of derived tables (views, materialized views) with the LIMIT/FETCH clause or with DISTINCT ON construct but without the ORDER BY clause. These constructs require sorting to produce a meaningful result. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2023-11-03 16:56 | MIT License | |
323 | Precision of a timestamp or a time column is too big | Find columns with a timestamp or a time type where the precision (the permitted maximum number of fractional sections) is bigger than the precision in the default value of the column. | Problem detection | INFORMATION_SCHEMA only | 2023-11-02 17:29 | MIT License | |
324 | Precise comparison with pattern matching in CHECK constraints | Find CHECK constraints that use precise comparison (= or <>) with a regular expression or LIKE pattern. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2023-11-01 17:13 | MIT License | |
325 | Base table columns permitting URLs without a protocol | Find non-foreign key base table columns that name refers to the possibility that these are used to register URLs. Find the columns that do not have any simple CHECK constraint that references to a protocol. A simple check constraint covers a single column. In this case registration of URLs without a protocol is most probably not prohibited. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2023-11-01 13:13 | MIT License | |
326 | Inconsistent field sizes of columns for addresses | Find as to whether columns for holding e-mail addresses, phone numbers, ip addresses, zip codes, ordinary addresses, or file addresses have inconsistent field sizes across tables. | Problem detection | INFORMATION_SCHEMA only | 2023-11-01 12:53 | MIT License | |
327 | Inconsistent referencing to character classes (digits) | Find as to whether different syntaxes (e.g., 0-9 vs [[:digit:]] or \d) are used to refer to the character class of digits within the same database. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2023-11-01 11:57 | MIT License | |
328 | All identifying relationships | Find all non-identifying relationships where the foreign key (a set of columns) is a subset of a uniqueness constraint (primary key, unique, or exclude constraint). | General | system catalog base tables only | 2023-11-01 11:32 | MIT License | |
329 | All non-identifying relationships | Find all non-identifying relationships where the foreign key (a set of columns) is not a subset of any uniqueness constraint (primary key, unique, or exclude constraint). | General | system catalog base tables only | 2023-11-01 11:31 | MIT License | |
330 | All table functions | Find all functions that return a set of rows. | General | INFORMATION_SCHEMA+system catalog base tables | 2023-10-29 11:39 | MIT License | |
331 | Routines that use old syntax for limiting rows | Find PL/pgSQL routines and SQL routines that do not have SQL-standard body that use unstandardized LIMIT clause instead of standardized FETCH FIRST n ROWS clause. The query excludes routines that are a part of an extension. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2023-10-29 11:34 | MIT License | |
332 | Inconsistent use of casting syntax in routines | Find as to whether PL/pgSQL routines and SQL routines that do not have SQL-standard body use different syntax for casting (cast function vs :: operator). | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2023-10-29 11:33 | MIT License | |
333 | PL/pgSQL functions without the RETURN clause | The return value of a function cannot be left undefined. If control reaches the end of the top-level block of the function without hitting a RETURN statement, a run-time error will occur. This restriction does not apply to functions with output parameters and functions returning void, however. In those cases a RETURN statement is automatically executed if the top-level block finishes. It also does not apply to trigger functions that only task is to raise an exception. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2023-10-29 11:13 | MIT License | |
334 | Updatable views that do not have WITH CHECK OPTION constraint | Find updatable views that do not have WITH CHECK OPTION constraint. WITH CHECK OPTION constraint prevents updates through the view that violate the predicate of the view. Such updates must be prevented. | Problem detection | INFORMATION_SCHEMA only | 2023-10-29 10:33 | MIT License | |
335 | Updatable views that have not been turned to read only | Find views that are theoretically updatable but do not have INSTEAD OF trigger or DO INSTEAD NOTHING rule to prevent data modifications through the view. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2023-10-29 10:20 | MIT License | |
336 | ON DELETE CASCADE is probably not needed (based on the relationship type) | Find foreign key constraints that implement a non-identifying relationship type and have ON DELETE CASCADE compensating action. If the identity of the parent table is not a part of the identity of the child table, then there is a non-identifying relationship type and most probably the foreign key should not have ON DELETE CASCADE. | Problem detection | system catalog base tables only | 2023-10-28 18:38 | MIT License | |
337 | Inconsistent means of concatenation in various database objects | Find as to different database objects use different means to concatenate text (format function, concat function, concat_ws function, || operator). | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2023-10-28 17:36 | MIT License | |
338 | Overlapping non-function based indexes that have the same leading column but with different operator class | Find non-function based indexes (both unique and non-unique) that have identical first column but the operator class that is used in case of the first column is different. Include unique indexes that support a constraint (primary key, unique, exclude), i.e., these indexes have been automatically created due to the constraint declaration. | General | system catalog base tables only | 2023-10-28 15:05 | MIT License | |
339 | Non-updatable views with DO INSTEAD NOTHING rules | Find non-updatable views that have a DO INSTEAD NOTHING rule. The rule is used to prevent updates. However, the view is aniway non-updatable. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2023-10-28 13:01 | MIT License | |
340 | The size of base tables and their indexes | Find the size of base tables without indexes, size of the indexes of the table, total size of the table (including its indexes) and percentage of the index size from the total size. If the size of indexes of a table is relatively high, then check as to whether all the indexes are needed. | General | system catalog base tables only | 2023-10-27 20:38 | MIT License |