Example #1
0
// UpdateRow updates a row. ptr points to the business object being updated.
// sql must be of form "update table_name set ... where id = ?"
func UpdateRow(
	conn *sqlite.Conn,
	row RowForWriting,
	ptr interface{},
	sql string) error {
	values, err := UpdateValues(row, ptr)
	if err != nil {
		return err
	}
	return conn.Exec(sql, values...)
}
Example #2
0
// AddRow adds a new row. row being added must have auto increment id field.
// ptr points to the business object being added.
func AddRow(
	conn *sqlite.Conn,
	row RowForWriting,
	ptr interface{},
	rowId *int64,
	sql string) error {
	values, err := InsertValues(row, ptr)
	if err != nil {
		return err
	}
	if err = conn.Exec(sql, values...); err != nil {
		return err
	}
	*rowId, err = LastRowId(conn)
	return err
}
Example #3
0
// SetUpTables creates all needed tables in database for the vsafe app.
func SetUpTables(conn *sqlite.Conn) error {
	err := conn.Exec("create table if not exists user (id INTEGER PRIMARY KEY AUTOINCREMENT, owner INTEGER, name TEXT, key TEXT, checksum TEXT)")
	if err != nil {
		return err
	}
	err = conn.Exec("create unique index if not exists user_name_idx on user (name)")
	if err != nil {
		return err
	}
	err = conn.Exec("create table if not exists entry (id INTEGER PRIMARY KEY AUTOINCREMENT, owner INTEGER, url TEXT, title TEXT, desc TEXT, uname TEXT, password TEXT, special TEXT)")
	if err != nil {
		return err
	}
	return nil
}