message: try whistling this
diff: @@ -965,26 +965,26 @@ struct DuckDBPyConnection {
  args.push_back(Value::DOUBLE(ele.cast<double>()));
  } else if (py::isinstance<py::str>(ele)) {
  args.push_back(Value(ele.cast<string>()));
  - } else if (ele.get_type().is(datetime_time)) {
  + } else if (py::isinstance(ele, datetime_datetime)) {
  + auto year = PyDateTime_GET_YEAR(ele.ptr());
  + auto month = PyDateTime_GET_MONTH(ele.ptr());
  + auto day = PyDateTime_GET_DAY(ele.ptr());
  + auto hour = PyDateTime_DATE_GET_HOUR(ele.ptr());
  + auto minute = PyDateTime_DATE_GET_MINUTE(ele.ptr());
  + auto second = PyDateTime_DATE_GET_SECOND(ele.ptr());
  + auto millis = PyDateTime_DATE_GET_MICROSECOND(ele.ptr()) / 1000;
  + args.push_back(Value::TIMESTAMP(year, month, day, hour, minute, second, millis));
  + } else if (py::isinstance(ele, datetime_time)) {
  auto hour = PyDateTime_TIME_GET_HOUR(ele.ptr());
  auto minute = PyDateTime_TIME_GET_MINUTE(ele.ptr());
  auto second = PyDateTime_TIME_GET_SECOND(ele.ptr());
  auto millis = PyDateTime_TIME_GET_MICROSECOND(ele.ptr()) / 1000;
  args.push_back(Value::TIME(hour, minute, second, millis));
  - } else if (ele.get_type().is(datetime_date)) {
  + } else if (py::isinstance(ele, datetime_date)) {
  auto year = PyDateTime_GET_YEAR(ele.ptr());
  auto month = PyDateTime_GET_MONTH(ele.ptr());
  auto day = PyDateTime_GET_DAY(ele.ptr());
  args.push_back(Value::DATE(year, month, day));
  - } else if (ele.get_type().is(datetime_datetime)) {
  - auto year = PyDateTime_GET_YEAR(ele.ptr());
  - auto month = PyDateTime_GET_MONTH(ele.ptr());
  - auto day = PyDateTime_GET_DAY(ele.ptr());
  - auto hour = PyDateTime_DATE_GET_HOUR(ele.ptr());
  - auto minute = PyDateTime_DATE_GET_MINUTE(ele.ptr());
  - auto second = PyDateTime_DATE_GET_SECOND(ele.ptr());
  - auto millis = PyDateTime_DATE_GET_MICROSECOND(ele.ptr()) / 1000;
  - args.push_back(Value::TIMESTAMP(year, month, day, hour, minute, second, millis));
  } else {
  throw runtime_error("unknown param type " + py::str(ele.get_type()).cast<string>());
  }
  