Skip to content

Instantly share code, notes, and snippets.

View ableasdale's full-sized avatar

Alex Bleasdale ableasdale

View GitHub Profile
@ableasdale
ableasdale / meters-fragments.xqy
Created May 4, 2015 13:20
Meters database fragment report (hourly)
xquery version "1.0-ml";
declare namespace meters = "http://marklogic.com/manage/meters";
declare variable $DATABASE-NAME as xs:string := "Documents";
declare variable $FILENAME as xs:string := "/tmp/fragment-report.csv";
declare variable $QUERY := cts:search(doc(),
cts:and-query((
cts:element-query(fn:QName("http://marklogic.com/manage/meters","database-statuses"), cts:and-query(()) ),
@ableasdale
ableasdale / scheduled-tasks.xqy
Created June 3, 2015 14:44
Get a list of all scheduled tasks (as task paths) from a support dump
xquery version "1.0-ml";
declare namespace db = "http://marklogic.com/xdmp/database";
declare namespace gr = "http://marklogic.com/xdmp/group";
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy";
declare variable $SUPPORT-DUMP-FILEPATH as xs:string := 'E:\support-request-go\support-request-go.txt';
declare variable $support as document-node()* := xdmp:document-get(
@ableasdale
ableasdale / support-dump-scheduled-task-info.xqy
Created June 3, 2015 14:55
Get several elements from a support dump regarding scheduled tasks
xquery version "1.0-ml";
declare namespace db = "http://marklogic.com/xdmp/database";
declare namespace gr = "http://marklogic.com/xdmp/group";
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy";
declare variable $SUPPORT-DUMP-FILEPATH as xs:string := 'E:\support-request-go\support-request-go.txt';
declare variable $support as document-node()* := xdmp:document-get(
@ableasdale
ableasdale / databases-and-ids.xqy
Created June 3, 2015 14:59
Get a list of all databases in a support dump and their ids
xquery version "1.0-ml";
declare namespace db = "http://marklogic.com/xdmp/database";
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy";
declare variable $SUPPORT-DUMP-FILEPATH as xs:string := 'E:\support-request-go\support-request-go.txt';
declare variable $support as document-node()* := xdmp:document-get(
$SUPPORT-DUMP-FILEPATH,
@ableasdale
ableasdale / ml-sql-view.xqy
Created August 12, 2015 14:36
Create ML / SQL Views
xquery version "1.0-ml";
import module namespace view = "http://marklogic.com/xdmp/view"
at "/MarkLogic/views.xqy";
declare option xdmp:mapping 'false';
let $_schema_remove :=
let $current := try { view:schema-get ('main') } catch ($e) { () }
return
@ableasdale
ableasdale / dup-uris.xqy
Created August 19, 2015 07:43
Fast Duplicate Fragment URI check
for $uri in cts:uris ( (), ("frequency-order", "document") )
where cts:frequency ($uri) gt 1
return $uri
@ableasdale
ableasdale / symlink.sh
Last active September 10, 2015 10:59
Move ErrorLogs to another partition
@ableasdale
ableasdale / UrlEncodeTextFile.java
Last active September 10, 2015 11:10
URLEncode multiple lines in a text file (for use with JMeter)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.net.URLEncoder;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
@ableasdale
ableasdale / insert-test-data.xqy
Created November 29, 2012 19:40
Inserting content using xdmp:eval for isolated (separate) transctions
xquery version "1.0-ml";
declare namespace prop="http://marklogic.com/xdmp/property";
declare variable $doc-count as xs:int := 10;
for $item in (1 to $doc-count)
let $eval := "xquery version '1.0-ml';
declare variable $count as xs:string external;
xdmp:document-insert(fn:concat('/test/', $count, '.xml'), element root{ $count })"
return
@ableasdale
ableasdale / list-docs-by-insert-time.xqy
Created November 29, 2012 19:46
A List of all documents ordered by the time they were inserted into the database
xquery version "1.0-ml";
for $doc in doc()
let $sort-key := xs:dateTime(xdmp:document-properties(fn:base-uri($doc))/prop:properties/prop:last-modified)
order by $sort-key
return
fn:concat("Doc: ", fn:base-uri($doc), " was inserted at: ", $sort-key)