Skip to content
This repository has been archived by the owner on Jun 4, 2024. It is now read-only.

Write a wiki page describing what's needed to integrate a DB connector into Falcon #266

Closed
n-riesco opened this issue Nov 20, 2017 · 5 comments

Comments

@n-riesco
Copy link
Contributor

n-riesco commented Nov 20, 2017

Relevant to:

@n-riesco
Copy link
Contributor Author

See #186 (comment)

@shannonlal
Copy link
Contributor

The following is instructions from @n-riesco on issue #261

  • backend/persistent/datastores/Datastores.js
    //The following is the file that should connect to and query the interface
  • backend/persistent/datastores/NewConnection.js
  • app/constants/constants.js
  • app/images
  • app/actions/sessions.js
  • app/components/Settings/Tabs/Tab.react.js
  • app/components/Settings/Settings.react.js
    //Unit testing for the new connection interface
  • test/backend/datastores.newconnection.spec.js

Backend Connection file

function query(queryObject, connection); 

function connect(connection);

function schemas(connection);

function tables(connection);

//Question are these required?
function files(connection);

function storage(connection); 

Questions

  1. For the backend connection file does this look ok? If it does not need the files or storage functions should they be stubbed out or just not defined?

  2. How should this be document? I know this should be added to the Wiki; however, I think that a developer would need to be able to directly commit into the project instead of a Pull Request? Could we put the instructions in a NEW_CONNECTION.md file that can be checked in and review?

@n-riesco
Copy link
Contributor Author

  1. For the backend connection file does this look ok? If it does not need the files or storage functions should they be stubbed out or just not defined?

SQL connectors must implement: connect, query, tables and schemas.

Special connectors (like S3, Apache Drill and Elasticsearch) have their own interfaces (files, storage, listS3files) and require more changes than those I've described above. In the long term, we'll have to think about handling these special cases in a more general way.

  1. How should this be document? I know this should be added to the Wiki; however, I think that a developer would need to be able to directly commit into the project instead of a Pull Request? Could we put the instructions in a NEW_CONNECTION.md file that can be checked in and review?

OK, let's go with NEW_CONNECTION.md. If maintaining this file becomes a burden, we will re-think how distribute to this documentation.

Please, if you create this file, could you add a warning advising the connector API is likely to change? (the connector API isn't mature enough for us to make any promises of future compatibility).

@chriddyp
Copy link
Member

OK, let's go with NEW_CONNECTION.md. If maintaining this file becomes a burden, we will re-think how distribute to this documentation.

Can we add or link this to the standard CONTRIBUTING.md file? https://github.com/plotly/falcon-sql-client/blob/master/CONTRIBUTING.md

@n-riesco
Copy link
Contributor Author

Closed via #331

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants