-
-
Notifications
You must be signed in to change notification settings - Fork 372
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
To C++ pg data get, fetch and check #2504
Conversation
I tested on my new msys2/mingw64 chain running gcc.exe (Rev10, Built by MSYS2 project) 12.2.0 |
Cool, so now I am in the refinement process. |
Motion has passed: |
Closes #2494 |
During the last 10 years, an effort to standarize code in pgRouting has been done.
With the new trsp functions, finnaly, the code is standarized.
(It still have the code of the old signature of
pgr_trsp
.)By standarize, I mean, the C/C++ code is similar from one function to another.
As a first step:
Comparing coordinates_input with delauny_input (et all)
They all look similar.
This are fetchers:
In general, this is code common to both functions
Except for the code
The function name and the different code is what is now part of the pgdata_getters.
static void process
function in all the *.c files connecting to postgres.The similar code is what is now a template header.
include/cpp_common/get_data.hpp
added in the first commit of thisPR.
The fetchers:
The postgresql_connection:
static void process
function in all the *.c files connecting to postgres.The get_check_data
why this change is good
Adding a new inner query implies:
Before this change:
After this change
drawback
Support for compiling with MSVC has to end.
Where is that error happening?
Is pgRouting the first one to encounter this problem?
No: extension plv8 also has the problem
How is it solved:
By patching postgres: https://plv8.github.io/#patching-postgres
I did had a conversation with @JerrySievert from plv8, on postgres slack channel on March 27, 2023.
I quote:
do pgRouting developers need MSVC?
Statistics
Less code to maintain. 👍
Currently (in develop)
With this PR:
Summary:
TODO
todo or not todo:
@pgRouting/admins