@@ -1703,23 +1703,65 @@ int main(int argc, char** argv) {
17031703 db = rocksdb_open (db_options , dbname , & err );
17041704 CheckNoError (err );
17051705
1706- char * * list_const_cf_names = (char * * )malloc (2 * sizeof (char * ));
1707- list_const_cf_names [0 ] = "cf_with_options " ;
1708- list_const_cf_names [1 ] = "cf_with_option " ;
1706+ char * * cf_names = (char * * )malloc (2 * sizeof (char * ));
1707+ cf_names [0 ] = "cf1 " ;
1708+ cf_names [1 ] = "cf2 " ;
17091709 size_t cflen ;
1710- const rocksdb_options_t * create_cf_options [2 ] = {db_options , db_options };
1711- rocksdb_column_family_handle_t * * new_column_family_handle =
1710+
1711+ rocksdb_options_t * cf1_options = rocksdb_options_create ();
1712+ rocksdb_options_set_paranoid_checks (cf1_options , true);
1713+ rocksdb_options_set_create_if_missing (cf1_options , true);
1714+
1715+ rocksdb_options_t * cf2_options = rocksdb_options_create ();
1716+ rocksdb_options_set_max_bytes_for_level_base (cf2_options , 4 * 1024 );
1717+ rocksdb_options_set_create_if_missing (cf2_options , true);
1718+
1719+ const rocksdb_options_t * cf_options [2 ] = {cf1_options , cf2_options };
1720+ rocksdb_column_family_handle_t * * column_family_handle =
17121721 rocksdb_create_column_families_with_options (
1713- db , 2 , (const char * const * )list_const_cf_names , create_cf_options ,
1714- & cflen , & err );
1715- free (list_const_cf_names );
1722+ db , 2 , (const char * const * )cf_names , cf_options , & cflen , & err );
1723+ free (cf_names );
17161724 CheckNoError (err );
17171725 assert (cflen == 2 );
17181726
1719- rocksdb_column_family_handle_destroy (new_column_family_handle [0 ]);
1720- rocksdb_column_family_handle_destroy (new_column_family_handle [1 ]);
1727+ rocksdb_writeoptions_t * write_options = rocksdb_writeoptions_create ();
1728+
1729+ rocksdb_put_cf (db , write_options , column_family_handle [0 ], "cf1" , 3 , "val1" ,
1730+ 4 , & err );
1731+ CheckNoError (err );
1732+
1733+ rocksdb_put_cf (db , write_options , column_family_handle [1 ], "cf2" , 3 , "val2" ,
1734+ 4 , & err );
1735+ CheckNoError (err );
1736+
1737+ rocksdb_writeoptions_destroy (write_options );
1738+
1739+ size_t val_len ;
1740+
1741+ rocksdb_readoptions_t * read_options = rocksdb_readoptions_create ();
1742+
1743+ char * value1 = rocksdb_get_cf (db , read_options , column_family_handle [0 ],
1744+ "cf1" , 3 , & val_len , & err );
1745+ CheckNoError (err );
1746+ CheckEqual ("val1" , value1 , val_len );
1747+ Free (& value1 );
1748+
1749+ char * value2 = rocksdb_get_cf (db , read_options , column_family_handle [1 ],
1750+ "cf2" , 3 , & val_len , & err );
1751+ CheckNoError (err );
1752+ CheckEqual ("val2" , value2 , val_len );
1753+ Free (& value2 );
1754+
1755+ rocksdb_readoptions_destroy (read_options );
1756+
1757+ rocksdb_column_family_handle_destroy (column_family_handle [0 ]);
1758+ rocksdb_column_family_handle_destroy (column_family_handle [1 ]);
1759+
1760+ rocksdb_create_column_families_destroy (column_family_handle );
1761+
1762+ rocksdb_options_destroy (cf1_options );
1763+ rocksdb_options_destroy (cf2_options );
17211764
1722- rocksdb_create_column_families_destroy (new_column_family_handle );
17231765 rocksdb_options_destroy (db_options );
17241766 }
17251767
0 commit comments