Maksim Zhuravkov created IGNITE-22040:
-----------------------------------------

             Summary: KeyValue/RecordView. Improve error messages for 
constraint violation errors. 
                 Key: IGNITE-22040
                 URL: https://issues.apache.org/jira/browse/IGNITE-22040
             Project: Ignite
          Issue Type: Improvement
          Components: sql
            Reporter: Maksim Zhuravkov


Examples of top level error messages, when user code attempts to write NULL to 
not nullable field via KeyValueView/RecordView API:

{code}
KeyValueView<Tuple>:
Failed to set column (null was passed, but column is not nullable): [col=Column 
[rowPosition=1, keyPosition=-1, valuePosition=0, colocationPosition=-1, 
name=VAL, type=NativeType [name=INT32, sizeInBytes=4, fixed=true], 
nullable=false]]

KeyValueView<Integer,Integer>:
Failed to write field [id=1] //  with a error message like in 
KeyValueView<Tuple> case somewhere down the stack

KeyValueView<Integer, Val>:
Failed to write field [id=0]  // with a error message like in 
KeyValueView<Tuple> case somewhere down the stack

RecordView<Tuple>:
Failed to set column (null was passed, but column is not nullable): [col=Column 
[rowPosition=1, keyPosition=-1, valuePosition=0, colocationPosition=-1, 
name=VAL, type=NativeType [name=INT32, sizeInBytes=4, fixed=true], 
nullable=false]]

RecordView<Rec>:
Failed to write field [id=1]  // with a error message like in RecordView<Tuple> 
case somewhere down the stack
{code}

Meanwhile NOT NULL constraint violation error via SQL look like this:
{code}
Column 'MY_COL' does not allow NULLs.
{code}

Let's improve error reporting so that error messages for KV/Record View API 
would be similar to SQL ones.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to