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

İSİM

       CREATE OPERATOR CLASS - yeni bir işleç sınıfı tanımlar

KULLANIM

       CREATE OPERATOR CLASS isim [ DEFAULT ] FOR TYPE veri_türü
           USING indeksleme_yöntemi
           AS {  OPERATOR strateji_numarası
                     işleç_ismi [ ( işleç_türü, işleç_türü ) ]
                     [ RECHECK ]
                | FUNCTION destek_numarası işlev_ismi ( arg_türü [, ...] )
                | STORAGE saklama_türü
               } [, ... ]

AÇIKLAMA

       CREATE OPERATOR CLASS yeni bir işleç sınıfı oluşturur. Bir işleç sınıfı belli bir veri türünün bir indeks
       ile  nasıl  kullanılabileceğini  tanımlar.  İşleç  sınıfı bu veri türü ya da indeksleme yöntemi için bazı
       roller alacak veya stratejileri üstlenecek işleçleri belirler. Ayrıca, işleç  sınıfı  bir  indeks  sütunu
       için  seçildiğinde  indeksleme yöntemi tarafından kullanılacak destek yordamlarını da belirtir. Bir işleç
       sınıfı  tarafından  kullanılacak  bütün  işleçler  ve   işlevler   işleç   sınıfı   oluşturulmadan   önce
       tanımlanmalıdır.

       Bir  şema  ismi  verilmişse,  işleç  sınıfı  belirtilen  şemada  oluşturulur. Aksi takdirde o anki şemada
       oluşturulur. Aynı şema içinde iki işleç sınıfı, sadece farklı indeksleme yöntemleri içinseler aynı isimde
       olabilirler.

       İşleç sınıfını tanımlayan kullanıcı işleç sınıfının  sahibi  olur.  Şimdilik,  bu  kullanıcı  ayrıcalıklı
       kullanıcı  olmak zorundadır. (Bir hatalı işleç sınıfı tanımının karışıklığa yol açması ve hatta sunucunun
       çökmesine sebep olması nedeniyle bu kısıtlama konmuştur.)

       CREATE OPERATOR CLASS şimdilik işleç sınıfı tanımının içerdiği tüm işleçlerin  ve  işlevlerin  indeksleme
       yöntemi  için  gerekli  olup  olmadığına  bakmamaktadır. Geçerli bir işleç sınıfı tanımlamak kullanıcının
       sorumluluğundadır.

       Daha fazla bilgi için,
       http://www.postgresql.org/uygulamalar/pgsql/xindex.html adresine bakınız.

PARAMETRELER

       isim   Oluşturulacak işleç sınıfının ismi (şema nitelemeli olabilir).

       DEFAULT
              Belirtilmişse, işleç sınıfı kendi veri türü için öntanımlı hale gelir. Bir veri türü ve indeksleme
              yöntemi için en fazla bir işleç sınıfı öntanımlı olabilir.

       veri_türü
              İşleç sınıfının kullanılacağı sütunun veri türü.

       indeksleme_yöntemi
              İşleç sınıfının kullanılacağı indeksleme yönteminin ismi.

       strateji_numarası
              İşleç sınıfı ile ilgili bir işleç için indeksleme yönteminin strateji numarası

       işleç_ismi
              İşleç sınıfı ile ilgili bir işlecin ismi (şema nitelemeli olabilir).

       işleç_türü
              Bir işlecin terim veri türü ya da türleri. İşleç tekterimli ise bunu belirtmek için  NONE.   İşleç
              veri türü işleç sınıfının veri türü ile aynıysa belirtilmeyebilir.

       RECHECK
              Belirtilmişse,  bu  işleç  için  indeks  kaybolmuş demektir ve dolayısıyla alınan satırlar, indeks
              kullanılarak doğrulamak için ve dolaylı olarak aslında bu işlecin  yeterlik  deyimine  sokulmasını
              sağlamak için yeniden sınanmalıdır.

       destek_numarası
              İşleç sınıfı ile ilişkili bir işlev için indeksleme yönteminin destek yordamı numarası.

       işlev_ismi
              İndeksleme  yönteminin  işleç  sınıfı  için  destek  yordamı  olan  işlevin  ismi (şema nitelemeli
              olabilir).

       arg_türü
              İşlev argümanlarının veri türleri.

       saklama_türü
              Aslında indekste saklanan verinin türü. Normalde,  bu  sütun  veri  türü  ile  aynıdır,  ama  bazı
              indeksleme  yöntemleri  farklı  bir  tür kullanımına izin verir (şimdilik sadece GiST). İndeksleme
              yöntemi farklı bir türün kullanımına izin vermiyorsa, STORAGE deyimi kullanılmamalıdır.

       OPERATOR, FUNCTION ve STORAGE deyimleri herhangi bir sırada belirtilebilir.

EK BİLGİ

       İşleçler SQL işlevleri tarafından tanımlanmamalıdır. Bir SQL işlevi çağrılan sorgu içinde satıriçi  işlev
       gibidir ve eniyileyicinin bu sorgunun bir indeksle eşleştiğini saptamasını engelleyecektir.

ÖRNEKLER

       Aşağıdaki  örnekte, _int4 (int4 dizisi) türü için bir GiST indeksi işleç sınıfı tanımlanmaktadır. Tam bir
       örnek için contrib/intarray/ dizinine bakınız.

       CREATE OPERATOR CLASS gist__int_ops
           DEFAULT FOR TYPE _int4 USING gist AS
               OPERATOR    3    &&,
               OPERATOR    6    =       RECHECK,
               OPERATOR    7    @,
               OPERATOR    8    ~,
               OPERATOR    20   @@ (_int4, query_int),
               FUNCTION    1    g_int_consistent (internal, _int4, int4),
               FUNCTION    2    g_int_union (bytea, internal),
               FUNCTION    3    g_int_compress (internal),
               FUNCTION    4    g_int_decompress (internal),
               FUNCTION    5    g_int_penalty (internal, internal, internal),
               FUNCTION    6    g_int_picksplit (internal, internal),
               FUNCTION    7    g_int_same (_int4, _int4, internal);

UYUMLULUK

       CREATE OPERATOR CLASS bir PostgreSQL oluşumudur.  SQL standardında CREATE OPERATOR CLASS diye  bir  deyim
       yoktur.

İLGİLİ BELGELER

       ALTER OPERATOR CLASS [alter_operator_class(7)],
       DROP OPERATOR CLASS [drop_operator_class(7)].

ÇEVİREN

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

PostgreSQL                                                                              CREATE OPERATOR CLASS(7)