Well that's the funny thing: I am specifying the length. The function is used in a system which I am porting from MySQL to PostgreSQL. In the table the column is defined as varchar(90), while my original mysql stored procedure was defined to accept varchar(90) as well. I converted this to the postgresql function like this:
CREATE OR REPLACE FUNCTION spsetservername(pServerId integer, pServerName character varying(90))
RETURNS void AS
$BODY$
BEGIN
UPDATE tblServer SET
last_name = $2
WHERE server_id = $1;
END
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
This is syntactically correct. However when I save the stored procedure and then view its definition, it'll show up like this:
CREATE OR REPLACE FUNCTION spsetservername(pServerId integer, pServerName character varying)
As you can see: the length is stripped away. Although it's not mentioned clearly in the documentation I have been told that PostgreSQL differs from MSSQL/MYSQL at this point and has no use for maximum lengths. However, this is my first encounter with PostgreSQL so I figured I might be doing something wrong instead
I tried switching between protocol '2' and '3' in the database driver settings in the LLBLGen project settings, but this made no difference. Encoding is set to unicode, the database is set to use UTF8.