66#include "arrow_ipc.h"
77
88#include "diag.h"
9- #include "error.h"
109#include "small/region.h"
1110#include "nanoarrow/nanoarrow_ipc.h"
1211
@@ -23,25 +22,22 @@ arrow_ipc_encode(struct ArrowArray *array, struct ArrowSchema *schema,
2322 struct ArrowArrayView array_view ;
2423 rc = ArrowArrayViewInitFromSchema (& array_view , schema , & error );
2524 if (rc != NANOARROW_OK ) {
26- diag_set (ClientError , ER_ARROW_IPC_ENCODE ,
27- "ArrowArrayViewInitFromSchema" , error .message );
25+ diag_set (EncodeError , "Arrow" , error .message );
2826 return -1 ;
2927 }
3028
3129 /* Set buffer sizes and data pointers from an array. */
3230 rc = ArrowArrayViewSetArray (& array_view , array , & error );
3331 if (rc != NANOARROW_OK ) {
34- diag_set (ClientError , ER_ARROW_IPC_ENCODE ,
35- "ArrowArrayViewSetArray" , error .message );
32+ diag_set (EncodeError , "Arrow" , error .message );
3633 goto error1 ;
3734 }
3835
3936 /* All bytes written to the stream will be appended to the buffer. */
4037 struct ArrowIpcOutputStream stream ;
4138 rc = ArrowIpcOutputStreamInitBuffer (& stream , & buffer );
4239 if (rc != NANOARROW_OK ) {
43- diag_set (ClientError , ER_ARROW_IPC_ENCODE ,
44- "ArrowIpcOutputStreamInitBuffer" , NULL );
40+ diag_set (EncodeError , "Arrow" , tt_strerror (rc ));
4541 goto error1 ;
4642 }
4743
@@ -52,23 +48,20 @@ arrow_ipc_encode(struct ArrowArray *array, struct ArrowSchema *schema,
5248 struct ArrowIpcWriter writer ;
5349 rc = ArrowIpcWriterInit (& writer , & stream );
5450 if (rc != NANOARROW_OK ) {
55- diag_set (ClientError , ER_ARROW_IPC_ENCODE , "ArrowIpcWriterInit" ,
56- NULL );
51+ diag_set (EncodeError , "Arrow" , tt_strerror (rc ));
5752 stream .release (& stream );
5853 goto error1 ;
5954 }
6055
6156 rc = ArrowIpcWriterWriteSchema (& writer , schema , & error );
6257 if (rc != NANOARROW_OK ) {
63- diag_set (ClientError , ER_ARROW_IPC_ENCODE ,
64- "ArrowIpcWriterWriteSchema" , error .message );
58+ diag_set (EncodeError , "Arrow" , error .message );
6559 goto error2 ;
6660 }
6761
6862 rc = ArrowIpcWriterWriteArrayView (& writer , & array_view , & error );
6963 if (rc != NANOARROW_OK ) {
70- diag_set (ClientError , ER_ARROW_IPC_ENCODE ,
71- "ArrowIpcWriterWriteArrayView" , error .message );
64+ diag_set (EncodeError , "Arrow" , error .message );
7265 goto error2 ;
7366 }
7467
@@ -99,8 +92,7 @@ arrow_ipc_decode(struct ArrowArray *array, struct ArrowSchema *schema,
9992{
10093 ssize_t size = data_end - data ;
10194 if (size <= 0 ) {
102- diag_set (ClientError , ER_ARROW_IPC_DECODE , NULL ,
103- "Unexpected data size" );
95+ diag_set (DecodeError , "Arrow" , "unexpected data size" );
10496 return -1 ;
10597 }
10698
@@ -111,8 +103,7 @@ arrow_ipc_decode(struct ArrowArray *array, struct ArrowSchema *schema,
111103
112104 rc = ArrowBufferAppend (& buffer , data , size );
113105 if (rc != NANOARROW_OK ) {
114- diag_set (ClientError , ER_ARROW_IPC_DECODE , "ArrowBufferAppend" ,
115- NULL );
106+ diag_set (DecodeError , "Arrow" , tt_strerror (rc ));
116107 ArrowBufferReset (& buffer );
117108 return -1 ;
118109 }
@@ -124,8 +115,7 @@ arrow_ipc_decode(struct ArrowArray *array, struct ArrowSchema *schema,
124115 struct ArrowIpcInputStream input_stream ;
125116 rc = ArrowIpcInputStreamInitBuffer (& input_stream , & buffer );
126117 if (rc != NANOARROW_OK ) {
127- diag_set (ClientError , ER_ARROW_IPC_DECODE ,
128- "ArrowIpcInputStreamInitBuffer" , NULL );
118+ diag_set (DecodeError , "Arrow" , tt_strerror (rc ));
129119 ArrowBufferReset (& buffer );
130120 return -1 ;
131121 }
@@ -137,23 +127,20 @@ arrow_ipc_decode(struct ArrowArray *array, struct ArrowSchema *schema,
137127 struct ArrowArrayStream array_stream ;
138128 rc = ArrowIpcArrayStreamReaderInit (& array_stream , & input_stream , NULL );
139129 if (rc != NANOARROW_OK ) {
140- diag_set (ClientError , ER_ARROW_IPC_DECODE ,
141- "ArrowIpcArrayStreamReaderInit" , NULL );
130+ diag_set (DecodeError , "Arrow" , tt_strerror (rc ));
142131 input_stream .release (& input_stream );
143132 return -1 ;
144133 }
145134
146135 rc = ArrowArrayStreamGetSchema (& array_stream , schema , & error );
147136 if (rc != NANOARROW_OK ) {
148- diag_set (ClientError , ER_ARROW_IPC_DECODE ,
149- "ArrowArrayStreamGetSchema" , error .message );
137+ diag_set (DecodeError , "Arrow" , error .message );
150138 goto error ;
151139 }
152140
153141 rc = ArrowArrayStreamGetNext (& array_stream , array , & error );
154142 if (rc != NANOARROW_OK ) {
155- diag_set (ClientError , ER_ARROW_IPC_DECODE ,
156- "ArrowArrayStreamGetNext" , error .message );
143+ diag_set (DecodeError , "Arrow" , error .message );
157144 schema -> release (schema );
158145 goto error ;
159146 }
0 commit comments