Re: proposal: simple date constructor from numeric values - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: proposal: simple date constructor from numeric values
Date
Msg-id CAFj8pRBV-GvGdHCxi86s8aMvg9pJTT6_iv5=vKqtONU5cA51cw@mail.gmail.com
Whole thread Raw
In response to Re: proposal: simple date constructor from numeric values  (Pavel Stehule <pavel.stehule@gmail.com>)
List 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 by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: proposal: simple date constructor from numeric values
Next
From: Brendan Jurd
Date:
Subject: Re: proposal: simple date constructor from numeric values