Replace gratuitous memmove() with memcpy()
authorPeter Eisentraut <[email protected]>
Wed, 11 Sep 2024 13:15:49 +0000 (15:15 +0200)
committerPeter Eisentraut <[email protected]>
Wed, 11 Sep 2024 13:21:36 +0000 (15:21 +0200)
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/f8c739d9-f48d-4187-b214-df3391ba41ab@eisentraut.org

contrib/bloom/blscan.c
src/backend/access/brin/brin.c
src/backend/access/gin/ginscan.c
src/backend/access/gist/gistscan.c
src/backend/access/hash/hash.c
src/backend/access/nbtree/nbtree.c
src/backend/access/spgist/spgscan.c

index 0a303a49b24d82cf59f86f8df53a2bce835685c5..94b6b449c8cfefedfbaa631f90ff3bdfc766a0b2 100644 (file)
@@ -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));
 }
 
 /*
index 94a8bd0701743df14eb641b14af39c483dc14915..60853a0f6adb3259b5372bfa1d8536083da5e93d 100644 (file)
@@ -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));
 }
 
 /*
index af24d38544eb996f3b315392cea6229af48b954a..f2fd62afbbfd91c8d512d58ccc1172f7088ad9e4 100644 (file)
@@ -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));
 }
 
 
index e05801e2f5bf1b2119b5653445cf663f6e9c8209..de472e16373670b61d8234d99ae04b418e7ce56f 100644 (file)
@@ -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));
 
index a783b9b4e252fab7adde9d7fe44804ee81054093..5ce36093943c19daee20916eade102fc5acd01b2 100644 (file)
@@ -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;
index 8cfaab949beabc49bcb4cfc0fba3e4f21a8a44a4..6d090f8739b08f88c3feef76694735d0d59241a9 100644 (file)
@@ -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 */
 }
index 03293a7816e6f7c01b03884d98ebe7406c828f1b..3017861859f7fb433372733c301664bc1d03411a 100644 (file)
@@ -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++)
        {