Skip to content

Instantly share code, notes, and snippets.

View xivSolutions's full-sized avatar

John Atten xivSolutions

View GitHub Profile
@xivSolutions
xivSolutions / sql-server-remove-leading-zeros.sql
Created October 10, 2018 20:40
SQL Server Remove Leading Zeros
SELECT SUBSTRING('00008815208', PATINDEX('%[^0]%', '00008815208'+'.'), LEN('00008815208'))
@xivSolutions
xivSolutions / git-prune-local-merged
Created December 8, 2016 18:11
Prune local branches that are merged into master
git branch --merged master | grep -v 'master$' | xargs git branch -d
@xivSolutions
xivSolutions / gist:67da7f1d8828e2d4319147b2f4f8dab8
Created September 21, 2016 19:47
SQL Server Find Indexes
select
i.name as IndexName,
o.name as TableName,
ic.key_ordinal as ColumnOrder,
ic.is_included_column as IsIncluded,
co.[name] as ColumnName
from sys.indexes i
join sys.objects o on i.object_id = o.object_id
join sys.index_columns ic on ic.object_id = i.object_id
and ic.index_id = i.index_id
(SET search_path).+?(?=SET search_path)|(SET search_path).+?$
@xivSolutions
xivSolutions / jenkinsApiCsharp.cs
Created April 14, 2016 23:59
Get build info from Jenkins config
var request = new RestRequest("/job/feature/api/json/config.xml", Method.GET);
request.AddHeader("content-type", "application/json");
var client = new RestClient(config.JenkinsUrl)
{
Authenticator = new HttpBasicAuthenticator(config.UserName, config.Password)
};
var result = client.Execute(request);
@xivSolutions
xivSolutions / gist:326e50961f3ab4d6a5bf
Created June 20, 2015 22:00
MassiveJS Whitelisted Tables with PK Field as JSON
SELECT t.table_schema AS schema, t.table_name AS name,
(SELECT json_agg(keys) from (
SELECT c.column_name, c.data_type, c.character_maximum_length AS char_length,
c.column_default IS NOT NULL AS is_auto
FROM information_schema.columns c
LEFT OUTER JOIN information_schema.key_column_usage kcu
ON c.table_schema = kcu.constraint_schema AND c.table_name = kcu.table_name AND c.column_name = kcu.column_name
LEFT OUTER JOIN information_schema.table_constraints tc
ON kcu.constraint_schema = tc.constraint_schema AND kcu.constraint_name = tc.constraint_name
WHERE
@xivSolutions
xivSolutions / gist:5c7a18da106d39d29bc4
Last active August 29, 2015 14:23
MassiveJS Tables with PK JSON Field
SELECT t.table_schema AS schema, t.table_name AS name,
(SELECT json_agg(keys) from (
SELECT c.column_name, c.data_type, c.character_maximim_length AS char_length,
c.column_default IS NOT NULL AS is_auto
FROM information_schema.columns c
LEFT OUTER JOIN information_schema.key_column_usage kcu
ON c.table_schema = kcu.constraint_schema AND c.table_name = kcu.table_name AND c.column_name = kcu.column_name
LEFT OUTER JOIN information_schema.table_constraints tc
ON kcu.constraint_schema = tc.constraint_schema AND kcu.constraint_name = tc.constraint_name
WHERE
@xivSolutions
xivSolutions / gist:ba20d517dc10b6699752
Created June 20, 2015 15:52
MassiveJS Table With Keys as JSON
DEALLOCATE tables;
PREPARE tables(text, text, text) AS
SELECT row_to_json (tbls) AS tables FROM (
SELECT t.table_schema, t.table_name,
(SELECT json_agg(keys) from (
SELECT c.COLUMN_NAME, c.DATA_TYPE, c.CHARACTER_MAXIMUM_LENGTH AS char_length,
c.column_default IS NOT NULL AS is_auto
FROM information_schema.columns c
LEFT OUTER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu
ON c.TABLE_SCHEMA = kcu.CONSTRAINT_SCHEMA AND c.TABLE_NAME = kcu.TABLE_NAME AND c.COLUMN_NAME = kcu.COLUMN_NAME
@xivSolutions
xivSolutions / gist:08a7a597721117564f8e
Created June 15, 2015 10:39
MassiveJS Table Keys v3
deallocate tables;
prepare tables(text, text, text) as
SELECT c.TABLE_NAME, c.COLUMN_NAME, kcu.CONSTRAINT_NAME, c.DATA_TYPE, c.CHARACTER_MAXIMUM_LENGTH, tc.CONSTRAINT_TYPE,
CASE tc.CONSTRAINT_TYPE WHEN 'PRIMARY KEY' THEN CAST(1 AS BIt) ELSE CAST(0 AS Bit) END AS IsPrimaryKey,
c.column_default is not null as is_auto,
c.column_default
FROM information_schema.columns c
LEFT OUTER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu
ON c.TABLE_SCHEMA = kcu.CONSTRAINT_SCHEMA AND c.TABLE_NAME = kcu.TABLE_NAME AND c.COLUMN_NAME = kcu.COLUMN_NAME
LEFT OUTER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
@xivSolutions
xivSolutions / gist:06d5281935dd2ac94879
Created June 12, 2015 04:27
MassiveJS Table Keys v2
-- deallocate tables;
prepare tables(text, text, text) as
SELECT c.TABLE_NAME, c.COLUMN_NAME, kcu.CONSTRAINT_NAME, c.DATA_TYPE, c.CHARACTER_MAXIMUM_LENGTH, tc.CONSTRAINT_TYPE,
CASE tc.CONSTRAINT_TYPE WHEN 'PRIMARY KEY' THEN CAST(1 AS BIt) ELSE CAST(0 AS Bit) END AS IsPrimaryKey,
case (
case left(c.column_default, 13) when 'uuid_generate' then 1 else 0 end +
case left(c.column_default, 7) when 'nextval' then 1 else 0 end)
when 0 then false else true end AS IsAuto,
c.column_default
FROM information_schema.columns c