 		WeaveAPI.ClassRegistry.registerImplementation(IDataSource, WeaveDataSource, "Weave server");
 
 		private static const SQLPARAMS:String = 'sqlParams';
+		
+		public static var debug:Boolean = false;
 		
 		public function WeaveDataSource()
 		{

								}
								
								// generate compound keys
								var nCol:int = tableData.keyColumns.length
								var iCol:int, iRow:int, nRow:int;
								for (iCol = 0; iCol < nCol; iCol++)
								{

					{
						var getTablePromise:WeavePromise = new WeavePromise(_service)
							.then(function(..._):AsyncToken {
								if (debug)
									weaveTrace('invoking getTable()', hash);
								return _service.getTable(result.tableId, sqlParams);
							});
						
						var keyStrings:Array;
						promise = getTablePromise
							.then(function(tableData:TableData):TableData {
								if (debug)
									weaveTrace('received', debugId(tableData), hash);
								
								if (!tableData.keyColumns)
									tableData.keyColumns = [];
								if (!tableData.columns)
									tableData.columns = {};
								
								var name:String;
								for each (name in tableData.keyColumns)
									if (!tableData.columns.hasOwnProperty(name))
