| Goal | Routines in the same schema that have the same name and that have parameters with different types or different number of parameters are not considered to be in conflict at the creation time. However, if defaults are provided in the definition of parameters, then these routines might be conflict during runtime. |
|---|---|
| Notes | Refers to the column pg_proc.prokind and thus works starting from PostgreSQL 11. In case of parameters the query takes into account that "All input parameters following a parameter with a default value must have default values as well." (PostgreSQL documentation) Expression proargtypes[0:(pronargs - pronargdefaults)-1] finds parameters (their types) that do not have a default value. |
| Type | Problem detection (Each row in the result could represent a flaw in the design) |
| Reliability | Medium (Medium number of false-positive results) |
| License | MIT (opens in new tab) |
| Fixing Suggestion | Delete default values of parameters or rename the routines in order to prevent overloading. |
| Data Source | INFORMATION_SCHEMA+system catalog |
| SQL Query |
|
Collections
This query belongs to the following collections:
Find problems automatically
Queries, that results point to problems in the database. Each query in the collection produces an initial assessment. However, a human reviewer has the final say as to whether there is a problem or not .
| Name | Description |
|---|---|
| Find problems automatically | Queries, that results point to problems in the database. Each query in the collection produces an initial assessment. However, a human reviewer has the final say as to whether there is a problem or not . |
Categories
This query is classified under the following categories:
Does not work in some earlier PostgreSQL version
Queries of this category provide information that was not available in some earlier PostgreSQL version
Overloading
Queries of this category provide information about overloading of routines.
User-defined routines
Queries of this category provide information about the user-defined routines
| Name | Description |
|---|---|
| Does not work in some earlier PostgreSQL version | Queries of this category provide information that was not available in some earlier PostgreSQL version |
| Overloading | Queries of this category provide information about overloading of routines. |
| User-defined routines | Queries of this category provide information about the user-defined routines |