-
Notifications
You must be signed in to change notification settings - Fork 145
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
RFC: Allow SPI Calls from inside of Multicorn Python #224
Open
rbiro
wants to merge
62
commits into
Segfault-Inc:master
Choose a base branch
from
rbiro:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
…mory leak. --------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
… the crash is. --------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
Turned free and execute back on. --------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
… (it is called.) --------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
connect and disconnect from SPI. --------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
trying to convert from python to a datum. --------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
Apparently they do not any more. Added some asserts to catch the related problems early.
Hello, I'm not sure what you are trying to provide here, but at least on python3 I just added the fact that we can import the plpy module directly from Multicorn. Maybe that would make things simpler if you could use plpy.execute ? |
--------- BEGIN META VARIABLES -------- Project : Task : Done : --------- END META VARIABLES --------
We're still on python2, but plpy would be a better solution.
Ross
…On Tue, Mar 10, 2020 at 2:14 AM Ronan Dunklau ***@***.***> wrote:
Hello,
I'm not sure what you are trying to provide here, but at least on python3
I just added the fact that we can import the plpy module directly from
Multicorn. Maybe that would make things simpler if you could use
plpy.execute ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#224?email_source=notifications&email_token=AFA35FJPR5FMNYS3EXD6F63RGXLC7A5CNFSM4HSNUE3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOKE5XQ#issuecomment-596922078>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AFA35FMDFW7S7CQACU24AUTRGXLC7ANCNFSM4HSNUE3A>
.
--
*Ross Biro* | CTO
_______________________________________
O: 240-380-2231| F: 240-556-0361 <(240)%20556-0361>
The Interface Financial Group <https://interfacefinancial.com/>
CONFIDENTIALITY NOTICE: This email message, including any attachments, is
for the sole use of the intended recipient/s and may contain confidential &
privileged information. Any unauthorized review, use, disclosure, or
distribution is prohibited. If you are not the intended recipient, please
contact the sender by reply email and destroy all copies of the original
messages and any attachments.
|
shouldn't crash and we should get some information to help with debugging.
Check for key being NULL before trying to print it.
Am I missing something? If multicorn is called outside of a plpython
function, then anytime pyly.prepare or probably others is called, you get
an error.
ERROR: Error in python: InternalError
DETAIL: no Python function is currently executing
It looks to me like the context is initialized in plpy_main.c by a static
function PLy_push_execution_context().
I don't see a way to work around that without modifying plpy_main.c.
Ross
On Tue, Mar 10, 2020 at 8:26 AM Ross Biro <rbiro@interfacefinancial.com>
wrote:
… We're still on python2, but plpy would be a better solution.
Ross
On Tue, Mar 10, 2020 at 2:14 AM Ronan Dunklau ***@***.***>
wrote:
> Hello,
>
> I'm not sure what you are trying to provide here, but at least on python3
> I just added the fact that we can import the plpy module directly from
> Multicorn. Maybe that would make things simpler if you could use
> plpy.execute ?
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <#224?email_source=notifications&email_token=AFA35FJPR5FMNYS3EXD6F63RGXLC7A5CNFSM4HSNUE3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOKE5XQ#issuecomment-596922078>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AFA35FMDFW7S7CQACU24AUTRGXLC7ANCNFSM4HSNUE3A>
> .
>
--
*Ross Biro* | CTO
_______________________________________
O: 240-380-2231| F: 240-556-0361 <(240)%20556-0361>
The Interface Financial Group <https://interfacefinancial.com/>
CONFIDENTIALITY NOTICE: This email message, including any attachments, is
for the sole use of the intended recipient/s and may contain confidential &
privileged information. Any unauthorized review, use, disclosure, or
distribution is prohibited. If you are not the intended recipient, please
contact the sender by reply email and destroy all copies of the original
messages and any attachments.
--
*Ross Biro* | CTO
_______________________________________
O: 240-380-2231| F: 240-556-0361 <(240)%20556-0361>
The Interface Financial Group <https://interfacefinancial.com/>
CONFIDENTIALITY NOTICE: This email message, including any attachments, is
for the sole use of the intended recipient/s and may contain confidential &
privileged information. Any unauthorized review, use, disclosure, or
distribution is prohibited. If you are not the intended recipient, please
contact the sender by reply email and destroy all copies of the original
messages and any attachments.
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
** Not suitable for merging **
Here are a couple of simple changes that allow making SPI calls from inside of multicorn. We use them to do field translation as well as update tables based on the results of api calls to other data storage providers. We are about to start pounding on them.
While we are doing the final debugging and testing, I wanted to get an idea of the interest in having them cleaned up and prepared for a merge.
Please comment here on your interest and about specific cleanups you think are necessary. e.g. should the Statement class be moved out to it's own file? Would using the standard pypl extensions be better than these extensions? etc.