Mit dem Boot durch die Leipziger Wasserstraßen

Am vergangenen Sonntag hatte ich das Vergnügen einer Bootstour durch Leipzig. Es ist schon spannend und überraschend, wie anders die Stadt aus dieser Perspektive aussieht. Leipzig ist eine großartige Stadt; es ist nicht nur, dass man sich hier sofort heimisch fühlt. Die Stadt bietet auch so viele Möglichkeiten sie zu entdecken und so viele Facetten zu erkunden.

Es gibt verschiedene Anbieter von Bootstouren und glücklicherweise führte uns „das Schicksal“ zum Elsterboot am Rennbahnsteg (siehe Tripadvisor). Mit dem Elektroboot durch die Kanäle ist eine Erfahrung wert, und ein kompetenter und freundlicher Kapitän rundeten das Ganze noch ab. Ein paar Impressionen gilt es dann doch auch zu teilen…

Mit dem Boot durch die Leipziger Wasserstraßen weiterlesen

Fundstück: bestrafender Login-Dialog bei Cinestar

Schön, wenn man (wie Cinestar) versucht Kunden über ein Bonusprogramm, seines Zeichens „CineStar CARD“ zu binden… Ich bin ja auch gern bereit sowas zu nutzen.

Wenn man aber beim Zugriff auf die Webseite, schon vor dem Login darüber informiert wird, dass man doch eine gültige Email eingeben soll, und man als Strafe das zugehörige Eingabefeld gleich entfernt, dann bezweifle ich irgendwie, ob die Entwickler die Idee so ganz verstanden haben.

ROLLBACK TRANSACTION bei Tabellen-Variablen

Im Zusammenhang mit der Entwicklung einer Cache-Logik bin ich auf ein kleines Problem gestoßen, auf dass ich hier kurz hinweisen möchte. Nehmen wir an, wir haben folgendes SQL-Skript:

  1. Leeren eines Tabelle
  2. Befüllen der Tabelle mit frischen Daten
Packt man die beiden Befehle (DELETE und INSERT) nicht in eine Transaktion, kann es passieren, dass man bei einem INSERT-Fehler auf einmal mit einer leeren Tabelle da steht (was ja nicht immer so gewollt ist). 
Also habe ich folgende erweiterte Logik umgesetzt:
  1. Erstelle eine Transaktion
    1. Leeren eines Tabelle
    2. Befüllen der Tabelle mit frischen Daten
  2. wenn beides ohne Probleme lief, dann festschreiben (COMMIT)
  3. wenn es ein Problem gab, Rückgängig machen (ROLLBACK)
In meinen Tests mit einer Tabellen-Variable (@table) wollte das aber partout nicht funktionieren und ich bin wahnsinnig geworden (fast jedenfalls). Eine Änderung der Tabelle von Variable auf Temp (also statt @table auf #table) und schon klappt alles.
In einem Blog-Post wurde mein Verdacht dann auch bestätigt: es geht einfach nicht. Rollback wird bei Tabellen-Variablen nicht unterstützt…