create c function with void argument bug?

Поиск
Список
Период
Сортировка
От A.M.
Тема create c function with void argument bug?
Дата
Msg-id 10833AA4-CA2F-4B4B-A149-56DD0B3D15CD@themactionfaction.com
обсуждение исходный текст
Ответы Re: create c function with void argument bug?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Hello,

It seems that this:
CREATE OR REPLACE FUNCTION test_fsync_speed() RETURNS float AS '$libdir/test_fsync_speed','\
test_fsync_speed' LANGUAGE C IMMUTABLE STRICT;

is not equivalent to this (note "void" argument):

CREATE OR REPLACE FUNCTION test_fsync_speed(void) RETURNS float AS '$libdir/test_fsync_speed','\
test_fsync_speed' LANGUAGE C IMMUTABLE STRICT;

Two functions are created.
test=# \df                             List of functionsSchema |       Name       | Result data type | Argument data
types|  Type   
--------+------------------+------------------+---------------------+--------public | test_fsync_speed | double
precision|                     | normalpublic | test_fsync_speed | double precision | void                | normal 

Furthermore, I can't figure out how to call the "void" argument variant. Why is void accepted as an argument?

create function testvoid(void) returns void as '' LANGUAGE PLPGSQL;
ERROR:  PL/pgSQL functions cannot accept type void

I punched the void argument in just by chance- am I just stupid?

Cheers,
M

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Josh Berkus
Дата:
Сообщение: Re: GIN vs. Partial Indexes
Следующее
От: David Fetter
Дата:
Сообщение: Re: xlog.c: WALInsertLock vs. WALWriteLock