Index by: file name | procedure name | procedure call | annotation
gscope_sqlonage.tcl (annotations | original source)

#gscope_sqlite.tcl

proc LoadSqlonage {{Action ""}} {
    global LoadSqlonage

    package require sqlite3

    set FichierSqlonage "[RepertoireDuGenome]/sqlite/Sqlonage.db"

    if {$Action=="GetFileName"} { return $FichierSqlonage }

    if {[info exists LoadSqlonage(DbName)]} {
	if {$Action=="Reset"} { FaireLire "Please rerun gscope to reset the Sqlonage database" ; return "" }
	return $LoadSqlonage(DbName)
    }

    if {[string equal -nocase $Action "Reset"] && [FileExists $FichierSqlonage]} {
	Garde $FichierSqlonage
	file delete $FichierSqlonage
    }

    set LoadSqlonage(DbName) [sqlite3 Sqlonage $FichierSqlonage]
    return $LoadSqlonage(DbName)
}

proc CreateSqlonage {{Action ""}} {

    LoadSqlonage $Action

    Sqlonage eval "create table if not exists \
	    oli(pk_oli INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, type TEXT, sens TEXT, seq TEXT, freetext TEXT)"

    Sqlonage eval "begin transaction"
    foreach P [Oli LaListeMerci] {
	set Name             $P
	set Type        [Oli $P "Type"]
	set Seq         [Oli $P "Seq"]
	set Sens        [Oli $P "Sens"]
	set Description [Oli $P "Description"]
	regsub -all "'" $Sens "''" Sens
	regsub -all "'" $Description "''" Description
	Sqlonage eval "insert into oli (name, type, sens, seq, freetext) values('$Name', '$Type', '$Sens', '$Seq', '$Description')"
    }
    Sqlonage eval "end transaction"
}

proc OliSqlo {{P ""} {Quoi ""}} {

    LoadSqlonage
    if {$P==""} { set P "LaListeMerci" }
    if {$P=="LaListeMerci"} { return [Sqlonage eval "select name from oli order by name"] }

    if {[regexp -nocase "^select " $P]} { set Sql $P ; return [Sqlonage eval $Sql] }

    if {[EstUnP $P]} {
	if {$Quoi==""} { set Quoi "Seq" }
	set Result [Sqlonage eval "select $Quoi from oli where name='$P'"]
	if {[regexp {\,|\*} $Quoi]} { return $Result }
	return [lindex $Result 0]
    }

}





Index by: file name | procedure name | procedure call | annotation
File generated 2022-04-05 at 12:55.