cloud-fan commented on issue #25747: [SPARK-29039][SQL] centralize the catalog 
and table lookup logic
URL: https://github.com/apache/spark/pull/25747#issuecomment-536152638
 
 
   Hi @rdblue , let me make the problem more clear. So what you proposed is 
kind of
   ```
   catalog = lookup catalog
   if (catalog is not session catalog) {
     convert to v2 command with UnresolvedRelation
   } else {
     table = lookup table from the catalog
     if (table is not v1 table) {
       convert to v2 command with DataSourceV2Relation
     } else {
       convert to v1 command
     }
   }
   ```
   This is definitely corrected, but we duplicate the code of converting to v2 
commands. Since we are going to add more V2 commands (REFRESH TABLE, ANALYZE 
TABLE, etc.), this may slow down our development because we need to duplicate 
the code.
   
   This PR picks a simpler approach:
   ```
   catalog = lookup catalog
   table = lookup table from the catalog
   if (table is not v1 table) {
     convert to v2 command with DataSourceV2Relation
   } else {
     convert to v1 command
   }
   ```
   Note that `V1Table` is private, so this approach is effectively the same as 
your proposal.
   
   I think it's OK to do catalog and table resolution together. Do you have 
some concerns about what issues this can bring?

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to