Merge branch 'v1' of github.com:Masterminds/squirrel into issue_126
diff --git a/select.go b/select.go
index 7037443..eb2c1e0 100644
--- a/select.go
+++ b/select.go
@@ -208,6 +208,15 @@
 	return data.ToSql()
 }
 
+func (b SelectBuilder) MustSql() (string, []interface{}, error) {
+	data := builder.GetStruct(b).(selectData)
+	sql, args, err := data.ToSql()
+	if err != nil {
+		panic(err)
+	}
+	return sql, args, err
+}
+
 func (b SelectBuilder) toSqlRaw() (string, []interface{}, error) {
 	data := builder.GetStruct(b).(selectData)
 	return data.toSqlRaw()
diff --git a/select_test.go b/select_test.go
index 72c074c..83bcc14 100644
--- a/select_test.go
+++ b/select_test.go
@@ -176,6 +176,18 @@
 	assert.Equal(t, "SELECT * FROM foo WHERE x = $1 AND NOT EXISTS ( SELECT * FROM bar WHERE y = $2 )", outerSql)
 }
 
+func TestMustSql(t *testing.T) {
+	func() {
+		defer func() {
+			if r := recover(); r == nil {
+				t.Errorf("TestUserFail should have panicked!")
+			}
+		}()
+		// This function should cause a panic
+		Select().From("foo").MustSql()
+	}()
+}
+
 func TestEmptyWhereClause(t *testing.T) {
 	sql, _, err := Select("*").From("users").ToSql()
 	assert.NoError(t, err)