You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Alan Conway (JIRA)" <qp...@incubator.apache.org> on 2006/09/22 20:06:22 UTC

[jira] Created: (QPID-9) Missing support for field table types D, T and F

Missing support for field table types D, T and F
------------------------------------------------

                 Key: QPID-9
                 URL: http://issues.apache.org/jira/browse/QPID-9
             Project: Qpid
          Issue Type: Bug
            Reporter: Alan Conway


The spec defines these additional types. This area may be in flux so check spec status before implementing:
/ 'D' decimal-value
/ 'T' timestamp
/ 'F' field-table

Needs to be addressed across all languages and the python headers exchange tests should test all types.

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

        

[jira] Updated: (QPID-9) Missing support for field table types D, T and F

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-9?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Ritchie updated QPID-9:
------------------------------

    Fix Version/s:     (was: M3)
                   M2.1

> Missing support for field table types D, T and F
> ------------------------------------------------
>
>                 Key: QPID-9
>                 URL: https://issues.apache.org/jira/browse/QPID-9
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Common
>            Reporter: Alan Conway
>            Assignee: Robert Greig
>            Priority: Minor
>             Fix For: M2.1
>
>
> The spec defines these additional types. This area may be in flux so check spec status before implementing:
> / 'D' decimal-value
> / 'T' timestamp
> / 'F' field-table
> Needs to be addressed across all languages and the python headers exchange tests should test all types.
> The field table also does not support sufficient types of values for JMS support see message thread:
> https://amqp.108.redhat.com/servlets/ReadMsg?list=dev&msgNo=169
> Possible a possible temporary work around would be to use encoded String values 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-9) Missing support for field table types D, T and F

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
    [ http://issues.apache.org/jira/browse/QPID-9?page=comments#action_12455947 ] 
            
Martin Ritchie commented on QPID-9:
-----------------------------------

r482733 the amqp field table does not support sufficent types to allow all JMS primatives to be preserved during transportation. This update encodes all java types using the xml format used by MapMessage.

However this doesn't address missing type support detailed in this JIRA. However from a JMS compliance point of view this won't affect us. We will have to re-address this issue as we develop an AMQP API level as currently we cannot build an interoperable java AMQP only client without these changes.

> Missing support for field table types D, T and F
> ------------------------------------------------
>
>                 Key: QPID-9
>                 URL: http://issues.apache.org/jira/browse/QPID-9
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Common, JMS Compliance
>            Reporter: Alan Conway
>         Assigned To: Martin Ritchie
>            Priority: Blocker
>             Fix For: M2
>
>
> The spec defines these additional types. This area may be in flux so check spec status before implementing:
> / 'D' decimal-value
> / 'T' timestamp
> / 'F' field-table
> Needs to be addressed across all languages and the python headers exchange tests should test all types.
> The field table also does not support sufficient types of values for JMS support see message thread:
> https://amqp.108.redhat.com/servlets/ReadMsg?list=dev&msgNo=169
> Possible a possible temporary work around would be to use encoded String values 

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

        

[jira] Updated: (QPID-9) Missing support for field table types D, T and F

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
     [ http://issues.apache.org/jira/browse/QPID-9?page=all ]

Martin Ritchie updated QPID-9:
------------------------------

      Component/s:     (was: JMS Compliance)
    Fix Version/s:     (was: M2)
         Assignee:     (was: Martin Ritchie)
         Priority: Minor  (was: Blocker)

> Missing support for field table types D, T and F
> ------------------------------------------------
>
>                 Key: QPID-9
>                 URL: http://issues.apache.org/jira/browse/QPID-9
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Common
>            Reporter: Alan Conway
>            Priority: Minor
>
> The spec defines these additional types. This area may be in flux so check spec status before implementing:
> / 'D' decimal-value
> / 'T' timestamp
> / 'F' field-table
> Needs to be addressed across all languages and the python headers exchange tests should test all types.
> The field table also does not support sufficient types of values for JMS support see message thread:
> https://amqp.108.redhat.com/servlets/ReadMsg?list=dev&msgNo=169
> Possible a possible temporary work around would be to use encoded String values 

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

        

[jira] Commented: (QPID-9) Missing support for field table types D, T and F

Posted by "Marnie McCormack (JIRA)" <qp...@incubator.apache.org>.
    [ http://issues.apache.org/jira/browse/QPID-9?page=comments#action_12456381 ] 
            
Marnie McCormack commented on QPID-9:
-------------------------------------

Note that the AbstractJMSMessage.setObjectProperty now supports all java datatypes, related to this change.

> Missing support for field table types D, T and F
> ------------------------------------------------
>
>                 Key: QPID-9
>                 URL: http://issues.apache.org/jira/browse/QPID-9
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Common
>            Reporter: Alan Conway
>         Assigned To: Martin Ritchie
>            Priority: Minor
>
> The spec defines these additional types. This area may be in flux so check spec status before implementing:
> / 'D' decimal-value
> / 'T' timestamp
> / 'F' field-table
> Needs to be addressed across all languages and the python headers exchange tests should test all types.
> The field table also does not support sufficient types of values for JMS support see message thread:
> https://amqp.108.redhat.com/servlets/ReadMsg?list=dev&msgNo=169
> Possible a possible temporary work around would be to use encoded String values 

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

        

[jira] Commented: (QPID-9) Missing support for field table types D, T and F

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-9?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12498701 ] 

Martin Ritchie commented on QPID-9:
-----------------------------------

Decimal and Timestamp were added at revision r535309.

String and Int were also moved to AMQMessage to be consistent. 

Fieldtable was not implemented. Though would be easy to add.

> Missing support for field table types D, T and F
> ------------------------------------------------
>
>                 Key: QPID-9
>                 URL: https://issues.apache.org/jira/browse/QPID-9
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Common
>            Reporter: Alan Conway
>         Assigned To: Robert Greig
>            Priority: Minor
>             Fix For: M3
>
>
> The spec defines these additional types. This area may be in flux so check spec status before implementing:
> / 'D' decimal-value
> / 'T' timestamp
> / 'F' field-table
> Needs to be addressed across all languages and the python headers exchange tests should test all types.
> The field table also does not support sufficient types of values for JMS support see message thread:
> https://amqp.108.redhat.com/servlets/ReadMsg?list=dev&msgNo=169
> Possible a possible temporary work around would be to use encoded String values 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-9) Missing support for field table types D, T and F

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
    [ http://issues.apache.org/jira/browse/QPID-9?page=comments#action_12456438 ] 
            
Martin Ritchie commented on QPID-9:
-----------------------------------

Of course JMS requirements are not quite compatible.
3.5.1 Property Names
• Identifiers:
- An identifier is an unlimited-length character sequence that must begin
with a Java identifier start character; all following characters must be Java
identifier part characters. An identifier start character is any character for
which the method Character.isJavaIdentifierStart returns true. This includes
'_' and '$'. An identifier part character is any character for which the
method Character.isJavaIdentifierPart returns true.
- Identifiers cannot be the names NULL, TRUE, or FALSE.


Allowing an unlimited-lenght character sequence compared to AMQP's 128 limit.

> Missing support for field table types D, T and F
> ------------------------------------------------
>
>                 Key: QPID-9
>                 URL: http://issues.apache.org/jira/browse/QPID-9
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Common
>            Reporter: Alan Conway
>         Assigned To: Martin Ritchie
>            Priority: Minor
>
> The spec defines these additional types. This area may be in flux so check spec status before implementing:
> / 'D' decimal-value
> / 'T' timestamp
> / 'F' field-table
> Needs to be addressed across all languages and the python headers exchange tests should test all types.
> The field table also does not support sufficient types of values for JMS support see message thread:
> https://amqp.108.redhat.com/servlets/ReadMsg?list=dev&msgNo=169
> Possible a possible temporary work around would be to use encoded String values 

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

       

[jira] Commented: (QPID-9) Missing support for field table types D, T and F

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
    [ http://issues.apache.org/jira/browse/QPID-9?page=comments#action_12458066 ] 
            
Martin Ritchie commented on QPID-9:
-----------------------------------

The above String type is unable to differentitate between an empty string and a null string.
Have added:

NULL_STRING_PROPERTY_PREFIX='n'

Updated in revision: 486574  


> Missing support for field table types D, T and F
> ------------------------------------------------
>
>                 Key: QPID-9
>                 URL: http://issues.apache.org/jira/browse/QPID-9
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Common
>            Reporter: Alan Conway
>         Assigned To: Martin Ritchie
>            Priority: Minor
>
> The spec defines these additional types. This area may be in flux so check spec status before implementing:
> / 'D' decimal-value
> / 'T' timestamp
> / 'F' field-table
> Needs to be addressed across all languages and the python headers exchange tests should test all types.
> The field table also does not support sufficient types of values for JMS support see message thread:
> https://amqp.108.redhat.com/servlets/ReadMsg?list=dev&msgNo=169
> Possible a possible temporary work around would be to use encoded String values 

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

        

[jira] Commented: (QPID-9) Missing support for field table types D, T and F

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
    [ http://issues.apache.org/jira/browse/QPID-9?page=comments#action_12456461 ] 
            
Martin Ritchie commented on QPID-9:
-----------------------------------

Completed: At revision: 483503  

Encoding updated based on the FieldTable Proposal:
----------------

   Field tables are binary structures that contain packed name-value pairs.
   Each  name-value pair is a structure that provides a field name, a field
   type (referred to as the discriminator), and a field value.

   The following types can be stored in a field table:

   *  A boolean that can take one of the values True or False. The value is
   encoded  as  a  single  byte  where the value 0 represents false and the
   value 1 represents true. The discriminator is the character 't'.
   *  A  range  of  different  sized  signed  values. In each case they are
   encoded  using  two's complement. The list below shows the sizes and the
   discriminators:
   8: b
   16: s
   32: i
   64: l

   *  A  range  of  different  sized unsigned values. In each case they are
   encoded as an unsigned binary number. The list below shows the sizes and
   the discriminators:
   8: B
   16: S
   32: I
   64: L

   *  Floating point types. Floating point types are encoded using the IEEE
   754  standard.  For  full  details of that encoding please see the "IEEE
   Standard   for  Binary  Floating-Point  Arithmetic,  ANSI/IEEE  Standard
   754-1985". The different precisions supported are:
- single precision, with discriminator f
- double precision, with discriminator d
-  double-extended, which has an exponent of at least 15 bits in length and
a signed fraction of at least 64 bits, with discriminator D

   * An ASCII string type, containing ASCII characters. Encoded as a 2 byte
   unsigned  integer as the size followed by the characters, using one byte
   per character with an ASCII encoding. Discriminator 'c'.
   *  A  wide string type, containing characters encoded using the broker's
   configured  encoding  for  wide characters. Encoded as a 4 byte unsigned
   integer  as the size in bytes followed by the bytes of data. Examples of
   encodings are UTF-8 and UTF-16. Discriminator 'C'.
   * A date time type, containing a 64 bit unsigned integer that represents
   the  time to a granularity of seconds encoded in POSIX  time_t format. A
   value  of  536457599  corresponds  to Wednesday December 31 23:35:59 GMT
   1986. This has a descriminator 'T'.
   *  A  binary  data  type,  to  allow encoding of arbitrary data. This is
   encoded  as  a four byte unsigned integer representing the size followed
   by that number of bytes. Discriminator 'x'.

With the Java basic types being encoded as follows:

// As above types
BOOLEAN_PROPERTY_PREFIX = t
BYTE_PROPERTY_PREFIX = b
SHORT_PROPERTY_PREFIX = s
INT_PROPERTY_PREFIX = i
LONG_PROPERTY_PREFIX = l
FLOAT_PROPERTY_PREFIX = f
DOUBLE_PROPERTY_PREFIX = d

Unsigned types have not been implemented

STRING_PROPERTY_PREFIX = AMQP_STRING_PROPERTY_PREFIX;
BYTES_PROPERTY_PREFIX = AMQP_BINARY_PROPERTY_PREFIX;
CHAR_PROPERTY_PREFIX = AMQP_ASCII_STRING_PROPERTY_PREFIX;

The problem with the CHAR encoding results in standard ASCII strings being truncated. However we need to know the difference between a single char and a string property.

> Missing support for field table types D, T and F
> ------------------------------------------------
>
>                 Key: QPID-9
>                 URL: http://issues.apache.org/jira/browse/QPID-9
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Common
>            Reporter: Alan Conway
>         Assigned To: Martin Ritchie
>            Priority: Minor
>
> The spec defines these additional types. This area may be in flux so check spec status before implementing:
> / 'D' decimal-value
> / 'T' timestamp
> / 'F' field-table
> Needs to be addressed across all languages and the python headers exchange tests should test all types.
> The field table also does not support sufficient types of values for JMS support see message thread:
> https://amqp.108.redhat.com/servlets/ReadMsg?list=dev&msgNo=169
> Possible a possible temporary work around would be to use encoded String values 

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

        

[jira] Commented: (QPID-9) Missing support for field table types D, T and F

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
    [ http://issues.apache.org/jira/browse/QPID-9?page=comments#action_12456435 ] 
            
Martin Ritchie commented on QPID-9:
-----------------------------------

   Guidelines for implementers:
   * Field names MUST start with a letter, '$' or '#' and may continue with
     letters, '$' or '#', digits, or underlines, to a maximum length of 128
     characters.
   *  The  server SHOULD validate field names and upon receiving an invalid
     field  name,  it  SHOULD signal a connection exception with reply code
     503 (syntax error). Conformance test: amq_wlp_table_01.
   * A peer MUST handle duplicate fields by using only the first instance.


> Missing support for field table types D, T and F
> ------------------------------------------------
>
>                 Key: QPID-9
>                 URL: http://issues.apache.org/jira/browse/QPID-9
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Common
>            Reporter: Alan Conway
>         Assigned To: Martin Ritchie
>            Priority: Minor
>
> The spec defines these additional types. This area may be in flux so check spec status before implementing:
> / 'D' decimal-value
> / 'T' timestamp
> / 'F' field-table
> Needs to be addressed across all languages and the python headers exchange tests should test all types.
> The field table also does not support sufficient types of values for JMS support see message thread:
> https://amqp.108.redhat.com/servlets/ReadMsg?list=dev&msgNo=169
> Possible a possible temporary work around would be to use encoded String values 

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

        

[jira] Assigned: (QPID-9) Missing support for field table types D, T and F

Posted by "Marnie McCormack (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-9?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marnie McCormack reassigned QPID-9:
-----------------------------------

    Assignee: Robert Greig

> Missing support for field table types D, T and F
> ------------------------------------------------
>
>                 Key: QPID-9
>                 URL: https://issues.apache.org/jira/browse/QPID-9
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Common
>            Reporter: Alan Conway
>         Assigned To: Robert Greig
>            Priority: Minor
>
> The spec defines these additional types. This area may be in flux so check spec status before implementing:
> / 'D' decimal-value
> / 'T' timestamp
> / 'F' field-table
> Needs to be addressed across all languages and the python headers exchange tests should test all types.
> The field table also does not support sufficient types of values for JMS support see message thread:
> https://amqp.108.redhat.com/servlets/ReadMsg?list=dev&msgNo=169
> Possible a possible temporary work around would be to use encoded String values 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-9) Missing support for field table types D, T and F

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
    [ http://issues.apache.org/jira/browse/QPID-9?page=comments#action_12458721 ] 
            
Martin Ritchie commented on QPID-9:
-----------------------------------

Field table updated but main issue of JIRA: Missing D,T and F fields not implemented however JMS support has been addressed

> Missing support for field table types D, T and F
> ------------------------------------------------
>
>                 Key: QPID-9
>                 URL: http://issues.apache.org/jira/browse/QPID-9
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Common
>            Reporter: Alan Conway
>         Assigned To: Martin Ritchie
>            Priority: Minor
>
> The spec defines these additional types. This area may be in flux so check spec status before implementing:
> / 'D' decimal-value
> / 'T' timestamp
> / 'F' field-table
> Needs to be addressed across all languages and the python headers exchange tests should test all types.
> The field table also does not support sufficient types of values for JMS support see message thread:
> https://amqp.108.redhat.com/servlets/ReadMsg?list=dev&msgNo=169
> Possible a possible temporary work around would be to use encoded String values 

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

        

[jira] Updated: (QPID-9) Missing support for field table types D, T and F

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-9?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Ritchie updated QPID-9:
------------------------------

    Fix Version/s: M3

> Missing support for field table types D, T and F
> ------------------------------------------------
>
>                 Key: QPID-9
>                 URL: https://issues.apache.org/jira/browse/QPID-9
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Common
>            Reporter: Alan Conway
>         Assigned To: Robert Greig
>            Priority: Minor
>             Fix For: M3
>
>
> The spec defines these additional types. This area may be in flux so check spec status before implementing:
> / 'D' decimal-value
> / 'T' timestamp
> / 'F' field-table
> Needs to be addressed across all languages and the python headers exchange tests should test all types.
> The field table also does not support sufficient types of values for JMS support see message thread:
> https://amqp.108.redhat.com/servlets/ReadMsg?list=dev&msgNo=169
> Possible a possible temporary work around would be to use encoded String values 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (QPID-9) Missing support for field table types D, T and F

Posted by "Rupert Smith (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-9?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rupert Smith resolved QPID-9.
-----------------------------

    Resolution: Fixed

D, T, and F are now all implemented.

> Missing support for field table types D, T and F
> ------------------------------------------------
>
>                 Key: QPID-9
>                 URL: https://issues.apache.org/jira/browse/QPID-9
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Common
>            Reporter: Alan Conway
>            Assignee: Robert Greig
>            Priority: Minor
>             Fix For: M2.1
>
>
> The spec defines these additional types. This area may be in flux so check spec status before implementing:
> / 'D' decimal-value
> / 'T' timestamp
> / 'F' field-table
> Needs to be addressed across all languages and the python headers exchange tests should test all types.
> The field table also does not support sufficient types of values for JMS support see message thread:
> https://amqp.108.redhat.com/servlets/ReadMsg?list=dev&msgNo=169
> Possible a possible temporary work around would be to use encoded String values 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-9) Missing support for field table types D, T and F

Posted by "Marnie McCormack (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-9?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12468671 ] 

Marnie McCormack commented on QPID-9:
-------------------------------------

Rupert Smith to complete this change

> Missing support for field table types D, T and F
> ------------------------------------------------
>
>                 Key: QPID-9
>                 URL: https://issues.apache.org/jira/browse/QPID-9
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Common
>            Reporter: Alan Conway
>         Assigned To: Robert Greig
>            Priority: Minor
>
> The spec defines these additional types. This area may be in flux so check spec status before implementing:
> / 'D' decimal-value
> / 'T' timestamp
> / 'F' field-table
> Needs to be addressed across all languages and the python headers exchange tests should test all types.
> The field table also does not support sufficient types of values for JMS support see message thread:
> https://amqp.108.redhat.com/servlets/ReadMsg?list=dev&msgNo=169
> Possible a possible temporary work around would be to use encoded String values 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-9) Missing support for field table types D, T and F

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
    [ http://issues.apache.org/jira/browse/QPID-9?page=comments#action_12456460 ] 
            
Martin Ritchie commented on QPID-9:
-----------------------------------

Completed: At revision: 483503  

Encoding updated based on the FieldTable Proposal:
----------------

   Field tables are binary structures that contain packed name-value pairs.
   Each  name-value pair is a structure that provides a field name, a field
   type (referred to as the discriminator), and a field value.

   The following types can be stored in a field table:

   *  A boolean that can take one of the values True or False. The value is
   encoded  as  a  single  byte  where the value 0 represents false and the
   value 1 represents true. The discriminator is the character 't'.
   *  A  range  of  different  sized  signed  values. In each case they are
   encoded  using  two's complement. The list below shows the sizes and the
   discriminators:
   8: b
   16: s
   32: i
   64: l

   *  A  range  of  different  sized unsigned values. In each case they are
   encoded as an unsigned binary number. The list below shows the sizes and
   the discriminators:
   8: B
   16: S
   32: I
   64: L

   *  Floating point types. Floating point types are encoded using the IEEE
   754  standard.  For  full  details of that encoding please see the "IEEE
   Standard   for  Binary  Floating-Point  Arithmetic,  ANSI/IEEE  Standard
   754-1985". The different precisions supported are:
- single precision, with discriminator f
- double precision, with discriminator d
-  double-extended, which has an exponent of at least 15 bits in length and
a signed fraction of at least 64 bits, with discriminator D

   * An ASCII string type, containing ASCII characters. Encoded as a 2 byte
   unsigned  integer as the size followed by the characters, using one byte
   per character with an ASCII encoding. Discriminator 'c'.
   *  A  wide string type, containing characters encoded using the broker's
   configured  encoding  for  wide characters. Encoded as a 4 byte unsigned
   integer  as the size in bytes followed by the bytes of data. Examples of
   encodings are UTF-8 and UTF-16. Discriminator 'C'.
   * A date time type, containing a 64 bit unsigned integer that represents
   the  time to a granularity of seconds encoded in POSIX  time_t format. A
   value  of  536457599  corresponds  to Wednesday December 31 23:35:59 GMT
   1986. This has a descriminator 'T'.
   *  A  binary  data  type,  to  allow encoding of arbitrary data. This is
   encoded  as  a four byte unsigned integer representing the size followed
   by that number of bytes. Discriminator 'x'.

With the Java basic types being encoded as follows:

// As above types
BOOLEAN_PROPERTY_PREFIX = t
BYTE_PROPERTY_PREFIX = b
SHORT_PROPERTY_PREFIX = s
INT_PROPERTY_PREFIX = i
LONG_PROPERTY_PREFIX = l
FLOAT_PROPERTY_PREFIX = f
DOUBLE_PROPERTY_PREFIX = d

Unsigned types have not been implemented

STRING_PROPERTY_PREFIX = AMQP_STRING_PROPERTY_PREFIX;
BYTES_PROPERTY_PREFIX = AMQP_BINARY_PROPERTY_PREFIX;
CHAR_PROPERTY_PREFIX = AMQP_ASCII_STRING_PROPERTY_PREFIX;

The problem with the CHAR encoding results in standard ASCII strings being truncated. However we need to know the difference between a single char and a string property.

> Missing support for field table types D, T and F
> ------------------------------------------------
>
>                 Key: QPID-9
>                 URL: http://issues.apache.org/jira/browse/QPID-9
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Common
>            Reporter: Alan Conway
>         Assigned To: Martin Ritchie
>            Priority: Minor
>
> The spec defines these additional types. This area may be in flux so check spec status before implementing:
> / 'D' decimal-value
> / 'T' timestamp
> / 'F' field-table
> Needs to be addressed across all languages and the python headers exchange tests should test all types.
> The field table also does not support sufficient types of values for JMS support see message thread:
> https://amqp.108.redhat.com/servlets/ReadMsg?list=dev&msgNo=169
> Possible a possible temporary work around would be to use encoded String values 

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

        

[jira] Assigned: (QPID-9) Missing support for field table types D, T and F

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
     [ http://issues.apache.org/jira/browse/QPID-9?page=all ]

Martin Ritchie reassigned QPID-9:
---------------------------------

    Assignee: Martin Ritchie

> Missing support for field table types D, T and F
> ------------------------------------------------
>
>                 Key: QPID-9
>                 URL: http://issues.apache.org/jira/browse/QPID-9
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Common
>            Reporter: Alan Conway
>         Assigned To: Martin Ritchie
>            Priority: Minor
>
> The spec defines these additional types. This area may be in flux so check spec status before implementing:
> / 'D' decimal-value
> / 'T' timestamp
> / 'F' field-table
> Needs to be addressed across all languages and the python headers exchange tests should test all types.
> The field table also does not support sufficient types of values for JMS support see message thread:
> https://amqp.108.redhat.com/servlets/ReadMsg?list=dev&msgNo=169
> Possible a possible temporary work around would be to use encoded String values 

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

        

[jira] Updated: (QPID-9) Missing support for field table types D, T and F

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
     [ http://issues.apache.org/jira/browse/QPID-9?page=all ]

Martin Ritchie updated QPID-9:
------------------------------

      Component/s: Java Common
                   JMS Compliance
    Fix Version/s: M2
      Description: 
The spec defines these additional types. This area may be in flux so check spec status before implementing:
/ 'D' decimal-value
/ 'T' timestamp
/ 'F' field-table

Needs to be addressed across all languages and the python headers exchange tests should test all types.

The field table also does not support sufficient types of values for JMS support see message thread:

https://amqp.108.redhat.com/servlets/ReadMsg?list=dev&msgNo=169

Possible a possible temporary work around would be to use encoded String values 

  was:
The spec defines these additional types. This area may be in flux so check spec status before implementing:
/ 'D' decimal-value
/ 'T' timestamp
/ 'F' field-table

Needs to be addressed across all languages and the python headers exchange tests should test all types.

         Assignee: Martin Ritchie
         Priority: Blocker  (was: Major)

> Missing support for field table types D, T and F
> ------------------------------------------------
>
>                 Key: QPID-9
>                 URL: http://issues.apache.org/jira/browse/QPID-9
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Common, JMS Compliance
>            Reporter: Alan Conway
>         Assigned To: Martin Ritchie
>            Priority: Blocker
>             Fix For: M2
>
>
> The spec defines these additional types. This area may be in flux so check spec status before implementing:
> / 'D' decimal-value
> / 'T' timestamp
> / 'F' field-table
> Needs to be addressed across all languages and the python headers exchange tests should test all types.
> The field table also does not support sufficient types of values for JMS support see message thread:
> https://amqp.108.redhat.com/servlets/ReadMsg?list=dev&msgNo=169
> Possible a possible temporary work around would be to use encoded String values 

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

        

[jira] Assigned: (QPID-9) Missing support for field table types D, T and F

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
     [ http://issues.apache.org/jira/browse/QPID-9?page=all ]

Martin Ritchie reassigned QPID-9:
---------------------------------

    Assignee:     (was: Martin Ritchie)

> Missing support for field table types D, T and F
> ------------------------------------------------
>
>                 Key: QPID-9
>                 URL: http://issues.apache.org/jira/browse/QPID-9
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Common
>            Reporter: Alan Conway
>            Priority: Minor
>
> The spec defines these additional types. This area may be in flux so check spec status before implementing:
> / 'D' decimal-value
> / 'T' timestamp
> / 'F' field-table
> Needs to be addressed across all languages and the python headers exchange tests should test all types.
> The field table also does not support sufficient types of values for JMS support see message thread:
> https://amqp.108.redhat.com/servlets/ReadMsg?list=dev&msgNo=169
> Possible a possible temporary work around would be to use encoded String values 

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

        

[jira] Commented: (QPID-9) Missing support for field table types D, T and F

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
    [ http://issues.apache.org/jira/browse/QPID-9?page=comments#action_12456436 ] 
            
Martin Ritchie commented on QPID-9:
-----------------------------------

Previous comment from AMQP Spec: 4.2.5.5 Field Tables

> Missing support for field table types D, T and F
> ------------------------------------------------
>
>                 Key: QPID-9
>                 URL: http://issues.apache.org/jira/browse/QPID-9
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Common
>            Reporter: Alan Conway
>         Assigned To: Martin Ritchie
>            Priority: Minor
>
> The spec defines these additional types. This area may be in flux so check spec status before implementing:
> / 'D' decimal-value
> / 'T' timestamp
> / 'F' field-table
> Needs to be addressed across all languages and the python headers exchange tests should test all types.
> The field table also does not support sufficient types of values for JMS support see message thread:
> https://amqp.108.redhat.com/servlets/ReadMsg?list=dev&msgNo=169
> Possible a possible temporary work around would be to use encoded String values 

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