Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: pickle shelffile -> standard_address_space.sql #763

Open
wants to merge 19 commits into
base: master
Choose a base branch
from

Commits on Dec 17, 2019

  1. pickle shelffile -> standard_address_space.sql

    Refactoring the shelffile from a monolithic blob to sqlite3 db.
    Advantages over pickle:
    - Fast
    - Small (25% of fill_address_space code)
    - Not dependent on Python2/3 version
    - Supports transactional read/(write TODO)
    - Supports real-time persistence of user address-space (TODO)
    - Strong typed: only INTEGER, TEXT and opc-ua to_binary() BLOB
    - Drop-in replacement for memory-based AddressSpace
    
    Built-in integrity check on generate_address_space.py dump.
    brubbel committed Dec 17, 2019
    Configuration menu
    Copy the full SHA
    8366780 View commit details
    Browse the repository at this point in the history
  2. Nested address spaces

    brubbel committed Dec 17, 2019
    Configuration menu
    Copy the full SHA
    cbb9783 View commit details
    Browse the repository at this point in the history
  3. realtime database updates

    brubbel committed Dec 17, 2019
    Configuration menu
    Copy the full SHA
    32184eb View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9b8fa89 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c728fc5 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8eb77dd View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    f6c1c59 View commit details
    Browse the repository at this point in the history
  8. PEP8 _getConn -> _get_conn

    brubbel committed Dec 17, 2019
    Configuration menu
    Copy the full SHA
    8bf6e78 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    ea53097 View commit details
    Browse the repository at this point in the history
  10. added usage example

    brubbel committed Dec 17, 2019
    Configuration menu
    Copy the full SHA
    036dd2d View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    6841e13 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    2b256a5 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    5f5803c View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    3ecf6d6 View commit details
    Browse the repository at this point in the history
  15. Fix: sqlite3.OperationalError: database is locked

    Multiprocessing causes locking error when write and commits
    from multiple threads are interleaved. Make sure that commits
    are performed under the same Lock() session.
    brubbel committed Dec 17, 2019
    Configuration menu
    Copy the full SHA
    0fbcc00 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    96caf71 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    9e2fe7e View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    814d69a View commit details
    Browse the repository at this point in the history
  19. generate_nodeid now generates random id's

    Since the sqlite address-space is lazy loading,
    the old approach with incremental identifiers is
    very slow, as it requires loading the complete
    address space in memory before the highest identifier
    is found. Generating a random uid and checking if
    it already exists in the address space is much faster,
    especially for hunderds of nodes.
    brubbel committed Dec 17, 2019
    Configuration menu
    Copy the full SHA
    6007393 View commit details
    Browse the repository at this point in the history