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

İSİM

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

KULLANIM

       CREATE OPERATOR isim (
           PROCEDURE = ilev_ismi
           [, LEFTARG = soltaraf_tr ] [, RIGHTARG = sataraf_tr ]
           [, COMMUTATOR = eittir_ileci ] [, NEGATOR = deil_ileci ]
           [, RESTRICT = snrlama_ilevi ] [, JOIN = katlm_ilevi ]
           [, HASHES ] [, MERGES ]
           [, SORT1 = sol_sralama_ileci ] [, SORT2 = sa_sralama_ileci ]
           [, LTCMP = kktr_ileci ] [, GTCMP = byktr_ileci ]
       )

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.

       ilev_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.

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

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

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

       nde_ile
              Bu işlecin öndeci.

       deil_ileci
              Bu işlecin olumsuzlayıcısı.

       snrlama_ilevi
              Bu işleç için sınırlama seçici işlev.

       katlm_ilevi
              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_sralama_ileci
              Bu  işleç katılımı destekliyorsa, küçüktür işleci bu işlecin sol
              taraf veri türünü sıralar.

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

       kktr_ileci
              Bu  işleç  katılımı  destekliyorsa,  küçüktür  işleci bu işlecin
              girdi veri türlerini karşılaştırır.

       byktr_ileci
              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 eittir_ileci'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