コード例 #1
0
        def wrap(*args, **kwargs):
            # Here args[0] will hold self & kwargs will hold gid,sid,did
            self = args[0]
            self.manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(
                kwargs['sid'])
            self.conn = self.manager.connection(did=kwargs['did'])
            # We need datlastsysoid to check if current index is system index
            self.datlastsysoid = self.manager.db_info[
                kwargs['did']
            ]['datlastsysoid'] if self.manager.db_info is not None and \
                kwargs['did'] in self.manager.db_info else 0

            self.table_template_path = compile_template_path(
                'tables/sql', self.manager.server_type, self.manager.version)

            # we will set template path for sql scripts
            self.template_path = compile_template_path(
                'indexes/sql/', self.manager.server_type, self.manager.version)

            # We need parent's name eg table name and schema name
            # when we create new index in update we can fetch it using
            # property sql
            schema, table = index_utils.get_parent(self.conn, kwargs['tid'])
            self.schema = schema
            self.table = table

            return f(*args, **kwargs)
コード例 #2
0
        def wrap(*args, **kwargs):
            self = args[0]
            driver = get_driver(PG_DEFAULT_DRIVER)
            self.manager = driver.connection_manager(kwargs['sid'])
            # Get database connection
            self.conn = self.manager.connection(did=kwargs['did'])
            self.qtIdent = driver.qtIdent
            self.datlastsysoid = \
                self.manager.db_info[kwargs['did']]['datlastsysoid'] \
                if self.manager.db_info is not None and \
                kwargs['did'] in self.manager.db_info else 0

            self.datistemplate = False
            if (
                self.manager.db_info is not None and
                kwargs['did'] in self.manager.db_info and
                'datistemplate' in self.manager.db_info[kwargs['did']]
            ):
                self.datistemplate = self.manager.db_info[
                    kwargs['did']]['datistemplate']

            # we will set template path for sql scripts
            self.template_path = compile_template_path(
                'domains/sql/',
                self.manager.server_type,
                self.manager.version
            )

            return f(*args, **kwargs)
コード例 #3
0
ファイル: __init__.py プロジェクト: jouve/pgadmin4-1
        def wrap(*args, **kwargs):
            # Here args[0] will hold self & kwargs will hold gid,sid,did
            self = args[0]
            self.manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(
                kwargs['sid']
            )
            self.conn = self.manager.connection(did=kwargs['did'])
            self.datlastsysoid = \
                self.manager.db_info[kwargs['did']]['datlastsysoid'] \
                if self.manager.db_info is not None and \
                kwargs['did'] in self.manager.db_info else 0

            self.datistemplate = False
            if (
                self.manager.db_info is not None and
                kwargs['did'] in self.manager.db_info and
                'datistemplate' in self.manager.db_info[kwargs['did']]
            ):
                self.datistemplate = self.manager.db_info[
                    kwargs['did']]['datistemplate']

            # Set the template path for the SQL scripts
            self.template_path = compile_template_path(
                'collations/sql/',
                self.manager.server_type,
                self.manager.version
            )

            return f(*args, **kwargs)
コード例 #4
0
ファイル: __init__.py プロジェクト: postgres/pgadmin4
        def wrap(*args, **kwargs):
            # Here args[0] will hold self & kwargs will hold gid,sid,did
            self = args[0]
            self.manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(
                kwargs['sid'])
            self.conn = self.manager.connection(did=kwargs['did'])
            self.datistemplate = False
            if (self.manager.db_info is not None
                    and kwargs['did'] in self.manager.db_info and
                    'datistemplate' in self.manager.db_info[kwargs['did']]):
                self.datistemplate = self.manager.db_info[
                    kwargs['did']]['datistemplate']

            self.table_template_path = compile_template_path(
                'tables/sql', self.manager.server_type, self.manager.version)

            # we will set template path for sql scripts
            self.template_path = 'compound_triggers/sql/{0}/#{1}#'.format(
                self.manager.server_type, self.manager.version)
            # Store server type
            self.server_type = self.manager.server_type
            # We need parent's name eg table name and schema name
            # when we create new compound trigger in update we can fetch
            # it using property sql
            schema, table = compound_trigger_utils.get_parent(
                self.conn, kwargs['tid'])
            self.schema = schema
            self.table = table

            return f(*args, **kwargs)
コード例 #5
0
ファイル: __init__.py プロジェクト: hung135/pgadmin4
        def wrap(*args, **kwargs):
            # Here args[0] will hold self & kwargs will hold gid,sid,did
            self = args[0]
            self.manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(
                kwargs['sid'])
            self.conn = self.manager.connection(did=kwargs['did'])
            # We need datlastsysoid to check if current index is system index
            self.datlastsysoid = self.manager.db_info[
                kwargs['did']
            ]['datlastsysoid'] if self.manager.db_info is not None and \
                kwargs['did'] in self.manager.db_info else 0

            # we will set template path for sql scripts
            self.template_path = compile_template_path(
                'index/sql/', self.manager.server_type, self.manager.version)

            # We need parent's name eg table name and schema name
            # when we create new index in update we can fetch it using
            # property sql
            SQL = render_template("/".join(
                [self.template_path, 'get_parent.sql']),
                                  tid=kwargs['tid'])
            status, rset = self.conn.execute_2darray(SQL)
            if not status:
                return internal_server_error(errormsg=rset)

            for row in rset['rows']:
                self.schema = row['schema']
                self.table = row['table']

            return f(*args, **kwargs)
コード例 #6
0
ファイル: __init__.py プロジェクト: tvar/pgadmin4
    def backend_supported(self, manager, **kwargs):
        """
        Load this module if vid is view, we will not load it under
        material view
        """
        if super(IndexesModule, self).backend_supported(manager, **kwargs):
            conn = manager.connection(did=kwargs['did'])

            # If PG version > 100000 and < 110000 then index is
            # not supported for partitioned table.
            if 'tid' in kwargs and 100000 <= manager.version < 110000:
                return not backend_supported(self, manager, **kwargs)

            if 'vid' not in kwargs:
                return True

            template_path = compile_template_path('indexes/sql',
                                                  manager.server_type,
                                                  manager.version)

            SQL = render_template("/".join(
                [template_path, 'backend_support.sql']),
                                  vid=kwargs['vid'])
            status, res = conn.execute_scalar(SQL)

            # check if any errors
            if not status:
                return internal_server_error(errormsg=res)
            # Check vid is view not material view
            # then true, othewise false
            return res
コード例 #7
0
ファイル: __init__.py プロジェクト: alemairebe/pgadmin4
        def wrap(*args, **kwargs):
            # Here args[0] will hold self & kwargs will hold gid,sid,did
            self = args[0]
            self.manager = get_driver(
                PG_DEFAULT_DRIVER
            ).connection_manager(kwargs['sid'])
            self.conn = self.manager.connection(did=kwargs['did'])
            schema, table = row_security_policies_utils.get_parent(self.conn,
                                                                   kwargs[
                                                                       'tid'])
            self.datlastsysoid = self.manager.db_info[
                kwargs['did']
            ]['datlastsysoid'] if self.manager.db_info is not None and \
                kwargs['did'] in self.manager.db_info else 0
            self.schema = schema
            self.table = table
            # Set template path for the sql scripts
            self.table_template_path = compile_template_path(
                'tables/sql',
                self.manager.server_type,
                self.manager.version
            )
            self.template_path = 'row_security_policies/sql/#{0}#'.format(
                self.manager.version)

            return f(*args, **kwargs)
コード例 #8
0
        def wrap(*args, **kwargs):
            # Here args[0] will hold self & kwargs will hold gid,sid,did
            self = args[0]
            self.manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(
                kwargs['sid'])
            self.conn = self.manager.connection(did=kwargs['did'])
            # we will set template path for sql scripts
            self.table_template_path = compile_template_path(
                'tables/sql', self.manager.server_type, self.manager.version)
            self.template_path = 'triggers/sql/{0}/#{1}#'.format(
                self.manager.server_type, self.manager.version)

            self.trigger_function_template_path = \
                'trigger_functions/{0}/sql/#{1}#'.format(
                    self.manager.server_type, self.manager.version)

            # Store server type
            self.server_type = self.manager.server_type
            # We need parent's name eg table name and schema name
            # when we create new trigger in update we can fetch it using
            # property sql
            schema, table = trigger_utils.get_parent(self.conn, kwargs['tid'])
            self.schema = schema
            self.table = table

            return f(*args, **kwargs)
コード例 #9
0
    def wrap(*args, **kwargs):
        # Here args[0] will hold the connection object
        conn_obj = args[0]
        if 'template_path' not in kwargs or kwargs['template_path'] is None:
            kwargs['template_path'] = \
                compile_template_path('indexes/sql', conn_obj.manager.server_type, conn_obj.manager.version)

        return f(*args, **kwargs)
コード例 #10
0
ファイル: __init__.py プロジェクト: postgres/pgadmin4
        def wrap(*args, **kwargs):
            # Here args[0] will hold self & kwargs will hold gid,sid,did
            self = args[0]
            self.manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(
                kwargs['sid'])
            self.conn = self.manager.connection(did=kwargs['did'])
            self.template_path = 'rules/sql'
            self.table_template_path = compile_template_path(
                'tables/sql', self.manager.server_type, self.manager.version)

            return f(*args, **kwargs)
コード例 #11
0
ファイル: __init__.py プロジェクト: udayakp/pgadmin4
        def wrap(*args, **kwargs):
            # Here args[0] will hold self & kwargs will hold gid,sid,did
            self = args[0]
            self.manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(
                kwargs['server_id'])
            self.connection = self.manager.connection(
                did=kwargs['database_id'])
            self.sql_template_path = compile_template_path(
                'sql', self.manager.server_type, self.manager.sversion)

            return function_wrapped(*args, **kwargs)
コード例 #12
0
ファイル: __init__.py プロジェクト: hung135/pgadmin4
        def wrap(*args, **kwargs):
            # Here args[0] will hold self & kwargs will hold gid,sid,did
            self = args[0]
            self.manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(
                kwargs['sid'])
            self.conn = self.manager.connection(did=kwargs['did'])
            # Set the template path for the SQL scripts
            self.template_path = compile_template_path(
                'collation/sql/', self.manager.server_type,
                self.manager.version)

            return f(*args, **kwargs)
コード例 #13
0
ファイル: __init__.py プロジェクト: cgustad/prog_practice
        def wrap(*args, **kwargs):
            self = args[0]
            driver = get_driver(PG_DEFAULT_DRIVER)
            self.manager = driver.connection_manager(kwargs['sid'])
            # Get database connection
            self.conn = self.manager.connection(did=kwargs['did'])
            self.qtIdent = driver.qtIdent

            # we will set template path for sql scripts
            self.template_path = compile_template_path(
                'domains/sql/', self.manager.server_type, self.manager.version)

            return f(*args, **kwargs)
コード例 #14
0
        def wrap(*args, **kwargs):
            # Here args[0] will hold self & kwargs will hold gid,sid,did
            self = args[0]
            self.manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(
                kwargs['sid'])
            self.conn = self.manager.connection(did=kwargs['did'])
            self.datlastsysoid = self.manager.db_info[
                kwargs['did']
            ]['datlastsysoid'] if self.manager.db_info is not None and \
                kwargs['did'] in self.manager.db_info else 0
            self.template_path = 'rules/sql'
            self.table_template_path = compile_template_path(
                'tables/sql', self.manager.server_type, self.manager.version)

            return f(*args, **kwargs)
コード例 #15
0
ファイル: __init__.py プロジェクト: asheshv/pgadmin4
        def wrap(*args, **kwargs):
            # Here args[0] will hold self & kwargs will hold gid,sid,did
            self = args[0]
            self.manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(
                kwargs['sid']
            )
            self.conn = self.manager.connection(did=kwargs['did'])
            # Set the template path for the SQL scripts
            self.template_path = compile_template_path(
                'collation/sql/',
                self.manager.server_type,
                self.manager.version
            )

            return f(*args, **kwargs)
コード例 #16
0
ファイル: __init__.py プロジェクト: asheshv/pgadmin4
        def wrap(*args, **kwargs):
            self = args[0]
            driver = get_driver(PG_DEFAULT_DRIVER)
            self.manager = driver.connection_manager(kwargs['sid'])
            # Get database connection
            self.conn = self.manager.connection(did=kwargs['did'])
            self.qtIdent = driver.qtIdent

            # we will set template path for sql scripts
            self.template_path = compile_template_path(
                'domains/sql/',
                self.manager.server_type,
                self.manager.version
            )

            return f(*args, **kwargs)
