# | Name | Goal | Type | Data source | Last update ▼ | License | |
---|---|---|---|---|---|---|---|
141 | Index FILLFACTOR is not default | Find all indexes where FILLFACTOR is not default, i.e., it has been changed. The default is different in case of different index types is different. In case of B-tree indexes the default is 90. | General | system catalog base tables only | 2024-11-21 09:28 | MIT License | View |
142 | FILLFACTOR is probably too big | Find base tables in case of which the FILLFACTOR property has perhaps a too big value. Try to find base tables that probably encounter UPDATE operations. In the tables that have frequent updates you want to have free space in table pages (blocks) to accommodate new row versions, which the system automatically creates as a result of fulfilling UPDATE statements. If a new row version will be put to another page by the system, then it means that table indexes have to be updated as well. Thus, the more there are indexes, the more the table would benefit from keeping a new row version in the same page as the old version. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-11-21 09:19 | MIT License | View |
143 | Inconsistent referencing to character classes (shorthand vs long name) (2) | Find as to whether different syntaxes (e.g., \w vs [[:alnum:]]) are used to refer to alphanumeric characters within the database. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-11-19 11:32 | MIT License | View |
144 | Inconsistent referencing to character classes (shorthand vs long name) | Find as to whether different syntaxes (e.g., \s vs [[:space:]]) are used to refer to character classes within the same database. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-11-19 11:24 | MIT License | View |
145 | Storing a duration as time | Find columns of base and foreign tables that based on the column names are used to register durations but the type of the column is time. "It is possible to use a TIME data type if the duration is less than 24 hours, but this is not what the type is intended for, and can be the cause of confusion for the next person who has to maintain your code." | Problem detection | INFORMATION_SCHEMA only | 2024-11-06 10:46 | MIT License | View |
146 | Storing a duration rather than a point in time | Find columns of base and foreign tables that based on the column names and types are used to register start time and duration rather than start time and end time. | Problem detection | INFORMATION_SCHEMA only | 2024-11-06 09:59 | MIT License | View |
147 | Do not register age as a number | Find columns of base and foreign tables that based on the column name and type are used to register age. | Problem detection | INFORMATION_SCHEMA only | 2024-11-06 09:55 | MIT License | View |
148 | Base tables and foreign tables that do not have any CHECK constraints on non-foreign key columns | Identify possibly missing CHECK constraints. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-11-02 10:41 | MIT License | View |
149 | Perhaps character class [[:alnum:]] could be used | Perhaps regular expressions that refer to character classes alnum and digit could be simplified. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-11-02 09:32 | MIT License | View |
150 | All derived tables that use joining tables | Find all derived tables that join two or more tables. | General | INFORMATION_SCHEMA+system catalog base tables | 2024-10-05 18:34 | MIT License | View |
151 | IS NOT DISTINCT FROM in derived tables | Avoid using IS NOT DISTINCT FROM because it makes the query planner to avoid using an index. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-09-28 13:08 | MIT License | View |
152 | IS NOT DISTINCT FROM in routines | Avoid using IS NOT DISTINCT FROM because it makes the query planner to avoid using an index. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-09-17 13:14 | MIT License | View |
153 | Unused indexes (2) | Find indexes that are not used by the DBMS. Remember that indexes are not a "free lunch" and they slow down the processes of updating data. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-08-07 16:23 | MIT License | View |
154 | Used indexes | Find indexes that are used by the DBMS. | General | INFORMATION_SCHEMA+system catalog base tables | 2024-08-07 16:23 | MIT License | View |
155 | Perhaps textual code columns lack a CHECK constraint | Find non-foreign key textual columns that name refers to the fact that they contain some kind of code but the column does not have any check constraint or the only constraint restricts empty strings or whitespace characters. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-07-01 15:43 | MIT License | View |
156 | Each table is both referencing and referenced table (perhaps there is a cycle in relationships) | Find as to whether the relationships between tables form a complete bidirected graph. Tables are vertices in the graph. There is a directed edge between two vertices if one of the tables refers to another through foreign key relationship on mandatory columns. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-07-01 14:23 | MIT License | View |
157 | Check as to wheteher the names of tables are in the plural or in the singular form (Estonian version) | Check as to wheteher the names of tables are in the plural or in the singular form. Make sure that you are consistent in naming. | General | INFORMATION_SCHEMA+system catalog base tables | 2024-05-31 08:43 | MIT License | View |
158 | CHECK constraints that perhaps do not consider 'infinity' and '-infinity' special values | Find check constraints of base tables that cover exactly one column where the default value of the column is special value 'infinity' or '-infinity'. Find only such constraints that probably check a range of permitted values but do not consider that one of the values might be 'infinity' or '-infinity'. Such special values belong to the types DATE, TIMESTAMP, NUMERIC, REAL, and DOUBLE PRECISION. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-05-08 18:58 | MIT License | View |
159 | Definition of a non-minimal superkey instead of a candidate key (based on check constraints) | Candidate key is a minimal superkey, meaning that it is not possible to remove columns from the candidate key without losing its uniqueness property. One should define primary key's and unique constraints based on candidate keys. Find primary key and unique constraints where a proper subset of columns has a check constraint that permits only one value in the column. The candidate key should involve only columns without such constraint. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-04-30 20:25 | MIT License | View |
160 | Only one value permitted in a non-inherited base table or a foreign table column (based on check constraints) | Find columns of base tables or foreign tables in case of which a check constraint on the column permits only one value in the column. Exclude columns that are inherited from a supertable because the constraint may be correct if it is applied to a column of a subtable that is inherited from the supertable. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-04-30 20:16 | MIT License | View |