MuK Large Objects

by
Odoo
v 10.0 v 11.0 v 12.0 Third Party 714
Download for v 11.0 Deploy on Odoo.sh Live Preview
Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 194
Technical Name muk_fields_lobject
LicenseLGPL-3
Websitehttps://www.mukit.at
Versions 11.0 12.0 13.0 10.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 194
Technical Name muk_fields_lobject
LicenseLGPL-3
Websitehttps://www.mukit.at
Versions 11.0 12.0 13.0 10.0

MuK PGSQL Large Objects

PGSQL Large Objects Support

MuK IT GmbH - www.mukit.at

Overview

Provides a field to store bytes as PostgreSQL large objects. PostgreSQL offers support for large objects, which provide stream-style access to user data that is stored in a special large-object structure. They are useful with data values too large to be manipulated conveniently as a whole.

Psycopg2 for Python

Psycopg allows access to the large object using the lobject class. Objects are generated using the connection.lobject() factory method. Data can be retrieved either as bytes or as Unicode strings.

Psycopg large object support efficient import/export with file system files using the lo_import() and lo_export() libpq functions.

Changed in version 2.6: added support for large objects greated than 2GB. Note that the support is enabled only if all the following conditions are verified:

  • the Python build is 64 bits;
  • the extension was built against at least libpq 9.3;
  • the server version is at least PostgreSQL 9.3 (server_version must be >= 90300).

If Psycopg was built with 64 bits large objects support (i.e. the first two contidions above are verified), the psycopg2.__version__ constant will contain the lo64 flag. If any of the contition is not met several lobject methods will fail if the arguments exceed 2GB.

		    	
from odoo.addons.muk_fields_lobject.fields.lobject import LargeObject

class LargeObjectModel(models.Model):

    data_content = LargeObject(string="Data")

    @api.multi
    def data(self):
        for record in self:
            bytes = record.data_content
            oid = record.with_context({'oid': True}).data_content
            size = record.with_context({'bin_size': True}).data_content
            stream = record.with_context({'stream': True}).data_content
		    	
			

Demo

User:
apps
Password:
demo
Live Preview

Help and Support

Feel free to contact us, if you need any help with your Odoo integration or addiontal features.

MuK Large Objects Field

PostgreSQL offers support for large objects, which provide stream-style access to user data that is stored in a special large-object structure. They are useful with data values too large to be manipulated conveniently as a whole.

Psycopg allows access to the large object using the lobject class. Objects are generated using the connection.lobject() factory method. Data can be retrieved either as bytes or as Unicode strings.

Psycopg large object support efficient import/export with file system files using the lo_import() and lo_export() libpq functions.

Changed in version 2.6: added support for large objects greated than 2GB. Note that the support is enabled only if all the following conditions are verified:

  • the Python build is 64 bits;
  • the extension was built against at least libpq 9.3;
  • the server version is at least PostgreSQL 9.3 (server_version must be >= 90300).

If Psycopg was built with 64 bits large objects support (i.e. the first two contidions above are verified), the psycopg2.__version__ constant will contain the lo64 flag. If any of the contition is not met several lobject methods will fail if the arguments exceed 2GB.

Installation

To install this module, you need to:

Download the module and add it to your Odoo addons folder. Afterward, log on to your Odoo server and go to the Apps menu. Trigger the debug mode and update the list by clicking on the "Update Apps List" link. Now install the module by clicking on the install button.

Another way to install this module is via the package management for Python (PyPI).

To install our modules using the package manager make sure odoo-autodiscover is installed correctly. Then open a console and install the module by entering the following command:

pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple <module>

The module name consists of the Odoo version and the module name, where underscores are replaced by a dash.

Module:

odoo<version>-addon-<module_name>

Example:

sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils

Once the installation has been successfully completed, the app is already in the correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the debug mode and update the list by clicking on the "Update Apps List" link. Now install the module by clicking on the install button.

The biggest advantage of this variant is that you can now also update the app using the "pip" command. To do this, enter the following command in your console:

pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple <module>

When the process is finished, restart your server and update the application in Odoo. The steps are the same as for the installation only the button has changed from "Install" to "Upgrade".

You can also view available Apps directly in our repository and find a more detailed installation guide on our website.

For modules licensed under OPL-1, you will receive access data when you purchase the module. If the modules were not purchased directly from MuK IT please contact our support (support@mukit.at) with a confirmation of purchase to receive the corresponding access data.

Upgrade

To upgrade this module, you need to:

Download the module and add it to your Odoo addons folder. Restart the server and log on to your Odoo server. Select the Apps menu and upgrade the module by clicking on the upgrade button.

If you installed the module using the "pip" command, you can also update the module in the same way. Just type the following command into the console:

pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple <module>

When the process is finished, restart your server and update the application in Odoo, just like you would normally.

Configuration

No additional configuration is needed to use this module.

Usage

This module has no direct visible effect on the system. It adds a new field type, which can be used in other modules.

Credits

Contributors

Author & Maintainer

This module is maintained by the MuK IT GmbH.

MuK IT is an Austrian company specialized in customizing and extending Odoo. We develop custom solutions for your individual needs to help you focus on your strength and expertise to grow your business.

If you want to get in touch please contact us via mail (sale@mukit.at) or visit our website (https://mukit.at).

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.