Bug description

"Allow file uploads to database" is : - present when editing a connection - is missing when creating a connection

Screenshots/recordings

Import CSV option is missing Import CSV option is present

Superset version

4.0.2

Python version

3.9

Node version

16

Browser

Chrome

Additional context

No response

Checklist

  • [X] I have searched Superset docs and Slack and didn't find a solution to my problem.
  • [X] I have searched the GitHub issue tracker and didn't find a similar bug report.
  • [ ] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Comment From: dosubot[bot]

The visibility of the "Allow file uploads to database" option in the connection creation dialog is controlled by the condition isFileUploadSupportedByEngine. This condition checks if the database engine supports file uploads. If isFileUploadSupportedByEngine is true, the option is displayed [1].

If the option is missing during the creation of a connection but present during editing, it might be due to the database engine not supporting file uploads at the time of creation, or the condition not being met for some reason. You might want to verify if the database engine supports file uploads and ensure that the condition is correctly evaluated during the creation process.

To continue talking to Dosu, mention @dosu.

Comment From: rusackas

Assigning to @betodealmeida and @yousoph, but @sadpandajoe might be interested here as well.

Comment From: sadpandajoe

do you mean "Allow file uploads to database"? Neither screenshots have a CSV option listed in them

Comment From: xavier-GitHub76

Yes, it's "Allow file uploads to database". My screenshots mention "CSV import" but it's too limited

Comment From: xavier-GitHub76

I'm testing the 4.1.1 version. This issue is present in this version

Comment From: rusackas

Still present in 4.1.2. @sadpandajoe @Vitor-Avila @betodealmeida any of you know a reason for this? I see that it's rendered (or not) based on db engine, but maybe there's a reason it still hasn't determined that by this phase of the connection UI?

Comment From: Vitor-Avila

@rusackas my guess would be that React context does not know the DB engine for the new connection at that moment. It's intended to be per-engine as not all engines have methods for file uploads. I wonder if the concern is that until the user clicks on Finish they can still potentially change the engine for the connection?

Comment From: rusackas

Keeping this open, as it still appears to be the case.