potiuk commented on issue #33442:
URL: https://github.com/apache/airflow/issues/33442#issuecomment-1685228385

   > > This issue with any JDBC URL with colon in it, which is a valid 
character.
   > 
   > According to various standards and proposals, the scheme should not 
contain a colon (among many other characters). For example, RFC 3986 says:
   > 
   
   I thought the same initially @uranusjr but I did a bit more research and 
looking for similar problems raised. Actually what I found is that RFC 3986 
says something different - look at my comment 
https://github.com/apache/airflow/pull/33531#pullrequestreview-1585719212 
   
   In this case this is a perfectly valid URI according to RFC 3986 but 
scheme/path are derived this way:
   
   ```
   scheme = jdbc
   path = postgres://10.0.0.1
   ```
   
   All the other parts of the URI (authority, query, fragments) are missing in 
such case. This ASCII visualisation from the RFC explains it very nicely:
   
   ```
     The following are two example URIs and their component parts:
   
            foo://example.com:8042/over/there?name=ferret#nose
            \_/   \______________/\_________/ \_________/ \__/
             |           |            |            |        |
          scheme     authority       path        query   fragment
             |   _____________________|__
            / \ /                        \
            urn:example:animal:ferret:nose
   ```
   
   The only confusing (but otherwise perfectly valid according to RFC) thing is 
that the "path" contains "://" which mitght be mistaken for separator after the 
scheme, but it is - in fact - part of the path. We are iterating on a solution 
in #33531.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to