1 PL/SQL kompilacja warunkowaNowinki z Oracle 10g Filip Jakubowski-Drzewiecki
2 Zalety kompilacji warunkowejUmożliwia włączenie kodu debagującego (np. komunikatów.) przy testach i wyłączenie na produkcji. Pozwala na korzystanie z linii kodu specyficznych dla wykorzystywanego systemu operacyjnego i swobodną jego podmianę podczas migracji. Filip Jakubowski-Drzewiecki
3 Nowe podejście do programowania w PL/SQLNowe podejście do Unit testów Możemy uruchamiać warunkowo programy/procesy testujące Symulacje zachowań za pomocą zastępczych obiektów (Mock objects) Implementacja alternatywnych zachowań programu Dla nieprzenaszalnych części kodu Dla rozpatrzenia kilku podejść Możliwość nie uwzględniania aseracji w aplikacji produkcyjnej Filip Jakubowski-Drzewiecki
4 Konstrukcje kompilacji warunkowejDyrektywa typu selection Dyrektywa typu inquiry Dyrektywa typu error directive Pakiet DBMS_DB_Version Filip Jakubowski-Drzewiecki
5 Dyrektywa typu selectionObowiązek użycia statycznych zmiennych Warunki nie mogą się zmieniać w czasie kompilacji (zawsze true lub zawsze false) Filip Jakubowski-Drzewiecki
6 Filip Jakubowski-DrzewieckiSelection c.d. Nie kompilowany kod nie jest brany pod uwagę. Prekompilator reaguje jedynie na poprawnie sformułowaną składnie. Filip Jakubowski-Drzewiecki
7 Dyrektywa typu inquiryFlagiCC Możliwość użycia zmiennych Filip Jakubowski-Drzewiecki
8 Filip Jakubowski-DrzewieckiDyrekywa typu error Przyjmuje jako argument łańcuch znaków Filip Jakubowski-Drzewiecki
9 Pakiet DBMS_DB_VersionMożliwość uzależnienia niektórych rozwiązań od wykorzystywanej wersji bazy (przydatne np. w aplikacjach rozproszonych) Filip Jakubowski-Drzewiecki
10 Uzależnienie kompilowanego kodu od dostępnych rozszerzeńWyzwalacz (trigger) DDL może utworzyć lub podmienić jednostkę kompilacji Możliwość budowania kompleksowych aplikacji korzystających z dostępnych udogodnień na docelowym środowisku Filip Jakubowski-Drzewiecki
11 Pozostałe nowinki Oracla 10gAplikacje wykorzystujące intensywnie PL/SQL działają ok. 2 razy szybciej niż gdyby były uruchomione na 9i Będą również działały ponad 3 razy szybciej niż na 8i. Filip Jakubowski-Drzewiecki
12 Filip Jakubowski-DrzewieckiNowinki Składniowe Typy danych binary_float i binary_double (standard IEEE). Wsparcie wyrażeń regularnych regexp_like, regexp_instr, regexp_substr i regexp_replace Operacje na zbiorach typu: nested table equals, union, intersect, except, member i inne. Możliwość wyboru cudzyzłowu przez użytkownika ‘/”. Wyrażenia typu: indices of ; values of syntax for / forall. binary_integer wypiera pls_integer Filip Jakubowski-Drzewiecki
13 Filip Jakubowski-DrzewieckiOptymalizacja PL/SQL Optymalizator może przearanżować wykonywany kod aby zwiększyć efektywność aplikacji Filip Jakubowski-Drzewiecki
14 Nowe narzędzia / pakietyUtl_Mail. – Umożliwia wysyłanie i i czyni przeźroczysty (w przeciwieństwie do starego poakietu Utl_Smtp) protokuł SMTP. Utl_Compress. – Daje możliwość pakowania i rozpakowywania elementów jak np. LOB czy BLOB Dbms_Warning – nowa funkcjonalność dająca kontrolę kategorii i zarządzania błędami Filip Jakubowski-Drzewiecki
15 Filip Jakubowski-DrzewieckiŹródło Filip Jakubowski-Drzewiecki