Proposal: Make use of C99 designated initialisers for nulls/valuesarrays

Поиск
Список
Период
Сортировка
Искать
От
Smith, Peter
Тема
Proposal: Make use of C99 designated initialisers for nulls/valuesarrays
Дата
Msg-id
201DD0641B056142AC8C6645EC1B5F62014B919631@SYD1217
Список
Дерево обсуждения
Proposal: Make use of C99 designated initialisers for nulls/valuesarrays "Smith, Peter" <peters@fast.au.fujitsu.com>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Amit Kapila <amit.kapila16@gmail.com>
RE: Proposal: Make use of C99 designated initialisers fornulls/values arrays "Smith, Peter" <peters@fast.au.fujitsu.com>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Bruce Momjian <bruce@momjian.us>
Re: Proposal: Make use of C99 designated initialisers for nulls/values arrays Tom Lane <tgl@sss.pgh.pa.us>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Andres Freund <andres@anarazel.de>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Thomas Munro <thomas.munro@gmail.com>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Isaac Morland <isaac.morland@gmail.com>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Joe Nelson <joe@begriffs.com>
Re: Proposal: Make use of C99 designated initialisers for nulls/values arrays Tom Lane <tgl@sss.pgh.pa.us>
RE: Proposal: Make use of C99 designated initialisers fornulls/values arrays "Smith, Peter" <peters@fast.au.fujitsu.com>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Mark Dilger <hornschnorter@gmail.com>
Re: Proposal: Make use of C99 designated initialisers for nulls/values arrays Tom Lane <tgl@sss.pgh.pa.us>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Mark Dilger <hornschnorter@gmail.com>
Re: Proposal: Make use of C99 designated initialisers for nulls/values arrays Tom Lane <tgl@sss.pgh.pa.us>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Michael Paquier <michael@paquier.xyz>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Amit Kapila <amit.kapila16@gmail.com>
RE: Proposal: Make use of C99 designated initialisers fornulls/values arrays "Smith, Peter" <peters@fast.au.fujitsu.com>
Re: Proposal: Make use of C99 designated initialisers for nulls/values arrays Tom Lane <tgl@sss.pgh.pa.us>
RE: Proposal: Make use of C99 designated initialisers fornulls/values arrays "Smith, Peter" <peters@fast.au.fujitsu.com>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Amit Kapila <amit.kapila16@gmail.com>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Joe Nelson <joe@begriffs.com>
Re: Proposal: Make use of C99 designated initialisers for nulls/values arrays Tom Lane <tgl@sss.pgh.pa.us>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Jacob Champion <pchampion@pivotal.io>
Re: Proposal: Make use of C99 designated initialisers for nulls/values arrays Tom Lane <tgl@sss.pgh.pa.us>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Ashwin Agrawal <aagrawal@pivotal.io>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Chapman Flack <chap@anastigmatix.net>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Bruce Momjian <bruce@momjian.us>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Andres Freund <andres@anarazel.de>
Re: Proposal: Make use of C99 designated initialisers for nulls/values arrays Tom Lane <tgl@sss.pgh.pa.us>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Andres Freund <andres@anarazel.de>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Amit Kapila <amit.kapila16@gmail.com>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Thomas Munro <thomas.munro@gmail.com>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Michael Paquier <michael@paquier.xyz>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Amit Kapila <amit.kapila16@gmail.com>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Stephen Frost <sfrost@snowman.net>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Chapman Flack <chap@anastigmatix.net>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Stephen Frost <sfrost@snowman.net>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Andres Freund <andres@anarazel.de>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Stephen Frost <sfrost@snowman.net>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Amit Kapila <amit.kapila16@gmail.com>
Re: Proposal: Make use of C99 designated initialisers for nulls/values arrays "Joe Nelson" <joe@begriffs.com>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Chapman Flack <chap@anastigmatix.net>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Isaac Morland <isaac.morland@gmail.com>
Re: Proposal: Make use of C99 designated initialisers for nulls/values arrays "Joe Nelson" <joe@begriffs.com>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Stephen Frost <sfrost@snowman.net>
Re: Proposal: Make use of C99 designated initialisers for nulls/values arrays Tom Lane <tgl@sss.pgh.pa.us>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Andres Freund <andres@anarazel.de>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Amit Kapila <amit.kapila16@gmail.com>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Michael Paquier <michael@paquier.xyz>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Andres Freund <andres@anarazel.de>
RE: Proposal: Make use of C99 designated initialisers fornulls/values arrays "Smith, Peter" <peters@fast.au.fujitsu.com>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Michael Paquier <michael@paquier.xyz>
RE: Proposal: Make use of C99 designated initialisers fornulls/values arrays "Smith, Peter" <peters@fast.au.fujitsu.com>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays vignesh C <vignesh21@gmail.com>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Isaac Morland <isaac.morland@gmail.com>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Joe Nelson <joe@begriffs.com>
RE: Proposal: Make use of C99 designated initialisers fornulls/values arrays "Smith, Peter" <peters@fast.au.fujitsu.com>
Re: Proposal: Make use of C99 designated initialisers fornulls/values arrays Amit Kapila <amit.kapila16@gmail.com>
RE: Proposal: Make use of C99 designated initialisers fornulls/values arrays "Smith, Peter" <peters@fast.au.fujitsu.com>
Dear Hackers,

I have identified some OSS code which maybe can make use of C99 designated initialisers for nulls/values arrays.

~

Background:
There are lots of tuple operations where arrays of values and flags are being passed.
Typically these arrays are being previously initialised 0/false by memset.
By modifying code to use C99 designated initialiser syntax [1], most of these memsets can become redundant.
Actually, this mechanism is already being used in some of the existing OSS code. This patch/proposal just propagates the same idea to all other similar places I could find.

~

Result:
Less code. Removes ~200 unnecessary memsets.
More consistent initialisation.

~

Typical Example:
Before:
	Datum		values[Natts_pg_attribute];
	bool		nulls[Natts_pg_attribute];
	...
	memset(values, 0, sizeof(values));
	memset(nulls, false, sizeof(nulls));
After:
	Datum		values[Natts_pg_attribute] = {0};
	bool		nulls[Natts_pg_attribute] = {0};


---
[1] REF C99 [$6.7.8/21] If there are fewer initializers in a brace-enclosed list than there are elements or members of an aggregate, 
or fewer characters in a string literal used to initialize an array of known size than there are elements in the array, 
the remainder of the aggregate shall be initialized implicitly the same as objects that have static storage duration

~

Please refer to the attached patch.

Kind Regards,

---
Peter Smith
Fujitsu Australia




В списке pgsql-hackers по дате отправления
От: Andres Freund
Дата:
От: Moon, Insung
Дата:
FAQ