@@ -712,28 +712,28 @@ static HashTable* php_phongo_session_get_debug_info(phongo_compat_object_handler
712
712
713
713
array_init (& retval );
714
714
715
- if (intern -> client_session ) {
716
- const bson_t * lsid ;
715
+ if (!intern -> client_session ) {
716
+ ADD_ASSOC_BOOL_EX (& retval , "ended" , true);
717
+
718
+ goto done ;
719
+ }
720
+
721
+ {
722
+ const bson_t * lsid = mongoc_client_session_get_lsid (intern -> client_session );
717
723
php_phongo_bson_state state ;
718
724
719
725
PHONGO_BSON_INIT_DEBUG_STATE (state );
720
726
721
- lsid = mongoc_client_session_get_lsid (intern -> client_session );
722
-
723
727
if (!php_phongo_bson_to_zval_ex (bson_get_data (lsid ), lsid -> len , & state )) {
724
728
zval_ptr_dtor (& state .zchild );
725
729
goto done ;
726
730
}
727
731
728
732
ADD_ASSOC_ZVAL_EX (& retval , "logicalSessionId" , & state .zchild );
729
- } else {
730
- ADD_ASSOC_NULL_EX (& retval , "logicalSessionId" );
731
733
}
732
734
733
- if (intern -> client_session ) {
734
- const bson_t * cluster_time ;
735
-
736
- cluster_time = mongoc_client_session_get_cluster_time (intern -> client_session );
735
+ {
736
+ const bson_t * cluster_time = mongoc_client_session_get_cluster_time (intern -> client_session );
737
737
738
738
if (cluster_time ) {
739
739
php_phongo_bson_state state ;
@@ -749,20 +749,15 @@ static HashTable* php_phongo_session_get_debug_info(phongo_compat_object_handler
749
749
} else {
750
750
ADD_ASSOC_NULL_EX (& retval , "clusterTime" );
751
751
}
752
- } else {
753
- ADD_ASSOC_NULL_EX (& retval , "clusterTime" );
754
752
}
755
753
756
- if ( intern -> client_session ) {
754
+ {
757
755
const mongoc_session_opt_t * cs_opts = mongoc_client_session_get_opts (intern -> client_session );
758
756
ADD_ASSOC_BOOL_EX (& retval , "causalConsistency" , mongoc_session_opts_get_causal_consistency (cs_opts ));
759
757
ADD_ASSOC_BOOL_EX (& retval , "snapshot" , mongoc_session_opts_get_snapshot (cs_opts ));
760
- } else {
761
- ADD_ASSOC_NULL_EX (& retval , "causalConsistency" );
762
- ADD_ASSOC_NULL_EX (& retval , "snapshot" );
763
758
}
764
759
765
- if ( intern -> client_session ) {
760
+ {
766
761
uint32_t timestamp , increment ;
767
762
768
763
mongoc_client_session_get_operation_time (intern -> client_session , & timestamp , & increment );
@@ -775,39 +770,25 @@ static HashTable* php_phongo_session_get_debug_info(phongo_compat_object_handler
775
770
} else {
776
771
ADD_ASSOC_NULL_EX (& retval , "operationTime" );
777
772
}
778
- } else {
779
- ADD_ASSOC_NULL_EX (& retval , "operationTime" );
780
773
}
781
774
782
- if ( intern -> client_session ) {
775
+ {
783
776
uint32_t server_id = mongoc_client_session_get_server_id (intern -> client_session );
784
777
785
778
if (server_id ) {
786
-
787
779
zval server ;
788
780
789
781
phongo_server_init (& server , & intern -> manager , server_id );
790
782
ADD_ASSOC_ZVAL_EX (& retval , "server" , & server );
791
783
} else {
792
784
ADD_ASSOC_NULL_EX (& retval , "server" );
793
785
}
794
- } else {
795
- ADD_ASSOC_NULL_EX (& retval , "server" );
796
786
}
797
787
798
- if (intern -> client_session ) {
799
- ADD_ASSOC_BOOL_EX (& retval , "dirty" , mongoc_client_session_get_dirty (intern -> client_session ));
800
- } else {
801
- ADD_ASSOC_NULL_EX (& retval , "dirty" );
802
- }
788
+ ADD_ASSOC_BOOL_EX (& retval , "dirty" , mongoc_client_session_get_dirty (intern -> client_session ));
789
+ ADD_ASSOC_BOOL_EX (& retval , "inTransaction" , mongoc_client_session_in_transaction (intern -> client_session ));
803
790
804
- if (intern -> client_session ) {
805
- ADD_ASSOC_BOOL_EX (& retval , "inTransaction" , mongoc_client_session_in_transaction (intern -> client_session ));
806
- } else {
807
- ADD_ASSOC_NULL_EX (& retval , "inTransaction" );
808
- }
809
-
810
- if (intern -> client_session ) {
791
+ {
811
792
const char * state = php_phongo_get_transaction_state_string (mongoc_client_session_get_transaction_state (intern -> client_session ));
812
793
813
794
if (!state ) {
@@ -816,16 +797,13 @@ static HashTable* php_phongo_session_get_debug_info(phongo_compat_object_handler
816
797
}
817
798
818
799
ADD_ASSOC_STRING (& retval , "transactionState" , state );
819
- } else {
820
- ADD_ASSOC_NULL_EX (& retval , "transactionState" );
821
800
}
822
801
823
- if ( intern -> client_session ) {
802
+ {
824
803
zval txn_opts ;
804
+
825
805
php_phongo_transaction_options_to_zval (intern -> client_session , & txn_opts );
826
806
ADD_ASSOC_ZVAL_EX (& retval , "transactionOptions" , & txn_opts );
827
- } else {
828
- ADD_ASSOC_NULL_EX (& retval , "transactionOptions" );
829
807
}
830
808
831
809
done :
0 commit comments