You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Scott Banachowski (JIRA)" <ji...@apache.org> on 2010/04/18 01:05:24 UTC

[jira] Created: (AVRO-520) Refactor validation code

Refactor validation code
------------------------

                 Key: AVRO-520
                 URL: https://issues.apache.org/jira/browse/AVRO-520
             Project: Avro
          Issue Type: Improvement
          Components: c++
            Reporter: Scott Banachowski


This patch reorganizes some of the code around the validator.  

The previous version uses different classes for Writer and ValidatingWriter, and Reader and ValidatingReader.

These types have been redefined respectively as WriterImpl<NullValidator> and WriterImpl<Validator>, and ReaderImpl<NullValidator> and ReaderImpl<Validator>.  The compiler generates 4 types, but the NullValidator compiles away as no-ops, creating essentially the same classes as before.  This allows logic to exist in single class definitions instead of duplicates.  

Also, in the Validator some special logic was removed for records, now instead sharing code with the other compound types.

 


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

        

[jira] Updated: (AVRO-520) Refactor validation code

Posted by "Scott Banachowski (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AVRO-520?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Scott Banachowski updated AVRO-520:
-----------------------------------

    Attachment: AVRO-520.patch
                applypatch520.sh

> Refactor validation code
> ------------------------
>
>                 Key: AVRO-520
>                 URL: https://issues.apache.org/jira/browse/AVRO-520
>             Project: Avro
>          Issue Type: Improvement
>          Components: c++
>            Reporter: Scott Banachowski
>         Attachments: applypatch520.sh, AVRO-520.patch
>
>
> This patch reorganizes some of the code around the validator.  
> The previous version uses different classes for Writer and ValidatingWriter, and Reader and ValidatingReader.
> These types have been redefined respectively as WriterImpl<NullValidator> and WriterImpl<Validator>, and ReaderImpl<NullValidator> and ReaderImpl<Validator>.  The compiler generates 4 types, but the NullValidator compiles away as no-ops, creating essentially the same classes as before.  This allows logic to exist in single class definitions instead of duplicates.  
> Also, in the Validator some special logic was removed for records, now instead sharing code with the other compound types.
>  

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

        

[jira] Closed: (AVRO-520) Refactor validation code

Posted by "Scott Banachowski (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AVRO-520?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Scott Banachowski closed AVRO-520.
----------------------------------


> Refactor validation code
> ------------------------
>
>                 Key: AVRO-520
>                 URL: https://issues.apache.org/jira/browse/AVRO-520
>             Project: Avro
>          Issue Type: Improvement
>          Components: c++
>            Reporter: Scott Banachowski
>         Attachments: applypatch520.sh, AVRO-520.patch
>
>
> This patch reorganizes some of the code around the validator.  
> The previous version uses different classes for Writer and ValidatingWriter, and Reader and ValidatingReader.
> These types have been redefined respectively as WriterImpl<NullValidator> and WriterImpl<Validator>, and ReaderImpl<NullValidator> and ReaderImpl<Validator>.  The compiler generates 4 types, but the NullValidator compiles away as no-ops, creating essentially the same classes as before.  This allows logic to exist in single class definitions instead of duplicates.  
> Also, in the Validator some special logic was removed for records, now instead sharing code with the other compound types.
>  

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


[jira] Resolved: (AVRO-520) Refactor validation code

Posted by "Scott Banachowski (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AVRO-520?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Scott Banachowski resolved AVRO-520.
------------------------------------

    Resolution: Fixed

Committed revision 935366.


> Refactor validation code
> ------------------------
>
>                 Key: AVRO-520
>                 URL: https://issues.apache.org/jira/browse/AVRO-520
>             Project: Avro
>          Issue Type: Improvement
>          Components: c++
>            Reporter: Scott Banachowski
>         Attachments: applypatch520.sh, AVRO-520.patch
>
>
> This patch reorganizes some of the code around the validator.  
> The previous version uses different classes for Writer and ValidatingWriter, and Reader and ValidatingReader.
> These types have been redefined respectively as WriterImpl<NullValidator> and WriterImpl<Validator>, and ReaderImpl<NullValidator> and ReaderImpl<Validator>.  The compiler generates 4 types, but the NullValidator compiles away as no-ops, creating essentially the same classes as before.  This allows logic to exist in single class definitions instead of duplicates.  
> Also, in the Validator some special logic was removed for records, now instead sharing code with the other compound types.
>  

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