function getIndexes(knjdb_table $table){
		if ($table->indexes_changed){
			$f_gi = $this->knjdb->query("SHOW INDEX FROM " . $this->knjdb->connob->sep_table . $table->get("name") . $this->knjdb->connob->sep_table);
			while($d_gi = $f_gi->fetch()){
				if ($d_gi["Key_name"] != "PRIMARY"){
					$key = $d_gi["Key_name"];
					$index[$key]["name"] = $d_gi["Key_name"];
					$index[$key]["columns"][] = $table->getColumn($d_gi["Column_name"]);
				}
			}
			
			//Making keys to numbers (as in SQLite).
			$return = array();
			if ($index){
				foreach($index AS $name => $value){
					if (!$this->indexes[$name]){
						$table->indexes[$name] = new knjdb_index($table, $value);
					}
				}
			}
			
			$table->indexes_changed = false;
		}
		
		return $table->indexes;
	}
	function getIndexes(knjdb_table $table){
		if ($table->indexes_changed){
			$f_gi = $this->knjdb->query("PRAGMA index_list(" . $this->knjdb->conn->sep_table . $table->get("name") . $this->knjdb->conn->sep_table . ")");
			while($d_gi = $f_gi->fetch()){
				if (strpos($d_gi["name"], "sqlite") !== false && strpos($d_gi["name"], "autoindex") !== false){
					//This is a SQLite-auto-index - do not show or add.
				}elseif(!array_key_exists($d_gi["name"], $table->indexes) or !$table->indexes[$d_gi["name"]]){
					$index = array();
					$index["name"] = $d_gi["name"];
					
					$first = true;
					$columns_text = "";
					$f_gid = $this->knjdb->query("PRAGMA index_info('" . $d_gi["name"] . "')");
					while($d_gid = $f_gid->fetch()){
						if ($first == true){
							$first = false;
						}else{
							$columns_text .= ", ";
						}
						
						$index["columns"][] = $table->getColumn($d_gid["name"]);
					}
					
					$table->indexes[$index["name"]] = new knjdb_index($table, $index);
				}
			}
			
			$table->indexes_changed = false;
		}
		
		return $table->indexes;
	}
 function getIndexes(knjdb_table $table)
 {
     if ($table->indexes_changed) {
         $f_gi = $this->knjdb->query("\n\t\t\t\t\tSELECT\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tindid,\n\t\t\t\t\t\tOBJECT_NAME(id) AS TableName\n\t\t\t\t\t\n\t\t\t\t\tFROM\n\t\t\t\t\t\tsysindexes\n\t\t\t\t\t\n\t\t\t\t\tWHERE\n\t\t\t\t\t\tOBJECT_NAME(sysindexes.id) = '" . $this->knjdb->sql($table->get("name")) . "'\n\t\t\t\t");
         while ($d_gi = $f_gi->fetch()) {
             $columns = array();
             $f_gik = $this->knjdb->query("\n\t\t\t\t\t\tSELECT\n\t\t\t\t\t\t\tsyscolumns.name,\n\t\t\t\t\t\t\tOBJECT_NAME(syscolumns.id) AS TableName\n\t\t\t\t\t\t\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\tsysindexkeys,\n\t\t\t\t\t\t\tsyscolumns\n\t\t\t\t\t\t\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\tsysindexkeys.id = '" . $this->knjdb->sql($d_gi["id"]) . "' AND\n\t\t\t\t\t\t\tsysindexkeys.indid = '" . $this->knjdb->sql($d_gi["indid"]) . "' AND\n\t\t\t\t\t\t\tsyscolumns.id = '" . $this->knjdb->sql($d_gi["id"]) . "' AND\n\t\t\t\t\t\t\tsyscolumns.colid = sysindexkeys.colid\n\t\t\t\t\t\t\n\t\t\t\t\t\tORDER BY\n\t\t\t\t\t\t\tsyscolumns.name\n\t\t\t\t\t");
             while ($d_gik = $f_gik->fetch()) {
                 $columns[$d_gik["name"]] = $table->getColumn($d_gik["name"]);
             }
             if (count($columns) > 0) {
                 //to avoid the actual system indexes with no columns which confuses...
                 $table->indexes[$d_gi["name"]] = new knjdb_index($table, array("name" => $d_gi["name"], "columns" => $columns));
             }
         }
         $table->indexes_changed = false;
     }
     return $table->indexes;
 }