> > > based on v13. > IMHO, it might be a good idea to write some comments on > jsonb_object_field_internal. especially the second boolean argument. > something like "some case, we just want return JsonbValue rather than > Jsonb. to return JsonbValue, make as_jsonb be false". >
OK, I will proposal "return a JsonbValue when as_jsonb is false". > I am not sure "jsonb_object_field_start" is a good name, so far I only > come up with "jsonb_object_field_to_jsonbvalues". Yes, I think it is a good idea. Puting the jsonbvalue in the name can compensate for the imprecision of "internal" as a return type. I am thinking if we should rename jsonb_finish_numeric to jsonbvalue_to_numeric as well. > linitial(jsonb_start_func->args) = > makeRelabelType(linitial(jsonb_start_func->args), > INTERNALOID, 0, > InvalidOid, > COERCE_IMPLICIT_CAST); > > if no need, output typmod (usually -1), so here should be -1 rather than 0? I agree. -1 is better than 0. Thanks for the code level review again! I want to wait for some longer time to gather more feedback. I'm willing to name it better, but hope I didn't rename it to A and rename it back shortly. -- Best Regards Andy Fan