The nullable flag of a stored procedure parameter seems to be wrong
-------------------------------------------------------------------

                 Key: DNET-335
                 URL: http://tracker.firebirdsql.org/browse/DNET-335
             Project: .NET Data provider
          Issue Type: Bug
          Components: ADO.NET Provider
    Affects Versions: 2.5.2
            Reporter: Alexander Muylaert
            Assignee: Jiri Cincura


Hi Jiri

I was having an argument with the guys from llblgenpro.  They said that there 
is no way to know if a stored procedure parameter is nullable or not.  I 
disagreed, since in firebird this seems to work.  I tried proving them wrong.

I made a stored procedure that contains all possible declarations of a 
parameter to me.

create procedure SMURF (
  IN_NULLABLE_BOOL D_BOOL,
  IN_NOT_NULLABLE_BOOL D_BOOL_NN,
  IN_NULLABLE_BOOL2 type of D_BOOL,
  IN_NOT_NULLABLE_BOOL2 type of D_BOOL_NN,
  IN_NULLABLE_BOOL3 smallint,
  IN_NOT_NULLABLE_BOOL3 smallint not null,
  IN_NULLABLE_BOOL4 type of column T_PRODUCT_STOCK.F_PRS_STRICT,
  IN_NOT_NULLABLE_BOOL4 type of column T_PRODUCT_STOCK.F_PRS_ACTIVE)
as
begin
  /* Procedure Text */
  suspend;
end

and then I asked for the schema information. 

        var parametersInStoredProcedure = 
connection.GetSchema("ProcedureParameters", new[] { null, null, "SMURF" });
        parametersInStoredProcedure.WriteXml(@"c:\test.xml");

Attached you'll find the test.xml.  It looks to me that the syntax used for 
IN_NOT_NULLABLE_BOOL3  doesn't return the correct flag for IsNullable.

  <ProcedureParameters>
    <PROCEDURE_NAME>SMURF</PROCEDURE_NAME>
    <PARAMETER_NAME>IN_NOT_NULLABLE_BOOL3</PARAMETER_NAME>
    <PARAMETER_DATA_TYPE>smallint</PARAMETER_DATA_TYPE>
    <PARAMETER_SUB_TYPE>0</PARAMETER_SUB_TYPE>
    <ORDINAL_POSITION>5</ORDINAL_POSITION>
    <PARAMETER_DIRECTION>1</PARAMETER_DIRECTION>
    <PARAMETER_SIZE>2</PARAMETER_SIZE>
    <NUMERIC_PRECISION>0</NUMERIC_PRECISION>
    <NUMERIC_SCALE>0</NUMERIC_SCALE>
    <CHARACTER_OCTET_LENGTH>0</CHARACTER_OCTET_LENGTH>
    <IS_NULLABLE>true</IS_NULLABLE>
  </ProcedureParameters>

is this something fixable?

Thanks

Alexander


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

Reply via email to