Kullanımdan Kaldırılmış Metotların İşaretlenmesi

Herkese Selam,

Üst seviye programlama dillerinden alışkın olduğumuz uyarı mekanizmalarından bir tanesi olan “Deprecated” metodlarların (Kullanımdan Kaldırılmış/Geride Kalmış veya Eskimiş) kullanımının uyarılması Oracle 12c R2 ile beraber artık PL/SQL tarafında da sağlanmış durumda. Artık bir metodu deprecated olarak işaretleyip, daha sonra bu metod kullanılmaya çalışıldığında uyarı vermemiz mümkün.

Şimdi bu işlemi nasıl hızlıca halledebiliriz buna bakalım.

Öncelikle compiler’ın üreteceği bu uyarılardan haberdar olabilmek için aşağıdaki uyarı kodlarını session seviyesinde açıyoruz.

ALTER SESSION SET PLSQL_WARNINGS = 'ENABLE:(6019,6020,6021,6022)';

Evet şuan deprecated olarak işaretleyeceğimiz bir metodu derlemek veya çağırmak istediğimizde gerekli compiler uyarısını verecek alt yapıyı açtık. Şimdi bir metodu nasıl deprecated olarak işaretleyeceğimize bakalım.

CREATE OR REPLACE PROCEDURE kare_hesapla (x NUMBER)
IS
   PRAGMA deprecate (
    kare_hesapla, 'Bu metod eski. Yeni metod kare_hesapla_yeni.'
  );
   v   NUMBER;
BEGIN
   v := x * x;
END kare_hesapla;
/

Yaptığımız örnekten de anlaşılacağı üzere PRAGMA deprecate söz deyimi ile metodun eski bir metod olduğunu sisteme bildirdik. Kodumuzu derlediğimiz de aşağdaki gibi bir uyarıyı sistem tarafından alıyoruz.

Örnek metodumuzu deprecated olarak işaretledik. Şimdi başka bir metod içerisinden bu metodu çağıralım.

CREATE OR REPLACE PROCEDURE KARE_HESAPLA_2
IS
BEGIN
   KARE_HESAPLA (5);
END KARE_HESAPLA_2;

Evet gördüğümüz üzere kodu derledikten sonra gerekli uyarı mesajları compiler tarafından bize gösterildi. Bu mekanizma sayesinde eskiyen metodlarımızın kullanımı konusunda yazılım geliştiricileri kolaylıkla uyarabiliriz ve yeni metodların kullanımı konusunda bilgilendirme kolayca yapabiliriz.

Advertisements

About ... from Emrah METE

Bilgisayar Mühendisi
This entry was posted in Oracle, Uncategorized and tagged , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s