A method and mechanism are provided for accessing data. Values are stored
for a set of context attributes associated with a session between a
database user and a database server. The database system includes an
attribute setting mechanism that selectively restricts access to the set
of context attributes based on a policy. During the session, the database
server executes a query that contains a reference to one or more of the
context attributes. For example, the query may contain a predicate that
requires a comparison between a context attribute value and a constant.
The database server processes the query based on current values of the one
or more of the context attributes referenced in the query. A mechanism is
also provided for dynamically attaching predicates to queries, where the
predicates are attached based on a policy. For example, the database
system detects that a query is issued against a database object. Prior to
executing the query, a policy function associated with the database object
is invoked. The policy function creates a modified query by selectively
adding zero or more predicates to the query based on a policy associated
with the database object. The modified query is then executed.
Μια μέθοδος και ένας μηχανισμός παρέχονται για την πρόσβαση των στοιχείων. Οι τιμές αποθηκεύονται για ένα σύνολο ιδιοτήτων πλαισίου που συνδέονται με μια σύνοδο μεταξύ ενός χρήστη βάσεων δεδομένων και ενός κεντρικού υπολογιστή βάσεων δεδομένων. Το σύστημα βάσεων δεδομένων περιλαμβάνει έναν θέτοντας μηχανισμό ιδιοτήτων που περιορίζει επιλεκτικά την πρόσβαση στο σύνολο ιδιοτήτων πλαισίου βασισμένων σε μια πολιτική. Κατά τη διάρκεια της συνόδου, ο κεντρικός υπολογιστής βάσεων δεδομένων εκτελεί μια ερώτηση που περιέχει μια αναφορά σε μια ή περισσότερες από τις ιδιότητες πλαισίου. Παραδείγματος χάριν, η ερώτηση μπορεί να περιέχει ένα κατηγόρημα που απαιτεί μια σύγκριση μεταξύ μιας αξίας ιδιοτήτων πλαισίου και μιας σταθεράς. Ο κεντρικός υπολογιστής βάσεων δεδομένων επεξεργάζεται την ερώτηση βασισμένη στις τρέχουσες τιμές μια ή περισσότερες από τις ιδιότητες πλαισίου που παραπέμπονται στην ερώτηση. Ένας μηχανισμός παρέχεται επίσης για δυναμικά να συνδέσει τα κατηγορήματα με τις ερωτήσεις, όπου τα κατηγορήματα είναι συνημμένα βασισμένος σε μια πολιτική. Παραδείγματος χάριν, το σύστημα βάσεων δεδομένων ανιχνεύει ότι μια ερώτηση εκδίδεται ενάντια σε ένα αντικείμενο βάσεων δεδομένων. Πριν από την εκτέλεση της ερώτησης, μια πολιτική λειτουργία που συνδέεται με το αντικείμενο βάσεων δεδομένων επικαλείται. Η πολιτική λειτουργία δημιουργεί μια τροποποιημένη ερώτηση με επιλεκτικά να προσθέσει μηά ή περισσότερα κατηγορήματα στην ερώτηση βασισμένη σε μια πολιτική που συνδέεται με το αντικείμενο βάσεων δεδομένων. Η τροποποιημένη ερώτηση εκτελείται έπειτα.