Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit8b5c6a5

Browse files
committed
Replace gratuitous memmove() with memcpy()
The index access methods all had similar code that copied thepassed-in scan keys to local storage. They all used memmove() forthat, which is not wrong, but it seems confusing not to use memcpy()when that would work. Presumably, this was all once copied fromancient code and never adjusted.Discussion:https://www.postgresql.org/message-id/flat/f8c739d9-f48d-4187-b214-df3391ba41ab@eisentraut.org
1 parent8422656 commit8b5c6a5

File tree

7 files changed

+9
-26
lines changed

7 files changed

+9
-26
lines changed

‎contrib/bloom/blscan.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,7 @@ blrescan(IndexScanDesc scan, ScanKey scankey, int nscankeys,
5555
so->sign=NULL;
5656

5757
if (scankey&&scan->numberOfKeys>0)
58-
{
59-
memmove(scan->keyData,scankey,
60-
scan->numberOfKeys*sizeof(ScanKeyData));
61-
}
58+
memcpy(scan->keyData,scankey,scan->numberOfKeys*sizeof(ScanKeyData));
6259
}
6360

6461
/*

‎src/backend/access/brin/brin.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -956,8 +956,7 @@ brinrescan(IndexScanDesc scan, ScanKey scankey, int nscankeys,
956956
*/
957957

958958
if (scankey&&scan->numberOfKeys>0)
959-
memmove(scan->keyData,scankey,
960-
scan->numberOfKeys*sizeof(ScanKeyData));
959+
memcpy(scan->keyData,scankey,scan->numberOfKeys*sizeof(ScanKeyData));
961960
}
962961

963962
/*

‎src/backend/access/gin/ginscan.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -447,10 +447,7 @@ ginrescan(IndexScanDesc scan, ScanKey scankey, int nscankeys,
447447
ginFreeScanKeys(so);
448448

449449
if (scankey&&scan->numberOfKeys>0)
450-
{
451-
memmove(scan->keyData,scankey,
452-
scan->numberOfKeys*sizeof(ScanKeyData));
453-
}
450+
memcpy(scan->keyData,scankey,scan->numberOfKeys*sizeof(ScanKeyData));
454451
}
455452

456453

‎src/backend/access/gist/gistscan.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -233,8 +233,7 @@ gistrescan(IndexScanDesc scan, ScanKey key, int nkeys,
233233
fn_extras[i]=scan->keyData[i].sk_func.fn_extra;
234234
}
235235

236-
memmove(scan->keyData,key,
237-
scan->numberOfKeys*sizeof(ScanKeyData));
236+
memcpy(scan->keyData,key,scan->numberOfKeys*sizeof(ScanKeyData));
238237

239238
/*
240239
* Modify the scan key so that the Consistent method is called for all
@@ -289,8 +288,7 @@ gistrescan(IndexScanDesc scan, ScanKey key, int nkeys,
289288
fn_extras[i]=scan->orderByData[i].sk_func.fn_extra;
290289
}
291290

292-
memmove(scan->orderByData,orderbys,
293-
scan->numberOfOrderBys*sizeof(ScanKeyData));
291+
memcpy(scan->orderByData,orderbys,scan->numberOfOrderBys*sizeof(ScanKeyData));
294292

295293
so->orderByTypes= (Oid*)palloc(scan->numberOfOrderBys*sizeof(Oid));
296294

‎src/backend/access/hash/hash.c

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -415,11 +415,7 @@ hashrescan(IndexScanDesc scan, ScanKey scankey, int nscankeys,
415415

416416
/* Update scan key, if a new one is given */
417417
if (scankey&&scan->numberOfKeys>0)
418-
{
419-
memmove(scan->keyData,
420-
scankey,
421-
scan->numberOfKeys*sizeof(ScanKeyData));
422-
}
418+
memcpy(scan->keyData,scankey,scan->numberOfKeys*sizeof(ScanKeyData));
423419

424420
so->hashso_buc_populated= false;
425421
so->hashso_buc_split= false;

‎src/backend/access/nbtree/nbtree.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -404,9 +404,7 @@ btrescan(IndexScanDesc scan, ScanKey scankey, int nscankeys,
404404
* Reset the scan keys
405405
*/
406406
if (scankey&&scan->numberOfKeys>0)
407-
memmove(scan->keyData,
408-
scankey,
409-
scan->numberOfKeys*sizeof(ScanKeyData));
407+
memcpy(scan->keyData,scankey,scan->numberOfKeys*sizeof(ScanKeyData));
410408
so->numberOfKeys=0;/* until _bt_preprocess_keys sets it */
411409
so->numArrayKeys=0;/* ditto */
412410
}

‎src/backend/access/spgist/spgscan.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -384,16 +384,14 @@ spgrescan(IndexScanDesc scan, ScanKey scankey, int nscankeys,
384384

385385
/* copy scankeys into local storage */
386386
if (scankey&&scan->numberOfKeys>0)
387-
memmove(scan->keyData,scankey,
388-
scan->numberOfKeys*sizeof(ScanKeyData));
387+
memcpy(scan->keyData,scankey,scan->numberOfKeys*sizeof(ScanKeyData));
389388

390389
/* initialize order-by data if needed */
391390
if (orderbys&&scan->numberOfOrderBys>0)
392391
{
393392
inti;
394393

395-
memmove(scan->orderByData,orderbys,
396-
scan->numberOfOrderBys*sizeof(ScanKeyData));
394+
memcpy(scan->orderByData,orderbys,scan->numberOfOrderBys*sizeof(ScanKeyData));
397395

398396
for (i=0;i<scan->numberOfOrderBys;i++)
399397
{

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp