// +build mssql

// This file was generated by Gosora's Query Generator. Please try to avoid modifying this file, as it might change at any time.
package main

import "log"
import "database/sql"
import "github.com/Azareal/Gosora/common"

// nolint
type Stmts struct {
	forumEntryExists *sql.Stmt
	groupEntryExists *sql.Stmt
	getForumTopics *sql.Stmt
	addForumPermsToForum *sql.Stmt
	updateEmail *sql.Stmt
	setTempGroup *sql.Stmt
	bumpSync *sql.Stmt
	deleteActivityStreamMatch *sql.Stmt

	getActivityFeedByWatcher *sql.Stmt
	getActivityCountByWatcher *sql.Stmt

	Mocks bool
}

// nolint
func _gen_mssql() (err error) {
	common.DebugLog("Building the generated statements")
	
	common.DebugLog("Preparing forumEntryExists statement.")
	stmts.forumEntryExists, err = db.Prepare("SELECT [fid] FROM [forums] WHERE [name] = '' ORDER BY fid ASC OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY")
	if err != nil {
		log.Print("Error in forumEntryExists statement.")
		log.Print("Bad Query: ","SELECT [fid] FROM [forums] WHERE [name] = '' ORDER BY fid ASC OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY")
		return err
	}
		
	common.DebugLog("Preparing groupEntryExists statement.")
	stmts.groupEntryExists, err = db.Prepare("SELECT [gid] FROM [users_groups] WHERE [name] = '' ORDER BY gid ASC OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY")
	if err != nil {
		log.Print("Error in groupEntryExists statement.")
		log.Print("Bad Query: ","SELECT [gid] FROM [users_groups] WHERE [name] = '' ORDER BY gid ASC OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY")
		return err
	}
		
	common.DebugLog("Preparing getForumTopics statement.")
	stmts.getForumTopics, err = db.Prepare("SELECT [topics].[tid],[topics].[title],[topics].[content],[topics].[createdBy],[topics].[is_closed],[topics].[sticky],[topics].[createdAt],[topics].[lastReplyAt],[topics].[parentID],[users].[name],[users].[avatar] FROM [topics] LEFT JOIN [users] ON [topics].[createdBy] = [users].[uid]  WHERE [topics].[parentID] = ?1 ORDER BY topics.sticky DESC,topics.lastReplyAt DESC,topics.createdBy DESC")
	if err != nil {
		log.Print("Error in getForumTopics statement.")
		log.Print("Bad Query: ","SELECT [topics].[tid],[topics].[title],[topics].[content],[topics].[createdBy],[topics].[is_closed],[topics].[sticky],[topics].[createdAt],[topics].[lastReplyAt],[topics].[parentID],[users].[name],[users].[avatar] FROM [topics] LEFT JOIN [users] ON [topics].[createdBy] = [users].[uid]  WHERE [topics].[parentID] = ?1 ORDER BY topics.sticky DESC,topics.lastReplyAt DESC,topics.createdBy DESC")
		return err
	}
		
	common.DebugLog("Preparing addForumPermsToForum statement.")
	stmts.addForumPermsToForum, err = db.Prepare("INSERT INTO [forums_permissions] ([gid],[fid],[preset],[permissions]) VALUES (?,?,?,?)")
	if err != nil {
		log.Print("Error in addForumPermsToForum statement.")
		log.Print("Bad Query: ","INSERT INTO [forums_permissions] ([gid],[fid],[preset],[permissions]) VALUES (?,?,?,?)")
		return err
	}
		
	common.DebugLog("Preparing updateEmail statement.")
	stmts.updateEmail, err = db.Prepare("UPDATE [emails] SET [email] = ?,[uid] = ?,[validated] = ?,[token] = ? WHERE [email] = ?")
	if err != nil {
		log.Print("Error in updateEmail statement.")
		log.Print("Bad Query: ","UPDATE [emails] SET [email] = ?,[uid] = ?,[validated] = ?,[token] = ? WHERE [email] = ?")
		return err
	}
		
	common.DebugLog("Preparing setTempGroup statement.")
	stmts.setTempGroup, err = db.Prepare("UPDATE [users] SET [temp_group] = ? WHERE [uid] = ?")
	if err != nil {
		log.Print("Error in setTempGroup statement.")
		log.Print("Bad Query: ","UPDATE [users] SET [temp_group] = ? WHERE [uid] = ?")
		return err
	}
		
	common.DebugLog("Preparing bumpSync statement.")
	stmts.bumpSync, err = db.Prepare("UPDATE [sync] SET [last_update] = GETUTCDATE()")
	if err != nil {
		log.Print("Error in bumpSync statement.")
		log.Print("Bad Query: ","UPDATE [sync] SET [last_update] = GETUTCDATE()")
		return err
	}
		
	common.DebugLog("Preparing deleteActivityStreamMatch statement.")
	stmts.deleteActivityStreamMatch, err = db.Prepare("DELETE FROM [activity_stream_matches] WHERE [watcher] = ? AND [asid] = ?")
	if err != nil {
		log.Print("Error in deleteActivityStreamMatch statement.")
		log.Print("Bad Query: ","DELETE FROM [activity_stream_matches] WHERE [watcher] = ? AND [asid] = ?")
		return err
	}
	
	return nil
}