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 = işlev_ismi
           [, LEFTARG = soltaraf_türü ] [, RIGHTARG = sağtaraf_türü ]
           [, COMMUTATOR = eşittir_işleci ] [, NEGATOR = değil_işleci ]
           [, RESTRICT = sınırlama_işlevi ] [, JOIN = katılım_işlevi ]
           [, HASHES ] [, MERGES ]
           [, SORT1 = sol_sıralama_işleci ] [, SORT2 = sağ_sıralama_işleci ]
           [, LTCMP = küçüktür_işleci ] [, GTCMP = büyü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.

       iş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.

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

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

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

       öndeç_işleç
              Bu işlecin öndeci.

       değil_işleci
              Bu işlecin olumsuzlayıcısı.

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

       katılı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ğ_sı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.

       küçü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.

       büyü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  eş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