@@ -18,6 +18,9 @@ internal TJsonb(IntPtr ptr) : base(ptr) { }
1818 public override string ToString ( )
1919 => this . Out ( ) ;
2020
21+ public Temporal ? ArrayElement ( int idx , bool astext , NullHandleType null_handle )
22+ => MEOSFactory . WrapTemporal ( Meos . TjsonbArrayElement ( this . Ptr , idx , astext , ( int ) null_handle ) ) ;
23+
2124 public Temporal ? ArrayLength ( )
2225 => MEOSFactory . WrapTemporal ( Meos . TjsonbArrayLength ( this . Ptr ) ) ;
2326
@@ -131,6 +134,25 @@ public override string ToString()
131134 }
132135 }
133136
137+ public Temporal ? ExtractPath ( Text [ ] path_elems , bool astext , NullHandleType null_handle )
138+ {
139+ IntPtr [ ] _path_elemsValues = new IntPtr [ path_elems . Length ] ;
140+ for ( int i = 0 ; i < path_elems . Length ; i ++ )
141+ {
142+ _path_elemsValues [ i ] = path_elems [ i ] . Ptr ;
143+ }
144+
145+ GCHandle _path_elems = GCHandle . Alloc ( _path_elemsValues , GCHandleType . Pinned ) ;
146+ try
147+ {
148+ return MEOSFactory . WrapTemporal ( Meos . TjsonbExtractPath ( this . Ptr , _path_elems . AddrOfPinnedObject ( ) , path_elems . Length , astext , ( int ) null_handle ) ) ;
149+ }
150+ finally
151+ {
152+ _path_elems . Free ( ) ;
153+ }
154+ }
155+
134156 public Temporal ? Insert ( Text [ ] keys , Jsonb newjb , bool after )
135157 {
136158 IntPtr [ ] _keysValues = new IntPtr [ keys . Length ] ;
@@ -153,6 +175,9 @@ public override string ToString()
153175 public Temporal ? MinusValue ( Jsonb jsb )
154176 => MEOSFactory . WrapTemporal ( Meos . TjsonbMinusValue ( this . Ptr , jsb . Ptr ) ) ;
155177
178+ public Temporal ? ObjectField ( Text key , bool astext , NullHandleType null_handle )
179+ => MEOSFactory . WrapTemporal ( Meos . TjsonbObjectField ( this . Ptr , key . Ptr , astext , ( int ) null_handle ) ) ;
180+
156181 public string Out ( )
157182 => Meos . TjsonbOut ( this . Ptr ) ;
158183
@@ -184,9 +209,21 @@ public string Out()
184209 public Temporal ? StripNulls ( bool strip_in_arrays )
185210 => MEOSFactory . WrapTemporal ( Meos . TjsonbStripNulls ( this . Ptr , strip_in_arrays ) ) ;
186211
212+ public Temporal ? ToTbool ( string key , NullHandleType null_handle )
213+ => MEOSFactory . WrapTemporal ( Meos . TjsonbToTbool ( this . Ptr , key , ( int ) null_handle ) ) ;
214+
215+ public Temporal ? ToTfloat ( string key , InterpType interp , NullHandleType null_handle )
216+ => MEOSFactory . WrapTemporal ( Meos . TjsonbToTfloat ( this . Ptr , key , ( int ) interp , ( int ) null_handle ) ) ;
217+
218+ public Temporal ? ToTint ( string key , NullHandleType null_handle )
219+ => MEOSFactory . WrapTemporal ( Meos . TjsonbToTint ( this . Ptr , key , ( int ) null_handle ) ) ;
220+
187221 public Temporal ? ToTtext ( )
188222 => MEOSFactory . WrapTemporal ( Meos . TjsonbToTtext ( this . Ptr ) ) ;
189223
224+ public Temporal ? ToTtextKey ( string key , NullHandleType null_handle )
225+ => MEOSFactory . WrapTemporal ( Meos . TjsonbToTtextKey ( this . Ptr , key , ( int ) null_handle ) ) ;
226+
190227 public Jsonb ? ValueAtTimestamptz ( DateTime t , bool strict )
191228 {
192229 IntPtr _value = Marshal . AllocHGlobal ( 8 ) ;
0 commit comments