Implement fast single-element assignment
- Dominant language
- C++
- Stars
- 1.9k
- Forks
- 164
- Avg merge
- 7h 31m
- Merged PRs (30d)
- 1
Description
Similar to #1306 (fast single-element getter), we want to speed up the
```
DT[i, j] = x
```
call, for the case when `i` and `j` are integers, and `x` is a python primitive type, such as `int`, `float` or `str`. The reason why this case is important is the same as with #1306: creation / modification of a frame when vector operations are not feasible.
One other thing to consider here is what to in cases when the value being assigned does not match the type (or magnitude) of the column. In this case I'm suggesting to use the following rules:
* Ltype of a column may not change;
* Stype changes (within same ltype) are allowed, for example:
- `str32` to `str64`;
- `int8` to `int32`, etc;
- `float32` to `float64` (only when the new value has magnitude larger than MAXFLOAT);
* In all other cases an exception should be thrown.
Contributor guide
Assessment
This issue has not been assessed yet.