You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xindice-dev@xml.apache.org by Lixin Meng <lx...@yahoo.com> on 2002/11/26 00:23:26 UTC

SysSymbols

I the 1.1b on Win2K, and tried to run
	java/test/src/org.apache.xindice.IntegrationEmbedTests.java

All 34 test cases were succeed.

I noticed that the master test suite calls CollectionTest.java, which
creates and drops collections. However, after above the unit test, I wrote
some code to exam all collections and found the db/system/SysSymbols is not
empty (as below). I would assume that after dropping a collection, all those
symbols associated with the collection should be dropped too.

Did I miss anything here?
Lixin

------------------ output of my code ------
---------- collections : ------system
---------- collections : ------SysConfig
---------- docs : ------database.xml
---------- collections : ------SysSymbols
---------- docs : ------system_SysConfig
---------- docs : ------testing
---------- docs : ------testing_current
---------- docs : ------testing_current_child1
---------- docs : ------testing_current_child2
---------- docs : ------testing_current_childcol
---------- docs : ------testing_current_colcount
---------- docs : ------testing_current_count
---------- docs : ------testing_current_droptwice
---------- docs : ------testing_current_duplicate
---------- docs : ------testing_current_getname
---------- docs : ------testing_current_nested
---------- docs : ------testing_current_nested_child2
---------- docs : ------testing_current_nested_child3
--------------------------------------------

----------------- my code ----------------
	// starts with 'db'
	private void iterateCollections(XmlDbClient client, String parent) {
		try {
			iterateDocuments(client, parent);
			String [] collections = client.listCollections(parent);
			for (int i = 0; i < collections.length; i++) {
				System.out.println("---------- collections : ------" + collections[i]);
				String childPath = parent + "/" + collections[i];
				iterateCollections(client, childPath);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	private void iterateDocuments(XmlDbClient client, String path) {
		try {
			String [] docs = client.listDocuments(path);
			for (int i = 0; i < docs.length; i++) {
				System.out.println("---------- docs : ------" + docs[i]);
			}
		} catch (Exception e) {
			// ignore it, especially for 'db' and 'db/system'
		}

	}

------------------------------------------