This file is indexed.

/usr/share/pyshared/adodb/adodb_sqlite.py is in python-adodb 2.10-1.1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
########################################################################
# Vers 2.01 5 May 2006, (c)2005 GlennWashburn (crass#berlios.de) and John Lim
# Released under a BSD-style license. See LICENSE.txt.
# Download: http://adodb.sourceforge.net/#pydownload
#
#  Requires http://initd.org/tracker/pysqlite
# Currently, the host, user, and password connection parameters are ignored and
# Affected_Rows() does not return the correct value
########################################################################
import adodb

try:
    import sqlite3 as sqlite
except:
    import pysqlite2.dbapi2 as sqlite
    
try:
    True, False
except NameError:
    # Maintain compatibility with Python 2.2
    True, False = 1, 0


# Thread Safety= 2  connections
# Param Style  = pyformat "%(name)s"

class adodb_sqlite(adodb.ADOConnection):
    databaseType = 'sqlite'
    dataProvider = 'sqlite'
    
    sysDate = "date('now')"
    sysTimeStamp = "(date('now') || ' ' || time('now'))"

    metaColSQL = """PRAGMA table_info(%s)"""
    
    def __init__(self):
        pass

    def Module(self):
        return sqlite
    
    def _connect(self,host=None,user=None,password=None,database=None):
        # sqlite doesn't use host, user, or password
        dsn = database
        self._conn = sqlite.connect(dsn, detect_types=sqlite.PARSE_DECLTYPES)
        self._autocommit_conn(1)

    def _newcursor(self,rs):
        return cursor_sqlite(rs,self)
    
    def _autocommit_conn(self, level=1):
        if level:
            self._prev_iso_level = self._conn.isolation_level;
            self._conn.isolation_level = None;
        else:
            self._conn.isolation_level = self._prev_iso_level;

    def SelectLimit(self,sql,limit,offset=-1,params=None):
        if (offset >= 0): offset = " OFFSET "+str(offset)
        else: offset = ""
        return self.Execute(sql+" LIMIT "+str(limit)+offset,params)

    def BeginTrans(self):
        if self._autocommit:
            self._autocommit = False
        self._autocommit_conn(0)

    def RollbackTrans(self):
        self._conn.rollback()
        self._autocommit = True
        self._autocommit_conn(1)
        
    def CommitTrans(self):
        self._conn.commit()
        self._autocommit = True
        self._autocommit_conn(1)

    def UpdateBlob(self,table,field,blob,where,blobtype='BLOB'):
        self.Execute("update %s set %s = ? WHERE %s" % (table,field,where), (sqlite.Binary(blob),))
        
class cursor_sqlite(adodb.ADOCursor):
    def __init__(self,rs,conn):
        adodb.ADOCursor.__init__(self,rs,conn)
        self._insertid = rs.lastrowid

    
if __name__ == '__main__':
    db = adodb_sqlite()
    db.Connect('localhost','tester','test','test.sqlite')
    
    #~ db.Execute('create table adoxyz (id int, firstname text, lastname text, created timestamp default "2005-11-02");')
    #~ db.Execute("insert into adoxyz values (0, 'test1', 'ltest1', date(\"now\"));")
    #~ db.Execute("insert into adoxyz values (1, 'test2', 'ltest2', date(\"now\"));")
    #~ db.Execute("insert into adoxyz values (2, 'test3', 'ltest3', date(\"now\"));")
    #~ db.Execute("insert into adoxyz values (3, 'test4', 'ltest4', date(\"now\"));")
    
    #~ cur = db.Execute("select * from sqlite_master;")
    #~ print [r for r in cur];
    #~ cur = db.Execute("pragma table_info(adoxyz);")
    #~ print [r for r in cur];

    adodb.Test(db)
    
    #~ db.Execute('create table photos (id int, photo blob);')
    #~ db.Execute("insert into photos values (1, NULL);")
    adodb.Test_Blob(db)