1515 * You should have received a copy of the GNU General Public License
1616 * along with this program. If not, see <https://www.gnu.org/licenses/>.
1717 */
18+
1819use rapid_naive_sql:: RNSQL ;
19-
20+ use rapid_naive_sql:: data:: databases:: database:: Database ;
21+ use rapid_naive_sql:: data:: databases:: tables:: table:: Table ;
22+ use rapid_naive_sql:: data:: databases:: tables:: rows:: row:: Row ;
23+
2024fn main ( ) {
25+ const DB_NAME : & str = "db1" ;
26+ const TB_NAME : & str = "tb1" ;
27+ const RW_NAME : u32 = 1 ;
28+ const CL_NAME : & str = "cl1" ;
29+
2130 let mut project = RNSQL :: new ( ) ;
2231
2332 println ! ( "{:#?}\n \n " , project) ;
2433
25- project. add_database ( String :: from ( "db1" ) ) ;
34+ let db1 = Database :: create_database ( ) ;
35+ project. add_database ( DB_NAME , db1) ;
2636
2737 println ! ( "{:#?}\n \n " , project) ;
2838
29- project. databases [ 0 ] . add_table ( String :: from ( "tb1" ) ) ;
39+ if let Some ( database) = project. databases . get_mut ( DB_NAME ) {
40+ let tb1 = Table :: create_table ( ) ;
41+ database. add_table ( TB_NAME , tb1) ;
42+ }
3043
3144 println ! ( "{:#?}\n \n " , project) ;
3245
33- project. databases [ 0 ] . tables [ 0 ] . add_row ( 1 ) ;
46+ if let Some ( database) = project. databases . get_mut ( DB_NAME ) {
47+ if let Some ( table) = database. tables . get_mut ( TB_NAME ) {
48+ let rw1 = Row :: create_row ( ) ;
49+ table. add_row ( RW_NAME , rw1) ;
50+ }
51+ }
3452
3553 println ! ( "{:#?}\n \n " , project) ;
3654
37- project. databases [ 0 ] . tables [ 0 ] . rows [ 0 ] . create_column ( String :: from ( "name" ) ) ;
55+ if let Some ( database) = project. databases . get_mut ( DB_NAME ) {
56+ if let Some ( table) = database. tables . get_mut ( TB_NAME ) {
57+ if let Some ( row) = table. rows . get_mut ( & RW_NAME ) {
58+ row. create_column ( CL_NAME , String :: from ( "hello" ) ) ;
59+ }
60+ }
61+ }
3862
3963 println ! ( "{:#?}\n \n " , project) ;
4064
41- project. databases [ 0 ] . tables [ 0 ] . rows [ 0 ] . delete_column ( String :: from ( "name" ) ) ;
65+ if let Some ( database) = project. databases . get_mut ( DB_NAME ) {
66+ if let Some ( table) = database. tables . get_mut ( TB_NAME ) {
67+ if let Some ( row) = table. rows . get_mut ( & RW_NAME ) {
68+ row. delete_column ( CL_NAME ) ;
69+ }
70+ }
71+ }
4272
4373 println ! ( "{:#?}\n \n " , project) ;
4474
45- project. databases [ 0 ] . tables [ 0 ] . delete_row ( 1 ) ;
75+ if let Some ( database) = project. databases . get_mut ( DB_NAME ) {
76+ if let Some ( table) = database. tables . get_mut ( TB_NAME ) {
77+ table. delete_row ( RW_NAME ) ;
78+ }
79+ }
4680
4781 println ! ( "{:#?}\n \n " , project) ;
4882
49- project. databases [ 0 ] . delete_table ( String :: from ( "tb1" ) ) ;
83+ if let Some ( database) = project. databases . get_mut ( DB_NAME ) {
84+ database. delete_table ( TB_NAME ) ;
85+ }
5086
5187 println ! ( "{:#?}\n \n " , project) ;
5288
53- project. delete_database ( String :: from ( "db1" ) ) ;
89+ project. delete_database ( DB_NAME ) ;
5490
5591 println ! ( "{:#?}" , project) ;
5692}
0 commit comments