@@ -586,14 +586,14 @@ static eb_status_t parquet_transform(struct eb_transformer* transformer,
586586 DEBUG_ERROR ("Failed to create list array builder: %s" ,
587587 list_builder_error ? list_builder_error -> message : "Unknown error" );
588588 if (list_builder_error ) g_error_free (list_builder_error );
589- g_object_unref (float_field );
590- g_object_unref (float_type );
591- g_object_unref (list_type );
592- g_object_unref (values_field );
593- g_object_unref (id_field );
594- g_object_unref (metadata_field );
595- g_object_unref (blob_field );
596- g_object_unref (schema );
589+ if ( float_field && G_IS_OBJECT ( float_field )) { g_object_unref (float_field ); }
590+ if ( float_type && G_IS_OBJECT ( float_type )) { g_object_unref (float_type ); }
591+ if ( list_type && G_IS_OBJECT ( list_type )) { g_object_unref (list_type ); }
592+ if ( values_field && G_IS_OBJECT ( values_field )) { g_object_unref (values_field ); }
593+ if ( id_field && G_IS_OBJECT ( id_field )) { g_object_unref (id_field ); }
594+ if ( metadata_field && G_IS_OBJECT ( metadata_field )) { g_object_unref (metadata_field ); }
595+ if ( blob_field && G_IS_OBJECT ( blob_field )) { g_object_unref (blob_field ); }
596+ if ( schema && G_IS_OBJECT ( schema )) { g_object_unref (schema ); }
597597 if (metadata_json ) free (metadata_json );
598598 if (need_to_free_decompressed ) free (decompressed_data );
599599 return EB_ERROR_IO ;
@@ -603,22 +603,22 @@ static eb_status_t parquet_transform(struct eb_transformer* transformer,
603603 GArrowArrayBuilder * value_builder = garrow_list_array_builder_get_value_builder (list_builder );
604604 GArrowFloatArrayBuilder * float_builder = GARROW_FLOAT_ARRAY_BUILDER (value_builder );
605605
606- g_object_unref (float_field );
607- g_object_unref (float_type );
608- g_object_unref (list_type );
609- g_object_unref (values_field );
610- g_object_unref (id_field );
611- g_object_unref (metadata_field );
612- g_object_unref (blob_field );
606+ if ( float_field && G_IS_OBJECT ( float_field )) { g_object_unref (float_field ); }
607+ if ( float_type && G_IS_OBJECT ( float_type )) { g_object_unref (float_type ); }
608+ if ( list_type && G_IS_OBJECT ( list_type )) { g_object_unref (list_type ); }
609+ if ( values_field && G_IS_OBJECT ( values_field )) { g_object_unref (values_field ); }
610+ if ( id_field && G_IS_OBJECT ( id_field )) { g_object_unref (id_field ); }
611+ if ( metadata_field && G_IS_OBJECT ( metadata_field )) { g_object_unref (metadata_field ); }
612+ if ( blob_field && G_IS_OBJECT ( blob_field )) { g_object_unref (blob_field ); }
613613
614614 /* Create arrays for each column */
615615 /* ID array (single string - the hash) */
616616 GArrowStringArrayBuilder * id_builder = garrow_string_array_builder_new ();
617617 garrow_string_array_builder_append_string (id_builder , id_str , & error );
618618 if (error ) {
619619 DEBUG_ERROR ("Failed to append ID value: %s" , error -> message );
620- g_object_unref (id_builder );
621- g_object_unref (schema );
620+ if ( id_builder && G_IS_OBJECT ( id_builder )) { g_object_unref (id_builder ); }
621+ if ( schema && G_IS_OBJECT ( schema )) { g_object_unref (schema ); }
622622 g_error_free (error );
623623 if (metadata_json ) free (metadata_json );
624624 if (need_to_free_decompressed ) free (decompressed_data );
@@ -627,10 +627,10 @@ static eb_status_t parquet_transform(struct eb_transformer* transformer,
627627
628628 GArrowArray * id_array = GARROW_ARRAY (garrow_array_builder_finish (
629629 GARROW_ARRAY_BUILDER (id_builder ), & error ));
630- g_object_unref (id_builder );
630+ if ( id_builder && G_IS_OBJECT ( id_builder )) { g_object_unref (id_builder ); }
631631 if (error ) {
632632 DEBUG_ERROR ("Failed to finish ID array: %s" , error -> message );
633- g_object_unref (schema );
633+ if ( schema && G_IS_OBJECT ( schema )) { g_object_unref (schema ); }
634634 g_error_free (error );
635635 if (metadata_json ) free (metadata_json );
636636 if (need_to_free_decompressed ) free (decompressed_data );
@@ -641,10 +641,10 @@ static eb_status_t parquet_transform(struct eb_transformer* transformer,
641641 garrow_list_array_builder_append_value (list_builder , & error );
642642 if (error ) {
643643 DEBUG_ERROR ("Failed to append list start: %s" , error -> message );
644- g_object_unref (id_array );
645- g_object_unref (float_builder );
646- g_object_unref (list_builder );
647- g_object_unref (schema );
644+ if ( id_array && G_IS_OBJECT ( id_array )) { g_object_unref (id_array ); }
645+ if ( float_builder && G_IS_OBJECT ( float_builder )) { g_object_unref (float_builder ); } /* Assuming float_builder is GObject, needs check */
646+ if ( list_builder && G_IS_OBJECT ( list_builder )) { g_object_unref (list_builder ); }
647+ if ( schema && G_IS_OBJECT ( schema )) { g_object_unref (schema ); }
648648 g_error_free (error );
649649 if (metadata_json ) free (metadata_json );
650650 if (need_to_free_decompressed ) free (decompressed_data );
@@ -656,10 +656,10 @@ static eb_status_t parquet_transform(struct eb_transformer* transformer,
656656 garrow_float_array_builder_append_value (float_builder , values [i ], & error );
657657 if (error ) {
658658 DEBUG_ERROR ("Failed to append float value at index %u: %s" , i , error -> message );
659- g_object_unref (id_array );
660- g_object_unref (float_builder );
661- g_object_unref (list_builder );
662- g_object_unref (schema );
659+ if ( id_array && G_IS_OBJECT ( id_array )) { g_object_unref (id_array ); }
660+ if ( float_builder && G_IS_OBJECT ( float_builder )) { g_object_unref (float_builder ); } /* Assuming float_builder is GObject, needs check */
661+ if ( list_builder && G_IS_OBJECT ( list_builder )) { g_object_unref (list_builder ); }
662+ if ( schema && G_IS_OBJECT ( schema )) { g_object_unref (schema ); }
663663 g_error_free (error );
664664 if (metadata_json ) free (metadata_json );
665665 if (need_to_free_decompressed ) free (decompressed_data );
@@ -669,13 +669,13 @@ static eb_status_t parquet_transform(struct eb_transformer* transformer,
669669
670670 GArrowArray * values_array = GARROW_ARRAY (garrow_array_builder_finish (
671671 GARROW_ARRAY_BUILDER (list_builder ), & error ));
672- g_object_unref (list_builder );
673- g_object_unref (float_builder );
672+ if ( list_builder && G_IS_OBJECT ( list_builder )) { g_object_unref (list_builder ); }
673+ if ( float_builder && G_IS_OBJECT ( float_builder )) { g_object_unref (float_builder ); } /* Assuming float_builder is GObject, needs check */
674674
675675 if (error ) {
676676 DEBUG_ERROR ("Failed to finish values array: %s" , error -> message );
677- g_object_unref (id_array );
678- g_object_unref (schema );
677+ if ( id_array && G_IS_OBJECT ( id_array )) { g_object_unref (id_array ); }
678+ if ( schema && G_IS_OBJECT ( schema )) { g_object_unref (schema ); }
679679 g_error_free (error );
680680 if (metadata_json ) free (metadata_json );
681681 if (need_to_free_decompressed ) free (decompressed_data );
@@ -687,10 +687,10 @@ static eb_status_t parquet_transform(struct eb_transformer* transformer,
687687 garrow_string_array_builder_append_string (metadata_builder , metadata_json , & error );
688688 if (error ) {
689689 DEBUG_ERROR ("Failed to append metadata value: %s" , error -> message );
690- g_object_unref (id_array );
691- g_object_unref (values_array );
692- g_object_unref (metadata_builder );
693- g_object_unref (schema );
690+ if ( id_array && G_IS_OBJECT ( id_array )) { g_object_unref (id_array ); }
691+ if ( values_array && G_IS_OBJECT ( values_array )) { g_object_unref (values_array ); }
692+ if ( metadata_builder && G_IS_OBJECT ( metadata_builder )) { g_object_unref (metadata_builder ); }
693+ if ( schema && G_IS_OBJECT ( schema )) { g_object_unref (schema ); }
694694 g_error_free (error );
695695 if (metadata_json ) free (metadata_json );
696696 if (need_to_free_decompressed ) free (decompressed_data );
@@ -699,12 +699,12 @@ static eb_status_t parquet_transform(struct eb_transformer* transformer,
699699
700700 GArrowArray * metadata_array = GARROW_ARRAY (garrow_array_builder_finish (
701701 GARROW_ARRAY_BUILDER (metadata_builder ), & error ));
702- g_object_unref (metadata_builder );
702+ if ( metadata_builder && G_IS_OBJECT ( metadata_builder )) { g_object_unref (metadata_builder ); }
703703 if (error ) {
704704 DEBUG_ERROR ("Failed to finish metadata array: %s" , error -> message );
705- g_object_unref (id_array );
706- g_object_unref (values_array );
707- g_object_unref (schema );
705+ if ( id_array && G_IS_OBJECT ( id_array )) { g_object_unref (id_array ); }
706+ if ( values_array && G_IS_OBJECT ( values_array )) { g_object_unref (values_array ); }
707+ if ( schema && G_IS_OBJECT ( schema )) { g_object_unref (schema ); }
708708 g_error_free (error );
709709 if (metadata_json ) free (metadata_json );
710710 if (need_to_free_decompressed ) free (decompressed_data );
@@ -742,28 +742,28 @@ static eb_status_t parquet_transform(struct eb_transformer* transformer,
742742 garrow_string_array_builder_append_string (blob_builder , blob_json , & error );
743743 if (error ) {
744744 DEBUG_ERROR ("Failed to append blob value: %s" , error -> message );
745- g_object_unref (blob_builder );
745+ if ( blob_builder && G_IS_OBJECT ( blob_builder )) { g_object_unref (blob_builder ); }
746746 free (blob_json );
747- g_object_unref (id_array );
748- g_object_unref (values_array );
749- g_object_unref (metadata_array );
750- g_object_unref (schema );
747+ if ( id_array && G_IS_OBJECT ( id_array )) { g_object_unref (id_array ); }
748+ if ( values_array && G_IS_OBJECT ( values_array )) { g_object_unref (values_array ); }
749+ if ( metadata_array && G_IS_OBJECT ( metadata_array )) { g_object_unref (metadata_array ); }
750+ if ( schema && G_IS_OBJECT ( schema )) { g_object_unref (schema ); }
751751 g_error_free (error );
752752 if (need_to_free_decompressed ) free (decompressed_data );
753753 return EB_ERROR_IO ;
754754 }
755755
756756 GArrowArray * blob_array = GARROW_ARRAY (garrow_array_builder_finish (
757757 GARROW_ARRAY_BUILDER (blob_builder ), & error ));
758- g_object_unref (blob_builder );
758+ if ( blob_builder && G_IS_OBJECT ( blob_builder )) { g_object_unref (blob_builder ); }
759759 free (blob_json );
760760
761761 if (error ) {
762762 DEBUG_ERROR ("Failed to finish blob array: %s" , error -> message );
763- g_object_unref (id_array );
764- g_object_unref (values_array );
765- g_object_unref (metadata_array );
766- g_object_unref (schema );
763+ if ( id_array && G_IS_OBJECT ( id_array )) { g_object_unref (id_array ); }
764+ if ( values_array && G_IS_OBJECT ( values_array )) { g_object_unref (values_array ); }
765+ if ( metadata_array && G_IS_OBJECT ( metadata_array )) { g_object_unref (metadata_array ); }
766+ if ( schema && G_IS_OBJECT ( schema )) { g_object_unref (schema ); }
767767 g_error_free (error );
768768 if (need_to_free_decompressed ) free (decompressed_data );
769769 return EB_ERROR_IO ;
@@ -780,7 +780,7 @@ static eb_status_t parquet_transform(struct eb_transformer* transformer,
780780 if (error ) {
781781 DEBUG_ERROR ("Failed to create record batch: %s" , error -> message );
782782 g_list_free_full (arrays , g_object_unref );
783- g_object_unref (schema );
783+ if ( schema && G_IS_OBJECT ( schema )) { g_object_unref (schema ); }
784784 g_error_free (error );
785785 if (need_to_free_decompressed ) free (decompressed_data );
786786 return EB_ERROR_IO ;
@@ -790,12 +790,12 @@ static eb_status_t parquet_transform(struct eb_transformer* transformer,
790790 /* Create table from record batch */
791791 GList * batches = g_list_append (NULL , record_batch );
792792 GArrowTable * table = garrow_table_new_record_batches (schema , & record_batch , 1 , & error );
793- g_object_unref (record_batch );
793+ if ( record_batch && G_IS_OBJECT ( record_batch )) { g_object_unref (record_batch ); }
794794 g_list_free (batches );
795795
796796 if (error ) {
797797 DEBUG_ERROR ("Failed to create table: %s" , error -> message );
798- g_object_unref (schema );
798+ if ( schema && G_IS_OBJECT ( schema )) { g_object_unref (schema ); }
799799 g_error_free (error );
800800 if (need_to_free_decompressed ) free (decompressed_data );
801801 return EB_ERROR_IO ;
@@ -826,9 +826,9 @@ static eb_status_t parquet_transform(struct eb_transformer* transformer,
826826 writer_props ,
827827 & error );
828828
829- g_object_unref (writer_props );
830- g_object_unref (output_stream );
831- g_object_unref (schema );
829+ if ( writer_props && G_IS_OBJECT ( writer_props )) { g_object_unref (writer_props ); }
830+ if ( output_stream && G_IS_OBJECT ( output_stream )) { g_object_unref (output_stream ); }
831+ if ( schema && G_IS_OBJECT ( schema )) { g_object_unref (schema ); }
832832
833833 if (!writer ) {
834834 DEBUG_ERROR ("Failed to create Parquet writer: %s" , error ? error -> message : "Unknown error" );
0 commit comments