Seq nr | Name | Goal | Type | Data source▲ | Last update | License | ... |
---|---|---|---|---|---|---|---|
401 | Grantable routine privileges | Find routine privileges that the carrier of the privilege can in turn grant to others, i.e., the privileges have been given WITH GRANT OPTION. The number of privileges that can be passed on should be as small as possible. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-01-07 13:43 | MIT License | |
402 | Grantable table privileges | Find table privileges that the carrier of the privilege can in turn grant to others, i.e., the privileges have been given WITH GRANT OPTION. The number of privileges that can be passed on should be as small as possible. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-01-07 13:43 | MIT License | |
403 | Grantable usage privileges | Find usage privileges that the carrier of the privilege can in turn grant to others, i.e., the privileges have been given WITH GRANT OPTION. The number of privileges that can be passed on should be as small as possible. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-01-07 13:43 | MIT License | |
404 | Gratuitous context in the names of non-foreign key and non-candidate key columns | Find the names on base table columns that are not a part of a candidate key and a foreign key and that contain the name of the table. Exclude very general column names (for instance, nimi, nimetus, kommentaar, kirjeldus, name, comment, description). In case of these using the table name in the column name is not a problem because it simplifies writing the queries based on the tables. In this case one does not have to rename the columns in the query result. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2022-11-15 13:39 | MIT License | |
405 | Gratuitous context in the names of parameters | Find routine parameter names that contain the routine name. Names of routine parameters shouldn't contain the name of the routine. It makes the names too long. A routine cannot have two parameters with the same name. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2021-02-25 17:30 | MIT License | |
406 | Identifiers that explicitly say that they carry no meaning | Find identifiers that explicitly say that they carry no meaning. Such identifier is called "unnamed" or "anonymous". | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-12-21 17:15 | MIT License | |
407 | Inconsistency of using column data types/field sizes in case of columns that implement relationships | Find foreign key constraints where the candidate key columns (belong to a PRIMARY KEY/UNIQUE constraint) and foreign key columns do not have the same data type and field size. Primary key/unique columns and foreign key columns should have the same data type and field size. If, for instance, the primary key column has type INTEGER and foreign key column has type SMALLINT, then one cannot use all the primary key values as foreign key values. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2021-03-10 12:13 | MIT License | |
408 | Inconsistency of using parameter data types | Find parameters of routines that have the same name but a different type. Parameters that have the same name should have, in general, the same data type as well, assuming that the routines, which have the parameters, have different names, i.e., there is no overloading in play. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2021-02-25 17:29 | MIT License | |
409 | 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 | |
410 | Inconsistent names of database objects that are used to manage the state of main objects in the database | "Names in software are 90 percent of what make software readable. You need to take the time to choose them wisely and keep them relevant. Names are too important to treat carelessly. Names should not cause confusion." (Robert C. Martin, Clean Code) The naming must be consistent. One should avoid mixing synonyms like "seisund", "staatus", and "olek" in Estonian or "state" and "status" in English and stick with one term. For instance, it is a bad practice to use word "state" in table names but word "status" in function names. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-12-21 16:24 | MIT License | |
411 | Inconsistent naming of columns with BOOLEAN type | Find as to whether some columns with the type Boolean start with a prefix ("is", "has", "can", "on") and some do not. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-01-03 09:54 | MIT License | |
412 | Inconsistent naming of comment columns | Find columns of tables that start with the word comment or komment but end differently (excluding numbers). Return result only if there is more than one naming variant of such columns in the database. For instance, a column has the name "comment" but another "comments". | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2022-11-15 14:09 | MIT License | |
413 | Inconsistent referencing to character classes | Find as to whether regular expressions use inconsistently references to character classes: [^\s], [^\d], [^\w], [^[:space:]], [^[:digit:]], [^[:word:]] vs [^\S], [^\D], [^\W]. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2023-11-09 12:02 | MIT License | |
414 | 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 | |
415 | 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 | |
416 | 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 | |
417 | 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 | |
418 | Inconsistent use of functions and procedures | Find as to whether the database has both procedures as well as functions that do not return a value (i.e., return VOID). Such routines are generally used to modify data in the database. The support of procedures was added to PostgreSQL 11. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2023-10-26 15:05 | MIT License | |
419 | Inconsistent use of gratuitous context in the names of non-foreign key and non-candidate key columns | Find the number of names on base table columns that are not a part of a candidate key and a foreign key and that contain the name of the table. Find the number of names on base table columns that are not a part of a candidate key and a foreign key and that do not contain the name of the table. Make sure that table name is used consistently in the column names. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2023-10-26 20:25 | MIT License | |
420 | Inconsistent use of length and char_length functions | Find as to whether both functions length and char_length are used in the database. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2023-11-10 14:38 | MIT License |