You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Stefan Langer (JIRA)" <ji...@apache.org> on 2012/09/25 15:09:07 UTC

[jira] [Created] (AVRO-1173) C++ API for dynamic reading/writing based on schema

Stefan Langer created AVRO-1173:
-----------------------------------

             Summary: C++ API for dynamic reading/writing based on schema
                 Key: AVRO-1173
                 URL: https://issues.apache.org/jira/browse/AVRO-1173
             Project: Avro
          Issue Type: Wish
          Components: c++
            Reporter: Stefan Langer


When I started looking at Avro I hoped it would offer some API to read values by name/id (or at least get name/id of datum while iterating over all entries).

When looking at examples for C: http://avro.apache.org/docs/1.6.3/api/c/index.html#_examples
... or some Java examples
There are getters/setters which have name-arguments, and there are Record-objects constructed from schema which help reading/writing data.

While testing the C++ API, I couldn't find a way to do so with it!
I'm still not sure if I'm missing some part of the API or if it is just not yet part of the C++ Interface.

About C API: I could use it as it is C99 focused, so it can't be compiled on our VS2008 ... For the C++ API it's just some tiny tweaks to get it running.
About Generator: I'm not interested in generating code (if I would be there are enough alternatives ...)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (AVRO-1173) C++ API for dynamic reading/writing based on schema

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

Stefan Langer updated AVRO-1173:
--------------------------------

    Description: 
When I started looking at Avro I hoped it would offer some API to read values by name/id (or at least get name/id of datum while iterating over all entries).

When looking at examples for C: http://avro.apache.org/docs/1.6.3/api/c/index.html#_examples
... or some Java examples
There are getters/setters which have name-arguments, and there are Record-objects constructed from schema which help reading/writing data.

While testing the C++ API, I couldn't find a way to do so with it!
I'm still not sure if I'm missing some part of the API or if it is just not yet part of the C++ Interface.

About C API: I could not use it, because it is C99 focused, so it can't be compiled on our VS2008 ... For the C++ API it's just some tiny tweaks to get it running.
About Generator: I'm not interested in generating code (if I would be there are enough alternatives to Avro ...)

  was:
When I started looking at Avro I hoped it would offer some API to read values by name/id (or at least get name/id of datum while iterating over all entries).

When looking at examples for C: http://avro.apache.org/docs/1.6.3/api/c/index.html#_examples
... or some Java examples
There are getters/setters which have name-arguments, and there are Record-objects constructed from schema which help reading/writing data.

While testing the C++ API, I couldn't find a way to do so with it!
I'm still not sure if I'm missing some part of the API or if it is just not yet part of the C++ Interface.

About C API: I could use it as it is C99 focused, so it can't be compiled on our VS2008 ... For the C++ API it's just some tiny tweaks to get it running.
About Generator: I'm not interested in generating code (if I would be there are enough alternatives ...)

    
> C++ API for dynamic reading/writing based on schema
> ---------------------------------------------------
>
>                 Key: AVRO-1173
>                 URL: https://issues.apache.org/jira/browse/AVRO-1173
>             Project: Avro
>          Issue Type: Wish
>          Components: c++
>            Reporter: Stefan Langer
>
> When I started looking at Avro I hoped it would offer some API to read values by name/id (or at least get name/id of datum while iterating over all entries).
> When looking at examples for C: http://avro.apache.org/docs/1.6.3/api/c/index.html#_examples
> ... or some Java examples
> There are getters/setters which have name-arguments, and there are Record-objects constructed from schema which help reading/writing data.
> While testing the C++ API, I couldn't find a way to do so with it!
> I'm still not sure if I'm missing some part of the API or if it is just not yet part of the C++ Interface.
> About C API: I could not use it, because it is C99 focused, so it can't be compiled on our VS2008 ... For the C++ API it's just some tiny tweaks to get it running.
> About Generator: I'm not interested in generating code (if I would be there are enough alternatives to Avro ...)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (AVRO-1173) C++ API for dynamic reading/writing based on schema

Posted by "Doug Cutting (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AVRO-1173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13464043#comment-13464043 ] 

Doug Cutting commented on AVRO-1173:
------------------------------------

Documentation on build servers is at http://ci.apache.org/.  There are already builtbot builds for Avro C, although some seem to be failing (e.g., fbsd).

The buildbot page there says you can simply file an Infra Jira to get an Avro C Windows build added.
                
> C++ API for dynamic reading/writing based on schema
> ---------------------------------------------------
>
>                 Key: AVRO-1173
>                 URL: https://issues.apache.org/jira/browse/AVRO-1173
>             Project: Avro
>          Issue Type: Wish
>          Components: c++
>            Reporter: Stefan Langer
>
> When I started looking at Avro I hoped it would offer some API to read values by name/id (or at least get name/id of datum while iterating over all entries).
> When looking at examples for C: http://avro.apache.org/docs/1.6.3/api/c/index.html#_examples
> ... or some Java examples
> There are getters/setters which have name-arguments, and there are Record-objects constructed from schema which help reading/writing data.
> While testing the C++ API, I couldn't find a way to do so with it!
> I'm still not sure if I'm missing some part of the API or if it is just not yet part of the C++ Interface.
> About C API: I could not use it, because it is C99 focused, so it can't be compiled on our VS2008 ... For the C++ API it's just some tiny tweaks to get it running.
> About Generator: I'm not interested in generating code (if I would be there are enough alternatives to Avro ...)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (AVRO-1173) C++ API for dynamic reading/writing based on schema

