esodan commented on issue #1280:
URL: https://github.com/apache/arrow-adbc/issues/1280#issuecomment-1821163845

   > How about just providing `GADBCArrowStatment` that is a sub class of 
`GADBCStatment` in `libadbc-arrow-glib`?
   > 
   > ```c
   > #define GADBC_ARROW_TYPE_STATEMENT (gadbc_arrow_statement_get_type())
   > G_DECLARE_DERIVABLE_TYPE(GADBCArrowStatement, gadbc_arrow_statement, 
GADBCArrow, STATEMENT, GADBCStatement)
   > struct _GADBCArrowStatementClass {
   >   GADBCStatementClass parent_class;
   > };
   > 
   > GADBCArrowStatement* gadbc_arrow_statement_new(GADBCConnection* 
connection, GError** error);
   > gboolean
   > gadbc_arrow_statement_bind(GADBCArrowStatement* statement, GArrowArray 
*array, GArrowSchema *schema, GError ** error);
   > gboolean gadbc_arrow_statement_bind_stream(GADBCArrowStatement* statement,
   >                                      GArrowRecordBatchReader *reader, 
GError** error);
   > GArrowRecordBatchReader 
*gadbc_arrow_statement_execute(GADBCArrowStatement* statement, gboolean 
need_result,
   >                                  gint64* n_rows_affected,
   >                                  GError** error);
   > ```
   > 
   > Why do we need to wrap all APIs in `libadbc-glib`?
   
   Because you can use just one namespace to access all objects and its API. If 
leave just parts of the API , you have to always add the namespace in order to 
distinguish between types. Let me write a code example:


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to