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