Skip to content

Instantly share code, notes, and snippets.

Erik Ralston eralston

View GitHub Profile
@eralston
eralston / List Indices.sql
Created Jun 14, 2018
A Query for listing all indices in a SQL database with their
View List Indices.sql
SELECT
TableName = t.name,
IndexName = ind.name,
IndexId = ind.index_id,
ColumnId = ic.index_column_id,
ColumnName = col.name,
ind.*,
ic.*,
col.*
FROM
@eralston
eralston / Missing Index.sql
Last active Jun 14, 2018
A query for asking SQL Server about performance recommendations AKA "Missing Indices"
View Missing Index.sql
-- Missing Index Script
-- Original Author: Pinal Dave
SELECT TOP 25
dm_mid.database_id AS DatabaseID,
dm_migs.avg_user_impact*(dm_migs.user_seeks+dm_migs.user_scans) Avg_Estimated_Impact,
dm_migs.last_user_seek AS Last_User_Seek,
OBJECT_NAME(dm_mid.OBJECT_ID,dm_mid.database_id) AS [TableName],
'CREATE INDEX [PERF_' + OBJECT_NAME(dm_mid.OBJECT_ID,dm_mid.database_id) + '_'
+ REPLACE(REPLACE(REPLACE(ISNULL(dm_mid.equality_columns,''),', ','_'),'[',''),']','')
+ CASE
@eralston
eralston / Initialize.cs
Created Nov 18, 2016
Boilerplate for an assembly initialization class to map the datadirectory and reset the local db for unit testing in C# using Entity Framework
View Initialize.cs
[TestClass]
public class Initalize
{
[AssemblyInitialize]
public static void InitializeDbContext(TestContext context)
{
// Connection string in app.config should use LocalDb, EG:
// <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\DefaultConnection.mdf;Initial Catalog=DefaultConnection;Integrated Security=True" providerName="System.Data.SqlClient" />
AppDomain.CurrentDomain.SetData("DataDirectory", context.TestDeploymentDir);
Database.SetInitializer(new DropCreateDatabaseAlways<ApplicationDbContext>());
@eralston
eralston / ControllerExtensions.cs
Last active Aug 29, 2015
A set of helpers to enable ASP.Net MVC Controllers to render their views and send them as e-mail
View ControllerExtensions.cs
/// <summary>
/// Extension methods for the system MVC controller and related classes
/// </summary>
public static class ControllerExtensions
{
/// <summary>
/// Renders a view to string using the given model
/// </summary>
/// <param name="controller"></param>
/// <param name="viewName"></param>
@eralston
eralston / ZeroClipboardExample
Last active Aug 29, 2015
A code snippet for adding ZeroClipboard (https://github.com/zeroclipboard/zeroclipboard/) to an HTML page from CDN.js
View ZeroClipboardExample
<script src="https://cdnjs.cloudflare.com/ajax/libs/zeroclipboard/2.2.0/ZeroClipboard.min.js"></script>
<script>
$(function () {
ZeroClipboard.config({ swfPath: "https://cdnjs.cloudflare.com/ajax/libs/zeroclipboard/2.2.0/ZeroClipboard.swf" });
client = new ZeroClipboard($(".copy-button"));
})
</script>
@eralston
eralston / Web.Release.config
Created Apr 9, 2015
Web.config setting example for inserting a setting to force SSL in IIS; originally used in an ASP.Net MVC web application in Visual Studio
View Web.Release.config
<?xml version="1.0"?>
<!-- For more information on using Web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=301874 -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!--
In the example below, the "SetAttributes" transform will change the value of
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
finds an attribute "name" that has a value of "MyDB".
<connectionStrings>
@eralston
eralston / .tfignore
Created Feb 26, 2015
Example ignore file for Team Foundation Server, excluding files from Bin, NuGet packages, etc
View .tfignore
# User-specific files
*.suo
*.user
*.sln.docstates
# Build results
bin
obj
#include nuget executable
View jquery.plugintemplate.js
///
/// jqury.plugintemplate.js
/// A short explanation of what it does right here
///
///
/// Intended HTML structure for targeted complex form (if applicable)
/// .postal-code-form - outer wrapper
/// .locationInputs - wrapper around all inputs
/// .postal-input - postal code input
@eralston
eralston / drop_schema.sql
Created Apr 24, 2014
Drops all tables in a SQL Server database. At the moment, it may need to be run several times to decompose related tables.
View drop_schema.sql
-- Run several times to drop all tables
DECLARE @sql NVARCHAR(MAX) = N'';
/* Drop all constraints */
SELECT @sql += N'
ALTER TABLE ' + QUOTENAME(OBJECT_SCHEMA_NAME(parent_object_id))
+ '.' + QUOTENAME(OBJECT_NAME(parent_object_id)) +
' DROP CONSTRAINT ' + QUOTENAME(name) + ';'
FROM sys.foreign_keys;
@eralston
eralston / AsyncMethodExample.h
Created Feb 27, 2014
A contrived asynchronous method using two operation queues
View AsyncMethodExample.h
-(void)exampleAsyncMethod
{
// This method can have a dedicated queue for all instances on it
// Or maybe per instance if downloadQueue were instead a class variable
static NSOperationQueue *downloadQueue = nil;
if(!downloadQueue) {
downloadQueue = [[NSOperationQueue alloc] init];
}
// Capture the queue that called us
You can’t perform that action at this time.