Thread: Require suggestion for issue #8007
Hi Hackers,
We have been working on issue #8007. After our analysis, we found that the length and scale of the argument's data type are not stored in the database server, making it difficult to fetch. In the debugger, pgAdmin typecasts the provided value to its data type when calling the function, which is causing the issue.
If we typecast the value to a character without specifying the length, it is treated as a character (1) (character of length 1). For example, the output of SELECT 'pgadmin', 'pgadmin'::character;
is different.
There are two solutions we can consider:
- Do not typecast if the data type is character.
- Typecast to
varchar
when the data type is character.
Hi Hackers,
We have been working on issue #8007. After our analysis, we found that the length and scale of the argument's data type are not stored in the database server, making it difficult to fetch. In the debugger, pgAdmin typecasts the provided value to its data type when calling the function, which is causing the issue.
If we typecast the value to a character without specifying the length, it is treated as a character (1) (character of length 1). For example, the output of
SELECT 'pgadmin', 'pgadmin'::character;
is different.There are two solutions we can consider:
- Do not typecast if the data type is character.
- Typecast to
varchar
when the data type is character.Please provide your suggestions which solution looks good to you.
On Tue, 8 Oct 2024 at 13:56, Pravesh Sharma <pravesh.sharma@enterprisedb.com> wrote:Hi Hackers,
We have been working on issue #8007. After our analysis, we found that the length and scale of the argument's data type are not stored in the database server, making it difficult to fetch. In the debugger, pgAdmin typecasts the provided value to its data type when calling the function, which is causing the issue.
If we typecast the value to a character without specifying the length, it is treated as a character (1) (character of length 1). For example, the output of
SELECT 'pgadmin', 'pgadmin'::character;
is different.There are two solutions we can consider:
- Do not typecast if the data type is character.
- Typecast to
varchar
when the data type is character.Please provide your suggestions which solution looks good to you.Why not include the length in the cast? We know what the input string is, so can't we just do the equivalent of:'pgadmin'::character(7);
Hi Dave,On Tue, Oct 8, 2024 at 6:34 PM Dave Page <dpage@pgadmin.org> wrote:On Tue, 8 Oct 2024 at 13:56, Pravesh Sharma <pravesh.sharma@enterprisedb.com> wrote:Hi Hackers,
We have been working on issue #8007. After our analysis, we found that the length and scale of the argument's data type are not stored in the database server, making it difficult to fetch. In the debugger, pgAdmin typecasts the provided value to its data type when calling the function, which is causing the issue.
If we typecast the value to a character without specifying the length, it is treated as a character (1) (character of length 1). For example, the output of
SELECT 'pgadmin', 'pgadmin'::character;
is different.There are two solutions we can consider:
- Do not typecast if the data type is character.
- Typecast to
varchar
when the data type is character.Please provide your suggestions which solution looks good to you.Why not include the length in the cast? We know what the input string is, so can't we just do the equivalent of:'pgadmin'::character(7);Just to confirm, this will be only for the character data type?