Posted by "Stefan Langer (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AVRO-1173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13463556#comment-13463556 ] 

Stefan Langer commented on AVRO-1173:
-------------------------------------

thanks for the hint ... I just tried this with 1.7.2 bundle ("avro-c-1.7.2.tar.gz")
... it required adding two casts (so, some "void*" to a specific type)
... and there is a unistd.h in avroappend.c, which isn't available on VS2008 (but also not needed, so just commented that out for my build)
... and I had to tweak cmake_avrolib.bat, I have a non-english Windows so "C:\Program Files" is invalid (btw. replacing it with %ProgramFiles% should be international afaik)

But beside this tiny tweaks it build really nice ^^
... is it OK to have those infos here? or should I create an jira-entry for those?
                
> C++ API for dynamic reading/writing based on schema
> ---------------------------------------------------
>
>                 Key: AVRO-1173
>                 URL: https://issues.apache.org/jira/browse/AVRO-1173
>             Project: Avro
>          Issue Type: Wish
>          Components: c++
>            Reporter: Stefan Langer
>
> When I started looking at Avro I hoped it would offer some API to read values by name/id (or at least get name/id of datum while iterating over all entries).
> When looking at examples for C: http://avro.apache.org/docs/1.6.3/api/c/index.html#_examples
> ... or some Java examples
> There are getters/setters which have name-arguments, and there are Record-objects constructed from schema which help reading/writing data.
> While testing the C++ API, I couldn't find a way to do so with it!
> I'm still not sure if I'm missing some part of the API or if it is just not yet part of the C++ Interface.
> About C API: I could not use it, because it is C99 focused, so it can't be compiled on our VS2008 ... For the C++ API it's just some tiny tweaks to get it running.
> About Generator: I'm not interested in generating code (if I would be there are enough alternatives to Avro ...)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (AVRO-1173) C++ API for dynamic reading/writing based on schema

Posted by "Vivek Nadkarni (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AVRO-1173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13463977#comment-13463977 ] 

Vivek Nadkarni commented on AVRO-1173:
--------------------------------------

It would be great if you could create a JIRA entry for the issues you fixed with the Windows build, and upload a patch file with all your changes in it. These changes would be merged by one of the committers (usually Douglas Creager for Avro-C) before the next release. 

Also, does anyone on the list know how the automatic build servers work for Avro? Would it be possible to add a Windows build for Avro-C, so we could catch issues more quickly when things break. 

                
> C++ API for dynamic reading/writing based on schema
> ---------------------------------------------------
>
>                 Key: AVRO-1173
>                 URL: https://issues.apache.org/jira/browse/AVRO-1173
>             Project: Avro
>          Issue Type: Wish
>          Components: c++
>            Reporter: Stefan Langer
>
> When I started looking at Avro I hoped it would offer some API to read values by name/id (or at least get name/id of datum while iterating over all entries).
> When looking at examples for C: http://avro.apache.org/docs/1.6.3/api/c/index.html#_examples
> ... or some Java examples
> There are getters/setters which have name-arguments, and there are Record-objects constructed from schema which help reading/writing data.
> While testing the C++ API, I couldn't find a way to do so with it!
> I'm still not sure if I'm missing some part of the API or if it is just not yet part of the C++ Interface.
> About C API: I could not use it, because it is C99 focused, so it can't be compiled on our VS2008 ... For the C++ API it's just some tiny tweaks to get it running.
> About Generator: I'm not interested in generating code (if I would be there are enough alternatives to Avro ...)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (AVRO-1173) C++ API for dynamic reading/writing based on schema

Posted by "Stefan Langer (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AVRO-1173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13464482#comment-13464482 ] 

Stefan Langer commented on AVRO-1173:
-------------------------------------

@Thiruvalluvan:
Yes, I saw those Generic-Classes
... but the GenericRecord doesn't have something like:
void set(const std::string& name, const GenericDatum& v);
... which would be an equivalent to C-API: avro_record_set(...)

And more important the documentation about the Generic-part seems to be really weak.
                
