Κυκλοφορία του DBMS SQLite 3.51

Δημοσιεύτηκε η κυκλοφορία του SQLite 3.51, ενός ελαφρού DBMS που έχει σχεδιαστεί ως βιβλιοθήκη plug-in. Ο κώδικας SQLite διανέμεται ως δημόσιος τομέας, δηλ. μπορεί να χρησιμοποιηθεί χωρίς περιορισμούς και δωρεάν για οποιονδήποτε σκοπό. Η οικονομική υποστήριξη για προγραμματιστές SQLite παρέχεται από μια ειδικά δημιουργημένη κοινοπραξία.

Βασικές αλλαγές:

  • Έχουν προστεθεί οι νέες συναρτήσεις JSON jsonb_each() και jsonb_tree(), οι οποίες διαφέρουν από τις προηγουμένως διαθέσιμες συναρτήσεις json_each() και json_tree() στο ότι επιστρέφουν μια τιμή JSONB για τύπους δεδομένων πίνακα ή αντικειμένου.
  • Ο κώδικας επέκτασης carray και percentile έχει μετακινηθεί στο βασικό αρχείο "sqlite3.c" με ενσωματωμένο κώδικα SQLite. Αυτές οι επεκτάσεις είναι απενεργοποιημένες από προεπιλογή και απαιτούν τις παραμέτρους δημιουργίας "-DSQLITE_ENABLE_CARRAY" και "-DSQLITE_ENABLE_PERCENTILE".
  • Η διεπαφή για τη χρήση του SQLite σε σενάρια Tcl έχει βελτιωθεί. Η εντολή "eval" έχει πλέον τη σημαία "-asdict" για τον ορισμό γραμμών χρησιμοποιώντας τον τύπο "dict" αντί για "array". Έχει προστεθεί η δυνατότητα διακοπής συναρτήσεων που ορίζονται από τον χρήστη για την επιστροφή μιας τιμής NULL.
  • Αλλαγές στη διεπαφή της γραμμής εντολών:
    • Η ακρίβεια της εντολής ".timer" έχει αυξηθεί σε μικροδευτερόλεπτα.
    • Οι χαρακτήρες διπλού πλάτους υποστηρίζονται πλέον στις λειτουργίες μορφοποίησης "πλαίσιο" και "στήλη".
    • Η εντολή ".imposter" μπορεί πλέον να παρέχει πίνακες imposter μόνο για ανάγνωση (επιτρέποντας την πρόσβαση σε δεδομένα σε ένα ευρετήριο ως πίνακα) που λειτουργούν με τη λειτουργία VACUUM και δεν απαιτούν εκτέλεση με τη σημαία "--unsafe-testing".
    • Η επιλογή "--ifexists" έχει προστεθεί στο βοηθητικό πρόγραμμα sqlite και στην εντολή ".open".
    • Το μέγιστο πλάτος γραμμής, που ορίζεται χρησιμοποιώντας την εντολή ".width", περιορίζεται σε 30000 χαρακτήρες.
  • Έχουν γίνει βελτιστοποιήσεις απόδοσης:
    • Μειωμένο φόρτο CPU κατά την εκτέλεση συναλλαγών που περιορίζονται σε πρόσβαση ανάγνωσης.
    • Βελτιωμένη ανίχνευση λειτουργιών JOIN που δεν επιστρέφουν γραμμές επειδή ένας ή περισσότεροι πίνακες δεν περιέχουν γραμμές.
    • Η εκτέλεση βαθμωτών υποερωτημάτων που δεν επηρεάζουν το αποτέλεσμα εξαιρείται.
    • Οι συναρτήσεις παραθύρου έχουν επιταχυνθεί στα ερωτήματα με την έκφραση "BETWEEN 😡 FOLLOWING ΚΑΙ :y FOLLOWING" και μια πολύ μεγάλη τιμή ":y".
  • Προστέθηκε η συνάρτηση pragma "PRAGMA wal_checkpoint=NOOP" και η συνάρτηση API sqlite3_wal_checkpoint() για την ολοκλήρωση των αλλαγών στο αρχείο καταγραφής WAL
  • Οι συναρτήσεις sqlite3_set_errmsg() και sqlite3_db_status64() έχουν προστεθεί στο API.
  • Η έκδοση JavaScript/WASM του SQLite υλοποιεί υποστήριξη για συναρμολόγηση σε αναπαράσταση WebAssembly με δείκτες 64-bit.
  • Βελτιωμένη αντίσταση στην καταστροφή της βάσης δεδομένων σε εφαρμογές που απελευθερώνουν κλειδώματα POSIX καλώντας το close().
  • Βελτιωμένη υποστήριξη για την πλατφόρμα VxWorks.

Πηγή: opennet.ru

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster