Fix up select_db command Test select_db, {{plain, tableSelect4}, fun tableSelect4/2} 19. Investigate binary string representation and UTF-8 support. 20. Utility functions: convert response to list of maps (or like-JSON doc), mapping to record or new map and so on. 21. Adapters for type converting. 33. performance test. (stress test) 35. Add test for select_db, owner 36. Split my test to datasource and connection test 37. update article http://www.trapexit.org/MySQL_native_client 38. test ds close !!! 17-A. Issue Alpha release. ==done== 18. Use application, server and supervisor behaviors. a) throws redesign; b) delete connection during app termination and for other branches of supervisor tree; c) rename: 'my_sup' -> 'conn_pool_sup'('conn_sup' = 'datasource'), 'my' split to 'conn_server' and 'my', 'conn_pool' -> 'conn_store'. d) test for destroying resources. e) do not throw exception if close previously closed connection. ==reject== 22. Optimize reverse operations on packet/fields lists during parsing response. 23. SSL connection ==reject== 24. TODO: each packet in separate processes 25. Choose socket mode: active or passive? for performance. 26. new module names (separation): - io_socket | my_io - io_send_cmd | send_cmd - packet_response | response - packet_parser | packet_parser - packet_parser_binary | binary_row_data - packet_parser_string | string_row_data - conn_srv | conn_srv, - connection | conn_srv, my - helper_common | util - helper_statement | statement - helper_connection | conn:* my - datasource - resource_pool_srv | conn_pool_srv, conn_sup - resource_pool_sup | - | datasource_sup - my | my, my_app, datasource_sup ==done== 27. Steps for 1.2.1 release: - new picture mySQL.png = - update doc tags in all files: conn_srv | = connection | = datasorce | = helper_common | = helper_connection | = helper_statement | = io_send_cmd | = io_socket | = my | = packet_parser_binary | = packet_parser_string | = packet_parser | = packet_response | = resource_factory | = resource_pool_srv | = - update overviev.edoc - write script to generate console output -done- 28. Change user and select DB have to apply to datasource object instead of connection. Need to change all connections of the pool/datasource. -done- 29. Remove ping command, use is_open instead of. -done- 30. check why can not catch exception when ACTIVE = active in client_settings.hrl. -done- 31. remove field_value record. -done- 32. reject using idle connection by reference (link connection to requestor process and unlink it when requestor returns connection to pool). =reject= 34. add Options[{active, ..}, {buffer_size, ..}, ..] with configuration to client start $$$$ 1.TODO: Add signed/unsigned field support and parsing flags from field metadata binaryRowData.erl line 52 #### 2.TODO: parsing field metadata after prepared statement OK packet #### 3.TODO: parsing of metadata of prepared statement parameters ^^^^ 4.write tests for parameter values exceptions #### 5.TODO: MYSQL_TYPE_YEAR does not work with prepared statement @@@@ 6.TODO: stringRowData, binaryRowData: make more comprehensive data conversion by using flags value. @@@@ 7.TODO: check range and type of parameters values in statement.erl - throw exception (write tests) #### 8.TODO: change data types for parameters ENUM and SET. #### 9. test on newest and oldest versions of MySQL 5.0, 5.1, 5.5, 5.6 $$$$ 10. transaction support @@@@ 11. example application. @@@@ 12. compressed (z-lib) connection ### 10. check 0 length binary and string ### 11. Add command 0x18 = COM_STMT_SEND_LONG_DATA. ### 11-A. edoc explanation of send long data. ### 12. Add source to mysql_error. ### 13. TODO: replace camel style of names to Erlang naming style ( serverStatus -> server_status) ### 14. test for big packets (compressed and not compressed) ### 15. introduce timeout for i/o operation during connection (with exception throws) ### 15. test for concurrent connection (active passive mode) *** 16. set flags for statement execution. *** 16-A. fetch command: test it *** 16 B. Check Metadata in all tests *** 16 C. recheck list field command !!! *** 16.D. add exception generation when rest of parsed package is not empty. ==done== 17. isolation level for transaction (and other parameters) - datasource attribute ??? rebar version: 2 date: 20120125_163721 vcs: git 36b6b7a - Mac OS X rebar clean update-deps compile eunit suites=my_tests,example_tests skip_deps=true cat ../priv/cmd.txt | erl erl < ../priv/cmd.txt