Commit 67670e9
cbindlist, mergelist (#4370)
* cbindlist
* add cbind by reference, timing
* R prototype of mergelist
* wording
* use lower overhead funs
* stick to int32 for now, correct R_alloc
* bmerge C refactor for codecov and one loop for speed
* address revealed codecov gaps
* refactor vecseq for codecov
* seqexp helper, some alloccol export on C
* bmerge codecov, types handled in R bmerge already
* better comment seqexp
* bmerge mult=error #655
* multiple new C utils
* swap if branches
* explain new C utils
* comments mostly
* reduce conflicts to PR #4386
* comment C code
* address multiple matches during update-on-join #3747
* Revert "address multiple matches during update-on-join #3747"
This reverts commit b64c0c3.
* merge.dt has temporarily mult arg, for testing
* minor changes to cbindlist c
* dev mergelist, for single pair now
* add quiet option to cc()
* mergelist tests
* add check for names to perhaps.dt
* rm mult from merge.dt method
* rework, clean, polish multer, fix righ and full joins
* make full join symmetric
* mergepair inner function to loop on
* extra check for symmetric
* mergelist manual
* ensure no df-dt passed where list expected
* comments and manual
* handle 0 cols tables
* more tests
* more tests and debugging
* move more logic closer to bmerge, simplify mergepair
* more tests
* revert not used changes
* reduce not needed checks, cleanup
* copy arg behavior, manual, no tests yet
* cbindlist manual, export both
* cleanup processing bmerge to dtmatch
* test function match order for easier preview
* vecseq gets short-circuit
* batch test allow browser
* big cleanup
* remmove unneeded stuff, reduce diff
* more cleanup, minor manual fixes
* add proper test scripts
* comment out not used code for coverage
* more tests, some nocopy opts
* rename sql test script, should fix codecov
* simplify dtmatch inner branch
* more precise copy, now copy only T or F
* unused arg not yet in api, wording
* comments and refer issues
* codecov
* hasindex coverage
* codecov gap
* tests for join using key, cols argument
* fix missing import forderv
* more tests, improve missing on handling
* more tests for order of inner and full join for long keys
* new allow.cartesian option, #4383, #914
* reduce diff, improve codecov
* reduce diff, comments
* need more DT, not lists, mergelist 3+ tbls
* proper escape heavy check
* unit tests
* more tests, address overalloc failure
* mergelist and cbindlist retain index
* manual, examples
* fix manual
* minor clarify in manual
* retain keys, right outer join for snowflake schema joins
* duplicates in cbindlist
* recycling in cbindlist
* escape 0 input in copyCols
* empty input handling
* closing cbindlist
* vectorized _on_ and _join.many_ arg
* rename dtmatch to dtmerge
* vectorized args: how, mult
push down input validation
add support for cross join, semi join, anti join
* full join, reduce overhead for mult=error
* mult default value dynamic
* fix manual
* add "see details" to Rd
* mention shared on in arg description
* amend feedback from Michael
* semi and anti joins will not reorder x columns
* spelling, thx to @jan-glx
* check all new funs used and add comments
* bugfix, sort=T needed for now
* Update NEWS.md
* NEWS placement
* numbering
* ascArg->order
* attempt to restore from master
* Update to stopf() error style
* Need isFrame for now
* More quality checks: any(!x)->!all(x); use vapply_1{b,c,i}
* really restore from master
* try to PROTECT() before duplicate()
* update error message in test
* appease the rchk gods
* extraneous space
* missing ';'
* use catf
* simplify perhapsDataTableR
* move sqlite.Rraw.manual into other.Rraw
* simplify for loop
* first pass at publishable NEWS
* ws
* failed merge
* failed merge pt ii
* shrink diff
* pass at style
* Ditch mergelist(copy=) for setmergelist
* Put cols=NULL default into the signature to avoid missing() quirks
* Explain 'NULL' in cols= in Rd
* First pass on grammar for \arguments
* finish style+grammar pass
* restore 'join.many' to signature
* use 'try' for known error in example
* tweak examples
* Add \references for star/snowflake schema terminology
* fix test error messages, remove extra '[]' from brackify errors
* rm unreachable error
* coverage
* first pass at local() style tests
* linted style
* semicolons, spacing
* rearrange tests using options to be in nested local() calls
* restore new 'l' for rearranged tests; re-capture test using 'l' in local()
* Jan's clarifying comment
* Another pass at style, annotation; remove some duplicate tests
* more refinement of test structure, comments
* finished mergelist.Rraw
* more whitespace in constructed SQL queries
* style, continued
* more formal styling with lintr
* update reference to other.Rraw tests
* return output invisibly for set* functions
* mention setmergelist in NEWS
* numbering
---------
Co-authored-by: Michael Chirico <michaelchirico4@gmail.com>
Co-authored-by: Michael Chirico <chiricom@google.com>1 parent 8ea8f72 commit 67670e9
File tree
8 files changed
+1525
-7
lines changed- R
- inst/tests
- man
- src
8 files changed
+1525
-7
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
| 62 | + | |
62 | 63 | | |
63 | 64 | | |
64 | 65 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
51 | 55 | | |
52 | 56 | | |
53 | 57 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
221 | 221 | | |
222 | 222 | | |
223 | 223 | | |
224 | | - | |
| 224 | + | |
225 | 225 | | |
226 | 226 | | |
227 | 227 | | |
| |||
520 | 520 | | |
521 | 521 | | |
522 | 522 | | |
| 523 | + | |
523 | 524 | | |
524 | 525 | | |
525 | 526 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
157 | 157 | | |
158 | 158 | | |
159 | 159 | | |
160 | | - | |
| 160 | + | |
161 | 161 | | |
162 | | - | |
| 162 | + | |
163 | 163 | | |
164 | 164 | | |
165 | 165 | | |
| |||
203 | 203 | | |
204 | 204 | | |
205 | 205 | | |
206 | | - | |
| 206 | + | |
207 | 207 | | |
208 | 208 | | |
209 | 209 | | |
| |||
257 | 257 | | |
258 | 258 | | |
259 | 259 | | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
260 | 358 | | |
261 | 359 | | |
262 | 360 | | |
| |||
0 commit comments