2 db.start <- function() {
3 drv <- dbDriver('SQLite')
4 con <- dbConnect(drv, dbname=file.path(root,'data/cran2deb.db'))
5 tables <- dbListTables(con)
6 if (!dbExistsTable(con,'sysreq_override')) {
7 dbGetQuery(con,paste('CREATE TABLE sysreq_override ('
8 ,' debian_name TEXT UNIQUE NOT NULL'
9 ,',r_pattern TEXT UNIQUE NOT NULL'
12 if (!dbExistsTable(con,'license_override')) {
13 dbGetQuery(con,paste('CREATE TABLE license_override ('
14 ,' name TEXT UNIQUE NOT NULL'
15 ,',file_sha1 TEXT UNIQUE'
16 ,',accept INT NOT NULL'
22 db.stop <- function(con) {
26 db.quote <- function(text) {
27 return(paste('"',gsub('([^][[:alnum:]*?. ()<>:/=-])','\\\\\\1',text),'"',sep=''))
30 db.sysreq.override <- function(sysreq_text) {
32 results <- dbGetQuery(con,paste(
33 'SELECT debian_name FROM sysreq_override WHERE'
34 ,db.quote(sysreq_text),'GLOB r_pattern'))
36 return(results$debian_name)
39 db.add.sysreq.override <- function(pattern,debian_name) {
41 results <- dbGetQuery(con,paste(
42 'INSERT OR REPLACE INTO sysreq_override'
43 ,'(debian_name, r_pattern) VALUES ('
44 ,' ',db.quote(debian_name)
45 ,',',db.quote(pattern)
50 db.license.override.name <- function(name) {
52 results <- dbGetQuery(con,paste(
53 'SELECT accept FROM license_override WHERE'
54 ,db.quote(name),'= name'))
56 return(results$accept)
59 db.add.license.override.name <- function(name,accept) {
61 results <- dbGetQuery(con,paste(
62 'INSERT OR REPLACE INTO license_override'
63 ,'(name, accept) VALUES ('
70 db.license.override.file <- function(file_sha1) {
72 results <- dbGetQuery(con,paste(
73 'SELECT accept FROM license_override WHERE'
74 ,db.quote(file_sha1),'= file_sha1'))
76 return(results$accept)
79 db.add.license.override.file <- function(name,file_sha1,accept) {
81 results <- dbGetQuery(con,paste(
82 'INSERT OR REPLACE INTO license_override'
83 ,'(name, file_sha1, accept) VALUES ('
85 ,',',db.quote(file_sha1)