Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wAwfV-000awu-20 for pgsql-hackers@arkaria.postgresql.org; Thu, 09 Apr 2026 21:12:05 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wAwfT-007nHG-1q for pgsql-hackers@arkaria.postgresql.org; Thu, 09 Apr 2026 21:12:04 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wAwfT-007nH8-0g for pgsql-hackers@lists.postgresql.org; Thu, 09 Apr 2026 21:12:04 +0000 Received: from mail-ed1-x52d.google.com ([2a00:1450:4864:20::52d]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wAwfS-00000000E0X-0IK6 for pgsql-hackers@postgresql.org; Thu, 09 Apr 2026 21:12:03 +0000 Received: by mail-ed1-x52d.google.com with SMTP id 4fb4d7f45d1cf-66c17372965so2483575a12.1 for ; Thu, 09 Apr 2026 14:12:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775769120; cv=none; d=google.com; s=arc-20240605; b=ZBn5ZPUKQs1mYAP911hm1zoOowsJdgQA5gqawItuFpf/fpOOZ0SKy0XylS7AWE4UMR OAr2fjGeaa9LMKRsJ5CbVSTREn3nueyuziYMQGgkbEcwGTFXUG1xRXkJl003sgcI9Ur/ LmcYwDFW88gChaRqSv7y909pcXWk0YrdGXMQewMeVs8uFq7irJFHlIoed/jomYaMZmhG sxiDd1C/Gki+csr6Nu4lfZ8mkKxHQDQg2/6cbKehnTs4l0UdwFD5RHkacZP2Fh9MppQE MS/C16bskzkMxbIa/dKFPRYnuSkswfkZ2iJJmfmq/VWi5scvJ4q0x3562jfAAW680spJ mv4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=Dc6S5KFm+D/une4N8ghz5ONtY50HNe7CbzbeCDCgUJA=; fh=Gu3+vBrIMa5rKQPdqm7GPtq/Op6Pk8fl/rme2ihrMO4=; b=LR+XM54EiQGfv4ygSNdO+LE679U5jj57xVTUXaCapOUXJlthHqy3FupG9wrLuNN38v 9j03Z0cHB+3dTg1cSJCSis/o1Ylo4yRhLewrM3ekTZQYMtyrvPeWqFBl5mw+xuP+vbPI 0cuiAWAWEUzNwum89Q7uNVI6M5ZNLCHxy1+nFh/xmBpC4WDK4HsJ8XxSrXS07qYR+Rcu SDujzAqCkyS6s9cFOntKGDJZDCH633ff59xl5T4OZtmQJ3hngtzrIyvNebdm+ashJOb7 diQyzHzXhOMt7rf7H6sOBkWvU5PFkvES/xQsqcj5OqJSXaR4sjTh9H+HFxVOv8DHmORU 1DXw==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775769120; x=1776373920; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Dc6S5KFm+D/une4N8ghz5ONtY50HNe7CbzbeCDCgUJA=; b=qa8OHoAT/QYZjTpJ/+yW4VRaR94TAdilgeITFFr5wbjDQqNCXVu4BGNu59ex6UGwpK HFc4gtUCfb4alJUB0nDNllDNDbcJ3d3v4vY1pa4zH4kUSfhsEzKFK0QGzlF3cmKoDOGv K2Vq65R+AMZf7a/PNazgN0IJo/RfIM3+oEsRG7gMrGW1YWNyshsNgsQnv1hrmmhvRgaX Hg+0O4YOOTl7kXIUn6r+42ck54sDD4raEsXln0QQ4rTU5JeJYEGz7QB3VnzgUUjgxirK 0Wofjdj/7i/c0ZHakvw8GS08EmQJDzpbh1NR67Gf5STBCo8Mwl4YeHo0i9EkWRKzGkKd rEHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775769120; x=1776373920; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Dc6S5KFm+D/une4N8ghz5ONtY50HNe7CbzbeCDCgUJA=; b=rIV1dTGGao8RfvkVxK4cExeg6UeF5AAzmzVIPBumlpl/YfRErtoL4ezrLQ8L14JLNN oHi3nDvJDz+RKrG8Ifpg8+1fWU/QxSeYC2aLyhcLyL+7FyEYCwPCTMdVb+w0wo1vjdlJ 14TDJJBn9NewfIpJxAsgAESbi900QFMZ0aIBZWEb65Fb85OU5G+b6wpR6KadSrh2tFr1 EQFr9kLaO4P0VwDRiTUimwQMqtvc4A1F0ShbdbWmNGb24NmBR4QEhERz65qLM1QRBaHY guywGMNbIF3TEA3bAZ8tXs9IS6JWqQC8v+Z0eppsF2qRoTKpk2gu3Huv2iQBY0UaPXXH HEyA== X-Gm-Message-State: AOJu0YxvxgpZ0cmj7g2jQ1PR/6/Qf5oddd1Zfv1Fv2e/pFcHnB9YDga3 kJSiq7TZms+1z7RwLEdcF3ssO1z7hyYmbxartPY085Yx0V+rfZTv3xPkrUNngcCjHKHvjByXN7M gyyqsUVGxSDFYte6IJSENlTdONP6x1Cc= X-Gm-Gg: AeBDieucWmRyamxS8huaDMzqrgrrCs5lsWF5nOyZtWrkTVAZ1fZhXEQM9qLOSTwoEXV w/lKBrVHx2271DBt+o80mARLLsqSOrrOvbm16MSiUiiYLZmGMvgEshNTvCmA0KrAuEKS18ba4Uq 2VZDPuLmRs/gInzZqvS/Z6hqgQpliCvvwuunB66bgLEVm1oGIDPQMGagimI7OIyzaXc+guaE6WS o+3u5jZA775AeOiPDVBDCOW06HwKhgWGGeMeLk6KFoYQwYhrP+QchaClsyjBd0XTzSFvq1IMHai ZJGB1tz11+UnUqJJ X-Received: by 2002:a17:907:c48e:b0:b9c:5672:852 with SMTP id a640c23a62f3a-b9d727fe83bmr41706866b.40.1775769119254; Thu, 09 Apr 2026 14:11:59 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Sami Imseih Date: Thu, 9 Apr 2026 16:11:48 -0500 X-Gm-Features: AQROBzAgi4mEmiaaxln_iocwAOod5x-v6WKR-7njtimdvfWhZQN-DYExqPQR6Sc Message-ID: Subject: Re: Return DSA area for hash table from GetNamedDSHash() To: Michael Paquier , jugierwang@gmail.com Cc: pgsql-hackers Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Thanks for the replies! > I think an assert check could be added in this patch for better safety. > Assert(hash_table != NULL); > I followed the same approach we take for dshash_destroy() and dshash_get_hash_table_handle(). The caller is responsible for not passing in a NULL hash table, else that assert will segfault. > +dsa_area * > +dshash_get_dsa_area(dshash_table *hash_table) > +{ > + Assert(hash_table->control->magic == DSHASH_MAGIC); > + > + return hash_table->area; > > Rather than an API that returns the DSA area, perhaps it would be more > natural to have a wrapper that calls dsa_set_size_limit(), using an > existing dshash_table in input? hm, having GetNamedDSA return dsa_area for direct use while requiring a special wrapper for the dshash case creates an inconsistent API in dsm_registry.h. dshash_get_dsa_area() means either way the dsa_area is obtained, dsa_set_size_limit() can be used to set the size. -- Sami