public static void Main(string[] args) { string envdir = parseArguments(args); try { // Open an environment and manager using(Manager mgr = CreateManager(envdir)) { // Open a transactional container ContainerConfig containerconfig = new ContainerConfig(); containerconfig.Transactional = true; using(Container container = mgr.OpenContainer(null, theContainer, containerconfig)) { // Start a transaction using(Transaction txn = mgr.CreateTransaction()) { // Create an update context using(UpdateContext uc = mgr.CreateUpdateContext()) { // Create string contents for documents. string document1 = "<aDoc><title>doc1</title><color>green</color></aDoc>"; string document2 = "<aDoc><title>doc2</title><color>yellow</color></aDoc>"; // Put the document, asking DB XML to generate a name DocumentConfig docconfig = new DocumentConfig(); docconfig.GenerateName = true; container.PutDocument(txn, "", document1, uc, docconfig); // Do it again for the second document container.PutDocument(txn, "", document2, uc, docconfig); // Commit the writes. This causes the container write operations // to be saved to the container. txn.Commit(); } } } } } catch(DbXmlException e) { System.Console.WriteLine("Error performing document add against " + theContainer); System.Console.WriteLine(e.ToString()); } }
public static void LoadFiles(Manager mgr, string containerName, FileInfo[] files) { // Open a transactional container ContainerConfig containerconfig = new ContainerConfig(); containerconfig.Create = true; containerconfig.Transactional = true; using(Container container = mgr.OpenContainer(null, containerName, containerconfig)) { // Create an update context using(UpdateContext uc = mgr.CreateUpdateContext()) { // Start a transaction using(Transaction txn = mgr.CreateTransaction()) { DocumentConfig docconfig = new DocumentConfig(); foreach(FileInfo file in files) { using(FileStream stream = file.OpenRead()) { // Create a document using(Document doc = mgr.CreateDocument()) { doc.Name = file.Name; doc.StreamContent = mgr.CreateInputStream(stream); doc.SetMetaData(new MetaData("http://dbxmlExamples/timestamp", "timeStamp", new Value(System.DateTime.Now))); container.PutDocument(txn, doc, uc, docconfig); System.Console.WriteLine("Added " + file.Name + " to container " + containerName); } } } // Commit the index adds txn.Commit(); } } } }
public Results Query(Transaction txn, string query, QueryContext context, DocumentConfig config) { return Results.Create(this.mgr_.query(Transaction.ToInternal(txn), query, QueryContext.ToInternal(context), config.Flags)); }
public string PutDocument(Transaction txn, string name, string contents, UpdateContext context, DocumentConfig config) { return this.cont_.putDocument(Transaction.ToInternal(txn), name, contents, UpdateContext.ToInternal(context), config.Flags); }
public void PutDocument(Transaction txn, Document document, UpdateContext context, DocumentConfig config) { this.cont_.putDocument(Transaction.ToInternal(txn), Document.ToInternal(document), UpdateContext.ToInternal(context), config.Flags); }
public string PutDocument(Transaction txn, string name, InputStream input, UpdateContext context, DocumentConfig config) { using (input) { input.Internal.disownCPtr(); return this.cont_.putDocument(Transaction.ToInternal(txn), name, input.Internal, UpdateContext.ToInternal(context), config.Flags); } }
public Results LookupIndex(Transaction txn, QueryContext context, IndexSpecification.Entry entry, string parent_uri, string parent_name, Value value, DocumentConfig config) { return Results.Create(this.cont_.lookupIndex(Transaction.ToInternal(txn), QueryContext.ToInternal(context), entry.URI, entry.Name, parent_uri, parent_name, entry.Index, Value.ToInternal(value), config.Flags)); }
public Document GetDocument(Transaction txn, string name, DocumentConfig config) { return Document.Create(this.cont_.getDocument(Transaction.ToInternal(txn), name, config.Flags)); }
public Results GetAllDocuments(Transaction txn, DocumentConfig config) { return Results.Create(this.cont_.getAllDocuments(Transaction.ToInternal(txn), config.Flags)); }
public Results Execute(Transaction txn, Value contextItem, QueryContext context, DocumentConfig config) { return(Results.Create(this.qe_.execute(Transaction.ToInternal(txn), Value.ToInternal(contextItem), QueryContext.ToInternal(context), config.Flags))); }
public Results Execute(Transaction txn, Value contextItem, QueryContext context, DocumentConfig config) { return Results.Create(this.qe_.execute(Transaction.ToInternal(txn), Value.ToInternal(contextItem), QueryContext.ToInternal(context), config.Flags)); }