muhammadshoaib opened a new pull request, #1237:
URL: https://github.com/apache/age/pull/1237

   Fixed empty string handling
   
   Previously, the PG 16 outToken emitted `NULL` for an empty string, but now 
it emits an empty string `""`. Consequently, our cypher read function required 
modification to properly decode the empty string as a plain token, thereby 
addressing the comparison issue. 
   
   Compared the branches and added the necessary changes so that the query's 
`rteperminfos` variable doesn't stay `NULL`.
   
   Fix missing include varatt.h (causing undefined symbol `VARDATA_ANY)` & 
Fixing some test cases of the failings
   
   Added missing include `varatt.h` to fix the undefined symbol while loading 
age into postgresql because usage of `VARDATA_ANY` needs to import `varatt.h` 
in PG16
   
   Modified initialisation of `ResultRelInfo` and removed unnecessary `RTEs`
   
   Compared the branches and added the necessary changes so that the query's 
`rteperminfos` variable doesn't stay `NULL`.
   
   Modified initialisation of `ResultRelInfo` and removed unnecessary `RTEs`
   
   One of the problems that we were facing was related to the `ResultRelInfo` 
pointing at the wrong `RTE` via its `ri_RangeTableIndex`. The 
`create_entity_result_rel_info()` function does not have the capability of 
setting the `ri_RootResultRelInfo` to the correct `ResultRelInfo` node because 
it does not have access to the `ModifyTableState` node. The solution for this 
was to set the third argument in `InitResultRelInfo()` to be zero instead of 
`list_length(estate->es_range_table)`.
   
   In the `update_entity_tuple()` function, when we call `table_tuple_update()` 
and assign the returned value to the result variable, the buffer variable 
receives the value of 0.
   Made a workaround so that the original value isn't lost.
   
   This is a work in progress for the new field that was added to the struct 
Var called `varnullingrels`. According to the documentation, this field is 
responsible for marking the Vars as nullable, if they are coming from a `JOIN`, 
either `LEFT JOIN`, `RIGHT JOIN`, or `FULL OUTER JOIN`. The changes were made 
following an "optional match" clause which is being treated as a `LEFT JOIN` 
from our extension.
   
   A function `markRelsAsNulledBy` is added because its internal in Postgres 
and doesn't belong in a header file, therefore it can't be exported. This 
function is added before the creation of the Vars from the `make_vertex_expr` 
and `make_edge_expr`, to correctly mark the specific `PNSI` as `nullable`, so 
later in the planner stage, the Vars will be correctly nulled.
   
   Fix incorrect typecasting in `agtype_to_graphid` function. 
   
   Fix incorrect returns to the fuction `_label_name`, `_ag_build_vertex` and 
`_ag_build_edge`.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to