Skip to content
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

Promise based APIs #3

Open
bforbis opened this issue Jun 15, 2018 · 12 comments
Open

Promise based APIs #3

bforbis opened this issue Jun 15, 2018 · 12 comments
Assignees
Labels
enhancement The issue is a request for improvement or a new feature status-triage_done Initial triage done, will be further handled by the driver team

Comments

@bforbis
Copy link

bforbis commented Jun 15, 2018

Pretty much all of the APIs for the snowflake SDK are callback based, which doesn't play well with a lot of modern NodeJS applications which are moving towards promise based APIs and async/await.

A promise based API can be added in with a non breaking change by checking for the existence of a passed in callback.

@howryu
Copy link

howryu commented Jun 16, 2018

Like @smtakeda said, we don't have plan for that yet. However, I do see some other people build a wrapper on top of Snowflake node js driver using promise based apis. However, please be aware that it is not supported by Snowflake currently. Use at your own risk.

https://www.npmjs.com/package/snowflake-promise

@bforbis
Copy link
Author

bforbis commented Jun 17, 2018

I did see that library, but decided against using it because I don't know how much testing it has had. I would rather see promise APIs in the official SDK here. If you add the source to this github repo, I am sure that users would be happy to make contributions.

@smtakeda
Copy link
Contributor

smtakeda commented Nov 3, 2018

The code is published.

@smtakeda smtakeda added the help wanted Extra attention is needed label Nov 7, 2018
@natesilva
Copy link

@smtakeda Are you saying the SDK now supports Promises?

@smtakeda
Copy link
Contributor

@natesilva no it is not. I meant NodeJS code is on github.

I'm holding off the change for Promise until either I get familiar with NodeJS, we hire an NodeJS dev or somebody steps in the change.

@natesilva
Copy link

Oh I see. So now you can take pull requests. That’s good to know, and thanks for the update.

@dylburger
Copy link

I thought some of y'all might benefit from some code I wrote to wrap the connection.connect and connection.execute methods with Promises: https://pipedream.com/@dylburger/promise-based-api-wrapper-for-snowflake-node-sdk-p_XNMCRn .

Not a solution for the full library but I happened to only need these two methods in my own code and this worked well for that narrow use case.

@rombat
Copy link

rombat commented Jan 19, 2023

@dylburger you're a lifesaver
Seriously, it's really a shame that in 2023, a still updated sdk is still using callbacks

@iamabs2001
Copy link

any solution ?

@sfc-gh-dszmolka sfc-gh-dszmolka added enhancement The issue is a request for improvement or a new feature status-in_progress Issue is worked on by the driver team and removed help wanted Extra attention is needed labels Mar 23, 2023
@sfc-gh-anugupta
Copy link
Collaborator

Hi All, we plan to add the support for promise based on the NodeJS SDK, and it's in our backlog. I dont have any ETA yet, but we will prioritize it as we do the next quarter planning. We will keep this thread updated. Thanks all for the patience.

@sfc-gh-dszmolka sfc-gh-dszmolka removed the status-in_progress Issue is worked on by the driver team label Dec 28, 2023
@sfc-gh-dszmolka sfc-gh-dszmolka added the status-triage_done Initial triage done, will be further handled by the driver team label Feb 11, 2024
@gpierrick
Copy link

Any updates on this? The fact that this was announced in Jul 2023 and we're in Feb 2024 now.

@sfc-gh-dszmolka
Copy link
Collaborator

I'm afraid there isn't any more concrete timeline for the implementation which can be shared for now but I'm syncing internally with the team and will update this thread once anything interesting becomes available. We know this is the oldest open requirement and required by many, and I can confirm it is on the table for the dev team - what I cannot confirm at this moment is the timeline for implementation.

At the same time I would like to encourage everyone who is waiting for this improvement to be implemented and is already a Snowflake customer: please reach out to your account team and word to them how important this feature would be for you. That could help reprioritize a particular feature's implementation.

Thank you for bearing with us !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement The issue is a request for improvement or a new feature status-triage_done Initial triage done, will be further handled by the driver team
Projects
None yet
Development

No branches or pull requests