diff options
author | Peter Eisentraut | 2024-09-11 13:15:49 +0000 |
---|---|---|
committer | Peter Eisentraut | 2024-09-11 13:21:36 +0000 |
commit | 8b5c6a54c4396bb9daeb9ec5d9cbb0d3deedcbe3 (patch) | |
tree | 437b1aaa5d0ee2b9c7a5aae05657a0acfcbaa0cb | |
parent | 842265631dfd9e5583d934e2ae328b09bc4b2f8b (diff) |
Replace gratuitous memmove() with memcpy()
The index access methods all had similar code that copied the
passed-in scan keys to local storage. They all used memmove() for
that, which is not wrong, but it seems confusing not to use memcpy()
when that would work. Presumably, this was all once copied from
ancient code and never adjusted.
Discussion: https://www.postgresql.org/message-id/flat/[email protected]
-rw-r--r-- | contrib/bloom/blscan.c | 5 | ||||
-rw-r--r-- | src/backend/access/brin/brin.c | 3 | ||||
-rw-r--r-- | src/backend/access/gin/ginscan.c | 5 | ||||
-rw-r--r-- | src/backend/access/gist/gistscan.c | 6 | ||||
-rw-r--r-- | src/backend/access/hash/hash.c | 6 | ||||
-rw-r--r-- | src/backend/access/nbtree/nbtree.c | 4 | ||||
-rw-r--r-- | src/backend/access/spgist/spgscan.c | 6 |
7 files changed, 9 insertions, 26 deletions
diff --git a/contrib/bloom/blscan.c b/contrib/bloom/blscan.c index 0a303a49b2..94b6b449c8 100644 --- a/contrib/bloom/blscan.c +++ b/contrib/bloom/blscan.c @@ -55,10 +55,7 @@ blrescan(IndexScanDesc scan, ScanKey scankey, int nscankeys, so->sign = NULL; if (scankey && scan->numberOfKeys > 0) - { - memmove(scan->keyData, scankey, - scan->numberOfKeys * sizeof(ScanKeyData)); - } + memcpy(scan->keyData, scankey, scan->numberOfKeys * sizeof(ScanKeyData)); } /* diff --git a/src/backend/access/brin/brin.c b/src/backend/access/brin/brin.c index 94a8bd0701..60853a0f6a 100644 --- a/src/backend/access/brin/brin.c +++ b/src/backend/access/brin/brin.c @@ -956,8 +956,7 @@ brinrescan(IndexScanDesc scan, ScanKey scankey, int nscankeys, */ if (scankey && scan->numberOfKeys > 0) - memmove(scan->keyData, scankey, - scan->numberOfKeys * sizeof(ScanKeyData)); + memcpy(scan->keyData, scankey, scan->numberOfKeys * sizeof(ScanKeyData)); } /* diff --git a/src/backend/access/gin/ginscan.c b/src/backend/access/gin/ginscan.c index af24d38544..f2fd62afbb 100644 --- a/src/backend/access/gin/ginscan.c +++ b/src/backend/access/gin/ginscan.c @@ -447,10 +447,7 @@ ginrescan(IndexScanDesc scan, ScanKey scankey, int nscankeys, ginFreeScanKeys(so); if (scankey && scan->numberOfKeys > 0) - { - memmove(scan->keyData, scankey, - scan->numberOfKeys * sizeof(ScanKeyData)); - } + memcpy(scan->keyData, scankey, scan->numberOfKeys * sizeof(ScanKeyData)); } diff --git a/src/backend/access/gist/gistscan.c b/src/backend/access/gist/gistscan.c index e05801e2f5..de472e1637 100644 --- a/src/backend/access/gist/gistscan.c +++ b/src/backend/access/gist/gistscan.c @@ -233,8 +233,7 @@ gistrescan(IndexScanDesc scan, ScanKey key, int nkeys, fn_extras[i] = scan->keyData[i].sk_func.fn_extra; } - memmove(scan->keyData, key, - scan->numberOfKeys * sizeof(ScanKeyData)); + memcpy(scan->keyData, key, scan->numberOfKeys * sizeof(ScanKeyData)); /* * Modify the scan key so that the Consistent method is called for all @@ -289,8 +288,7 @@ gistrescan(IndexScanDesc scan, ScanKey key, int nkeys, fn_extras[i] = scan->orderByData[i].sk_func.fn_extra; } - memmove(scan->orderByData, orderbys, - scan->numberOfOrderBys * sizeof(ScanKeyData)); + memcpy(scan->orderByData, orderbys, scan->numberOfOrderBys * sizeof(ScanKeyData)); so->orderByTypes = (Oid *) palloc(scan->numberOfOrderBys * sizeof(Oid)); diff --git a/src/backend/access/hash/hash.c b/src/backend/access/hash/hash.c index a783b9b4e2..5ce3609394 100644 --- a/src/backend/access/hash/hash.c +++ b/src/backend/access/hash/hash.c @@ -415,11 +415,7 @@ hashrescan(IndexScanDesc scan, ScanKey scankey, int nscankeys, /* Update scan key, if a new one is given */ if (scankey && scan->numberOfKeys > 0) - { - memmove(scan->keyData, - scankey, - scan->numberOfKeys * sizeof(ScanKeyData)); - } + memcpy(scan->keyData, scankey, scan->numberOfKeys * sizeof(ScanKeyData)); so->hashso_buc_populated = false; so->hashso_buc_split = false; diff --git a/src/backend/access/nbtree/nbtree.c b/src/backend/access/nbtree/nbtree.c index 8cfaab949b..6d090f8739 100644 --- a/src/backend/access/nbtree/nbtree.c +++ b/src/backend/access/nbtree/nbtree.c @@ -404,9 +404,7 @@ btrescan(IndexScanDesc scan, ScanKey scankey, int nscankeys, * Reset the scan keys */ if (scankey && scan->numberOfKeys > 0) - memmove(scan->keyData, - scankey, - scan->numberOfKeys * sizeof(ScanKeyData)); + memcpy(scan->keyData, scankey, scan->numberOfKeys * sizeof(ScanKeyData)); so->numberOfKeys = 0; /* until _bt_preprocess_keys sets it */ so->numArrayKeys = 0; /* ditto */ } diff --git a/src/backend/access/spgist/spgscan.c b/src/backend/access/spgist/spgscan.c index 03293a7816..3017861859 100644 --- a/src/backend/access/spgist/spgscan.c +++ b/src/backend/access/spgist/spgscan.c @@ -384,16 +384,14 @@ spgrescan(IndexScanDesc scan, ScanKey scankey, int nscankeys, /* copy scankeys into local storage */ if (scankey && scan->numberOfKeys > 0) - memmove(scan->keyData, scankey, - scan->numberOfKeys * sizeof(ScanKeyData)); + memcpy(scan->keyData, scankey, scan->numberOfKeys * sizeof(ScanKeyData)); /* initialize order-by data if needed */ if (orderbys && scan->numberOfOrderBys > 0) { int i; - memmove(scan->orderByData, orderbys, - scan->numberOfOrderBys * sizeof(ScanKeyData)); + memcpy(scan->orderByData, orderbys, scan->numberOfOrderBys * sizeof(ScanKeyData)); for (i = 0; i < scan->numberOfOrderBys; i++) { |