Share Pastebin
Guest
Public paste!

Untitled

By: a guest | Mar 20th, 2010 | Syntax: None | Size: 1.90 KB | Hits: 107 | Expires: Never
Copy text to clipboard
  1. func insert_last_message(dbh *mysql.MySQLInstance, nick, message string) (err os.Error) {
  2.         fmt.Printf("a\n")
  3.         if row, err := last_message(dbh, nick); err != nil {
  4.                 fmt.Printf("b\n")
  5.                 return err
  6.         } else if row == nil {
  7.                 fmt.Printf("c: %v\n", row)
  8.                 _, err := dbh.Query(fmt.Sprintf("INSERT INTO last_message (nick, message) VALUES ('%s', '%s')", nick, message))
  9.                 return err
  10.         } else if row != nil {
  11.                 fmt.Printf("d\n")
  12.                 _, err := dbh.Query(fmt.Sprintf("UPDATE last_message SET message = '%s' WHERE name = '%s'", message, nick))
  13.                 return err
  14.         }
  15.         fmt.Printf("e\n")
  16.         return nil
  17. }
  18.  
  19. func last_message(dbh *mysql.MySQLInstance, nick string) (row map[string]string, err os.Error) {
  20.         fmt.Printf("last message called\n")
  21.         res, err := dbh.Query(fmt.Sprintf("SELECT * FROM last_message WHERE name = '%s'", nick))
  22.         if err != nil {
  23.                 fmt.Fprintf(os.Stderr, "mysql: %s\n", err.String())
  24.                 return nil, err
  25.         }
  26.         return res.FetchRowMap(), nil
  27. }
  28.  
  29. func main () {
  30.         var err os.Error
  31.         dbh, err := mysql.Connect("tcp", "", "127.0.0.1:3306", "zedbot", "password", "zedbot")
  32.         if err != nil {
  33.                 fmt.Fprintf(os.Stderr, "mysql: %s", err.String())
  34.                 os.Exit(1)
  35.         }
  36.         if _, err := dbh.Use("zedbot"); err != nil {
  37.                 fmt.Fprintf(os.Stderr, "mysql: %s", err.String())
  38.                 os.Exit(1)
  39.         }
  40.  
  41.         if err := insert_last_message(dbh, "samuel", "updated for testing"); err != nil {
  42.                 fmt.Fprintf(os.Stderr, "mysql: %s\n", err.String())
  43.                 os.Exit(1)
  44.         }
  45.         fmt.Printf("2\n")
  46.         if row, err := last_message(dbh, "samuel"); err != nil {
  47.                 fmt.Fprintf(os.Stderr, "mysql: %s\n", err.String())
  48.                 os.Exit(1)
  49.         } else if row != nil {
  50.                 fmt.Printf("%s <%s> %s\n", row["time"], row["name"], row["message"])
  51.         }
  52.         fmt.Printf("3\n")
  53.         if row, err := last_message(dbh, "frank"); err != nil {
  54.                 fmt.Fprintf(os.Stderr, "mysql: %s\n", err.String())
  55.                 os.Exit(1)
  56.         } else if row != nil {
  57.                 fmt.Printf("%s <%s> %s\n", row["time"], row["name"], row["message"])
  58.         }
  59. }