Provided by: manpages-tr_1.0.5.1-1.1_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_tr
           USING indeksleme_yntemi
           AS {  OPERATOR strateji_numaras
                     ile_ismi [ ( ile_tr, ile_tr ) ]
                     [ RECHECK ]
                | FUNCTION destek_numaras ilev_ismi ( arg_tr [, ...] )
                | STORAGE saklama_tr
               } [, ... ]

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_tr
              İşleç sınıfının kullanılacağı sütunun veri türü.

       indeksleme_yntemi
              İş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ı

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

       ile_tr
              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ı.

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

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

       saklama_tr
              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