> C++ API for dynamic reading/writing based on schema
> ---------------------------------------------------
>
>                 Key: AVRO-1173
>                 URL: https://issues.apache.org/jira/browse/AVRO-1173
>             Project: Avro
>          Issue Type: Wish
>          Components: c++
>            Reporter: Stefan Langer
>
> When I started looking at Avro I hoped it would offer some API to read values by name/id (or at least get name/id of datum while iterating over all entries).
> When looking at examples for C: http://avro.apache.org/docs/1.6.3/api/c/index.html#_examples
> ... or some Java examples
> There are getters/setters which have name-arguments, and there are Record-objects constructed from schema which help reading/writing data.
> While testing the C++ API, I couldn't find a way to do so with it!
> I'm still not sure if I'm missing some part of the API or if it is just not yet part of the C++ Interface.
> About C API: I could not use it, because it is C99 focused, so it can't be compiled on our VS2008 ... For the C++ API it's just some tiny tweaks to get it running.
> About Generator: I'm not interested in generating code (if I would be there are enough alternatives to Avro ...)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (AVRO-1173) C++ API for dynamic reading/writing based on schema

Posted by "Thiruvalluvan M. G. (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AVRO-1173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13464049#comment-13464049 ] 

Thiruvalluvan M. G. commented on AVRO-1173:
-------------------------------------------

C++ Generic is meant for reading and writing of dynamic content. One can read from and write into streams or data file using generic object. Did you look into Generic.hh?
                
> C++ API for dynamic reading/writing based on schema
> ---------------------------------------------------
>
>                 Key: AVRO-1173
>                 URL: https://issues.apache.org/jira/browse/AVRO-1173
>             Project: Avro
>          Issue Type: Wish
>          Components: c++
>            Reporter: Stefan Langer
>
> When I started looking at Avro I hoped it would offer some API to read values by name/id (or at least get name/id of datum while iterating over all entries).
> When looking at examples for C: http://avro.apache.org/docs/1.6.3/api/c/index.html#_examples
> ... or some Java examples
> There are getters/setters which have name-arguments, and there are Record-objects constructed from schema which help reading/writing data.
> While testing the C++ API, I couldn't find a way to do so with it!
> I'm still not sure if I'm missing some part of the API or if it is just not yet part of the C++ Interface.
> About C API: I could not use it, because it is C99 focused, so it can't be compiled on our VS2008 ... For the C++ API it's just some tiny tweaks to get it running.
> About Generator: I'm not interested in generating code (if I would be there are enough alternatives to Avro ...)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (AVRO-1173) C++ API for dynamic reading/writing based on schema

Posted by "Vivek Nadkarni (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AVRO-1173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13464324#comment-13464324 ] 

Vivek Nadkarni commented on AVRO-1173:
--------------------------------------

Thanks for the information about the buildbot.
                
> C++ API for dynamic reading/writing based on schema
> ---------------------------------------------------
>
>                 Key: AVRO-1173
>                 URL: https://issues.apache.org/jira/browse/AVRO-1173
>             Project: Avro
>          Issue Type: Wish
>          Components: c++
>            Reporter: Stefan Langer
>
> When I started looking at Avro I hoped it would offer some API to read values by name/id (or at least get name/id of datum while iterating over all entries).
> When looking at examples for C: http://avro.apache.org/docs/1.6.3/api/c/index.html#_examples
> ... or some Java examples
> There are getters/setters which have name-arguments, and there are Record-objects constructed from schema which help reading/writing data.
> While testing the C++ API, I couldn't find a way to do so with it!
> I'm still not sure if I'm missing some part of the API or if it is just not yet part of the C++ Interface.
> About C API: I could not use it, because it is C99 focused, so it can't be compiled on our VS2008 ... For the C++ API it's just some tiny tweaks to get it running.
> About Generator: I'm not interested in generating code (if I would be there are enough alternatives to Avro ...)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (AVRO-1173) C++ API for dynamic reading/writing based on schema

Posted by "Vivek Nadkarni (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AVRO-1173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13462993#comment-13462993 ] 

Vivek Nadkarni commented on AVRO-1173:
--------------------------------------

Regarding the C API: Since the C API is written in C99, it cannot be compiled as "C" code in VS2008. However, it can be compiled and run as C++ code under VS2008 -- See AVRO-551. If that functionality has broken subsequently, please let me know. 

                
> C++ API for dynamic reading/writing based on schema
> ---------------------------------------------------
>
>                 Key: AVRO-1173
>                 URL: https://issues.apache.org/jira/browse/AVRO-1173
>             Project: Avro
>          Issue Type: Wish
>          Components: c++
>            Reporter: Stefan Langer
>
> When I started looking at Avro I hoped it would offer some API to read values by name/id (or at least get name/id of datum while iterating over all entries).
> When looking at examples for C: http://avro.apache.org/docs/1.6.3/api/c/index.html#_examples
> ... or some Java examples
> There are getters/setters which have name-arguments, and there are Record-objects constructed from schema which help reading/writing data.
> While testing the C++ API, I couldn't find a way to do so with it!
> I'm still not sure if I'm missing some part of the API or if it is just not yet part of the C++ Interface.
> About C API: I could not use it, because it is C99 focused, so it can't be compiled on our VS2008 ... For the C++ API it's just some tiny tweaks to get it running.
> About Generator: I'm not interested in generating code (if I would be there are enough alternatives to Avro ...)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira