Ejemplo n.º 1
0
def showServerParameter(db, param=""):
    """Shows the server parameters matching the pattern 'param'
    @param param: pattern to be matched
    @type param: str
    @return: resultset in tabular format
    """
    param = addWildCardIfNeeded(param)
    header = [_("Name"), _("Type"), _("Value"), _("#"), _("Used?"), _("Comments")]
    #TODO: move this request to pysqlQueries
    try:
        result = db.executeAll("""select distinct sp.name
            , decode(p.type, 1, 'BOOLEAN', 2, 'STRING', 3, 'INTEGER', 4, 'PFILE'
                           , 5, 'RESERVED', 6, 'BIG INTEGER', 'UNKNOWN') type
            , decode(substr(sp.name, 1, 3), 'nls'
                            ,  (select value from nls_database_parameters
                                where lower(parameter)=sp.name)
                            , sp.value) value
            , sp.ordinal
            , sp.isspecified
            , p.description
        from v$spparameter sp, v$parameter2 p
        where sp.name=p.name
          and sp.name like '%s'
        order by 1""" % param)
    except PysqlException:
        raise PysqlActionDenied(_("Insufficient privileges"))
    return (header, result)
Ejemplo n.º 2
0
def showParameter(db, param=""):
    """Shows the session parameters matching the pattern 'param'
    @param param: pattern to be matched
    @type param: str
    @return: resultset in tabular format
    """
    param = addWildCardIfNeeded(param)
    header = [_("Name"), _("Type"), _("Value"), _("#"), _("Session?"), _("System?"), _("Comments")]
    #TODO: move this request to pysqlQueries
    try:
        result = db.executeAll("""select name
            , decode(type, 1, 'BOOLEAN', 2, 'STRING', 3, 'INTEGER', 4, 'PFILE'
                         , 5, 'RESERVED', 6, 'BIG INTEGER', 'UNKNOWN') type
            , decode(substr(name, 1, 3), 'nls'
                            ,  (select value from nls_session_parameters
                                where lower(parameter)=name)
                            , value) value
            , ordinal
            , isses_modifiable
            , issys_modifiable
            , description
        from v$parameter2
        where name like '%s'
        order by 1""" % param)
    except PysqlException:
        raise PysqlActionDenied(_("Insufficient privileges"))
    return (header, result)
Ejemplo n.º 3
0
def searchObject(db, objectType, objectName, objectOwner):
    """Searches for Oracle objects by name with wildcard if needed"""
    result = {}
    objectType = objectType.lower()
    try:
        sql = searchObjectSql[objectType][0]
        keyword = searchObjectSql[objectType][1]
        if len(objectName.split()) == 1:
            # Single word search. Just add wildcart % if needed
            whereClause = "%s like '%s'" % (keyword, addWildCardIfNeeded(objectName))
        else:
            whereClause = generateWhere(keyword, objectName)
        objects = db.executeAll(sql % (whereClause, objectOwner, keyword))
    except KeyError:
        raise PysqlException(_("SQL entry not defined for searchObjectSql: %s") % objectType)
    # Returns a dict with key=schemaNAme and Value=list of object
    for (owner, name) in objects:
        if result.has_key(owner):
            result[owner].append(name)
        else:
            result[owner] = [name]
    return result
Ejemplo n.º 4
0
 def test_result_with_various_wildcard(self):
     for wildcard in ("", "%", "$", "*"):
         self.assertEqual(wildcard + "cou cou" + wildcard,
                          pysqlhelpers.addWildCardIfNeeded("cou cou", wildcard=wildcard))
         self.assertEqual("cou%scou" % wildcard,
                          pysqlhelpers.addWildCardIfNeeded("cou%scou" % wildcard, wildcard=wildcard))
Ejemplo n.º 5
0
 def test_result_with_default_wildcard(self):
     for answer, question in (("%lala%", "lala"), ("lala%", "lala%"), ("%lala", "%lala"),
                                  ("la%la", "la%la")):
         self.assertEqual(answer, pysqlhelpers.addWildCardIfNeeded(question))