Provided by: manpages-tr_1.0.5.1-2_all bug

İSİM

       CREATE OPERATOR - yeni bir işleç tanımlar

KULLANIM

       CREATE OPERATOR isim (
           PROCEDURE = Ÿlev_ismi
           [, LEFTARG = soltaraf_tü¼ ] [, RIGHTARG = saÄŸtaraf_tü¼ ]
           [, COMMUTATOR = Ÿittir_iÅŸleci ] [, NEGATOR = deÄŸil_iÅŸleci ]
           [, RESTRICT = ±±rlama_iÅŸlevi ] [, JOIN = katı±m_iÅŸlevi ]
           [, HASHES ] [, MERGES ]
           [, SORT1 = sol_sıralama_iÅŸleci ] [, SORT2 = saÄŸ_±ralama_iÅŸleci ]
           [, LTCMP = ¼Ã§Ã¼ktür_iÅŸleci ] [, GTCMP = ¼¼ktür_iÅŸleci ]
       )

AÇIKLAMA

       CREATE  OPERATOR  isim  adında  yeni bir işleç tanımlar. İşlecin sahibi
       komutu   çalıştıran   kullanıcı   olacaktır.   Eğer   bir   şema   ismi
       belirtilmişse,  işleç belirtilen şemada oluşturulur. Aksi takdirde o an
       geçerli olan şemada oluşturulur.

       İşlecin ismi en fazla NAMEDATALEN-1 (öntanımlı 63) karakter  içerebilir
       ve sadece ÅŸu karakterlere izin verilir:

       + - * / < > = ~ ! @ # % ^ & | ` ?

       İsim seçimi ile ilgili bir kaç sınırlama daha vardır:

       ·      --  ve  /* dizgeleri açıklama başlangıcını gösterdiğinden, işleç
              isminde bulunamazlar.

       ·      Aşağıdaki karakterlerden  en  az  birini  içermedikçe,  bir  çok
              karakterli işleç ismi + veya - ile bitemez.

              ~ ! @ # % ^ & | ` ?
              Örneğin,  @-  bir  işleç  ismi  olabilirken,  *-  bir işleç ismi
              olamaz. Bu  sınırlama  sayesinde,  işleç  ve  terimler  arasında
              boşluk   bırakılmasa   bile  PostgreSQL,  SQL  uyumlu  komutları
              çözümleyebilir.

       != işleci girdide, <> işleci olarak ele alınır, dolayısıyla bu iki isim
       daima eÅŸdeÄŸerdir.

       En   azından   LEFTARG   ve  RIGHTARG'dan  biri  tanımlanmalıdır.   İki
       terimliler için her ikisi de  tanımlanmalıdır.  Artçıl  tekterimlilerde
       sadece LEFTARG, öncül tekterimlilerde sadece RIGHTARG tanımlanmalıdır.

       Ÿlev_ismi   iÅŸlevi   CREATE   FUNCTION  kullanılarak  evvelce  türleri
       belirtilerek  doğru  sayıda  argümanla  (bir  ya  da  iki)  tanımlanmış
       olmalıdır.

       Diğer deyimler isteğe bağlı işleç eniyileme deyimleridir.
       http://www.postgresql.org/uygulamalar/pgsql/xoper-optimization.html
       adresinde bunların anlamları ayrıntılı olarak anlatılmıştır.

PARAMETRELER

       isim   Tanımlanacak işlecin ismi.  İzin  verilen  karakterler  yukarıda
              açıklanmıştı.  İsim,  CREATE OPERATOR myschema.+ (...) örneğinde
              olduğu gibi şema nitelemeli  olabilir.  Değilse,  işleç  o  anki
              şemada  oluluşturulur. Aynı şema içinde, farklı veri türleri ile
              işlem yapan iki işlecin ismi aynı olabilir.

       Ÿlev_ismi
              Bu işleci gerçeklemede kullanılan işlev.

       soltaraf_tü¼
              İşlecin sol tarafındaki terimin  veri  türü.  Bu  seçenek  öncül
              tekterimlilerde atlanır.

       saÄŸtaraf_tü¼
              İşlecin  sağ  tarafındaki  terimin  veri türü. Bu seçenek artçıl
              tekterimlilerde atlanır.

       Ãndeç_Ÿleç
              Bu işlecin öndeci.

       deÄŸil_iÅŸleci
              Bu işlecin olumsuzlayıcısı.

       ±±rlama_iÅŸlevi
              Bu işleç için sınırlama seçici işlev.

       katı±m_iÅŸlevi
              Bu işleç için katılım seçici işlev.

       HASHES Bu işlecin bir çırpılamalı katılımı desteklediğini belirtir.

       MERGES Bu işlecin katıştırmalı katılımı desteklediğini belirtir.

       sol_sıralama_işleci
              Bu işleç katılımı destekliyorsa, küçüktür işleci bu işlecin  sol
              taraf veri türünü sıralar.

       saÄŸ_±ralama_iÅŸleci
              Bu  işleç katılımı destekliyorsa, küçüktür işleci bu işlecin sağ
              taraf veri türünü sıralar.

       ¼Ã§Ã¼ktür_iÅŸleci
              Bu işleç katılımı  destekliyorsa,  küçüktür  işleci  bu  işlecin
              girdi veri türlerini karşılaştırır.

       ¼¼ktür_iÅŸleci
              Bu  işleç  katılımı  destekliyorsa,  büyüktür  işleci bu işlecin
              girdi veri türlerini karşılaştırır.

       İsteÄŸe baÄŸlı baÅŸka bir  argüman  ya  da  Ÿittir_iÅŸleci'inde  bir  ÅŸema
       nitelemeli isim belirtmek için OPERATOR() sözdizimini kullanın. Örnek:

       COMMUTATOR = OPERATOR(myschema.===) ,

EK BİLGİ

       Daha fazla bilgi için:
       http://www.postgresql.org/uygulamalar/pgsql/xoper.html

       Bir  veritabanındaki  kullanıcı  tanımlı  işleçleri  silmek  için  DROP
       OPERATOR [drop_operator(7)] kullanılır. Bir veritabanındaki  işleçlerde
       değişiklik yapmak için ALTER OPERATOR [alter_operator(7)] kullanılır.

ÖRNEKLER

       Aşağıdaki örnekte, box veri türü için alan eşitliği ile ilgili yeni bir
       işleç tanımlanmaktadır.

           CREATE OPERATOR === (
               LEFTARG = box,
               RIGHTARG = box,
               PROCEDURE = area_equal_procedure,
               COMMUTATOR = ===,
               NEGATOR = !==,
               RESTRICT = area_restriction_procedure,
               JOIN = area_join_procedure,
               HASHES,
               SORT1 = <<<,
               SORT2 = <<<
               -- Sıralama işleçleri verildiğinden, MERGES uygulanır.
               -- LTCMP için < ve GTCMP için > varsayılmıştır.
           );

UYUMLULUK

       CREATE OPERATOR bir  PostgreSQL oluşumudur.  SQL standardında kullanıcı
       tanımlı işleçler için bir bahis yoktur.

İLGİLİ BELGELER

       ALTER OPERATOR [alter_operator(7)],
       CREATE OPERATOR CLASS [create_operator_class(7)],
       DROP OPERATOR [drop_operator(7)].

ÇEVİREN

       Nilgün Belma Bugüner <nilgun (at) belgeler·gen·tr>, Nisan 2005