You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2022/04/28 16:54:34 UTC

[GitHub] [arrow-datafusion] andygrove opened a new pull request, #2371: Schema error

andygrove opened a new pull request, #2371:
URL: https://github.com/apache/arrow-datafusion/pull/2371

   # Which issue does this PR close?
   
   <!--
   We generally require a GitHub issue to be filed for all bug fixes and enhancements and this helps us generate change logs for our releases. You can link an issue to this PR using the GitHub syntax. For example `Closes #123` indicates that this PR will close issue #123.
   -->
   
   Closes https://github.com/apache/arrow-datafusion/issues/2370
   
    # Rationale for this change
   <!--
    Why are you proposing this change? If this is already explained clearly in the issue then this section is not needed.
    Explaining clearly why changes are proposed helps reviewers understand your changes and offer better suggestions for fixes.  
   -->
   
   I am in the process of fixing what I view as tech debt in some of our code for looking up fields and expressions in schemas and as a first step I would like better error information.
   
   # What changes are included in this PR?
   <!--
   There is no need to duplicate the description in the issue here but it is sometimes worth providing a summary of the individual changes in this PR.
   -->
   
   - Introduce new `DataFusionError::SchemaError` with an enum of possible errors instead of strings. This allows the caller to handle the various errors differently.
   
   # Are there any user-facing changes?
   <!--
   If there are user-facing changes then we may require documentation to be updated before approving the PR.
   -->
   
   Yes, error type is updated.
   
   <!--
   If there are any breaking changes to public APIs, please add the `api change` label.
   -->
   


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-datafusion] andygrove merged pull request #2371: Introduce new `DataFusionError::SchemaError` type

Posted by GitBox <gi...@apache.org>.
andygrove merged PR #2371:
URL: https://github.com/apache/arrow-datafusion/pull/2371


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-datafusion] andygrove commented on pull request #2371: Introduce new `DataFusionError::SchemaError` type

Posted by GitBox <gi...@apache.org>.
andygrove commented on PR #2371:
URL: https://github.com/apache/arrow-datafusion/pull/2371#issuecomment-1112633036

   Thanks for all the reviews @alamb !


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-datafusion] alamb commented on a diff in pull request #2371: Introduce new `DataFusionError::SchemaError` type

Posted by GitBox <gi...@apache.org>.
alamb commented on code in PR #2371:
URL: https://github.com/apache/arrow-datafusion/pull/2371#discussion_r861226368


##########
datafusion/common/src/error.rs:
##########
@@ -62,8 +62,11 @@ pub enum DataFusionError {
     // This error is raised when one of those invariants is not verified during execution.
     Internal(String),
     /// This error happens whenever a plan is not valid. Examples include
-    /// impossible casts, schema inference not possible and non-unique column names.
+    /// impossible casts.
     Plan(String),
+    /// This error happens with schema-related errors, such as schema inference not possible

Review Comment:
   👍 



##########
datafusion/common/src/error.rs:
##########
@@ -78,6 +81,70 @@ pub enum DataFusionError {
     JITError(ModuleError),
 }
 
+/// Schema-related errors
+#[derive(Debug)]
+pub enum SchemaError {
+    /// Schema contains qualified and unqualified field with same unqualified name

Review Comment:
   ```suggestion
       /// Schema contains a (possibly) qualified and unqualified field with same unqualified name
   ```



##########
datafusion/core/src/sql/planner.rs:
##########
@@ -3740,7 +3740,7 @@ mod tests {
         let err = logical_plan(sql).expect_err("query should have failed");
         assert_eq!(
             "Plan(\"Column Int64(1) (type: Int64) is \
-            not compatible wiht column IntervalMonthDayNano\
+            not compatible with column IntervalMonthDayNano\

Review Comment:
   ❤️ 



-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org