Re: date_part vs. extract

From: Volkan YAZICI <volkan(dot)yazici(at)gmail(dot)com>
To: cemguler(at)kibrit(dot)net
Cc: pgsql-tr-genel(at)postgresql(dot)org
Subject: Re: date_part vs. extract
Date: 2005-07-05 13:28:28
Message-ID: 7104a737050705062860af1d0d@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-tr-genel

Merhaba,

On 7/5/05, Cem GULER <cemguler(at)kibrit(dot)net> wrote:
> The extract() function is the SQL92 equivalent to PostgreSQL's date_part()
> function, with a slightly modified syntax. The SQL syntax for this
> function uses the FROM keyword, rather than a comma. The arguments are
> similar to those for the date_part() function, though it differs in that
> its first argument is a SQL keyword, rather than a character string, and
> should therefore not be quoted. Valid values for k are the same as those
> listed in Table 5-12.
>
> Note that the extract() function exists as a SQL92 syntax "alias" for the
> PostgreSQL date_part() function; for this reason, the output column name
> from PostgreSQL is, by default, date_&#8201;part.
>
> Demekki date_part kullanıyormuşuz, çünkü internal mış. Buradan çıkacak
> sonuç ise "equivalent" yani dengi kelimesinin "aynı" kelimesi ile aynı
> manaya gelmediği.

Hayır, buradan böyle bir mana çıkmıyor.

> Yüklü ya da yoğun olarak tabir edebileceğimiz
> sunucularda sunucu yazılımını bir de "aliasing" ile uğraştırmamak en iyisi
> bence.

Açıkcası burada hemfikir değilim. PostgreSQL'in şuanki CVS HEAD'inde
bulunan kaynak kodundan baktığım kadarı ile date_part() fonksiyonu ile
EXTRACT ifadesinin ilgili fonksiyon çağrıları aynı şekilde bağlanmış.
Yani işler düşündüğünüz kadar "alias extract=date_part" şeklinde
yüzeysel değil. Kabaca izah edecek olursam, işlem şöyle gerçekleşiyor:

1. Dosyayı parse et.
2. EXTRACT ve date_part ifadelerini bul
3. date_part'ın uygun alt alias fonksiyonunu çağır.

Yani sonuç itibari ile date_part için de başka alt fonksiyonlara bir
alias tanımlı. Bunun dışında anladığım kadarı ile herhangi bir
performans kazancı kaydetmeniz olası gözükmüyor. Çünkü iki işaretçi
de, başka bir işaretçinin alt işaretçilerini gösteriyor.

Bence burada dikkat edilmesi gereken hangisinin çoğu SQL standardı
tarafından desteklendiği.

İyi çalışmalar.

In response to

Responses

Browse pgsql-tr-genel by date

  From Date Subject
Next Message Azer Demir 2005-07-08 16:10:57 kitap önerisi
Previous Message Volkan YAZICI 2005-07-05 12:36:16 Re: date_part vs. extract