GDBMS 1.0
|
00001 class hash_table{ 00002 00050 public: 00051 /*ako tablicata e syzdadena ne q syzdava nanovo*/ 00053 00065 hash_table(char *table_name, char *folder_name, int columns_nr, char *columns, char*columns_searchby, char *unique); 00066 /*ako tablicata e syzdadena ne q syzdava nanovo*/ 00068 00079 hash_table(char *table_name, char *folder_name, char *columns, char*columns_searchby, char *unique); 00081 00086 ~hash_table(); 00088 00093 void AddRecord(char *column_names, char *values); 00095 00100 void DeleteRecord(char *column_name, char*value); 00102 00111 void UpdateRecord(char *where_column, char*where_value, char *column_names, char*column_values); 00112 /* namira zapis po ime na kolona i stojnost na kolona i ime na kolona, 4iito zapis tryabva da vyrne */ 00114 00122 char * FindRecord(char *where_column_name, char *where_column_value, char* find_column); 00124 00132 void FindByIdAndReturnColNamesAndValues(char *id, string &cnames, string &cvalues, char *requested_id=0); 00133 virtual int getMAXID(); 00134 void BeginTransaction(char *folder, int id); 00135 void EndTransaction(); 00136 void split(char *str, int *numbers_splitted, char ***splitted); 00137 protected: 00138 /*not used*/ 00139 std::string transaction_folder; 00140 std::string table_folder; 00141 std::string tblname; 00142 char ** colls_searchby; 00143 int n_cols_sby; 00144 00145 int transaction_id; 00146 00147 00148 protected: 00149 00150 unsigned hash(string const& key); 00151 00152 00153 };