@amychen1776 and I were eventually able to connect but experienced the following pain points, that are fortunately fixable. In addition to the feedback below, I think it'd be a great idea to have some singlestore users go through the paces of connecting dbt to singlestore.
default vs optional credential values
if the default port is 3306, we should probably say in the docs that it's optional. especially if 99% of the time the port is 3306. Also does it make sense to have root be the default username? Why is the default database Optional but also None? shouldn't it be required?
profile keys synonyms
https://github.com/dbt-labs/docs.getdbt.com/pull/1044 says the profile should have user but the adapter only acceptsusername right now. while the docs should be accurate, it's also an easily remediable situation with the ALIASES dictionary.
friendlier error messages
in the above example where a user used user instead of username, the below error message was returned. Here's some examples of how dbt-firebolt does more user-friendly error-handling.
>Runtime Error
Database Error
(1045, "Access denied for user 'root'@'100.97.252.127' (using password: YES)")
@amychen1776 and I were eventually able to connect but experienced the following pain points, that are fortunately fixable. In addition to the feedback below, I think it'd be a great idea to have some singlestore users go through the paces of connecting dbt to singlestore.
default vs optional credential values
if the default port is 3306, we should probably say in the docs that it's optional. especially if 99% of the time the port is 3306. Also does it make sense to have
root
be the default username? Why is the default databaseOptional
but alsoNone
? shouldn't it be required?profile keys synonyms
https://github.com/dbt-labs/docs.getdbt.com/pull/1044 says the profile should have
user
but the adapter only acceptsusername
right now. while the docs should be accurate, it's also an easily remediable situation with theALIASES
dictionary.friendlier error messages
in the above example where a user used
user
instead ofusername
, the below error message was returned. Here's some examples of how dbt-firebolt does more user-friendly error-handling.https://github.com/memsql/dbt-singlestore/blob/ba744c898bb7744b88c380d2d883970f543bc4e5/dbt/adapters/singlestore/connections.py#L19-L39