コード例 #17
0
ファイル: __init__.py プロジェクト: asheshv/pgadmin4
        def wrap(*args, **kwargs):
            # Here args[0] will hold self & kwargs will hold gid,sid,did
            self = args[0]
            self.manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(
                kwargs['server_id']
            )
            self.connection = self.manager.connection(
                did=kwargs['database_id']
            )
            self.sql_template_path = compile_template_path(
                'sql',
                self.manager.server_type,
                self.manager.sversion
            )

            return function_wrapped(*args, **kwargs)
コード例 #18
0
        def wrap(*args, **kwargs):
            self = args[0]
            driver = get_driver(PG_DEFAULT_DRIVER)
            self.manager = driver.connection_manager(kwargs['sid'])

            # Get database connection
            self.conn = self.manager.connection(did=kwargs['did'])
            self.qtIdent = driver.qtIdent

            # Set template path for sql scripts depending
            # on the server version.
            self.template_path = compile_template_path(
                'foreign_tables/sql/', self.manager.server_type,
                self.manager.version)

            return f(*args, **kwargs)
コード例 #19
0
ファイル: __init__.py プロジェクト: asheshv/pgadmin4
        def wrap(*args, **kwargs):
            self = args[0]
            driver = get_driver(PG_DEFAULT_DRIVER)
            self.manager = driver.connection_manager(kwargs['sid'])

            # Get database connection
            self.conn = self.manager.connection(did=kwargs['did'])
            self.qtIdent = driver.qtIdent

            # Set template path for sql scripts depending
            # on the server version.
            self.template_path = compile_template_path(
                'foreign_tables/sql/',
                self.manager.server_type,
                self.manager.version
            )

            return f(*args, **kwargs)
コード例 #20
0
ファイル: __init__.py プロジェクト: tvar/pgadmin4
        def wrap(*args, **kwargs):
            # Here args[0] will hold self & kwargs will hold gid,sid,did
            self = args[0]
            driver = get_driver(PG_DEFAULT_DRIVER)
            self.manager = driver.connection_manager(kwargs['sid'])
            self.conn = self.manager.connection(did=kwargs['did'])
            self.qtIdent = driver.qtIdent
            self.qtTypeIdent = driver.qtTypeIdent

            # Set the template path for the SQL scripts
            self.template_path = compile_template_path(
                'columns/sql', self.manager.server_type, self.manager.version)

            # Allowed ACL for column 'Select/Update/Insert/References'
            self.acl = ['a', 'r', 'w', 'x']

            # We need parent's name eg table name and schema name
            schema, table = column_utils.get_parent(self.conn, kwargs['tid'])
            self.schema = schema
            self.table = table

            return f(*args, **kwargs)
コード例 #21
0
ファイル: __init__.py プロジェクト: thaJeztah/pgadmin4
        def wrap(*args, **kwargs):
            # Here args[0] will hold self & kwargs will hold gid,sid,did
            self = args[0]
            self.manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(
                kwargs['sid']
            )
            self.conn = self.manager.connection(did=kwargs['did'])
            # We need datlastsysoid to check if current index is system index
            self.datlastsysoid = self.manager.db_info[
                kwargs['did']
            ]['datlastsysoid'] if self.manager.db_info is not None and \
                kwargs['did'] in self.manager.db_info else 0

            # we will set template path for sql scripts
            self.template_path = compile_template_path(
                'index/sql/',
                self.manager.server_type,
                self.manager.version
            )

            # We need parent's name eg table name and schema name
            # when we create new index in update we can fetch it using
            # property sql
            SQL = render_template(
                "/".join([self.template_path, 'get_parent.sql']),
                tid=kwargs['tid']
            )
            status, rset = self.conn.execute_2darray(SQL)
            if not status:
                return internal_server_error(errormsg=rset)

            for row in rset['rows']:
                self.schema = row['schema']
                self.table = row['table']

            return f(*args, **kwargs)