Re: proposal: simple date constructor from numeric values
От | Pavel Stehule |
---|---|
Тема | Re: proposal: simple date constructor from numeric values |
Дата | |
Msg-id | CAFj8pRBV-GvGdHCxi86s8aMvg9pJTT6_iv5=vKqtONU5cA51cw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: proposal: simple date constructor from numeric values (Pavel Stehule <pavel.stehule@gmail.com>) |
Список | pgsql-hackers |
2013/7/3 Pavel Stehule <pavel.stehule@gmail.com>: > 2013/7/2 Pavel Stehule <pavel.stehule@gmail.com>: >> 2013/7/1 Peter Eisentraut <peter_e@gmx.net>: >>> On 7/1/13 3:47 AM, Pavel Stehule wrote: >>>> and it is a part of our ToDo: "Add function to allow the creation of >>>> timestamps using parameters" >>>> >>>> so we can have a functions with signatures >>> >>> I would just name them date(...), time(...), etc. > > I tested this names, and I got a syntax error for function "time" > > we doesn't support real type constructors, and parser doesn't respect syntax. > > so we can use a different names, or we can try to implement type > constructor functions. constructor function - : A niladic SQL-invoked function of which exactly one is implicitly specified for every structured type. An invocation of the constructor function for data type returns a value of the most specific type such that is not null ... as minimum for Postgres - a possibility to implement function with same name as type name. Regards Pavel . > > Comments > > Regards > > Pavel > >>> >> >> +1 >> >>>> CREATE OR REPLACE FUNCTION construct_date(year int, month int DEFAULT >>>> 1, day int DEFAULT 1) RETURNS date; >>> >>> I would not use default values for this one. >>> >> >> I have no problem with it >> >>>> CREATE OR REPLACE FUNCTION construct_time(hour int DEFAULT 0, mi int >>>> DEFAULT 0, sec int DEFAULT 0, ms float DEFAULT 0.0); >>> >>> If we are using integer datetime storage, we shouldn't use floats to >>> construct them. >>> >> >> so possible signature signature should be >> >> CREATE FUNCTION time(hour int, mi int, sec int, used int) ?? >> >> and >> >> CREATE FUNCTION timetz(hour int, mi int, sec int, isec int, tz int) >> >> ?? >> >> Regards >> >> Pavel
В списке pgsql-hackers по дате отправления: