Octonica / ClickHouseClient

ClickHouse .NET Core driver
Apache License 2.0
138 stars 23 forks source link

BulkCopy cannot insert `NULL` into nullable `Enum8` and `Enum16` columns #64

Closed MaceWindu closed 6 months ago

MaceWindu commented 2 years ago
Octonica.ClickHouseClient.Exceptions.ClickHouseHandledException
  Message=Value cannot be null. (Parameter 'key')
  StackTrace:
   at Octonica.ClickHouseClient.ClickHouseTcpClient.Session.<SendTable>d__17.MoveNext()
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.ValueTaskAwaiter.GetResult()
   at Octonica.ClickHouseClient.ClickHouseColumnWriter.<SendTable>d__31.MoveNext()
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Octonica.ClickHouseClient.ClickHouseColumnWriter.<WriteTable>d__30.MoveNext()
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Octonica.ClickHouseClient.Utils.TaskHelper.WaitNonAsyncTask(ValueTask task)

  This exception was originally thrown at this call stack:
    System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument)
    Octonica.ClickHouseClient.ClickHouseTcpClient.Session.WriteTable.AnonymousMethod__0(System.Memory<byte>)
    Octonica.ClickHouseClient.ClickHouseBinaryProtocolWriter.WriteRaw(System.Func<System.Memory<byte>, Octonica.ClickHouseClient.Protocol.SequenceSize>)
    Octonica.ClickHouseClient.ClickHouseTcpClient.Session.WriteTable(Octonica.ClickHouseClient.Protocol.IClickHouseTableWriter)
    Octonica.ClickHouseClient.ClickHouseTcpClient.Session.SendTable(Octonica.ClickHouseClient.Protocol.IClickHouseTableWriter, bool, System.Threading.CancellationToken)

Inner Exception 1:
ArgumentNullException: Value cannot be null. (Parameter 'key')
MaceWindu commented 2 years ago

I also see this null value check https://github.com/Octonica/ClickHouseClient/blob/master/src/Octonica.ClickHouseClient/Types/Enum8TypeInfo.cs#L74-L75, which doesn't look correct - nullable enums supported by ClickHouse

MaceWindu commented 6 months ago

Closing, fixed long time ago