在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → oceanbase part2.rar

oceanbase part2.rar

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:35M
  • 下载次数:5
  • 浏览次数:73
  • 发布时间:2021-12-09
  • 实例类别:一般编程问题
  • 发 布 人:js2021
  • 文件格式:.rar
  • 所需积分:2
 

实例介绍

【实例简介】
阿里出品 oceanbase 0.4 part 2
【实例截图】
【核心代码】
4744302543300293614.rar
└── OceanBase
└── oceanbase
├── doc
│   ├── wiki
│   │   ├── OceanBase 0.4.2 配置指南.pdf
│   │   ├── OceanBase 0.5 SQL 参考指南.pdf
│   │   └── OceanBase核心数据结构:In_Memory_B+_Tree.pdf
│   ├── 反向查询和column group的预读方案.docx
│   └── 定时过期功能.docx
├── install-dependencies.sh
├── Makefile.am
├── NEWS
├── ob-commit
├── README
├── README.md
├── rpm
│   ├── oceanbase-build.sh
│   ├── oceanbase.spec
│   ├── oceanbase_test.spec
│   ├── oceanbase-VER.txt
│   └── scm.xml
├── run_tests.sh
├── script
│   ├── data_dispatcher
│   │   ├── copy_sstable.py
│   │   ├── dispatch.sh
│   │   └── etc
│   │   ├── collect_huating
│   │   │   └── collect_info
│   │   │   ├── configuration.xml
│   │   │   ├── data_syntax.ini
│   │   │   ├── import.ini
│   │   │   ├── range.lst
│   │   │   ├── sample.conf
│   │   │   └── schema.ini
│   │   ├── config_list
│   │   └── gw_hosts
│   ├── deploy
│   │   ├── oceanbase.conf.template
│   │   └── oceanbase.pl
│   ├── dooba
│   │   ├── docs
│   │   │   ├── start.dot
│   │   │   ├── start.png
│   │   │   ├── working_flow.dot
│   │   │   └── working_flow.png
│   │   ├── dooba
│   │   ├── README.md
│   │   └── screenshot
│   │   ├── v0_1.png
│   │   ├── v0_2-cs.png
│   │   ├── v0_2-gallery.png
│   │   ├── v0_2-sql.png
│   │   ├── v0_2-ups.png
│   │   ├── v0_4-cs.png
│   │   ├── v0_4-shell.png
│   │   ├── v0_4-sql.png
│   │   ├── v0_4-ups.png
│   │   ├── v1_0-cs.png
│   │   ├── v1_0-gallery.png
│   │   ├── v1_0-help.png
│   │   ├── v1_0-machine.png
│   │   ├── v1_0-offline.png
│   │   ├── v1_0-online.png
│   │   ├── v1_0-select_cluster.png
│   │   ├── v1_0-sql.png
│   │   └── v1_0-ups.png
│   ├── ha
│   │   ├── all.xml
│   │   ├── authkeys.sh
│   │   ├── cfg.sh
│   │   ├── deploy.sh
│   │   ├── ha.cf
│   │   ├── hb3.tgz
│   │   ├── RootServer
│   │   ├── rsdep.sh
│   │   ├── rs.xml
│   │   ├── UpdateServer
│   │   ├── upsdep.sh
│   │   └── ups.xml
│   ├── maintanance
│   │   ├── cleanexpire.sh
│   │   ├── gethost.sh
│   │   ├── gmscp.sh
│   │   └── gm.sh
│   ├── Makefile.am
│   └── supervisor
│   ├── lms.ini
│   ├── Makefile.am
│   └── ms.ini
├── src
│   ├── chunkserver
│   │   ├── chunkserver.conf.template
│   │   ├── main.cpp
│   │   ├── Makefile.am
│   │   ├── ob_block_cache_loader.cpp
│   │   ├── ob_block_cache_loader.h
│   │   ├── ob_block_cache_reader.cpp
│   │   ├── ob_block_cache_reader.h
│   │   ├── ob_bypass_sstable_loader.cpp
│   │   ├── ob_bypass_sstable_loader.h
│   │   ├── ob_cell_array_helper.cpp
│   │   ├── ob_cell_array_helper.h
│   │   ├── ob_cell_stream.cpp
│   │   ├── ob_cell_stream.h
│   │   ├── ob_chunk_callback.cpp
│   │   ├── ob_chunk_callback.h
│   │   ├── ob_chunk_merge.cpp
│   │   ├── ob_chunk_merge.h
│   │   ├── ob_chunk_reload_config.cpp
│   │   ├── ob_chunk_reload_config.h
│   │   ├── ob_chunk_server_config.cpp
│   │   ├── ob_chunk_server_config.h
│   │   ├── ob_chunk_server.cpp
│   │   ├── ob_chunk_server.h
│   │   ├── ob_chunk_server_main.cpp
│   │   ├── ob_chunk_server_main.h
│   │   ├── ob_chunk_server_merger_proxy.cpp
│   │   ├── ob_chunk_server_merger_proxy.h
│   │   ├── ob_chunk_server_stat.cpp
│   │   ├── ob_chunk_server_stat.h
│   │   ├── ob_chunk_service.cpp
│   │   ├── ob_chunk_service.h
│   │   ├── ob_compactsstable_cache.cpp
│   │   ├── ob_compactsstable_cache.h
│   │   ├── ob_disk_manager.cpp
│   │   ├── ob_disk_manager.h
│   │   ├── ob_disk_path.cpp
│   │   ├── ob_fileinfo_cache.cpp
│   │   ├── ob_fileinfo_cache.h
│   │   ├── ob_file_recycle.cpp
│   │   ├── ob_file_recycle.h
│   │   ├── ob_get_cell_stream.cpp
│   │   ├── ob_get_cell_stream.h
│   │   ├── ob_get_cell_stream_wrapper.cpp
│   │   ├── ob_get_cell_stream_wrapper.h
│   │   ├── ob_get_param_cell_iterator.cpp
│   │   ├── ob_get_param_cell_iterator.h
│   │   ├── ob_get_scan_proxy.cpp
│   │   ├── ob_get_scan_proxy.h
│   │   ├── ob_join_cache.cpp
│   │   ├── ob_join_cache.h
│   │   ├── ob_join_operator.cpp
│   │   ├── ob_join_operator.h
│   │   ├── ob_merge_join_operator.cpp
│   │   ├── ob_merge_join_operator.h
│   │   ├── ob_merge_operator.cpp
│   │   ├── ob_merge_operator.h
│   │   ├── ob_merge_reader.cpp
│   │   ├── ob_merge_reader.h
│   │   ├── ob_multi_tablet_merger.cpp
│   │   ├── ob_multi_tablet_merger.h
│   │   ├── ob_query_agent.cpp
│   │   ├── ob_query_agent.h
│   │   ├── ob_query_service.cpp
│   │   ├── ob_query_service.h
│   │   ├── ob_read_param_modifier.cpp
│   │   ├── ob_read_param_modifier.h
│   │   ├── ob_read_ups_balance.cpp
│   │   ├── ob_read_ups_balance.h
│   │   ├── ob_root_server_rpc.cpp
│   │   ├── ob_root_server_rpc.h
│   │   ├── ob_row_cell_vec.cpp
│   │   ├── ob_row_cell_vec.h
│   │   ├── ob_rpc_proxy.cpp
│   │   ├── ob_rpc_proxy.h
│   │   ├── ob_scan_cell_stream.cpp
│   │   ├── ob_scan_cell_stream.h
│   │   ├── ob_schema_manager.cpp
│   │   ├── ob_schema_manager.h
│   │   ├── ob_schema_task.cpp
│   │   ├── ob_schema_task.h
│   │   ├── ob_sql_query_service.h
│   │   ├── ob_sql_rpc_stub.cpp
│   │   ├── ob_sql_rpc_stub.h
│   │   ├── ob_switch_cache_utility.cpp
│   │   ├── ob_switch_cache_utility.h
│   │   ├── ob_tablet.cpp
│   │   ├── ob_tablet.h
│   │   ├── ob_tablet_image.cpp
│   │   ├── ob_tablet_image.h
│   │   ├── ob_tablet_manager.cpp
│   │   ├── ob_tablet_manager.h
│   │   ├── ob_tablet_merge_filter.cpp
│   │   ├── ob_tablet_merge_filter.h
│   │   ├── ob_tablet_merger_v1.cpp
│   │   ├── ob_tablet_merger_v1.h
│   │   ├── ob_tablet_merger_v2.cpp
│   │   ├── ob_tablet_merger_v2.h
│   │   ├── ob_tablet_reader.cpp
│   │   ├── ob_tablet_reader.h
│   │   ├── ob_tablet_service.cpp
│   │   ├── ob_tablet_service.h
│   │   ├── ob_tablet_writer.cpp
│   │   ├── ob_tablet_writer.h
│   │   ├── ob_ups_blacklist.cpp
│   │   └── ob_ups_blacklist.h
│   ├── client
│   │   ├── cpp
│   │   │   ├── build_ar.sh
│   │   │   ├── build_doc.sh
│   │   │   ├── build_tar.sh
│   │   │   ├── client_readme.h
│   │   │   ├── doxygen.conf
│   │   │   ├── frowkey.c
│   │   │   ├── join_demo.c
│   │   │   ├── libobapi.cpp
│   │   │   ├── libobapi.h
│   │   │   ├── libobjoin.cpp
│   │   │   ├── libobjoin.h
│   │   │   ├── Makefile.am
│   │   │   ├── new_scan_sync_demo.c
│   │   │   ├── new_set_sync_demo.c
│   │   │   ├── obapi_main.c
│   │   │   ├── ob_client.cpp
│   │   │   ├── ob_client.h
│   │   │   ├── oceanbase.h
│   │   │   ├── oceanbase_readme.h
│   │   │   ├── scan_all.c
│   │   │   ├── scan_async_demo.c
│   │   │   ├── scan_sync_demo.c
│   │   │   ├── set_async_demo.c
│   │   │   ├── set_sync_demo.c
│   │   │   ├── simple_test.c
│   │   │   ├── sum_async_demo.c
│   │   │   ├── test_expr.c
│   │   │   └── time_test.c
│   │   ├── java
│   │   │   ├── pom.xml
│   │   │   └── src
│   │   │   ├── main
│   │   │   │   └── java
│   │   │   │   ├── com
│   │   │   │   │   └── taobao
│   │   │   │   │   └── oceanbase
│   │   │   │   │   ├── cli
│   │   │   │   │   │   ├── OBClient.java
│   │   │   │   │   │   └── ObOptions.java
│   │   │   │   │   ├── ClientImpl.java
│   │   │   │   │   ├── Client.java
│   │   │   │   │   ├── network
│   │   │   │   │   │   ├── codec
│   │   │   │   │   │   │   ├── ObObjectUtil.java
│   │   │   │   │   │   │   └── Serialization.java
│   │   │   │   │   │   ├── exception
│   │   │   │   │   │   │   ├── ConnectException.java
│   │   │   │   │   │   │   ├── EagainException.java
│   │   │   │   │   │   │   ├── NoMergeServerException.java
│   │   │   │   │   │   │   └── TimeOutException.java
│   │   │   │   │   │   ├── handler
│   │   │   │   │   │   │   ├── HandlerImpl.java
│   │   │   │   │   │   │   └── Handler.java
│   │   │   │   │   │   ├── mina
│   │   │   │   │   │   │   ├── MinaDecoder.java
│   │   │   │   │   │   │   ├── MinaEncoder.java
│   │   │   │   │   │   │   ├── MinaServer.java
│   │   │   │   │   │   │   ├── MinaSessionAdapter.java
│   │   │   │   │   │   │   └── MinaSessionFactory.java
│   │   │   │   │   │   ├── packet
│   │   │   │   │   │   │   ├── BasePacket.java
│   │   │   │   │   │   │   ├── BaseResponsePacket.java
│   │   │   │   │   │   │   ├── CommandPacket.java
│   │   │   │   │   │   │   ├── GetPacket.java
│   │   │   │   │   │   │   ├── GetSchemaPacket.java
│   │   │   │   │   │   │   ├── GetSchemaResponsePacket.java
│   │   │   │   │   │   │   ├── GetUpdateServerPacket.java
│   │   │   │   │   │   │   ├── ObGetUpdateServerInfoResponse.java
│   │   │   │   │   │   │   ├── OBIConfigResponseInfo.java
│   │   │   │   │   │   │   ├── OBIRoleResponseInfo.java
│   │   │   │   │   │   │   ├── ObScanRequest.java
│   │   │   │   │   │   │   ├── ResponsePacket.java
│   │   │   │   │   │   │   ├── WritePacket.java
│   │   │   │   │   │   │   └── WriteResponse.java
│   │   │   │   │   │   ├── Server.java
│   │   │   │   │   │   ├── SessionFactory.java
│   │   │   │   │   │   └── Session.java
│   │   │   │   │   ├── OBQLClientImpl.java
│   │   │   │   │   ├── OBQLClient.java
│   │   │   │   │   ├── parser
│   │   │   │   │   │   ├── AntlrStringStream.java
│   │   │   │   │   │   ├── OBQL.g
│   │   │   │   │   │   ├── OBQLLexer.java
│   │   │   │   │   │   ├── OBQLParser.java
│   │   │   │   │   │   ├── OBQLWalker.g
│   │   │   │   │   │   ├── OBQLWalker.java
│   │   │   │   │   │   └── QBLParser.java
│   │   │   │   │   ├── server
│   │   │   │   │   │   ├── MergeServer.java
│   │   │   │   │   │   ├── ObInstanceManager.java
│   │   │   │   │   │   ├── RootServer.java
│   │   │   │   │   │   └── UpdateServer.java
│   │   │   │   │   ├── util
│   │   │   │   │   │   ├── CheckParameter.java
│   │   │   │   │   │   ├── CheckQueryParams.java
│   │   │   │   │   │   ├── Const.java
│   │   │   │   │   │   ├── Crc64.java
│   │   │   │   │   │   ├── Helper.java
│   │   │   │   │   │   ├── LRUCache.java
│   │   │   │   │   │   ├── NamedThreadFactory.java
│   │   │   │   │   │   ├── NavigableCache.java
│   │   │   │   │   │   └── result
│   │   │   │   │   │   ├── GroupByHandler.java
│   │   │   │   │   │   ├── Handler.java
│   │   │   │   │   │   ├── LimitHandler.java
│   │   │   │   │   │   ├── NoOpHandler.java
│   │   │   │   │   │   ├── OrderByHandler.java
│   │   │   │   │   │   ├── PaginationHandler.java
│   │   │   │   │   │   ├── ResultFilter.java
│   │   │   │   │   │   ├── SelectHandler.java
│   │   │   │   │   │   ├── SequenceHandler.java
│   │   │   │   │   │   └── StatsFuncHandler.java
│   │   │   │   │   └── vo
│   │   │   │   │   ├── DeleteMutator.java
│   │   │   │   │   ├── GetParam.java
│   │   │   │   │   ├── inner
│   │   │   │   │   │   ├── ObActionFlag.java
│   │   │   │   │   │   ├── ObAggregateColumn.java
│   │   │   │   │   │   ├── ObBorderFlag.java
│   │   │   │   │   │   ├── ObCell.java
│   │   │   │   │   │   ├── ObGetParam.java
│   │   │   │   │   │   ├── ObGroupByParam.java
│   │   │   │   │   │   ├── ObHeader.java
│   │   │   │   │   │   ├── ObMutator.java
│   │   │   │   │   │   ├── ObObj.java
│   │   │   │   │   │   ├── ObRange.java
│   │   │   │   │   │   ├── ObReadParam.java
│   │   │   │   │   │   ├── ObResultCode.java
│   │   │   │   │   │   ├── ObRow.java
│   │   │   │   │   │   ├── ObScanner.java
│   │   │   │   │   │   ├── ObScanParam.java
│   │   │   │   │   │   ├── ObServer.java
│   │   │   │   │   │   ├── ObSimpleCond.java
│   │   │   │   │   │   ├── ObSimpleFilter.java
│   │   │   │   │   │   ├── PacketCode.java
│   │   │   │   │   │   └── schema
│   │   │   │   │   │   ├── BaseInited.java
│   │   │   │   │   │   ├── ObColumnSchemaV2.java
│   │   │   │   │   │   ├── ObJoinInfo.java
│   │   │   │   │   │   ├── ObSchemaCons.java
│   │   │   │   │   │   ├── ObSchemaManagerV2.java
│   │   │   │   │   │   └── ObTableSchema.java
│   │   │   │   │   ├── InsertMutator.java
│   │   │   │   │   ├── ObMutatorBase.java
│   │   │   │   │   ├── Option.java
│   │   │   │   │   ├── QueryInfo.java
│   │   │   │   │   ├── ResultCode.java
│   │   │   │   │   ├── Result.java
│   │   │   │   │   ├── RowData.java
│   │   │   │   │   ├── Rowkey.java
│   │   │   │   │   ├── StatsFunc.java
│   │   │   │   │   ├── UpdateMutator.java
│   │   │   │   │   └── Value.java
│   │   │   │   └── log4j.properties
│   │   │   └── test
│   │   │   ├── java
│   │   │   │   ├── com
│   │   │   │   │   └── taobao
│   │   │   │   │   └── oceanbase
│   │   │   │   │   ├── AppTest.java
│   │   │   │   │   ├── base
│   │   │   │   │   │   ├── BaseCase.java
│   │   │   │   │   │   ├── CollectColumnEnum.java
│   │   │   │   │   │   ├── column
│   │   │   │   │   │   │   └── Column.java
│   │   │   │   │   │   ├── ColumnTypeEnum.java
│   │   │   │   │   │   ├── ExpectResult.java
│   │   │   │   │   │   ├── LogEnum.java
│   │   │   │   │   │   ├── ModifyTypeEnum.java
│   │   │   │   │   │   ├── OBTestBase.java
│   │   │   │   │   │   ├── RKey.java
│   │   │   │   │   │   ├── RowKeyFactory.java
│   │   │   │   │   │   ├── RowKeyHelper.java
│   │   │   │   │   │   ├── RowKey.java
│   │   │   │   │   │   ├── rule
│   │   │   │   │   │   │   ├── CollectInfoDoubleColumnRule.java
│   │   │   │   │   │   │   ├── CollectInfoFloatColumnRule.java
│   │   │   │   │   │   │   ├── CollectInfoKeyRule.java
│   │   │   │   │   │   │   ├── CollectInfoNumberColumnRule.java
│   │   │   │   │   │   │   ├── CollectInfoPreciseTimeColumnRule.java
│   │   │   │   │   │   │   ├── CollectInfoStringColumnRule.java
│   │   │   │   │   │   │   ├── CollectInfoTimeColumnRule.java
│   │   │   │   │   │   │   ├── ItemInfoDoubleColumnRule.java
│   │   │   │   │   │   │   ├── ItemInfoFloatColumnRule.java
│   │   │   │   │   │   │   ├── ItemInfoKeyRule.java
│   │   │   │   │   │   │   ├── ItemInfoNumberColumnRule.java
│   │   │   │   │   │   │   ├── ItemInfoStringColumnRule.java
│   │   │   │   │   │   │   ├── ItemInfoTimeColumnRule.java
│   │   │   │   │   │   │   └── Rule.java
│   │   │   │   │   │   └── table
│   │   │   │   │   │   ├── CollectInfoTable.java
│   │   │   │   │   │   ├── ITable.java
│   │   │   │   │   │   ├── ItemInfoTable.java
│   │   │   │   │   │   └── Table.java
│   │   │   │   │   ├── ClientDemo.java
│   │   │   │   │   ├── Object
│   │   │   │   │   ├── parsermysql
│   │   │   │   │   │   ├── CollectRowKey.java
│   │   │   │   │   │   ├── ParseInfo.java
│   │   │   │   │   │   └── ParseItem.java
│   │   │   │   │   ├── serialization_bool
│   │   │   │   │   ├── serialization_buf
│   │   │   │   │   ├── serialization_int16
│   │   │   │   │   ├── serialization_int32
│   │   │   │   │   ├── serialization_int64
│   │   │   │   │   ├── serialization_int8
│   │   │   │   │   ├── SerializationtTest.java
│   │   │   │   │   ├── serialization_vint32
│   │   │   │   │   ├── serialization_vint64
│   │   │   │   │   ├── stress
│   │   │   │   │   │   ├── SQLClient.java
│   │   │   │   │   │   ├── StressTest.java
│   │   │   │   │   │   └── TestOBRowkey.java
│   │   │   │   │   └── testcase
│   │   │   │   │   ├── BatchInterfaceTestCase.java
│   │   │   │   │   ├── ColumnGroupTestCase.java
│   │   │   │   │   ├── GetFunctionTestCaseForJoin.java
│   │   │   │   │   ├── GetTestCaseExecuteForJoin.java
│   │   │   │   │   ├── InsertListTestCaseExecuteForJoin.java
│   │   │   │   │   ├── InsertTestCaseExecuteForJoin.java
│   │   │   │   │   ├── QueryTestCaseForInfo.java
│   │   │   │   │   ├── QueryTestCaseForItem.java
│   │   │   │   │   ├── QueryTestCaseForWhere_01.java
│   │   │   │   │   ├── QueryTestCaseForWhere_04.java
│   │   │   │   │   ├── QueryTestCaseForWhere_04_XX.java
│   │   │   │   │   ├── QueryTestCaseForWhere_05.java
│   │   │   │   │   ├── QueryTestCaseForWhere_06.java
│   │   │   │   │   ├── RemoveListTestCaseExecuteForJoin.java
│   │   │   │   │   ├── RemoveTestCaseExecuteForJoin.java
│   │   │   │   │   ├── RowKeyReverseQueryTestForInfo.java
│   │   │   │   │   ├── UpdateListTestCaseExecuteForJoin.java
│   │   │   │   │   └── UpdateTestCaseExecuteForJoin.java
│   │   │   │   └── log4j.properties
│   │   │   └── resources
│   │   │   └── javaclient
│   │   │   ├── others.xml
│   │   │   └── tables.xml
│   │   ├── jdbc_example
│   │   │   ├── pom.xml
│   │   │   ├── run.sh
│   │   │   └── src
│   │   │   └── main
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── alipay
│   │   │   │   └── oceanbase
│   │   │   │   ├── ibatis
│   │   │   │   │   ├── dao
│   │   │   │   │   │   └── ExampleDAOImpl.java
│   │   │   │   │   ├── entity
│   │   │   │   │   │   └── Example.java
│   │   │   │   │   └── ObIbatisExample.java
│   │   │   │   ├── ObDataSourceExample.java
│   │   │   │   ├── ObDataSourceSpringExample.java
│   │   │   │   └── ObJDBCExample.java
│   │   │   └── resources
│   │   │   ├── applicationContext.xml
│   │   │   ├── create_table.sql
│   │   │   ├── log4j.properties
│   │   │   └── sqlmap
│   │   │   ├── example-sqlmap-mapping.xml
│   │   │   └── sql-map-config.xml
│   │   ├── libmysql_example
│   │   │   ├── Makefile
│   │   │   └── ob_sql_example.cpp
│   │   ├── Makefile.am
│   │   └── obsql
│   │   ├── demo
│   │   │   ├── Makefile.am
│   │   │   ├── ob_sql_demo.cpp
│   │   │   ├── ob_sql_demo_mt.cpp
│   │   │   └── ob_sql_demo_transaction.cpp
│   │   ├── Makefile.am
│   │   ├── src
│   │   │   ├── libobsql.conf
│   │   │   ├── libobsql.cpp
│   │   │   ├── libobsql.h
│   │   │   ├── libobsqlrc
│   │   │   ├── Makefile.am
│   │   │   ├── ob_sql_atomic.cpp
│   │   │   ├── ob_sql_atomic.h
│   │   │   ├── ob_sql_cluster_config.cpp
│   │   │   ├── ob_sql_cluster_config.h
│   │   │   ├── ob_sql_cluster_info.h
│   │   │   ├── ob_sql_cluster_select.cpp
│   │   │   ├── ob_sql_cluster_select.h
│   │   │   ├── ob_sql_conn_acquire.cpp
│   │   │   ├── ob_sql_conn_acquire.h
│   │   │   ├── ob_sql_curl.cpp
│   │   │   ├── ob_sql_curl.h
│   │   │   ├── ob_sql_data_source.h
│   │   │   ├── ob_sql_data_source_utility.cpp
│   │   │   ├── ob_sql_data_source_utility.h
│   │   │   ├── ob_sql_define.h
│   │   │   ├── ob_sql_global.cpp
│   │   │   ├── ob_sql_global.h
│   │   │   ├── ob_sql_group_data_source.cpp
│   │   │   ├── ob_sql_group_data_source.h
│   │   │   ├── ob_sql_list.cpp
│   │   │   ├── ob_sql_list.h
│   │   │   ├── ob_sql_ms_select.cpp
│   │   │   ├── ob_sql_ms_select.h
│   │   │   ├── ob_sql_mysql_adapter.cpp
│   │   │   ├── ob_sql_mysql_adapter.h
│   │   │   ├── ob_sql_parser.cpp
│   │   │   ├── ob_sql_parser.h
│   │   │   ├── ob_sql_real_func.cpp
│   │   │   ├── ob_sql_real_func.h
│   │   │   ├── ob_sql_select_method.h
│   │   │   ├── ob_sql_select_method_impl.cpp
│   │   │   ├── ob_sql_select_method_impl.h
│   │   │   ├── ob_sql_server_info.h
│   │   │   ├── ob_sql_struct.cpp
│   │   │   ├── ob_sql_struct.h
│   │   │   ├── ob_sql_update_worker.cpp
│   │   │   ├── ob_sql_update_worker.h
│   │   │   ├── ob_sql_util.cpp
│   │   │   ├── ob_sql_util.h
│   │   │   └── readme
│   │   └── test
│   │   ├── Makefile.am
│   │   ├── ob_sql_test.cpp
│   │   ├── ob_sql_test_multh.cpp
│   │   ├── ob_sql_while_test.cpp
│   │   └── test_group_data_source.cpp
│   ├── clustermanager
│   │   ├── Makefile.am
│   │   ├── ob_ocm_app_info.cpp
│   │   ├── ob_ocm_app_info.h
│   │   ├── ob_ocm_broadcast_task.cpp
│   │   ├── ob_ocm_broadcast_task.h
│   │   ├── ob_ocm_instance.cpp
│   │   ├── ob_ocm_instance.h
│   │   ├── ob_ocm_main.cpp
│   │   ├── ob_ocm_main.h
│   │   ├── ob_ocm_meta.cpp
│   │   ├── ob_ocm_meta.h
│   │   ├── ob_ocm_meta_manager.cpp
│   │   ├── ob_ocm_meta_manager.h
│   │   ├── ob_ocm_param.cpp
│   │   ├── ob_ocm_param.h
│   │   ├── ob_ocm_rpc_stub.cpp
│   │   ├── ob_ocm_rpc_stub.h
│   │   ├── ob_ocm_server.cpp
│   │   ├── ob_ocm_server.h
│   │   ├── ob_ocm_service.cpp
│   │   ├── ob_ocm_service.h
│   │   ├── ocm_admin.cpp
│   │   └── ocm.conf.template
│   ├── common
│   │   ├── base_main.cpp
│   │   ├── base_main.h
│   │   ├── batch_packet_queue_thread.cpp
│   │   ├── batch_packet_queue_thread.h
│   │   ├── bloom_filter.cpp
│   │   ├── bloom_filter.h
│   │   ├── btree
│   │   │   ├── btree_alloc.h
│   │   │   ├── btree_array_list.cpp
│   │   │   ├── btree_array_list.h
│   │   │   ├── btree_base.cpp
│   │   │   ├── btree_base.h
│   │   │   ├── btree_base_handle.cpp
│   │   │   ├── btree_base_handle.h
│   │   │   ├── btree_default_alloc.cpp
│   │   │   ├── btree_default_alloc.h
│   │   │   ├── btree_define.h
│   │   │   ├── btree_node.cpp
│   │   │   ├── btree_node.h
│   │   │   ├── btree_read_handle_new.cpp
│   │   │   ├── btree_read_handle_new.h
│   │   │   ├── btree_read_param.cpp
│   │   │   ├── btree_read_param.h
│   │   │   ├── btree_root_pointer.cpp
│   │   │   ├── btree_root_pointer.h
│   │   │   ├── btree_write_handle.cpp
│   │   │   ├── btree_write_handle.h
│   │   │   ├── btree_write_param.cpp
│   │   │   ├── btree_write_param.h
│   │   │   ├── id_btree.cpp
│   │   │   ├── id_btree.h
│   │   │   ├── id_key_btree.cpp
│   │   │   ├── id_key_btree.h
│   │   │   ├── key_btree.cpp
│   │   │   ├── key_btree.h
│   │   │   ├── Makefile.am
│   │   │   ├── test
│   │   │   │   ├── btree_alloc_test.cpp
│   │   │   │   ├── btree_base_test.cpp
│   │   │   │   ├── btree_node_test.cpp
│   │   │   │   ├── btree_read_handle_test.cpp
│   │   │   │   ├── btree_root_pointer_test.cpp
│   │   │   │   ├── btree_test.cpp
│   │   │   │   ├── btree_write_handle_test.cpp
│   │   │   │   ├── key_btree_mthread.cpp
│   │   │   │   ├── key_btree_test.cpp
│   │   │   │   ├── keytree_getnext_test.cpp
│   │   │   │   ├── keytree_get_test.cpp
│   │   │   │   ├── keytree_put_test.cpp
│   │   │   │   ├── keytree_remove_test.cpp
│   │   │   │   ├── Makefile.am
│   │   │   │   ├── test_batch.cpp
│   │   │   │   ├── test_key.h
│   │   │   │   ├── test_key_str.h
│   │   │   │   └── test_key_zl.h
│   │   │   └── test_key_btree.cpp
│   │   ├── check_sum.h
│   │   ├── cmbtree
│   │   │   ├── btree_base.h
│   │   │   ├── btree_counter.h
│   │   │   ├── btree_default_alloc.h
│   │   │   ├── btree_define.h
│   │   │   ├── btree_handle.h
│   │   │   ├── btree_mem_pool.h
│   │   │   ├── btree_mutex.h
│   │   │   ├── btree_node.h
│   │   │   ├── btree_read_param.h
│   │   │   ├── btree_recycle_node.h
│   │   │   ├── btree_recycle_pool.h
│   │   │   ├── btree_thread_store.h
│   │   │   ├── btree_tid.h
│   │   │   ├── btree_write_param.h
│   │   │   ├── qlock.h
│   │   │   ├── SConstruct
│   │   │   ├── test1.cpp
│   │   │   ├── test2.cpp
│   │   │   ├── test3.cpp
│   │   │   ├── test4.cpp
│   │   │   ├── test.cpp
│   │   │   └── thread.h
│   │   ├── compress
│   │   │   ├── lzo_compressor.cpp
│   │   │   ├── lzo_compressor.h
│   │   │   ├── Makefile.am
│   │   │   ├── none_compressor.cpp
│   │   │   ├── none_compressor.h
│   │   │   ├── ob_compressor.cpp
│   │   │   ├── ob_compressor.h
│   │   │   ├── snappy_compressor.cpp
│   │   │   └── snappy_compressor.h
│   │   ├── data_buffer.h
│   │   ├── debug.h
│   │   ├── dlist.cpp
│   │   ├── dlist.h
│   │   ├── file_directory_utils.cpp
│   │   ├── file_directory_utils.h
│   │   ├── file_utils.cpp
│   │   ├── file_utils.h
│   │   ├── futex_sem.cpp
│   │   ├── futex_sem.h
│   │   ├── gperf.h
│   │   ├── hash
│   │   │   ├── ob_hashmap.h
│   │   │   ├── ob_hashset.h
│   │   │   ├── ob_hashtable.h
│   │   │   ├── ob_hashutils.h
│   │   │   ├── ob_placement_hashmap.h
│   │   │   ├── ob_placement_hashset.h
│   │   │   └── ob_serialization.h
│   │   ├── limit_array.h
│   │   ├── location
│   │   │   ├── ob_btree_map.h
│   │   │   ├── ob_ms_cache_table.h
│   │   │   ├── ob_tablet_location_cache.cpp
│   │   │   ├── ob_tablet_location_cache.h
│   │   │   ├── ob_tablet_location_cache_proxy.cpp
│   │   │   ├── ob_tablet_location_cache_proxy.h
│   │   │   ├── ob_tablet_location_list.cpp
│   │   │   ├── ob_tablet_location_list.h
│   │   │   ├── ob_tablet_location_range_iterator.cpp
│   │   │   └── ob_tablet_location_range_iterator.h
│   │   ├── Makefile.am
│   │   ├── murmur_hash.cpp
│   │   ├── murmur_hash.h
│   │   ├── nb_accessor
│   │   │   ├── nb_query_res.cpp
│   │   │   ├── nb_query_res.h
│   │   │   ├── nb_scan_cond.cpp
│   │   │   ├── nb_scan_cond.h
│   │   │   ├── nb_table_row.cpp
│   │   │   ├── nb_table_row.h
│   │   │   ├── ob_nb_accessor.cpp
│   │   │   └── ob_nb_accessor.h
│   │   ├── ob_access_counter.cpp
│   │   ├── ob_access_counter.h
│   │   ├── ob_ack_queue.cpp
│   │   ├── ob_ack_queue.h
│   │   ├── ob_action_flag.h
│   │   ├── ob_adapter_allocator.h
│   │   ├── ob_allocator.h
│   │   ├── ob_array.h
│   │   ├── ob_array_helper.h
│   │   ├── ob_array_lock.cpp
│   │   ├── ob_array_lock.h
│   │   ├── ob_atomic.h
│   │   ├── ob_atomic_type.h
│   │   ├── ob_balance_filter.cpp
│   │   ├── ob_balance_filter.h
│   │   ├── ob_base_client.cpp
│   │   ├── ob_base_client.h
│   │   ├── ob_base_server.cpp
│   │   ├── ob_base_server.h
│   │   ├── ob_bitmap.h
│   │   ├── ob_bit_set.h
│   │   ├── ob_blacklist.cpp
│   │   ├── ob_blacklist.h
│   │   ├── ob_bloomfilter.h
│   │   ├── ob_buffer.h
│   │   ├── ob_buffer_helper.h
│   │   ├── ob_bypass_task_info.cpp
│   │   ├── ob_bypass_task_info.h
│   │   ├── ob_cache.cpp
│   │   ├── ob_cached_allocator.h
│   │   ├── ob_cache.h
│   │   ├── ob_cell_array.cpp
│   │   ├── ob_cell_array.h
│   │   ├── ob_cellinfo_processor.h
│   │   ├── ob_cell_meta.h
│   │   ├── ob_check_runnable.cpp
│   │   ├── ob_check_runnable.h
│   │   ├── ob_chunk_server_item.h
│   │   ├── ob_cipher.h
│   │   ├── ob_client_helper.cpp
│   │   ├── ob_client_helper.h
│   │   ├── ob_client_manager.cpp
│   │   ├── ob_client_manager.h
│   │   ├── ob_client_proxy.cpp
│   │   ├── ob_client_proxy.h
│   │   ├── ob_client_wait_obj.cpp
│   │   ├── ob_client_wait_obj.h
│   │   ├── ob_cluster_server.h
│   │   ├── ob_column_filter.h
│   │   ├── ob_common_param.cpp
│   │   ├── ob_common_param.h
│   │   ├── ob_common_rpc_stub.cpp
│   │   ├── ob_common_rpc_stub.h
│   │   ├── ob_common_stat.cpp
│   │   ├── ob_common_stat.h
│   │   ├── ob_compact_cell_iterator.cpp
│   │   ├── ob_compact_cell_iterator.h
│   │   ├── ob_compact_cell_util.cpp
│   │   ├── ob_compact_cell_util.h
│   │   ├── ob_compact_cell_writer.cpp
│   │   ├── ob_compact_cell_writer.h
│   │   ├── ob_compact_store_type.h
│   │   ├── ob_compose_operator.cpp
│   │   ├── ob_compose_operator.h
│   │   ├── ob_composite_column.cpp
│   │   ├── ob_composite_column.h
│   │   ├── ob_cond_info.cpp
│   │   ├── ob_cond_info.h
│   │   ├── ob_config.cpp
│   │   ├── ob_config.h
│   │   ├── ob_config_helper.cpp
│   │   ├── ob_config_helper.h
│   │   ├── ob_config_manager.cpp
│   │   ├── ob_config_manager.h
│   │   ├── ob_counter.cpp
│   │   ├── ob_counter.h
│   │   ├── ob_crc64.cpp
│   │   ├── ob_crc64.h
│   │   ├── ob_cur_time.cpp
│   │   ├── ob_cur_time.h
│   │   ├── ob_data_source_desc.cpp
│   │   ├── ob_data_source_desc.h
│   │   ├── ob_decimal_helper.cpp
│   │   ├── ob_decimal_helper.h
│   │   ├── ob_define.h
│   │   ├── ob_delay_guard.h
│   │   ├── ob_direct_log_reader.cpp
│   │   ├── ob_direct_log_reader.h
│   │   ├── ob_disk_checker.cpp
│   │   ├── ob_disk_checker.h
│   │   ├── ob_easy_array.h
│   │   ├── ob_easy_log.cpp
│   │   ├── ob_easy_log.h
│   │   ├── ob_encrypt.cpp
│   │   ├── ob_encrypted_helper.cpp
│   │   ├── ob_encrypted_helper.h
│   │   ├── ob_encrypt.h
│   │   ├── ob_endian.h
│   │   ├── ob_errno.cpp
│   │   ├── ob_errno.h
│   │   ├── ob_expression.h
│   │   ├── ob_expr_obj.cpp
│   │   ├── ob_expr_obj.h
│   │   ├── ob_extra_tables_schema.cpp
│   │   ├── ob_extra_tables_schema.h
│   │   ├── ob_fetch_runnable.cpp
│   │   ├── ob_fetch_runnable.h
│   │   ├── ob_fifo_allocator.cpp
│   │   ├── ob_fifo_allocator.h
│   │   ├── ob_fifo_stream.cpp
│   │   ├── ob_fifo_stream.h
│   │   ├── ob_file_client.cpp
│   │   ├── ob_file_client.h
│   │   ├── ob_file.cpp
│   │   ├── ob_file.h
│   │   ├── ob_fileinfo_manager.h
│   │   ├── ob_file_service.cpp
│   │   ├── ob_file_service.h
│   │   ├── ob_fixed_queue.h
│   │   ├── ob_flag.cpp
│   │   ├── ob_flag.h
│   │   ├── ob_general_rpc_proxy.cpp
│   │   ├── ob_general_rpc_proxy.h
│   │   ├── ob_general_rpc_stub.cpp
│   │   ├── ob_general_rpc_stub.h
│   │   ├── ob_get_param.cpp
│   │   ├── ob_get_param.h
│   │   ├── ob_global_factory.h
│   │   ├── ob_groupby.cpp
│   │   ├── ob_groupby.h
│   │   ├── ob_groupby_operator.cpp
│   │   ├── ob_groupby_operator.h
│   │   ├── ob_hint.cpp
│   │   ├── ob_hint.h
│   │   ├── ob_iarray.h
│   │   ├── ob_id_map.h
│   │   ├── ob_infix_expression.cpp
│   │   ├── ob_infix_expression.h
│   │   ├── ob_inner_table_operator.cpp
│   │   ├── ob_inner_table_operator.h
│   │   ├── ob_iterator_adaptor.cpp
│   │   ├── ob_iterator_adaptor.h
│   │   ├── ob_iterator.h
│   │   ├── ob_kv_storecache.h
│   │   ├── ob_lease_common.cpp
│   │   ├── ob_lease_common.h
│   │   ├── ob_libeasy_mem_pool.cpp
│   │   ├── ob_libeasy_mem_pool.h
│   │   ├── ob_lighty_queue.cpp
│   │   ├── ob_lighty_queue.h
│   │   ├── ob_link.h
│   │   ├── ob_list.h
│   │   ├── ob_log_cursor.cpp
│   │   ├── ob_log_cursor.h
│   │   ├── ob_log_data_writer.cpp
│   │   ├── ob_log_data_writer.h
│   │   ├── ob_log_dir_scanner.cpp
│   │   ├── ob_log_dir_scanner.h
│   │   ├── ob_log_entry.cpp
│   │   ├── ob_log_entry.h
│   │   ├── ob_log_generator.cpp
│   │   ├── ob_log_generator.h
│   │   ├── ob_login_mgr.cpp
│   │   ├── ob_login_mgr.h
│   │   ├── ob_log_reader.cpp
│   │   ├── ob_log_reader.h
│   │   ├── ob_log_replay_runnable.cpp
│   │   ├── ob_log_replay_runnable.h
│   │   ├── ob_log_writer2.cpp
│   │   ├── ob_log_writer2.h
│   │   ├── ob_log_writer.cpp
│   │   ├── ob_log_writer.h
│   │   ├── ob_lrucache.h
│   │   ├── ob_malloc.cpp
│   │   ├── ob_malloc.h
│   │   ├── ob_memory_pool.cpp
│   │   ├── ob_memory_pool.h
│   │   ├── ob_merger.cpp
│   │   ├── ob_merger.h
│   │   ├── ob_meta_cache.cpp
│   │   ├── ob_meta_cache.h
│   │   ├── ob_mod_define.cpp
│   │   ├── ob_mod_define.h
│   │   ├── ob_ms_list.cpp
│   │   ├── ob_ms_list.h
│   │   ├── ob_multi_wakeup.cpp
│   │   ├── ob_multi_wakeup.h
│   │   ├── ob_mutator.cpp
│   │   ├── ob_mutator.h
│   │   ├── ob_mutator_helper.cpp
│   │   ├── ob_mutator_helper.h
│   │   ├── ob_mutex_task.cpp
│   │   ├── ob_mutex_task.h
│   │   ├── ob_new_scanner.cpp
│   │   ├── ob_new_scanner.h
│   │   ├── ob_new_scanner_helper.cpp
│   │   ├── ob_new_scanner_helper.h
│   │   ├── ob_number.cpp
│   │   ├── ob_number.h
│   │   ├── ob_obi_role.cpp
│   │   ├── ob_obi_role.h
│   │   ├── ob_obj_cast.cpp
│   │   ├── ob_obj_cast.h
│   │   ├── ob_object.cpp
│   │   ├── ob_object.h
│   │   ├── ob_obj_pool.h
│   │   ├── ob_obj_type.cpp
│   │   ├── ob_obj_type.h
│   │   ├── ob_operate_result.h
│   │   ├── ob_packet.cpp
│   │   ├── ob_packet_factory.h
│   │   ├── ob_packet.h
│   │   ├── ob_packet_lighty_queue.cpp
│   │   ├── ob_packet_lighty_queue.h
│   │   ├── ob_packet_queue.cpp
│   │   ├── ob_packet_queue.h
│   │   ├── ob_packet_queue_handler.h
│   │   ├── ob_packet_queue_thread.cpp
│   │   ├── ob_packet_queue_thread.h
│   │   ├── ob_pcap.cpp
│   │   ├── ob_pcap.h
│   │   ├── ob_perm_components.cpp
│   │   ├── ob_perm_components.h
│   │   ├── ob_pointer_array.h
│   │   ├── ob_pool.cpp
│   │   ├── ob_pooled_allocator.h
│   │   ├── ob_pool.h
│   │   ├── ob_pool.ipp
│   │   ├── ob_postfix_expression.cpp
│   │   ├── ob_postfix_expression.h
│   │   ├── ob_preload.h
│   │   ├── ob_priority_scheduler.h
│   │   ├── ob_privilege.cpp
│   │   ├── ob_privilege.h
│   │   ├── ob_privilege_manager.cpp
│   │   ├── ob_privilege_manager.h
│   │   ├── ob_privilege_type.cpp
│   │   ├── ob_privilege_type.h
│   │   ├── ob_probability_random.cpp
│   │   ├── ob_probability_random.h
│   │   ├── ob_profile_fill_log.cpp
│   │   ├── ob_profile_fill_log.h
│   │   ├── ob_profile_log.cpp
│   │   ├── ob_profile_log.h
│   │   ├── ob_profile_type.h
│   │   ├── ob_queued_lock.h
│   │   ├── ob_queue_thread.cpp
│   │   ├── ob_queue_thread.h
│   │   ├── ob_range2.cpp
│   │   ├── ob_range2.h
│   │   ├── ob_range.cpp
│   │   ├── ob_range.h
│   │   ├── ob_raw_row.cpp
│   │   ├── ob_raw_row.h
│   │   ├── ob_read_common_data.h
│   │   ├── ob_record_header.cpp
│   │   ├── ob_record_header.h
│   │   ├── ob_record_header_v2.cpp
│   │   ├── ob_record_header_v2.h
│   │   ├── ob_recursive_mutex.h
│   │   ├── ob_regex.cpp
│   │   ├── ob_regex.h
│   │   ├── ob_reload_config.h
│   │   ├── ob_repeated_log_reader.cpp
│   │   ├── ob_repeated_log_reader.h
│   │   ├── ob_request_profile_data.h
│   │   ├── ob_resource_pool.h
│   │   ├── ob_result.h
│   │   ├── ob_return_operator.cpp
│   │   ├── ob_return_operator.h
│   │   ├── ob_ring_buffer.cpp
│   │   ├── ob_ring_buffer.h
│   │   ├── ob_role_mgr.h
│   │   ├── ob_row_compaction.cpp
│   │   ├── ob_row_compaction.h
│   │   ├── ob_row.cpp
│   │   ├── ob_row_desc.cpp
│   │   ├── ob_row_desc_ext.cpp
│   │   ├── ob_row_desc_ext.h
│   │   ├── ob_row_desc.h
│   │   ├── ob_row_fuse.cpp
│   │   ├── ob_row_fuse.h
│   │   ├── ob_row.h
│   │   ├── ob_row_iterator.h
│   │   ├── ob_rowkey.cpp
│   │   ├── ob_rowkey.h
│   │   ├── ob_rowkey_helper.cpp
│   │   ├── ob_rowkey_helper.h
│   │   ├── ob_row_store.cpp
│   │   ├── ob_row_store.h
│   │   ├── ob_row_util.cpp
│   │   ├── ob_row_util.h
│   │   ├── ob_rpc_client.cpp
│   │   ├── ob_rpc_client.h
│   │   ├── ob_rpc_macros.h
│   │   ├── ob_rpc_stub.cpp
│   │   ├── ob_rpc_stub.h
│   │   ├── ob_rs_ups_message.cpp
│   │   ├── ob_rs_ups_message.h
│   │   ├── ob_scanner.cpp
│   │   ├── ob_scanner.h
│   │   ├── ob_scan_param.cpp
│   │   ├── ob_scan_param.h
│   │   ├── ob_schema.cpp
│   │   ├── ob_schema.h
│   │   ├── ob_schema_helper.cpp
│   │   ├── ob_schema_helper.h
│   │   ├── ob_schema_macro_define.h
│   │   ├── ob_schema_manager.cpp
│   │   ├── ob_schema_manager.h
│   │   ├── ob_schema_service.cpp
│   │   ├── ob_schema_service.h
│   │   ├── ob_schema_service_impl.cpp
│   │   ├── ob_schema_service_impl.h
│   │   ├── ob_schema_table.cpp
│   │   ├── ob_schema_table.h
│   │   ├── ob_se_array.h
│   │   ├── ob_seq_queue.cpp
│   │   ├── ob_seq_queue.h
│   │   ├── ob_server_config.cpp
│   │   ├── ob_server_config.h
│   │   ├── ob_server.cpp
│   │   ├── ob_server_ext.cpp
│   │   ├── ob_server_ext.h
│   │   ├── ob_server_getter.cpp
│   │   ├── ob_server_getter.h
│   │   ├── ob_server.h
│   │   ├── ob_session_mgr.cpp
│   │   ├── ob_session_mgr.h
│   │   ├── ob_shadow_server.cpp
│   │   ├── ob_shadow_server.h
│   │   ├── ob_simple_condition.cpp
│   │   ├── ob_simple_condition.h
│   │   ├── ob_simple_filter.cpp
│   │   ├── ob_simple_filter.h
│   │   ├── ob_simple_right_join_cell.h
│   │   ├── ob_simple_tpl.h
│   │   ├── ob_single_log_reader.cpp
│   │   ├── ob_single_log_reader.h
│   │   ├── ob_single_pop_queue.h
│   │   ├── ob_single_server.cpp
│   │   ├── ob_single_server.h
│   │   ├── ob_slab.cpp
│   │   ├── ob_slab.h
│   │   ├── ob_slave_mgr.cpp
│   │   ├── ob_slave_mgr.h
│   │   ├── ob_spin_lock.h
│   │   ├── ob_spin_rwlock.h
│   │   ├── ob_spop_spush_queue.cpp
│   │   ├── ob_spop_spush_queue.h
│   │   ├── ob_sql_ups_rpc_proxy.h
│   │   ├── ob_stack_allocator.cpp
│   │   ├── ob_stack_allocator.h
│   │   ├── ob_statistics.cpp
│   │   ├── ob_statistics.h
│   │   ├── ob_string_buf.h
│   │   ├── ob_string_buf.ipp
│   │   ├── ob_string.h
│   │   ├── ob_strings.cpp
│   │   ├── ob_string_search.cpp
│   │   ├── ob_string_search.h
│   │   ├── ob_strings.h
│   │   ├── ob_switch.h
│   │   ├── ob_system_config.cpp
│   │   ├── ob_system_config.h
│   │   ├── ob_system_config_key.cpp
│   │   ├── ob_system_config_key.h
│   │   ├── ob_system_config_value.h
│   │   ├── ob_table_id_name.cpp
│   │   ├── ob_table_id_name.h
│   │   ├── ob_tablet_info.cpp
│   │   ├── ob_tablet_info.h
│   │   ├── ob_task.h
│   │   ├── ob_tbnet_callback.cpp
│   │   ├── ob_tbnet_callback.h
│   │   ├── ob_tc_counter.h
│   │   ├── ob_tc_factory.h
│   │   ├── ob_thread_mempool.cpp
│   │   ├── ob_thread_mempool.h
│   │   ├── ob_thread_objpool.h
│   │   ├── ob_thread_store.h
│   │   ├── ob_ticket_queue.cpp
│   │   ├── ob_ticket_queue.h
│   │   ├── ob_timer.cpp
│   │   ├── ob_timer.h
│   │   ├── ob_tl_store.h
│   │   ├── ob_token.cpp
│   │   ├── ob_token.h
│   │   ├── ob_trace_id.cpp
│   │   ├── ob_trace_id.h
│   │   ├── ob_trace_log.cpp
│   │   ├── ob_trace_log.h
│   │   ├── ob_transaction.cpp
│   │   ├── ob_transaction.h
│   │   ├── ob_trigger_event.h
│   │   ├── ob_trigger_event_util.cpp
│   │   ├── ob_trigger_event_util.h
│   │   ├── ob_trigger_msg.cpp
│   │   ├── ob_trigger_msg.h
│   │   ├── ob_tsi_block_allocator.cpp
│   │   ├── ob_tsi_block_allocator.h
│   │   ├── ob_tsi_factory.cpp
│   │   ├── ob_tsi_factory.h
│   │   ├── ob_tsi_utils.cpp
│   │   ├── ob_tsi_utils.h
│   │   ├── ob_typed_queue.h
│   │   ├── ob_ups_info.cpp
│   │   ├── ob_ups_info.h
│   │   ├── ob_ups_info_mgr.cpp
│   │   ├── ob_ups_info_mgr.h
│   │   ├── ob_ups_info_mgr_rpc_stub.cpp
│   │   ├── ob_ups_info_mgr_rpc_stub.h
│   │   ├── ob_ups_row.cpp
│   │   ├── ob_ups_row.h
│   │   ├── ob_ups_row_util.cpp
│   │   ├── ob_ups_row_util.h
│   │   ├── ob_ups_rpc_proxy.h
│   │   ├── ob_vector.h
│   │   ├── ob_vector.ipp
│   │   ├── ob_version.cpp
│   │   ├── ob_version.h
│   │   ├── ob_wait_queue.h
│   │   ├── page_arena.h
│   │   ├── priority_packet_queue_thread.cpp
│   │   ├── priority_packet_queue_thread.h
│   │   ├── qlock.h
│   │   ├── roottable
│   │   │   ├── Makefile.am
│   │   │   ├── ob_first_tablet_entry.cpp
│   │   │   ├── ob_first_tablet_entry.h
│   │   │   ├── ob_first_tablet_entry_meta.cpp
│   │   │   ├── ob_first_tablet_entry_meta.h
│   │   │   ├── ob_first_tablet_entry_schema.cpp
│   │   │   ├── ob_first_tablet_entry_schema.h
│   │   │   ├── ob_meta_table3.cpp
│   │   │   ├── ob_meta_table3.h
│   │   │   ├── ob_meta_table_schema.cpp
│   │   │   ├── ob_meta_table_schema.h
│   │   │   ├── ob_ms_provider.h
│   │   │   ├── ob_mutate_helper.h
│   │   │   ├── ob_old_root_table_schema.cpp
│   │   │   ├── ob_old_root_table_schema.h
│   │   │   ├── ob_root_table3.cpp
│   │   │   ├── ob_root_table3.h
│   │   │   ├── ob_root_table_service.cpp
│   │   │   ├── ob_root_table_service.h
│   │   │   ├── ob_scan_helper.h
│   │   │   ├── ob_scan_helper_impl.cpp
│   │   │   ├── ob_scan_helper_impl.h
│   │   │   ├── ob_tablet_meta_table.h
│   │   │   ├── ob_tablet_meta_table_row.cpp
│   │   │   ├── ob_tablet_meta_table_row.h
│   │   │   └── ob_ups_provider.h
│   │   ├── serialization.h
│   │   ├── thread_buffer.cpp
│   │   ├── thread_buffer.h
│   │   ├── timezone
│   │   │   ├── localtime.c
│   │   │   ├── Makefile.am
│   │   │   ├── private.h
│   │   │   └── tzfile.h
│   │   ├── utility.cpp
│   │   └── utility.h
│   ├── compactsstable
│   │   ├── Makefile.am
│   │   ├── ob_block_membuf.cpp
│   │   ├── ob_block_membuf.h
│   │   ├── ob_compact_obj.h
│   │   ├── ob_compact_row.cpp
│   │   ├── ob_compact_row.h
│   │   ├── ob_compactsstable_mem.cpp
│   │   └── ob_compactsstable_mem.h
│   ├── compactsstablev2
│   │   ├── Makefile.am
│   │   ├── ob_compact_sstable_getter.cpp
│   │   ├── ob_compact_sstable_getter.h
│   │   ├── ob_compact_sstable_reader.cpp
│   │   ├── ob_compact_sstable_reader.h
│   │   ├── ob_compact_sstable_scanner.cpp
│   │   ├── ob_compact_sstable_scanner.h
│   │   ├── ob_compact_sstable_writer_buffer.cpp
│   │   ├── ob_compact_sstable_writer_buffer.h
│   │   ├── ob_compact_sstable_writer.cpp
│   │   ├── ob_compact_sstable_writer.h
│   │   ├── ob_sstable_aio_buffer_mgr.cpp
│   │   ├── ob_sstable_aio_buffer_mgr.h
│   │   ├── ob_sstable_aio_event_mgr.cpp
│   │   ├── ob_sstable_aio_event_mgr.h
│   │   ├── ob_sstable_block_builder.cpp
│   │   ├── ob_sstable_block_builder.h
│   │   ├── ob_sstable_block_cache.cpp
│   │   ├── ob_sstable_block_cache.h
│   │   ├── ob_sstable_block.cpp
│   │   ├── ob_sstable_block_endkey_builder.cpp
│   │   ├── ob_sstable_block_endkey_builder.h
│   │   ├── ob_sstable_block_getter.cpp
│   │   ├── ob_sstable_block_getter.h
│   │   ├── ob_sstable_block.h
│   │   ├── ob_sstable_block_index_builder.cpp
│   │   ├── ob_sstable_block_index_builder.h
│   │   ├── ob_sstable_block_index_cache.cpp
│   │   ├── ob_sstable_block_index_cache.h
│   │   ├── ob_sstable_block_index_mgr.cpp
│   │   ├── ob_sstable_block_index_mgr.h
│   │   ├── ob_sstable_block_reader.cpp
│   │   ├── ob_sstable_block_reader.h
│   │   ├── ob_sstable_block_scanner.cpp
│   │   ├── ob_sstable_block_scanner.h
│   │   ├── ob_sstable_buffer.cpp
│   │   ├── ob_sstable_buffer.h
│   │   ├── ob_sstable_common_buffer.h
│   │   ├── ob_sstable_compact_row.cpp
│   │   ├── ob_sstable_compact_row.h
│   │   ├── ob_sstable.cpp
│   │   ├── ob_sstable_disk_path.h
│   │   ├── ob_sstable.h
│   │   ├── ob_sstable_row_cache.cpp
│   │   ├── ob_sstable_row_cache.h
│   │   ├── ob_sstable_scan_column_indexes.cpp
│   │   ├── ob_sstable_scan_column_indexes.h
│   │   ├── ob_sstable_schema_cache.cpp
│   │   ├── ob_sstable_schema_cache.h
│   │   ├── ob_sstable_schema.cpp
│   │   ├── ob_sstable_schema.h
│   │   ├── ob_sstable_store_struct.h
│   │   ├── ob_sstable_table.cpp
│   │   ├── ob_sstable_table.h
│   │   ├── ob_sstable_table_index_builder.cpp
│   │   ├── ob_sstable_table_index_builder.h
│   │   ├── ob_sstable_table_range_builder.cpp
│   │   ├── ob_sstable_table_range_builder.h
│   │   ├── ob_sstable_table_schema_builder.cpp
│   │   └── ob_sstable_table_schema_builder.h
│   ├── importserver
│   │   ├── bin
│   │   │   ├── importcli.py
│   │   │   ├── importserver.py
│   │   │   └── mrsstable.jar
│   │   ├── etc
│   │   │   ├── configuration.xml.template
│   │   │   ├── data_syntax.ini.template
│   │   │   ├── importcli.conf.template
│   │   │   └── importserver.conf.template
│   │   ├── lib_5u
│   │   │   ├── liblzo_1.0.so
│   │   │   ├── liblzo2.so
│   │   │   ├── libmrsstable.so
│   │   │   ├── libnone.so
│   │   │   ├── libsnappy_1.0.so
│   │   │   └── libsnappy.so
│   │   ├── lib_6u
│   │   │   ├── liblzo2.so
│   │   │   └── libsnappy.so
│   │   └── Makefile.am
│   ├── lsync
│   │   ├── lsyncserver.conf.template
│   │   ├── main.cpp
│   │   ├── Makefile.am
│   │   ├── ob_lsync_callback.cpp
│   │   ├── ob_lsync_callback.h
│   │   ├── ob_lsync_server.cpp
│   │   ├── ob_lsync_server.h
│   │   ├── ob_lsync_server_main.cpp
│   │   ├── ob_lsync_server_main.h
│   │   ├── ob_lsync_server_param.cpp
│   │   ├── ob_lsync_server_param.h
│   │   ├── ob_seekable_log_reader2.cpp
│   │   ├── ob_seekable_log_reader2.h
│   │   ├── ob_seekable_log_reader.cpp
│   │   └── ob_seekable_log_reader.h
│   ├── Makefile.am
│   ├── mergeserver
│   │   ├── main.cpp
│   │   ├── Makefile.am
│   │   ├── mergeserver.conf.template
│   │   ├── ob_bloom_filter_task_queue_thread.cpp
│   │   ├── ob_bloom_filter_task_queue_thread.h
│   │   ├── ob_chunk_server_task_dispatcher.cpp
│   │   ├── ob_chunk_server_task_dispatcher.h
│   │   ├── ob_frozen_data_cache.cpp
│   │   ├── ob_frozen_data_cache.h
│   │   ├── ob_get_privilege_task.cpp
│   │   ├── ob_get_privilege_task.h
│   │   ├── ob_insert_cache.cpp
│   │   ├── ob_insert_cache.h
│   │   ├── ob_merge_callback.cpp
│   │   ├── ob_merge_callback.h
│   │   ├── ob_merge_reload_config.cpp
│   │   ├── ob_merge_reload_config.h
│   │   ├── ob_merger_groupby_operator.cpp
│   │   ├── ob_merger_groupby_operator.h
│   │   ├── ob_merger_operator.cpp
│   │   ├── ob_merger_operator.h
│   │   ├── ob_merger_reverse_operator.cpp
│   │   ├── ob_merger_reverse_operator.h
│   │   ├── ob_merger_sorted_operator.cpp
│   │   ├── ob_merger_sorted_operator.h
│   │   ├── ob_merge_server_config.cpp
│   │   ├── ob_merge_server_config.h
│   │   ├── ob_merge_server.cpp
│   │   ├── ob_merge_server.h
│   │   ├── ob_merge_server_main.cpp
│   │   ├── ob_merge_server_main.h
│   │   ├── ob_merge_server_service.cpp
│   │   ├── ob_merge_server_service.h
│   │   ├── ob_ms_async_rpc.cpp
│   │   ├── ob_ms_async_rpc.h
│   │   ├── ob_ms_dump_util.cpp
│   │   ├── ob_ms_dump_util.h
│   │   ├── ob_ms_get_request.cpp
│   │   ├── ob_ms_get_request.h
│   │   ├── ob_ms_lease_task.cpp
│   │   ├── ob_ms_lease_task.h
│   │   ├── ob_ms_monitor_task.cpp
│   │   ├── ob_ms_monitor_task.h
│   │   ├── ob_ms_request.cpp
│   │   ├── ob_ms_request.h
│   │   ├── ob_ms_rpc_event.cpp
│   │   ├── ob_ms_rpc_event.h
│   │   ├── ob_ms_rpc_proxy.cpp
│   │   ├── ob_ms_rpc_proxy.h
│   │   ├── ob_ms_scanner_encoder.cpp
│   │   ├── ob_ms_scanner_encoder.h
│   │   ├── ob_ms_scan_param.cpp
│   │   ├── ob_ms_scan_param.h
│   │   ├── ob_ms_scan_request.cpp
│   │   ├── ob_ms_scan_request.h
│   │   ├── ob_ms_schema_proxy.cpp
│   │   ├── ob_ms_schema_proxy.h
│   │   ├── ob_ms_schema_task.cpp
│   │   ├── ob_ms_schema_task.h
│   │   ├── ob_ms_server_counter.cpp
│   │   ├── ob_ms_server_counter.h
│   │   ├── ob_ms_service_monitor.cpp
│   │   ├── ob_ms_service_monitor.h
│   │   ├── ob_ms_sql_get_request.cpp
│   │   ├── ob_ms_sql_get_request.h
│   │   ├── ob_ms_sql_operator.cpp
│   │   ├── ob_ms_sql_operator.h
│   │   ├── ob_ms_sql_proxy.cpp
│   │   ├── ob_ms_sql_proxy.h
│   │   ├── ob_ms_sql_request.cpp
│   │   ├── ob_ms_sql_request.h
│   │   ├── ob_ms_sql_rpc_event.cpp
│   │   ├── ob_ms_sql_rpc_event.h
│   │   ├── ob_ms_sql_scan_request.cpp
│   │   ├── ob_ms_sql_scan_request.h
│   │   ├── ob_ms_sql_sorted_operator.cpp
│   │   ├── ob_ms_sql_sorted_operator.h
│   │   ├── ob_ms_sql_sub_get_request.cpp
│   │   ├── ob_ms_sql_sub_get_request.h
│   │   ├── ob_ms_sql_sub_scan_request.cpp
│   │   ├── ob_ms_sql_sub_scan_request.h
│   │   ├── ob_ms_sub_get_request.cpp
│   │   ├── ob_ms_sub_get_request.h
│   │   ├── ob_ms_sub_scan_request.cpp
│   │   ├── ob_ms_sub_scan_request.h
│   │   ├── ob_ms_tsi.h
│   │   ├── ob_ms_ups_task.cpp
│   │   ├── ob_ms_ups_task.h
│   │   ├── ob_mutator_param_decoder.cpp
│   │   ├── ob_mutator_param_decoder.h
│   │   ├── ob_param_decoder.cpp
│   │   ├── ob_param_decoder.h
│   │   ├── ob_query_cache.cpp
│   │   ├── ob_query_cache.h
│   │   ├── ob_read_param_decoder.cpp
│   │   ├── ob_read_param_decoder.h
│   │   ├── ob_read_param_modifier.cpp
│   │   ├── ob_read_param_modifier.h
│   │   ├── ob_rpc_event.cpp
│   │   ├── ob_rpc_event.h
│   │   ├── ob_rs_rpc_proxy.cpp
│   │   ├── ob_rs_rpc_proxy.h
│   │   ├── ob_sql_rpc_event.cpp
│   │   └── ob_sql_rpc_event.h
│   ├── mms
│   │   ├── Makefile.am
│   │   ├── ob_mms_checklease_task.cpp
│   │   ├── ob_mms_checklease_task.h
│   │   ├── ob_mms_heartbeat_task.cpp
│   │   ├── ob_mms_heartbeat_task.h
│   │   ├── ob_monitor.cpp
│   │   ├── ob_monitor.h
│   │   ├── ob_node.cpp
│   │   └── ob_node.h
│   ├── mrsstable
│   │   ├── Makefile.am
│   │   ├── pom.xml
│   │   └── src
│   │   ├── main
│   │   │   └── java
│   │   │   └── com
│   │   │   └── taobao
│   │   │   └── mrsstable
│   │   │   ├── MRGenSstable.java
│   │   │   ├── MRLogger.java
│   │   │   ├── MrsstableRunner.java
│   │   │   ├── SSTableBuilder.java
│   │   │   ├── SSTableOutputformat.java
│   │   │   └── TextInputSampler.java
│   │   └── test
│   │   └── java
│   │   └── com
│   │   └── taobao
│   │   └── mrsstable
│   │   └── test
│   │   └── ByteBufferTest.java
│   ├── obmysql
│   │   ├── Makefile.am
│   │   ├── ob_mysql_callback.cpp
│   │   ├── ob_mysql_callback.h
│   │   ├── ob_mysql_command_queue.cpp
│   │   ├── ob_mysql_command_queue.h
│   │   ├── ob_mysql_command_queue_thread.cpp
│   │   ├── ob_mysql_command_queue_thread.h
│   │   ├── ob_mysql_define.h
│   │   ├── ob_mysql_dtoa.cpp
│   │   ├── ob_mysql_dtoa.h
│   │   ├── ob_mysql_field.cpp
│   │   ├── ob_mysql_field.h
│   │   ├── ob_mysql_global.h
│   │   ├── ob_mysql_loginer.cpp
│   │   ├── ob_mysql_loginer.h
│   │   ├── ob_mysql_packet_queue_handler.h
│   │   ├── ob_mysql_result_set.cpp
│   │   ├── ob_mysql_result_set.h
│   │   ├── ob_mysql_row.cpp
│   │   ├── ob_mysql_row.h
│   │   ├── ob_mysql_server.cpp
│   │   ├── ob_mysql_server.h
│   │   ├── ob_mysql_state.cpp
│   │   ├── ob_mysql_state.h
│   │   ├── ob_mysql_state.map
│   │   ├── ob_mysql_util.cpp
│   │   ├── ob_mysql_util.h
│   │   └── packet
│   │   ├── ob_mysql_command_packet.cpp
│   │   ├── ob_mysql_command_packet.h
│   │   ├── ob_mysql_eof_packet.cpp
│   │   ├── ob_mysql_eof_packet.h
│   │   ├── ob_mysql_error_packet.cpp
│   │   ├── ob_mysql_error_packet.h
│   │   ├── ob_mysql_field_packet.cpp
│   │   ├── ob_mysql_field_packet.h
│   │   ├── ob_mysql_handshake_packet.cpp
│   │   ├── ob_mysql_handshake_packet.h
│   │   ├── ob_mysql_ok_packet.cpp
│   │   ├── ob_mysql_ok_packet.h
│   │   ├── ob_mysql_packet.cpp
│   │   ├── ob_mysql_packet.h
│   │   ├── ob_mysql_packet_header.h
│   │   ├── ob_mysql_resheader_packet.cpp
│   │   ├── ob_mysql_resheader_packet.h
│   │   ├── ob_mysql_row_packet.cpp
│   │   ├── ob_mysql_row_packet.h
│   │   ├── ob_mysql_spr_packet.cpp
│   │   └── ob_mysql_spr_packet.h
│   ├── proxyserver
│   │   ├── main.cpp
│   │   ├── Makefile.am
│   │   ├── ob_proxy_callback.cpp
│   │   ├── ob_proxy_callback.h
│   │   ├── ob_proxy_reader.cpp
│   │   ├── ob_proxy_reader.h
│   │   ├── ob_proxy_server_config.cpp
│   │   ├── ob_proxy_server_config.h
│   │   ├── ob_proxy_server.cpp
│   │   ├── ob_proxy_server.h
│   │   ├── ob_proxy_server_main.cpp
│   │   ├── ob_proxy_server_main.h
│   │   ├── ob_proxy_service.cpp
│   │   ├── ob_proxy_service.h
│   │   ├── ob_yunti_meta.cpp
│   │   ├── ob_yunti_meta.h
│   │   ├── ob_yunti_proxy.cpp
│   │   ├── ob_yunti_proxy.h
│   │   └── proxyserver.conf.template
│   ├── rootserver
│   │   ├── Flymake.mk
│   │   ├── main.cpp
│   │   ├── Makefile.am
│   │   ├── meta_table_schema.ini
│   │   ├── ob_check_point2str.cpp
│   │   ├── ob_chunk_server_manager.cpp
│   │   ├── ob_chunk_server_manager.h
│   │   ├── ob_clist2str.cpp
│   │   ├── ob_daily_merge_checker.cpp
│   │   ├── ob_daily_merge_checker.h
│   │   ├── ob_data_source_mgr.cpp
│   │   ├── ob_data_source_mgr.h
│   │   ├── ob_heartbeat_checker.cpp
│   │   ├── ob_heartbeat_checker.h
│   │   ├── ob_migrate_info.cpp
│   │   ├── ob_migrate_info.h
│   │   ├── ob_restart_server.cpp
│   │   ├── ob_restart_server.h
│   │   ├── ob_root_admin2.cpp
│   │   ├── ob_root_admin2.h
│   │   ├── ob_root_admin2_main.cpp
│   │   ├── ob_root_admin_cmd.h
│   │   ├── ob_root_async_task_queue.cpp
│   │   ├── ob_root_async_task_queue.h
│   │   ├── ob_root_balancer.cpp
│   │   ├── ob_root_balancer.h
│   │   ├── ob_root_balancer_runnable.cpp
│   │   ├── ob_root_balancer_runnable.h
│   │   ├── ob_root_bootstrap.cpp
│   │   ├── ob_root_bootstrap.h
│   │   ├── ob_root_callback.cpp
│   │   ├── ob_root_callback.h
│   │   ├── ob_root_ddl_operator.cpp
│   │   ├── ob_root_ddl_operator.h
│   │   ├── ob_root_fetch_thread.cpp
│   │   ├── ob_root_fetch_thread.h
│   │   ├── ob_root_inner_table_task.cpp
│   │   ├── ob_root_inner_table_task.h
│   │   ├── ob_root_log_manager.cpp
│   │   ├── ob_root_log_manager.h
│   │   ├── ob_root_log_replay.cpp
│   │   ├── ob_root_log_replay.h
│   │   ├── ob_root_log_worker.cpp
│   │   ├── ob_root_log_worker.h
│   │   ├── ob_root_main.cpp
│   │   ├── ob_root_main.h
│   │   ├── ob_root_meta2.cpp
│   │   ├── ob_root_meta2.h
│   │   ├── ob_root_monitor_table.cpp
│   │   ├── ob_root_monitor_table.h
│   │   ├── ob_root_ms_provider.cpp
│   │   ├── ob_root_ms_provider.h
│   │   ├── ob_root_operation_data.cpp
│   │   ├── ob_root_operation_data.h
│   │   ├── ob_root_operation_helper.cpp
│   │   ├── ob_root_operation_helper.h
│   │   ├── ob_root_reload_config.cpp
│   │   ├── ob_root_reload_config.h
│   │   ├── ob_root_rpc_stub.cpp
│   │   ├── ob_root_rpc_stub.h
│   │   ├── ob_root_server2.cpp
│   │   ├── ob_root_server2.h
│   │   ├── ob_root_server_config.cpp
│   │   ├── ob_root_server_config.h
│   │   ├── ob_root_server_state.cpp
│   │   ├── ob_root_server_state.h
│   │   ├── ob_root_sql_proxy.cpp
│   │   ├── ob_root_sql_proxy.h
│   │   ├── ob_root_stat.h
│   │   ├── ob_root_stat_key.cpp
│   │   ├── ob_root_stat_key.h
│   │   ├── ob_root_table2.cpp
│   │   ├── ob_root_table2.h
│   │   ├── ob_root_table_operation.cpp
│   │   ├── ob_root_table_operation.h
│   │   ├── ob_root_timer_task.cpp
│   │   ├── ob_root_timer_task.h
│   │   ├── ob_root_ups_provider.cpp
│   │   ├── ob_root_ups_provider.h
│   │   ├── ob_root_util.cpp
│   │   ├── ob_root_util.h
│   │   ├── ob_root_worker.cpp
│   │   ├── ob_root_worker.h
│   │   ├── ob_rs_after_restart_task.cpp
│   │   ├── ob_rs_after_restart_task.h
│   │   ├── ob_rs_schema_operation.cpp
│   │   ├── ob_rs_schema_operation.h
│   │   ├── ob_rs_stress.cpp
│   │   ├── ob_rs_trigger_event_util.cpp
│   │   ├── ob_rs_trigger_event_util.h
│   │   ├── ob_schema_reader.cpp
│   │   ├── ob_schema_service_ms_provider.cpp
│   │   ├── ob_schema_service_ms_provider.h
│   │   ├── ob_schema_service_ups_provider.cpp
│   │   ├── ob_schema_service_ups_provider.h
│   │   ├── ob_server_balance_info.cpp
│   │   ├── ob_server_balance_info.h
│   │   ├── ob_str2check_point.cpp
│   │   ├── ob_tablet_info_manager.cpp
│   │   ├── ob_tablet_info_manager.h
│   │   ├── ob_ups_check_runnable.cpp
│   │   ├── ob_ups_check_runnable.h
│   │   ├── ob_ups_heartbeat_runnable.cpp
│   │   ├── ob_ups_heartbeat_runnable.h
│   │   ├── ob_ups_manager.cpp
│   │   ├── ob_ups_manager.h
│   │   ├── rootserver.conf.template
│   │   ├── schema.ini
│   │   └── test1.ini
│   ├── sql
│   │   ├── build_plan.cpp
│   │   ├── build_plan.h
│   │   ├── dml_build_plan.cpp
│   │   ├── dml_build_plan.h
│   │   ├── gen_parser.sh
│   │   ├── gen_type_name.sh
│   │   ├── Makefile.am
│   │   ├── MyTestSchema.ini
│   │   ├── ob_add_project.cpp
│   │   ├── ob_add_project.h
│   │   ├── ob_affected_rows.h
│   │   ├── ob_aggregate_function.cpp
│   │   ├── ob_aggregate_function.h
│   │   ├── ob_alter_sys_cnf.cpp
│   │   ├── ob_alter_sys_cnf.h
│   │   ├── ob_alter_sys_cnf_stmt.cpp
│   │   ├── ob_alter_sys_cnf_stmt.h
│   │   ├── ob_alter_table.cpp
│   │   ├── ob_alter_table.h
│   │   ├── ob_alter_table_stmt.cpp
│   │   ├── ob_alter_table_stmt.h
│   │   ├── ob_basic_stmt.h
│   │   ├── ob_change_obi.cpp
│   │   ├── ob_change_obi.h
│   │   ├── ob_change_obi_stmt.cpp
│   │   ├── ob_change_obi_stmt.h
│   │   ├── ob_column_def.h
│   │   ├── ob_column_group_scanner.cpp
│   │   ├── ob_column_group_scanner.h
│   │   ├── ob_create_table.cpp
│   │   ├── ob_create_table.h
│   │   ├── ob_create_table_stmt.cpp
│   │   ├── ob_create_table_stmt.h
│   │   ├── ob_create_user_stmt.cpp
│   │   ├── ob_create_user_stmt.h
│   │   ├── ob_cs_create_plan.cpp
│   │   ├── ob_cs_create_plan.h
│   │   ├── ob_deallocate.cpp
│   │   ├── ob_deallocate.h
│   │   ├── ob_deallocate_stmt.cpp
│   │   ├── ob_deallocate_stmt.h
│   │   ├── ob_delete.cpp
│   │   ├── ob_delete.h
│   │   ├── ob_delete_stmt.cpp
│   │   ├── ob_delete_stmt.h
│   │   ├── ob_direct_trigger_event_util.cpp
│   │   ├── ob_direct_trigger_event_util.h
│   │   ├── ob_double_children_phy_operator.cpp
│   │   ├── ob_double_children_phy_operator.h
│   │   ├── ob_drop_table.cpp
│   │   ├── ob_drop_table.h
│   │   ├── ob_drop_table_stmt.cpp
│   │   ├── ob_drop_table_stmt.h
│   │   ├── ob_drop_user_stmt.cpp
│   │   ├── ob_drop_user_stmt.h
│   │   ├── ob_dual_table_scan.cpp
│   │   ├── ob_dual_table_scan.h
│   │   ├── ob_duplicate_indicator.h
│   │   ├── ob_empty_row_filter.cpp
│   │   ├── ob_empty_row_filter.h
│   │   ├── ob_end_trans.cpp
│   │   ├── ob_end_trans.h
│   │   ├── ob_end_trans_stmt.h
│   │   ├── ob_execute.cpp
│   │   ├── ob_execute.h
│   │   ├── ob_execute_stmt.cpp
│   │   ├── ob_execute_stmt.h
│   │   ├── ob_explain.cpp
│   │   ├── ob_explain.h
│   │   ├── ob_explain_stmt.cpp
│   │   ├── ob_explain_stmt.h
│   │   ├── ob_expr_values.cpp
│   │   ├── ob_expr_values.h
│   │   ├── ob_filter.cpp
│   │   ├── ob_filter.h
│   │   ├── ob_get_cur_time_phy_operator.cpp
│   │   ├── ob_get_cur_time_phy_operator.h
│   │   ├── ob_grant_stmt.cpp
│   │   ├── ob_grant_stmt.h
│   │   ├── ob_groupby.cpp
│   │   ├── ob_groupby.h
│   │   ├── ob_hash_groupby.cpp
│   │   ├── ob_hash_groupby.h
│   │   ├── ob_husk_filter.h
│   │   ├── ob_inc_scan.cpp
│   │   ├── ob_inc_scan.h
│   │   ├── ob_in_memory_sort.cpp
│   │   ├── ob_in_memory_sort.h
│   │   ├── ob_insert.cpp
│   │   ├── ob_insert_dbsem_filter.cpp
│   │   ├── ob_insert_dbsem_filter.h
│   │   ├── ob_insert.h
│   │   ├── ob_insert_stmt.cpp
│   │   ├── ob_insert_stmt.h
│   │   ├── ob_item_type.h
│   │   ├── ob_item_type_str.h
│   │   ├── ob_join.cpp
│   │   ├── ob_join.h
│   │   ├── ob_kill_session.cpp
│   │   ├── ob_kill_session.h
│   │   ├── ob_kill_stmt.cpp
│   │   ├── ob_kill_stmt.h
│   │   ├── ob_last_rowkey.h
│   │   ├── ob_last_rowkey_interface.h
│   │   ├── ob_limit.cpp
│   │   ├── ob_limit.h
│   │   ├── ob_lock_filter.cpp
│   │   ├── ob_lock_filter.h
│   │   ├── ob_lock_user_stmt.cpp
│   │   ├── ob_lock_user_stmt.h
│   │   ├── ob_logical_plan.cpp
│   │   ├── ob_logical_plan.h
│   │   ├── ob_mem_sstable_scan.cpp
│   │   ├── ob_mem_sstable_scan.h
│   │   ├── ob_merge_distinct.cpp
│   │   ├── ob_merge_distinct.h
│   │   ├── ob_merge_except.cpp
│   │   ├── ob_merge_except.h
│   │   ├── ob_merge_groupby.cpp
│   │   ├── ob_merge_groupby.h
│   │   ├── ob_merge_intersect.cpp
│   │   ├── ob_merge_intersect.h
│   │   ├── ob_merge_join.cpp
│   │   ├── ob_merge_join.h
│   │   ├── ob_merge_sort.cpp
│   │   ├── ob_merge_sort.h
│   │   ├── ob_merge_union.cpp
│   │   ├── ob_merge_union.h
│   │   ├── ob_multi_cg_scanner.cpp
│   │   ├── ob_multi_cg_scanner.h
│   │   ├── ob_multi_children_phy_operator.cpp
│   │   ├── ob_multi_children_phy_operator.h
│   │   ├── ob_multi_logic_plan.cpp
│   │   ├── ob_multi_logic_plan.h
│   │   ├── ob_multi_phy_plan.cpp
│   │   ├── ob_multi_phy_plan.h
│   │   ├── ob_multiple_get_merge.cpp
│   │   ├── ob_multiple_get_merge.h
│   │   ├── ob_multiple_merge.cpp
│   │   ├── ob_multiple_merge.h
│   │   ├── ob_multiple_scan_merge.cpp
│   │   ├── ob_multiple_scan_merge.h
│   │   ├── ob_no_children_phy_operator.h
│   │   ├── ob_non_reserved_keywords.c
│   │   ├── ob_non_reserved_keywords.h
│   │   ├── ob_phy_operator.cpp
│   │   ├── ob_phy_operator_factory.cpp
│   │   ├── ob_phy_operator_factory.h
│   │   ├── ob_phy_operator.h
│   │   ├── ob_phy_operator_type.cpp
│   │   ├── ob_phy_operator_type.h
│   │   ├── ob_physical_plan.cpp
│   │   ├── ob_physical_plan.h
│   │   ├── ob_postfix_expression.cpp
│   │   ├── ob_postfix_expression.h
│   │   ├── ob_prepare.cpp
│   │   ├── ob_prepare.h
│   │   ├── ob_prepare_stmt.cpp
│   │   ├── ob_prepare_stmt.h
│   │   ├── ob_priv_executor.cpp
│   │   ├── ob_priv_executor.h
│   │   ├── ob_project.cpp
│   │   ├── ob_project.h
│   │   ├── ob_ps_store.cpp
│   │   ├── ob_ps_store.h
│   │   ├── ob_ps_store_item_callback.h
│   │   ├── ob_ps_store_item.cpp
│   │   ├── ob_ps_store_item.h
│   │   ├── ob_raw_expr.cpp
│   │   ├── ob_raw_expr.h
│   │   ├── ob_rename.cpp
│   │   ├── ob_rename.h
│   │   ├── ob_rename_user_stmt.cpp
│   │   ├── ob_rename_user_stmt.h
│   │   ├── ob_result_set.cpp
│   │   ├── ob_result_set.h
│   │   ├── ob_revoke_stmt.cpp
│   │   ├── ob_revoke_stmt.h
│   │   ├── ob_row_count.cpp
│   │   ├── ob_row_count.h
│   │   ├── ob_rowkey_phy_operator.cpp
│   │   ├── ob_rowkey_phy_operator.h
│   │   ├── ob_rpc_scan.cpp
│   │   ├── ob_rpc_scan.h
│   │   ├── ob_run_file.cpp
│   │   ├── ob_run_file.h
│   │   ├── ob_scalar_aggregate.cpp
│   │   ├── ob_scalar_aggregate.h
│   │   ├── ob_schema_checker.cpp
│   │   ├── ob_schema_checker.h
│   │   ├── ob_select_stmt.cpp
│   │   ├── ob_select_stmt.h
│   │   ├── ob_set_operator.cpp
│   │   ├── ob_set_operator.h
│   │   ├── ob_set_password_stmt.cpp
│   │   ├── ob_set_password_stmt.h
│   │   ├── ob_show_schema_manager.cpp
│   │   ├── ob_show_schema_manager.h
│   │   ├── ob_show_stmt.cpp
│   │   ├── ob_show_stmt.h
│   │   ├── ob_single_child_phy_operator.cpp
│   │   ├── ob_single_child_phy_operator.h
│   │   ├── ob_sort.cpp
│   │   ├── ob_sort.h
│   │   ├── ob_sort_helper.h
│   │   ├── ob_sql_character_set.cpp
│   │   ├── ob_sql_character_set.h
│   │   ├── ob_sql_config_provider.h
│   │   ├── ob_sql_context.h
│   │   ├── ob_sql.cpp
│   │   ├── ob_sql_expression.cpp
│   │   ├── ob_sql_expression.h
│   │   ├── ob_sql_get_param.cpp
│   │   ├── ob_sql_get_param.h
│   │   ├── ob_sql.h
│   │   ├── ob_sql_id_mgr.cpp
│   │   ├── ob_sql_id_mgr.h
│   │   ├── ob_sql_query_cache.cpp
│   │   ├── ob_sql_query_cache.h
│   │   ├── ob_sql_read_param.cpp
│   │   ├── ob_sql_read_param.h
│   │   ├── ob_sql_read_strategy.cpp
│   │   ├── ob_sql_read_strategy.h
│   │   ├── ob_sql_result_set.cpp
│   │   ├── ob_sql_result_set.h
│   │   ├── ob_sql_scan_param.cpp
│   │   ├── ob_sql_scan_param.h
│   │   ├── ob_sql_session_info_callback.h
│   │   ├── ob_sql_session_info.cpp
│   │   ├── ob_sql_session_info.h
│   │   ├── ob_sql_session_info_traversal.cpp
│   │   ├── ob_sql_session_info_traversal.h
│   │   ├── ob_sql_session_mgr.cpp
│   │   ├── ob_sql_session_mgr.h
│   │   ├── ob_sstable_block_scanner.cpp
│   │   ├── ob_sstable_block_scanner.h
│   │   ├── ob_sstable_get.cpp
│   │   ├── ob_sstable_get.h
│   │   ├── ob_sstable_scan.cpp
│   │   ├── ob_sstable_scan.h
│   │   ├── ob_sstable_scanner.cpp
│   │   ├── ob_sstable_scanner.h
│   │   ├── ob_start_trans.cpp
│   │   ├── ob_start_trans.h
│   │   ├── ob_start_trans_stmt.h
│   │   ├── ob_stmt.cpp
│   │   ├── ob_stmt.h
│   │   ├── ob_sys_params_mgr.cpp
│   │   ├── ob_sys_params_mgr.h
│   │   ├── ob_table_mem_scan.cpp
│   │   ├── ob_table_mem_scan.h
│   │   ├── ob_table_rename.cpp
│   │   ├── ob_table_rename.h
│   │   ├── ob_table_rpc_scan.cpp
│   │   ├── ob_table_rpc_scan.h
│   │   ├── ob_table_scan.h
│   │   ├── ob_tablet_cache_join.cpp
│   │   ├── ob_tablet_cache_join.h
│   │   ├── ob_tablet_direct_join.cpp
│   │   ├── ob_tablet_direct_join.h
│   │   ├── ob_tablet_fuse.h
│   │   ├── ob_tablet_get.cpp
│   │   ├── ob_tablet_get_fuse.cpp
│   │   ├── ob_tablet_get_fuse.h
│   │   ├── ob_tablet_get.h
│   │   ├── ob_tablet_join_cache.cpp
│   │   ├── ob_tablet_join_cache.h
│   │   ├── ob_tablet_join.cpp
│   │   ├── ob_tablet_join.h
│   │   ├── ob_tablet_read.cpp
│   │   ├── ob_tablet_read.h
│   │   ├── ob_tablet_scan.cpp
│   │   ├── ob_tablet_scan_fuse.cpp
│   │   ├── ob_tablet_scan_fuse.h
│   │   ├── ob_tablet_scan.h
│   │   ├── ob_transformer.cpp
│   │   ├── ob_transformer.h
│   │   ├── ob_type_convertor.h
│   │   ├── ob_update.cpp
│   │   ├── ob_update.h
│   │   ├── ob_update_stmt.cpp
│   │   ├── ob_update_stmt.h
│   │   ├── ob_ups_executor.cpp
│   │   ├── ob_ups_executor.h
│   │   ├── ob_ups_modify.cpp
│   │   ├── ob_ups_modify.h
│   │   ├── ob_ups_multi_get.cpp
│   │   ├── ob_ups_multi_get.h
│   │   ├── ob_ups_result.cpp
│   │   ├── ob_ups_result.h
│   │   ├── ob_ups_scan.cpp
│   │   ├── ob_ups_scan.h
│   │   ├── ob_values.cpp
│   │   ├── ob_values.h
│   │   ├── ob_variable_set.cpp
│   │   ├── ob_variable_set.h
│   │   ├── ob_variable_set_stmt.cpp
│   │   ├── ob_variable_set_stmt.h
│   │   ├── ob_ver_phy_operator.h
│   │   ├── ob_when_filter.cpp
│   │   ├── ob_when_filter.h
│   │   ├── parse_malloc.cpp
│   │   ├── parse_malloc.h
│   │   ├── parse_node.c
│   │   ├── parse_node.h
│   │   ├── priv_build_plan.cpp
│   │   ├── priv_build_plan.h
│   │   ├── README
│   │   ├── reserved.py
│   │   ├── sql_parser.l
│   │   ├── sql_parser.lex.c
│   │   ├── sql_parser.lex.h
│   │   ├── sql_parser.tab.c
│   │   ├── sql_parser.tab.h
│   │   ├── sql_parser.y
│   │   └── type_name.c
│   ├── sstable
│   │   ├── Makefile.am
│   │   ├── ob_aio_buffer_mgr.cpp
│   │   ├── ob_aio_buffer_mgr.h
│   │   ├── ob_aio_event_mgr.cpp
│   │   ├── ob_aio_event_mgr.h
│   │   ├── ob_blockcache.cpp
│   │   ├── ob_blockcache.h
│   │   ├── ob_block_index_cache.cpp
│   │   ├── ob_block_index_cache.h
│   │   ├── ob_column_group_scanner.cpp
│   │   ├── ob_column_group_scanner.h
│   │   ├── ob_disk_path.h
│   │   ├── ob_scan_column_indexes.h
│   │   ├── ob_seq_sstable_scanner.cpp
│   │   ├── ob_seq_sstable_scanner.h
│   │   ├── ob_sstable_block_builder.cpp
│   │   ├── ob_sstable_block_builder.h
│   │   ├── ob_sstable_block_getter.cpp
│   │   ├── ob_sstable_block_getter.h
│   │   ├── ob_sstable_block_index_buffer.cpp
│   │   ├── ob_sstable_block_index_buffer.h
│   │   ├── ob_sstable_block_index_builder.cpp
│   │   ├── ob_sstable_block_index_builder.h
│   │   ├── ob_sstable_block_index_v2.cpp
│   │   ├── ob_sstable_block_index_v2.h
│   │   ├── ob_sstable_block_reader.cpp
│   │   ├── ob_sstable_block_reader.h
│   │   ├── ob_sstable_block_scanner.cpp
│   │   ├── ob_sstable_block_scanner.h
│   │   ├── ob_sstable_getter.cpp
│   │   ├── ob_sstable_getter.h
│   │   ├── ob_sstable_merger.cpp
│   │   ├── ob_sstable_merger.h
│   │   ├── ob_sstable_reader.cpp
│   │   ├── ob_sstable_reader.h
│   │   ├── ob_sstable_reader_i.h
│   │   ├── ob_sstable_row_cache.cpp
│   │   ├── ob_sstable_row_cache.h
│   │   ├── ob_sstable_row.cpp
│   │   ├── ob_sstable_row.h
│   │   ├── ob_sstable_scanner.cpp
│   │   ├── ob_sstable_scanner.h
│   │   ├── ob_sstable_scan_param.cpp
│   │   ├── ob_sstable_scan_param.h
│   │   ├── ob_sstable_schema_cache.cpp
│   │   ├── ob_sstable_schema_cache.h
│   │   ├── ob_sstable_schema.cpp
│   │   ├── ob_sstable_schema.h
│   │   ├── ob_sstable_trailer.cpp
│   │   ├── ob_sstable_trailer.h
│   │   ├── ob_sstable_writer.cpp
│   │   └── ob_sstable_writer.h
│   └── updateserver
│   ├── main.cpp
│   ├── Makefile.am
│   ├── ob_async_log_applier.cpp
│   ├── ob_async_log_applier.h
│   ├── ob_atomic.h
│   ├── ob_bit_lock.h
│   ├── ob_btree_engine_alloc.cpp
│   ├── ob_btree_engine_alloc.h
│   ├── ob_btree_engine.cpp
│   ├── ob_btree_engine.h
│   ├── ob_cached_pos_log_reader.cpp
│   ├── ob_cached_pos_log_reader.h
│   ├── ob_client_wrapper.cpp
│   ├── ob_client_wrapper.h
│   ├── ob_client_wrapper_tsi.h
│   ├── ob_clog_stat.cpp
│   ├── ob_clog_stat.h
│   ├── ob_commit_log_receiver.cpp
│   ├── ob_commit_log_receiver.h
│   ├── ob_data_block.cpp
│   ├── ob_data_block.h
│   ├── ob_fetched_log.cpp
│   ├── ob_fetched_log.h
│   ├── ob_hash_engine.cpp
│   ├── ob_hash_engine.h
│   ├── ob_inc_seq.cpp
│   ├── ob_inc_seq.h
│   ├── ob_lighty_hash.h
│   ├── ob_located_log_reader.cpp
│   ├── ob_located_log_reader.h
│   ├── ob_lock_mgr.cpp
│   ├── ob_lock_mgr.h
│   ├── ob_log_buffer.cpp
│   ├── ob_log_buffer.h
│   ├── ob_log_locator.h
│   ├── ob_log_replay_worker.cpp
│   ├── ob_log_replay_worker.h
│   ├── ob_log_src.cpp
│   ├── ob_log_src.h
│   ├── ob_log_sync_delay_stat.cpp
│   ├── ob_log_sync_delay_stat.h
│   ├── ob_memtable.cpp
│   ├── ob_memtable.h
│   ├── ob_memtable_modify.cpp
│   ├── ob_memtable_modify.h
│   ├── ob_memtable_rowiter.cpp
│   ├── ob_memtable_rowiter.h
│   ├── ob_memtank.h
│   ├── ob_multi_file_utils.cpp
│   ├── ob_multi_file_utils.h
│   ├── ob_obi_slave_stat.h
│   ├── ob_on_disk_log_locator.cpp
│   ├── ob_on_disk_log_locator.h
│   ├── ob_pos_log_reader.cpp
│   ├── ob_pos_log_reader.h
│   ├── ob_prefetch_log_buffer.cpp
│   ├── ob_prefetch_log_buffer.h
│   ├── ob_query_engine.cpp
│   ├── ob_query_engine.h
│   ├── ob_recent_cache.h
│   ├── ob_remote_log_src.cpp
│   ├── ob_remote_log_src.h
│   ├── ob_replay_log_src.cpp
│   ├── ob_replay_log_src.h
│   ├── ob_ring_data_buffer.cpp
│   ├── ob_ring_data_buffer.h
│   ├── ob_schema_mgr.cpp
│   ├── ob_schema_mgr.h
│   ├── ob_schema_mgrv2.cpp
│   ├── ob_schema_mgrv2.h
│   ├── ob_sessionctx_factory.cpp
│   ├── ob_sessionctx_factory.h
│   ├── ob_session_guard.h
│   ├── ob_session_mgr.cpp
│   ├── ob_session_mgr.h
│   ├── ob_slave_sync_type.cpp
│   ├── ob_slave_sync_type.h
│   ├── ob_sstable_mgr.cpp
│   ├── ob_sstable_mgr.h
│   ├── ob_store_mgr.cpp
│   ├── ob_store_mgr.h
│   ├── ob_table_engine.cpp
│   ├── ob_table_engine.h
│   ├── ob_table_list_query.cpp
│   ├── ob_table_list_query.h
│   ├── ob_table_mgr.cpp
│   ├── ob_table_mgr.h
│   ├── ob_trans_buffer.cpp
│   ├── ob_trans_buffer.h
│   ├── ob_trans_executor.cpp
│   ├── ob_trans_executor.h
│   ├── ob_transfer_sstable_query.cpp
│   ├── ob_transfer_sstable_query.h
│   ├── ob_trans_mgr.cpp
│   ├── ob_trans_mgr.h
│   ├── ob_trigger_handler.cpp
│   ├── ob_trigger_handler.h
│   ├── ob_update_callback.cpp
│   ├── ob_update_callback.h
│   ├── ob_update_reload_config.cpp
│   ├── ob_update_reload_config.h
│   ├── ob_update_server_config.cpp
│   ├── ob_update_server_config.h
│   ├── ob_update_server.cpp
│   ├── ob_update_server.h
│   ├── ob_update_server_main.cpp
│   ├── ob_update_server_main.h
│   ├── ob_ups_cache.cpp
│   ├── ob_ups_cache.h
│   ├── ob_ups_check_runnable.cpp
│   ├── ob_ups_check_runnable.h
│   ├── ob_ups_clog_status.cpp
│   ├── ob_ups_clog_status.h
│   ├── ob_ups_compact_cell_iterator.cpp
│   ├── ob_ups_compact_cell_iterator.h
│   ├── ob_ups_compact_cell_writer.cpp
│   ├── ob_ups_compact_cell_writer.h
│   ├── ob_ups_fetch_lsync.cpp
│   ├── ob_ups_fetch_lsync.h
│   ├── ob_ups_fetch_runnable.cpp
│   ├── ob_ups_fetch_runnable.h
│   ├── ob_ups_inc_scan.cpp
│   ├── ob_ups_inc_scan.h
│   ├── ob_ups_keep_alive.cpp
│   ├── ob_ups_keep_alive.h
│   ├── ob_ups_lease_task.cpp
│   ├── ob_ups_lease_task.h
│   ├── ob_ups_lock_filter.cpp
│   ├── ob_ups_lock_filter.h
│   ├── ob_ups_log_mgr.cpp
│   ├── ob_ups_log_mgr.h
│   ├── ob_ups_log_utils.cpp
│   ├── ob_ups_log_utils.h
│   ├── ob_ups_mutator.cpp
│   ├── ob_ups_mutator.h
│   ├── ob_ups_phy_operator_factory.cpp
│   ├── ob_ups_phy_operator_factory.h
│   ├── ob_ups_replay_runnable.cpp
│   ├── ob_ups_replay_runnable.h
│   ├── ob_ups_role_mgr.h
│   ├── ob_ups_rpc_proxy.cpp
│   ├── ob_ups_rpc_proxy.h
│   ├── ob_ups_rpc_stub.cpp
│   ├── ob_ups_rpc_stub.h
│   ├── ob_ups_slave_mgr.cpp
│   ├── ob_ups_slave_mgr.h
│   ├── ob_ups_stat.cpp
│   ├── ob_ups_stat.h
│   ├── ob_ups_table_mgr.cpp
│   ├── ob_ups_table_mgr.h
│   ├── ob_ups_timer_task.cpp
│   ├── ob_ups_timer_task.h
│   ├── ob_ups_tmps.h
│   ├── ob_ups_utils.cpp
│   ├── ob_ups_utils.h
│   ├── ob_util_interface.h
│   ├── stress.h
│   ├── updateserver.conf.template
│   ├── ups_mon.cpp
│   └── ups_mon.h
├── svn_version.mk
├── tests
│   ├── chunkserver
│   │   ├── collect_schema.ini
│   │   ├── data
│   │   │   └── sst_1048576
│   │   ├── Makefile.am
│   │   ├── mock_root_server.h
│   │   ├── schema
│   │   │   ├── schema_with_expire.ini
│   │   │   ├── schema_with_invalid_expire.ini
│   │   │   ├── schema_without_expire.ini
│   │   │   └── schema_with_valid_expire.ini
│   │   ├── test_block_cache_reader_loader.cpp
│   │   ├── test_disk_manager.cpp
│   │   ├── test_disk_path.cpp
│   │   ├── test_fileinfocache.cpp
│   │   ├── test_helper.cpp
│   │   ├── test_helper.h
│   │   ├── test_mv_tablet_image.cpp
│   │   ├── test_query_agent.cpp
│   │   ├── test_read_ups_blacklist.cpp
│   │   ├── test_root_rpc_client.cpp
│   │   ├── test_root_server_rpc.cpp
│   │   ├── test_sql_rpc_stub.cpp
│   │   ├── test_tablet_manager.cpp
│   │   ├── test_tablet_manager_get.cpp
│   │   ├── test_tablet_merge_filter.cpp
│   │   ├── test_tablet_migrate.cpp
│   │   └── test_ups_blacklist.cpp
│   ├── clustermanager
│   │   ├── Makefile.am
│   │   ├── test_ocm_app.cpp
│   │   ├── test_ocm_instance.cpp
│   │   ├── test_ocm_meta.cpp
│   │   └── test_ocm_meta_manager.cpp
│   ├── common
│   │   ├── cmbtree
│   │   │   └── daily_test.py
│   │   ├── collect_schema_error_expire.ini
│   │   ├── collect_schema_expire.ini
│   │   ├── collect_schema.ini
│   │   ├── composite_column_input2.txt
│   │   ├── composite_column_input_3.txt
│   │   ├── composite_column_input.txt
│   │   ├── compress
│   │   │   ├── data
│   │   │   │   └── comp.data
│   │   │   ├── Makefile.am
│   │   │   └── test_libcomp.cpp
│   │   ├── comptiable1.ini
│   │   ├── comptiable2.ini
│   │   ├── dlist_test.cpp
│   │   ├── hash
│   │   │   ├── hash_benz.cpp
│   │   │   ├── Makefile.am
│   │   │   ├── test_hashmap.cpp
│   │   │   ├── test_hashset.cpp
│   │   │   ├── test_placement_hashmap.cpp
│   │   │   ├── test_placement_hashset.cpp
│   │   │   └── test_simpleallocer.cpp
│   │   ├── limit_array_test.cpp
│   │   ├── Makefile.am
│   │   ├── memory_pool_stress_test.cpp
│   │   ├── memory_pool_test.cpp
│   │   ├── mock_mem_iterator.h
│   │   ├── ob_array_test.cpp
│   │   ├── ob_expr_obj_test.cpp
│   │   ├── ob_flag_test1.ini
│   │   ├── ob_flag_test.cpp
│   │   ├── ob_new_scanner_test.cpp
│   │   ├── ob_number_test.cpp
│   │   ├── ob_obj_cast_test.cpp
│   │   ├── ob_row_fuse_test.cpp
│   │   ├── ob_row_test.cpp
│   │   ├── ob_se_array_test.cpp
│   │   ├── ob_sql_get_param_test.cpp
│   │   ├── ob_strings_test.cpp
│   │   ├── ob_tc_factory_test.cpp
│   │   ├── ob_timer_test.cpp
│   │   ├── ob_ups_row_util_test.cpp
│   │   ├── schema.ini
│   │   ├── schemamanagerbuffer020
│   │   ├── schema_test.cpp
│   │   ├── serialization_test.cpp
│   │   ├── slave_mgr_4_test.h
│   │   ├── test1.ini
│   │   ├── test_array_lock.cpp
│   │   ├── test_balance_filter.cpp
│   │   ├── test_base.cpp
│   │   ├── test_base.h
│   │   ├── test_buffer_helper.cpp
│   │   ├── test_cell_array.cpp
│   │   ├── test_cell_new_scanner.cpp
│   │   ├── test_cluster_server.cpp
│   │   ├── test_compact_cell.cpp
│   │   ├── test_counter.cpp
│   │   ├── test_file.cpp
│   │   ├── test_file_directory_utils.cpp
│   │   ├── test_futex_perf.cpp
│   │   ├── test_get_param.cpp
│   │   ├── test_groupby_param.cpp
│   │   ├── test_helper.h
│   │   ├── test_iterator_adaptor.cpp
│   │   ├── test_kr.cpp
│   │   ├── test_list.cpp
│   │   ├── test_login_mgr.cpp
│   │   ├── test_lrucache.cpp
│   │   ├── test_merger.cpp
│   │   ├── test_meta_cache.cpp
│   │   ├── test_mutator.cpp
│   │   ├── test_mutex_scheduling.cpp
│   │   ├── test_nb_accessor.cpp
│   │   ├── test_new_scanner_helper.cpp
│   │   ├── test_ob_blacklist.cpp
│   │   ├── test_ob_common_param.cpp
│   │   ├── test_ob_common_rpc_stub.cpp
│   │   ├── test_ob_compactor.cpp
│   │   ├── test_ob_composite_column.cpp
│   │   ├── test_ob_composite_column_infix.cpp
│   │   ├── test_ob_composite_column_with_string_input.cpp
│   │   ├── test_ob_cond_info.cpp
│   │   ├── test_ob_config.cpp
│   │   ├── test_ob_fetch_runnable.cpp
│   │   ├── test_ob_file_service.cpp
│   │   ├── test_obj_decimal.cpp
│   │   ├── test_obj_decimal_helper.cpp
│   │   ├── test_ob_kv_storecache_perf.cpp
│   │   ├── test_ob_log_dir_scanner.cpp
│   │   ├── test_ob_log_entry.cpp
│   │   ├── test_ob_log_generator.cpp
│   │   ├── test_ob_log_reader.cpp
│   │   ├── test_ob_log_replay_runnable.cpp
│   │   ├── test_ob_log_writer.cpp
│   │   ├── test_ob_new_scanner.cpp
│   │   ├── test_ob_object.cpp
│   │   ├── test_ob_packet_queue_thread_perf.cpp
│   │   ├── test_ob_postfix_expression.cpp
│   │   ├── test_ob_privilege.cpp
│   │   ├── test_ob_privilege_manager.cpp
│   │   ├── test_ob_range.cpp
│   │   ├── test_ob_role_mgr.cpp
│   │   ├── test_ob_row_store.cpp
│   │   ├── test_ob_scanner.cpp
│   │   ├── test_obscanner.cpp
│   │   ├── test_ob_seq_queue.cpp
│   │   ├── test_ob_single_log_reader.cpp
│   │   ├── test_ob_slave_mgr.cpp
│   │   ├── test_ob_stat.cpp
│   │   ├── test_ob_string_buf.cpp
│   │   ├── test_ob_string_search.cpp
│   │   ├── test_ob_tbnet_callback.cpp
│   │   ├── test_ob_vector.cpp
│   │   ├── test_page_arena.cpp
│   │   ├── test_priority_packet_queue_thread.cpp
│   │   ├── test_probability_random.cpp
│   │   ├── test_pthread_cond_perf.cpp
│   │   ├── test_pthread_mutex_perf.cpp
│   │   ├── test_qlock.cpp
│   │   ├── test_queue_thread.cpp
│   │   ├── test_read_common_data.cpp
│   │   ├── test_ring_buffer.cpp
│   │   ├── test_row_compaction.cpp
│   │   ├── test_rowkey.cpp
│   │   ├── test_rowkey_helper.cpp
│   │   ├── test_rowkey_helper.h
│   │   ├── test_row_util.cpp
│   │   ├── test_scan_param.cpp
│   │   ├── test_schema_table.cpp
│   │   ├── test_schema_table.ini
│   │   ├── test_server_ext.cpp
│   │   ├── test_simple_cond.cpp
│   │   ├── test_simple_filter.cpp
│   │   ├── test_slab.cpp
│   │   ├── test_spop_spush_queue.cpp
│   │   ├── test_stack_allocator.cpp
│   │   ├── test_system_config.cpp
│   │   ├── test_token.cpp
│   │   ├── test_tsi_block_allocator.cpp
│   │   ├── test_update_condition.cpp
│   │   └── wait_object_test.cpp
│   ├── compactsstable
│   │   ├── Makefile.am
│   │   ├── test_blockmem.cpp
│   │   ├── test_compact_row.cpp
│   │   └── test_compactsstable_mem.cpp
│   ├── compactsstablev2
│   │   ├── Makefile.am
│   │   ├── ob_fileinfo_cache.cpp
│   │   ├── ob_fileinfo_cache.h
│   │   ├── test_compact_sstable_writer.cpp
│   │   └── test_disk_path.cpp
│   ├── liboblog
│   │   ├── liboblog.conf
│   │   ├── liboblog.partition.lua
│   │   ├── Makefile.am
│   │   ├── sample.cpp
│   │   ├── sample_r.cpp
│   │   ├── test_log_fetcher.cpp
│   │   ├── test_main_process.cpp
│   │   ├── test_meta_manager.cpp
│   │   └── test_mysql_adaptor.cpp
│   ├── lsync
│   │   ├── Makefile.am
│   │   └── test_lsync.cpp
│   ├── Makefile.am
│   ├── mergeserver
│   │   ├── consistency_test.ini
│   │   ├── Makefile.am
│   │   ├── mergeserver.conf
│   │   ├── mj.get_param.ini
│   │   ├── mj.ini
│   │   ├── mock_chunk_server.cpp
│   │   ├── mock_chunk_server.h
│   │   ├── mock_client.h
│   │   ├── mock_define.h
│   │   ├── mock_root_server.cpp
│   │   ├── mock_root_server.h
│   │   ├── mock_server.cpp
│   │   ├── mock_server.h
│   │   ├── mock_update_server.cpp
│   │   ├── mock_update_server.h
│   │   ├── monitor_tool.cpp
│   │   ├── ob_location_list_cache_loader.cpp
│   │   ├── ob_location_list_cache_loader.h
│   │   ├── ob_merge_server_params_test.cpp
│   │   ├── ob_ms_config_proxy_test.cpp
│   │   ├── ob_scanner_loader.cpp
│   │   ├── ob_scanner_loader.h
│   │   ├── ob_scan_param_loader.cpp
│   │   ├── ob_scan_param_loader.h
│   │   ├── olap
│   │   │   ├── base_case.h
│   │   │   ├── case_desc.txt
│   │   │   ├── case_list.cpp
│   │   │   ├── case_list.h
│   │   │   ├── chunkserver.conf
│   │   │   ├── chunkserver.conf.template
│   │   │   ├── count_all.cpp
│   │   │   ├── count_all.h
│   │   │   ├── deploy.py
│   │   │   ├── distribute_range.py
│   │   │   ├── gen_range.cpp
│   │   │   ├── gen_ups_sst.cpp
│   │   │   ├── get_all_column.cpp
│   │   │   ├── get_all_column.h
│   │   │   ├── get_not_exist_rows.cpp
│   │   │   ├── get_not_exist_rows.h
│   │   │   ├── Makefile.am
│   │   │   ├── mergeserver.conf
│   │   │   ├── mergeserver.conf.template
│   │   │   ├── multi_parellel_get.cpp
│   │   │   ├── multi_parellel_get.h
│   │   │   ├── nohup.out
│   │   │   ├── olap_client.h
│   │   │   ├── olap_conf.cpp
│   │   │   ├── olap_conf.h
│   │   │   ├── olap.h
│   │   │   ├── olappress.conf
│   │   │   ├── olappress.cpp
│   │   │   ├── olap_utils.cpp
│   │   │   ├── README
│   │   │   ├── rootserver.conf
│   │   │   ├── rootserver.conf.template
│   │   │   ├── schema.ini
│   │   │   ├── select_where_comp_order_limit.cpp
│   │   │   ├── select_where_comp_order_limit.h
│   │   │   ├── select_where_order_limit.cpp
│   │   │   ├── select_where_order_limit.h
│   │   │   ├── updateserver.conf
│   │   │   └── updateserver.conf.template
│   │   ├── pget_data
│   │   │   ├── gen_location.py
│   │   │   └── location_cache.txt
│   │   ├── schema.ini
│   │   ├── score.ini
│   │   ├── sql_get_merger_test.cpp
│   │   ├── sql_get_request_test.cpp
│   │   ├── test_cell_operator.cpp
│   │   ├── test_chunk_server_task_dispatcher.cpp
│   │   ├── test_data
│   │   │   ├── scanner_data_1_2.txt
│   │   │   ├── scanner_data_1_4.txt
│   │   │   ├── scanner_data_1_6.txt
│   │   │   ├── scanner_data_1_8.txt
│   │   │   ├── scanner_data_3_4.txt
│   │   │   ├── scanner_data_5_8.txt
│   │   │   ├── scanner_data_9_12.txt
│   │   │   ├── scanner_data.txt
│   │   │   ├── schema_location_list_cache.txt
│   │   │   ├── schema_scan_param_full.txt
│   │   │   ├── schema_scan_param.txt
│   │   │   ├── schema_scan_test_1_a.txt
│   │   │   ├── schema_scan_test_1_b.txt
│   │   │   ├── schema_scan_test_1.txt
│   │   │   ├── schema_scan_test_2_b.txt
│   │   │   ├── schema_scan_test_3_a.txt
│   │   │   ├── schema_scan_test_3.txt
│   │   │   ├── schema_scan_test_4_a.txt
│   │   │   ├── schema_scan_test_4.txt
│   │   │   └── schema_scan_test_5_a.txt
│   │   ├── test_get_merger.cpp
│   │   ├── test_groupby_operator.cpp
│   │   ├── test_merger_btreemap.cpp
│   │   ├── test_merger_cache_table.cpp
│   │   ├── test_merger_get_event.cpp
│   │   ├── test_merger_groupby_operator.cpp
│   │   ├── test_merger_mutator_decoder.cpp
│   │   ├── test_merger_operator.cpp
│   │   ├── test_merger_param_decoder.cpp
│   │   ├── test_merger_request_event.cpp
│   │   ├── test_merger_reverse_operator.cpp
│   │   ├── test_merger_root_proxy.cpp
│   │   ├── test_merger_rpc_event.cpp
│   │   ├── test_merger_rpc_proxy.cpp
│   │   ├── test_merger_rpc_stub.cpp
│   │   ├── test_merger_scan_1.cpp
│   │   ├── test_merger_scan_2.cpp
│   │   ├── test_merger_scan_3.cpp
│   │   ├── test_merger_scan_4.cpp
│   │   ├── test_merger_scan.cpp
│   │   ├── test_merger_scanner_encoder.cpp
│   │   ├── test_merger_schema_manager.cpp
│   │   ├── test_merger_schema_proxy.cpp
│   │   ├── test_merger_sorted_operator.cpp
│   │   ├── test_merger_stlmap.cpp
│   │   ├── test_merger_tablet_location.cpp
│   │   ├── test_merger_tablet_location_item.cpp
│   │   ├── test_merger_timer_task.cpp
│   │   ├── test_merger_version_proxy.cpp
│   │   ├── test_mj_client.cpp
│   │   ├── test_ms_counter.cpp
│   │   ├── test_ms_get_event_parellel.cpp
│   │   ├── test_ms_scan_param.cpp
│   │   ├── test_ms_sub_get_request.cpp
│   │   ├── test_mutate_client.cpp
│   │   ├── test_ob_frozen_data_cache.cpp
│   │   ├── test_ob_location_list_cache_loader.cpp
│   │   ├── test_ob_ms_scan_event.cpp
│   │   ├── test_ob_ms_sub_scan_request.cpp
│   │   ├── test_ob_scanner_loader.cpp
│   │   ├── test_ob_scan_param_loader.cpp
│   │   ├── test_param_modifier.cpp
│   │   ├── test_read_param_decoder.cpp
│   │   ├── test_read_param_modifier.cpp
│   │   ├── test_scan_backward.cpp
│   │   ├── test_scan_cell_stream_mock.cpp
│   │   ├── test_schema.ini
│   │   ├── test_session_manager.cpp
│   │   └── test_ups_client.cpp
│   ├── mms
│   │   ├── Makefile.am
│   │   ├── mock_monitor_server.cpp
│   │   ├── mock_monitor_server.h
│   │   ├── mock_node_server.cpp
│   │   ├── mock_node_server.h
│   │   ├── mock_server.cpp
│   │   ├── mock_server.h
│   │   └── test_mms.cpp
│   ├── obmysql
│   │   ├── Makefile.am
│   │   ├── test_ob_mysql_command_packet.cpp
│   │   ├── test_ob_mysql_dtoa.cpp
│   │   └── test_ob_mysql_state.cpp
│   ├── obsql
│   │   ├── Makefile
│   │   ├── mysql_client.c
│   │   ├── mysql_err.c
│   │   ├── mysql_init.c
│   │   ├── mysql_lib_init.c
│   │   ├── mysql_list.c
│   │   ├── mysql_ping.c
│   │   ├── mysql_query.c
│   │   ├── mysql_query_ps.c
│   │   ├── mysql_server.c
│   │   ├── mysql_thread.c
│   │   ├── mysql_trx.c
│   │   └── sql_ob_init.h
│   ├── rootserver
│   │   ├── balance_candidate_test.cpp
│   │   ├── balance_info_test.cpp
│   │   ├── base_main_test.conf
│   │   ├── base_main_test.cpp
│   │   ├── chunk_servers_manager_test.cpp
│   │   ├── Makefile.am
│   │   ├── mock_chunk_server.cpp
│   │   ├── mock_chunk_server.h
│   │   ├── mock_root_rpc_stub.h
│   │   ├── mock_server.cpp
│   │   ├── mock_server.h
│   │   ├── mock_update_server.cpp
│   │   ├── mock_update_server.h
│   │   ├── ob_delete_replicas_test.conf
│   │   ├── ob_delete_replicas_test.cpp
│   │   ├── ob_delete_replicas_test_schema.ini
│   │   ├── ob_new_balance_test.conf
│   │   ├── ob_new_balance_test.cpp
│   │   ├── ob_new_balance_test_schema.ini
│   │   ├── ob_obi_config_test.cpp
│   │   ├── ob_obi_role_test.cpp
│   │   ├── ob_root_config_test.cpp
│   │   ├── ob_root_config_test.ini
│   │   ├── ob_ups_manager_test.cpp
│   │   ├── root_server.conf
│   │   ├── root_server_log_test.cpp
│   │   ├── root_server_test.cpp
│   │   ├── root_server_tester.h
│   │   ├── rt_press_client.cpp
│   │   ├── rt_stats_reader.cpp
│   │   ├── test1.ini
│   │   ├── test_batch_create_table.cpp
│   │   ├── test_chunk_server_main.cpp
│   │   ├── test_main.cpp
│   │   ├── test_main.h
│   │   ├── test_root_meta.cpp
│   │   ├── test_root_monitor_table.cpp
│   │   ├── test_root_table2.cpp
│   │   ├── test_root_table2_test.cpp
│   │   ├── test_tablet_info_manager.cpp
│   │   └── test_update_server_main.cpp
│   ├── sql
│   │   ├── gen_tablet_scan_test_data.py
│   │   ├── gen_test_data.py
│   │   ├── Makefile.am
│   │   ├── mock_chunk_server.cpp
│   │   ├── mock_chunk_server.h
│   │   ├── mock_client.h
│   │   ├── mock_define.h
│   │   ├── mock_root_server.cpp
│   │   ├── mock_root_server.h
│   │   ├── mock_server.cpp
│   │   ├── mock_server.h
│   │   ├── mock_update_server.cpp
│   │   ├── mock_update_server.h
│   │   ├── MyTestSchema.ini
│   │   ├── ob_add_project_test.cpp
│   │   ├── ob_aggregate_function_test.cpp
│   │   ├── ob_except_test.cpp
│   │   ├── ob_fake_sql_ups_rpc_proxy2.cpp
│   │   ├── ob_fake_sql_ups_rpc_proxy2.h
│   │   ├── ob_fake_sql_ups_rpc_proxy.cpp
│   │   ├── ob_fake_sql_ups_rpc_proxy.h
│   │   ├── ob_fake_sql_ups_rpc_proxy_test2.cpp
│   │   ├── ob_fake_sstable_scan.cpp
│   │   ├── ob_fake_sstable_scan.h
│   │   ├── ob_fake_table.cpp
│   │   ├── ob_fake_table.h
│   │   ├── ob_fake_ups_multi_get.cpp
│   │   ├── ob_fake_ups_multi_get.h
│   │   ├── ob_fake_ups_multi_get_test.cpp
│   │   ├── ob_fake_ups_rpc_stub2.cpp
│   │   ├── ob_fake_ups_rpc_stub2.h
│   │   ├── ob_fake_ups_rpc_stub.cpp
│   │   ├── ob_fake_ups_rpc_stub.h
│   │   ├── ob_fake_ups_rpc_stub_test2.cpp
│   │   ├── ob_fake_ups_rpc_stub_test.cpp
│   │   ├── ob_fake_ups_scan.cpp
│   │   ├── ob_fake_ups_scan.h
│   │   ├── ob_file_table.cpp
│   │   ├── ob_file_table.h
│   │   ├── ob_file_table_test.cpp
│   │   ├── ob_filter_test.cpp
│   │   ├── ob_in_memory_sort_test.cpp
│   │   ├── ob_intersect_test.cpp
│   │   ├── ob_limit_test.cpp
│   │   ├── ob_merge_distinct_test.cpp
│   │   ├── ob_merge_groupby_test.cpp
│   │   ├── ob_merge_join_test.cpp
│   │   ├── ob_merge_sort_test.cpp
│   │   ├── ob_multiple_merge_test.cpp
│   │   ├── ob_operator_factory_impl.cpp
│   │   ├── ob_operator_factory_impl.h
│   │   ├── ob_phy_operators_test.cpp
│   │   ├── ob_physical_plan_test.cpp
│   │   ├── ob_postfix_expression_test.cpp
│   │   ├── ob_project_test.cpp
│   │   ├── ob_result_set_test.cpp
│   │   ├── ob_row_desc_test.cpp
│   │   ├── ob_row_store_iter_test.cpp
│   │   ├── ob_rpc_scan_test.cpp
│   │   ├── ob_run_file_test.cpp
│   │   ├── ob_single_table_sql_test.cpp
│   │   ├── ob_single_table_sql_test_schema.ini
│   │   ├── ob_sort_test.cpp
│   │   ├── ob_sql_expression_test.cpp
│   │   ├── ob_table_scan_test.cpp
│   │   ├── ob_tablet_fuse_test.cpp
│   │   ├── ob_tablet_join_test.cpp
│   │   ├── ob_tablet_scan_test.cpp
│   │   ├── ob_union_test.cpp
│   │   ├── ob_ups_file_table.cpp
│   │   ├── ob_ups_file_table.h
│   │   ├── ob_ups_multi_get_test.cpp
│   │   ├── ob_ups_scan_test.cpp
│   │   ├── simple_gmock_example.cpp
│   │   ├── sql_file_2.sql
│   │   ├── sql_file.sql
│   │   ├── sql_parser_main.cpp
│   │   ├── sql_plan_main.cpp
│   │   ├── SQL_TEST
│   │   │   ├── sql_column_1.input
│   │   │   ├── sql_column_2.input
│   │   │   ├── sql_column_3.input
│   │   │   ├── sql_column_4.input
│   │   │   ├── sql_column_5.input
│   │   │   ├── sql_column_alias_1.input
│   │   │   ├── sql_column_alias_2.input
│   │   │   ├── sql_column_alias_3.input
│   │   │   ├── sql_delete_1.input
│   │   │   ├── sql_delete_2.input
│   │   │   ├── sql_delete_3.input
│   │   │   ├── sql_delete_4.input
│   │   │   ├── sql_delete_5.input
│   │   │   ├── sql_delete_6.input
│   │   │   ├── sql_expr_10.input
│   │   │   ├── sql_expr_11.input
│   │   │   ├── sql_expr_12.input
│   │   │   ├── sql_expr_13.input
│   │   │   ├── sql_expr_14.input
│   │   │   ├── sql_expr_15.input
│   │   │   ├── sql_expr_16.input
│   │   │   ├── sql_expr_17.input
│   │   │   ├── sql_expr_18.input
│   │   │   ├── sql_expr_19.input
│   │   │   ├── sql_expr_1.input
│   │   │   ├── sql_expr_20.input
│   │   │   ├── sql_expr_21.input
│   │   │   ├── sql_expr_22.input
│   │   │   ├── sql_expr_23.input
│   │   │   ├── sql_expr_24.input
│   │   │   ├── sql_expr_25.input
│   │   │   ├── sql_expr_26.input
│   │   │   ├── sql_expr_2.input
│   │   │   ├── sql_expr_3.input
│   │   │   ├── sql_expr_4.input
│   │   │   ├── sql_expr_5.input
│   │   │   ├── sql_expr_6.input
│   │   │   ├── sql_expr_7.input
│   │   │   ├── sql_expr_8.input
│   │   │   ├── sql_expr_9.input
│   │   │   ├── sql_having_1.input
│   │   │   ├── sql_having_2.input
│   │   │   ├── sql_having_3.input
│   │   │   ├── sql_having_4.input
│   │   │   ├── sql_having_5.input
│   │   │   ├── sql_insert_10.input
│   │   │   ├── sql_insert_11.input
│   │   │   ├── sql_insert_12.input
│   │   │   ├── sql_insert_13.input
│   │   │   ├── sql_insert_14.input
│   │   │   ├── sql_insert_15.input
│   │   │   ├── sql_insert_1.input
│   │   │   ├── sql_insert_2.input
│   │   │   ├── sql_insert_3.input
│   │   │   ├── sql_insert_4.input
│   │   │   ├── sql_insert_5.input
│   │   │   ├── sql_insert_6.input
│   │   │   ├── sql_insert_7.input
│   │   │   ├── sql_insert_8.input
│   │   │   ├── sql_insert_9.input
│   │   │   ├── sql_limit_1.input
│   │   │   ├── sql_limit_2.input
│   │   │   ├── sql_limit_3.input
│   │   │   ├── sql_limit_4.input
│   │   │   ├── sql_limit_5.input
│   │   │   ├── sql_limit_6.input
│   │   │   ├── sql_limit_7.input
│   │   │   ├── sql_order_by_1.input
│   │   │   ├── sql_order_by_2.input
│   │   │   ├── sql_order_by_3.input
│   │   │   ├── sql_order_by_4.input
│   │   │   ├── sql_order_by_5.input
│   │   │   ├── sql_order_by_6.input
│   │   │   ├── sql_outer_join_1.input
│   │   │   ├── sql_select_10.input
│   │   │   ├── sql_select_11.input
│   │   │   ├── sql_select_1.input
│   │   │   ├── sql_select_2.input
│   │   │   ├── sql_select_3.input
│   │   │   ├── sql_select_4.input
│   │   │   ├── sql_select_5.input
│   │   │   ├── sql_select_6.input
│   │   │   ├── sql_select_7.input
│   │   │   ├── sql_select_8.input
│   │   │   ├── sql_select_9.input
│   │   │   ├── sql_update_1.input
│   │   │   ├── sql_update_2.input
│   │   │   ├── sql_update_3.input
│   │   │   ├── sql_update_4.input
│   │   │   ├── sql_update_5.input
│   │   │   ├── sql_update_6.input
│   │   │   ├── sql_update_7.input
│   │   │   ├── sql_update_8.input
│   │   │   └── sql_update_9.input
│   │   ├── SQL_TEST_PHY_PLAN
│   │   │   ├── sql_aggregate_1.input
│   │   │   ├── sql_aggregate_2.input
│   │   │   ├── sql_aggregate_3.input
│   │   │   ├── sql_aggregate_4.input
│   │   │   ├── sql_alias_1.input
│   │   │   ├── sql_alias_2.input
│   │   │   ├── sql_alias_3.input
│   │   │   ├── sql_distinct_1.input
│   │   │   ├── sql_distinct_2.input
│   │   │   ├── sql_distinct_3.input
│   │   │   ├── sql_filter_1.input
│   │   │   ├── sql_filter_2.input
│   │   │   ├── sql_filter_3.input
│   │   │   ├── sql_filter_4.input
│   │   │   ├── sql_filter_5.input
│   │   │   ├── sql_filter_6.input
│   │   │   ├── sql_group_1.input
│   │   │   ├── sql_group_2.input
│   │   │   ├── sql_group_3.input
│   │   │   ├── sql_group_4.input
│   │   │   ├── sql_group_5.input
│   │   │   ├── sql_join_1.input
│   │   │   ├── sql_join_2.input
│   │   │   ├── sql_join_3.input
│   │   │   ├── sql_join_4.input
│   │   │   ├── sql_join_5.input
│   │   │   ├── sql_join_6.input
│   │   │   ├── sql_join_7.input
│   │   │   ├── sql_join_8.input
│   │   │   ├── sql_limit_1.input
│   │   │   ├── sql_limit_2.input
│   │   │   ├── sql_limit_3.input
│   │   │   ├── sql_limit_4.input
│   │   │   ├── sql_order_1.input
│   │   │   ├── sql_order_2.input
│   │   │   ├── sql_order_3.input
│   │   │   ├── sql_project_1.input
│   │   │   ├── sql_project_2.input
│   │   │   ├── sql_project_3.input
│   │   │   ├── sql_project_4.input
│   │   │   ├── sql_project_5.input
│   │   │   ├── sql_sort_1.input
│   │   │   ├── sql_sort_2.input
│   │   │   ├── sql_sort_3.input
│   │   │   ├── sql_sort_4.input
│   │   │   ├── sql_sort_5.input
│   │   │   ├── sql_sort_6.input
│   │   │   ├── sql_sort_7.input
│   │   │   ├── sql_sort_8.input
│   │   │   ├── sql_sort_9.input
│   │   │   ├── sql_sub_query_1.input
│   │   │   ├── sql_sub_query_2.input
│   │   │   ├── sql_sub_query_3.input
│   │   │   ├── sql_sub_query_4.input
│   │   │   ├── sql_sub_query_5.input
│   │   │   ├── sql_sub_query_6.input
│   │   │   ├── sql_sub_query_7.input
│   │   │   ├── sql_sub_query_8.input
│   │   │   ├── sql_sub_query_9.input
│   │   │   ├── sql_table_scan_1.input
│   │   │   ├── sql_table_scan_2.input
│   │   │   ├── sql_table_scan_3.input
│   │   │   ├── sql_where_1.input
│   │   │   └── sql_where_2.input
│   │   ├── tablet_fuse_test_data
│   │   │   ├── result.ini
│   │   │   ├── sstable.ini
│   │   │   └── ups_scan.ini
│   │   ├── tablet_join_test_data
│   │   │   ├── fetch_fused_row.ini
│   │   │   ├── fetch_ups_row_fused_row.ini
│   │   │   ├── fetch_ups_row_result.ini
│   │   │   ├── fetch_ups_row_ups_row.ini
│   │   │   └── none_ups.ini
│   │   ├── tablet_scan_test_data
│   │   │   └── schema.ini
│   │   ├── test_cases
│   │   │   ├── ob_fake_ups_multi_get.ini
│   │   │   ├── ob_file_table.ini
│   │   │   └── ob_ups_file_table.ini
│   │   ├── test_disk_path.cpp
│   │   ├── test_gen_phy_plan.cpp
│   │   ├── test_helper.cpp
│   │   ├── test_helper.h
│   │   ├── test_insert_dbsem_filter.cpp
│   │   ├── test_ob_ps_item_allocator.cpp
│   │   ├── test_ob_ps_store.cpp
│   │   ├── test_sql_parser.cpp
│   │   ├── test_sql_query_service.cpp
│   │   ├── test_sstable_block_scanner.cpp
│   │   ├── test_sstable_scan.cpp
│   │   ├── test_sstable_stat.cpp
│   │   ├── test_sstable_writer.cpp
│   │   ├── test_ups_result.cpp
│   │   ├── test_utility.cpp
│   │   └── test_utility.h
│   ├── sstable
│   │   ├── data
│   │   │   ├── sst_0.3.1_1212
│   │   │   ├── sst_0.3.1_with_range
│   │   │   ├── sst_0.4
│   │   │   ├── sst_1000000
│   │   │   ├── sst_1048576
│   │   │   ├── sst_tmp
│   │   │   └── test_sstable_reader.schema
│   │   ├── key.h
│   │   ├── Makefile.am
│   │   ├── maketest.sh
│   │   ├── ob_sstable_schemaV1.cpp
│   │   ├── ob_sstable_schemaV1.h
│   │   ├── ob_sstable_trailerV1.cpp
│   │   ├── ob_sstable_trailerV1.h
│   │   ├── test_aio_buffer_mgr.cpp
│   │   ├── test_blockcache.cpp
│   │   ├── test_bloom_filter.cpp
│   │   ├── test_column_group_scanner.cpp
│   │   ├── test_disk_path.cpp
│   │   ├── test_helper.cpp
│   │   ├── test_helper.h
│   │   ├── test_pthread_blockcache.cpp
│   │   ├── test_sstable_block_builder.cpp
│   │   ├── test_sstable_block_index_buffer.cpp
│   │   ├── test_sstable_block_index_builder.cpp
│   │   ├── test_sstable_block_reader.cpp
│   │   ├── test_sstable_block_scanner.cpp
│   │   ├── test_sstable_getter.cpp
│   │   ├── test_sstable_reader.cpp
│   │   ├── test_sstable_row.cpp
│   │   ├── test_sstable_scanner.cpp
│   │   ├── test_sstable_schema_cache.cpp
│   │   ├── test_sstable_schema.cpp
│   │   ├── test_sstable_stat.cpp
│   │   ├── test_sstable_trailer.cpp
│   │   ├── test_sstable_trailerV2.cpp
│   │   ├── test_sstable_writer.cpp
│   │   ├── test_sstable_writer_perf.cpp
│   │   └── tmptrailer
│   └── updateserver
│   ├── get_whole_rowkey.cpp
│   ├── log_utils.h
│   ├── Makefile.am
│   ├── mget_perf_test.cpp
│   ├── mock_chunk_server2.cpp
│   ├── mock_chunk_server2.h
│   ├── mock_client.cpp
│   ├── mock_client.h
│   ├── mock_define.h
│   ├── mock_mem_iterator.h
│   ├── mock_root_server2.cpp
│   ├── mock_root_server2.h
│   ├── mock_root_server.cpp
│   ├── mock_root_server.h
│   ├── mock_server.cpp
│   ├── mock_server.h
│   ├── mock_update_server2.cpp
│   ├── mock_update_server2.h
│   ├── my_ob_server.h
│   ├── ob_final_data.cpp
│   ├── ob_final_data.h
│   ├── ob_mock_ups.h
│   ├── rwt.h
│   ├── scan_schema.ini
│   ├── sst4test_tablemgr
│   │   ├── 10_1-1_1.sst
│   │   ├── 10_2-2_3.sst
│   │   └── 10_3-3_5.sst
│   ├── stress_test
│   │   ├── client_simulator.cpp
│   │   ├── client_simulator.h
│   │   ├── client_simulator_main.cpp
│   │   ├── client_simulator_test.cpp
│   │   ├── main.cpp
│   │   ├── Makefile.am
│   │   ├── ob_add_runnable.cpp
│   │   ├── ob_add_runnable.h
│   │   ├── ob_executor.cpp
│   │   ├── ob_executor.h
│   │   ├── ob_generator.h
│   │   ├── ob_random.h
│   │   ├── ob_row_dis.h
│   │   ├── ob_scan_gen.cpp
│   │   ├── ob_scan_gen.h
│   │   ├── ob_schema_proxy.cpp
│   │   ├── ob_schema_proxy.h
│   │   ├── ob_test_bomb.h
│   │   ├── ob_update_gen.cpp
│   │   ├── ob_update_gen.h
│   │   ├── perf_test.cpp
│   │   ├── schema.ini
│   │   ├── test_add.ini
│   │   ├── test_helper.h
│   │   └── update_stress_test.cpp
│   ├── test1.ini
│   ├── test_apply_with_condition.cpp
│   ├── test_async_rw_log.cpp
│   ├── test_base.cpp
│   ├── test_base.h
│   ├── test_cases
│   │   ├── cell_infos.ini
│   │   ├── get_param.ini
│   │   ├── print_memtable_all.ini
│   │   ├── scan_param.ini
│   │   ├── test_mt_empty1_set.ci.ini
│   │   ├── test_mt_empty2_set.ci.ini
│   │   ├── test_mt_empty3_set.ci.ini
│   │   ├── test_mt_empty_set.scan.ini
│   │   ├── test_mt_ret_unsorted.ci.ini
│   │   ├── test_mt_scan.ci.ini
│   │   ├── test_mt_scan_index.ret1_5.ini
│   │   ├── test_mt_scan_index.scan1_ab1.ini
│   │   ├── test_mt_scan.ret1_1.ini
│   │   ├── test_mt_scan.ret1_2.ini
│   │   ├── test_mt_scan.ret1_3.ini
│   │   ├── test_mt_scan.ret1_4.ini
│   │   ├── test_mt_scan.ret1_5.ini
│   │   ├── test_mt_scan.ret1.ini
│   │   ├── test_mt_scan.ret2.ini
│   │   ├── test_mt_scan.ret3.ini
│   │   ├── test_mt_scan.scan1_1.ini
│   │   ├── test_mt_scan.scan1_2.ini
│   │   ├── test_mt_scan.scan1_3.ini
│   │   ├── test_mt_scan.scan1_4.ini
│   │   ├── test_mt_scan.scan1_5.ini
│   │   ├── test_mt_scan.scan1_6.ini
│   │   ├── test_mt_scan.scan1_ab1.ini
│   │   ├── test_mt_scan.scan1_ab2.ini
│   │   ├── test_mt_scan.scan1_ab3.ini
│   │   ├── test_mt_scan.scan1_ab4.ini
│   │   ├── test_mt_scan.scan1_ab5.ini
│   │   ├── test_mt_scan.scan1_ab6.ini
│   │   ├── test_mt_scan.scan1_ab7.ini
│   │   ├── test_mt_scan.scan1.ini
│   │   ├── test_mt_scan.scan2.ini
│   │   ├── test_mt_scan.scan3.ini
│   │   ├── test_mt_schema.ini
│   │   ├── test_mt_set.ci.ini
│   │   ├── test_mt_set.scan.ini
│   │   ├── test_mt_set_unsorted.ci.ini
│   │   ├── test_mt_sorted_1row_scan.ci.ini
│   │   ├── test_mt_sorted_1row_scan.ret1.ini
│   │   ├── test_mt_sorted_1row_scan.scan10.ini
│   │   ├── test_mt_sorted_1row_scan.scan11.ini
│   │   ├── test_mt_sorted_1row_scan.scan12.ini
│   │   ├── test_mt_sorted_1row_scan.scan1.ini
│   │   ├── test_mt_sorted_1row_scan.scan2.ini
│   │   ├── test_mt_sorted_1row_scan.scan3.ini
│   │   ├── test_mt_sorted_1row_scan.scan4.ini
│   │   ├── test_mt_sorted_1row_scan.scan5.ini
│   │   ├── test_mt_sorted_1row_scan.scan6.ini
│   │   ├── test_mt_sorted_1row_scan.scan7.ini
│   │   ├── test_mt_sorted_1row_scan.scan8.ini
│   │   ├── test_mt_sorted_1row_scan.scan9.ini
│   │   ├── test_mt_sorted_2row_scan.ci.ini
│   │   ├── test_mt_sorted_2row_scan.ret1_1.ini
│   │   ├── test_mt_sorted_2row_scan.ret1_2.ini
│   │   ├── test_mt_sorted_2row_scan.ret2.ini
│   │   ├── test_mt_sorted_2row_scan.scan10.ini
│   │   ├── test_mt_sorted_2row_scan.scan11.ini
│   │   ├── test_mt_sorted_2row_scan.scan12.ini
│   │   ├── test_mt_sorted_2row_scan.scan1.ini
│   │   ├── test_mt_sorted_2row_scan.scan2.ini
│   │   ├── test_mt_sorted_2row_scan.scan3.ini
│   │   ├── test_mt_sorted_2row_scan.scan4.ini
│   │   ├── test_mt_sorted_2row_scan.scan5.ini
│   │   ├── test_mt_sorted_2row_scan.scan6.ini
│   │   ├── test_mt_sorted_2row_scan.scan7.ini
│   │   ├── test_mt_sorted_2row_scan.scan8.ini
│   │   ├── test_mt_sorted_2row_scan.scan9.ini
│   │   ├── test_mt_trans_set.ci.ini
│   │   ├── test_mt_trans_set.ret.ini
│   │   └── test_schema.ini
│   ├── test_client_api.h
│   ├── test_client_wrapper.cpp
│   ├── test_disk_path.cpp
│   ├── test_fifo_allocator.cpp
│   ├── test_get.cpp
│   ├── test_helper.h
│   ├── test_inc_scan.cpp
│   ├── test_init.h
│   ├── test_lock_filter.cpp
│   ├── test_lock_mgr.cpp
│   ├── test_log_data_writer.cpp
│   ├── test_log_replay_worker.cpp
│   ├── test_memtable.cpp
│   ├── test_memtable_modify.cpp
│   ├── test_merge_perf.cpp
│   ├── test_ob_fetch_log.cpp
│   ├── test_ob_log_buffer.cpp
│   ├── test_ob_pos_log_reader.cpp
│   ├── test_ob_prefetch_log_buffer.cpp
│   ├── test_ob_ups_fetch_runnable.cpp
│   ├── test_ob_ups_log_mgr.cpp
│   ├── test_ob_ups_replay_runnable.cpp
│   ├── test_pthread_upscache2.cpp
│   ├── test_replay_local_log.cpp
│   ├── test_resource_pool.cpp
│   ├── test_rowiter.cpp
│   ├── test_rpc_stub.cpp
│   ├── test_scan.cpp
│   ├── test.schema
│   ├── test_schema.ini
│   ├── test_session_mgr.cpp
│   ├── test_sstablemgr.cpp
│   ├── test_storemgr.cpp
│   ├── test_tablemgr.cpp
│   ├── test_tablemgr.sh
│   ├── test_transfer_sstable_query.cpp
│   ├── test_trans_mgr.cpp
│   ├── test_upscache.cpp
│   ├── test_ups_mutator.cpp
│   ├── test_ups_mvcc.cpp
│   ├── test_ups_table_mgr_helper.h
│   ├── test_utils2.cpp
│   ├── test_utils2.h
│   ├── test_utils.cpp
│   ├── test_utils.h
│   └── thread_worker.h
└── tools
├── aggregate.conf
├── aggregate.py
├── base_client.cpp
├── base_client.h
├── benchmark
│   ├── Makefile.am
│   └── runner
│   ├── load_client.cpp
│   ├── load_client.h
│   ├── load_client_producer.cpp
│   ├── load_client_producer.h
│   ├── load_consumer.cpp
│   ├── load_consumer.h
│   ├── load_define.h
│   ├── load_filter.cpp
│   ├── load_filter.h
│   ├── load_manager.cpp
│   ├── load_manager.h
│   ├── load_meter.all
│   ├── load_meter.cpp
│   ├── load_meter.get
│   ├── load_meter.old
│   ├── load_meter_read_only.cpp
│   ├── load_meter.scan
│   ├── load_packet.h
│   ├── load_param.h
│   ├── load_parser.cpp
│   ├── load_parser.h
│   ├── load_producer.cpp
│   ├── load_producer.h
│   ├── load_query.cpp
│   ├── load_query.h
│   ├── load_rpc.cpp
│   ├── load_rpc.h
│   ├── load_runner.cpp
│   ├── load_runner.h
│   ├── load_server.cpp
│   ├── load_server.h
│   ├── load_statics.cpp
│   ├── load_statics.h
│   ├── load_util.cpp
│   ├── load_util.h
│   ├── load_watcher.cpp
│   ├── load_watcher.h
│   ├── Makefile.am
│   ├── mysql_5.5
│   │   └── include
│   │   ├── atomic
│   │   │   ├── gcc_builtins.h
│   │   │   ├── generic-msvc.h
│   │   │   ├── nolock.h
│   │   │   ├── rwlock.h
│   │   │   ├── solaris.h
│   │   │   └── x86-gcc.h
│   │   ├── base64.h
│   │   ├── CMakeFiles
│   │   │   ├── CMakeDirectoryInformation.cmake
│   │   │   └── progress.make
│   │   ├── config.h
│   │   ├── decimal.h
│   │   ├── errmsg.h
│   │   ├── ft_global.h
│   │   ├── hash.h
│   │   ├── heap.h
│   │   ├── keycache.h
│   │   ├── lf.h
│   │   ├── m_ctype.h
│   │   ├── m_string.h
│   │   ├── my_aes.h
│   │   ├── my_alarm.h
│   │   ├── my_alloc.h
│   │   ├── my_atomic.h
│   │   ├── my_attribute.h
│   │   ├── my_base.h
│   │   ├── my_bit.h
│   │   ├── my_bitmap.h
│   │   ├── my_compare.h
│   │   ├── my_compiler.h
│   │   ├── my_config.h
│   │   ├── my_dbug.h
│   │   ├── my_dir.h
│   │   ├── my_getopt.h
│   │   ├── my_global.h
│   │   ├── myisam.h
│   │   ├── myisammrg.h
│   │   ├── myisampack.h
│   │   ├── my_libwrap.h
│   │   ├── my_list.h
│   │   ├── my_md5.h
│   │   ├── my_net.h
│   │   ├── my_nosys.h
│   │   ├── my_pthread.h
│   │   ├── my_rdtsc.h
│   │   ├── mysql
│   │   │   ├── client_plugin.h
│   │   │   ├── client_plugin.h.pp
│   │   │   ├── innodb_priv.h
│   │   │   ├── plugin_audit.h
│   │   │   ├── plugin_audit.h.pp
│   │   │   ├── plugin_auth_common.h
│   │   │   ├── plugin_auth.h
│   │   │   ├── plugin_auth.h.pp
│   │   │   ├── plugin_ftparser.h
│   │   │   ├── plugin_ftparser.h.pp
│   │   │   ├── plugin.h
│   │   │   ├── psi
│   │   │   │   ├── mysql_file.h
│   │   │   │   ├── mysql_thread.h
│   │   │   │   ├── psi_abi_v1.h
│   │   │   │   ├── psi_abi_v1.h.pp
│   │   │   │   ├── psi_abi_v2.h
│   │   │   │   ├── psi_abi_v2.h.pp
│   │   │   │   └── psi.h
│   │   │   ├── service_my_snprintf.h
│   │   │   ├── services.h
│   │   │   ├── service_thd_alloc.h
│   │   │   ├── service_thd_wait.h
│   │   │   ├── service_thread_scheduler.h
│   │   │   └── thread_pool_priv.h
│   │   ├── mysql_com.h
│   │   ├── mysqld_ername.h
│   │   ├── mysql_embed.h
│   │   ├── mysql.h
│   │   ├── mysql.h.pp
│   │   ├── mysql_time.h
│   │   ├── mysql_version.h
│   │   ├── mysql_version.h.in
│   │   ├── my_stacktrace.h
│   │   ├── mysys_err.h
│   │   ├── my_sys.h
│   │   ├── my_time.h
│   │   ├── my_tree.h
│   │   ├── my_uctype.h
│   │   ├── my_user.h
│   │   ├── my_xml.h
│   │   ├── password.h
│   │   ├── probes_mysql.d.base
│   │   ├── probes_mysql.h
│   │   ├── probes_mysql_nodtrace.h
│   │   ├── queues.h
│   │   ├── rijndael.h
│   │   ├── service_versions.h
│   │   ├── sha1.h
│   │   ├── sha2.h
│   │   ├── sql_common.h
│   │   ├── sql_state.h
│   │   ├── sslopt-case.h
│   │   ├── sslopt-longopts.h
│   │   ├── sslopt-vars.h
│   │   ├── t_ctype.h
│   │   ├── thr_alarm.h
│   │   ├── thr_lock.h
│   │   ├── typelib.h
│   │   ├── violite.h
│   │   └── welcome_copyright_notice.h
│   ├── packet_queue.cpp
│   └── packet_queue.h
├── bigquerytest
│   ├── bigquery.conf
│   ├── bigquery.cpp
│   ├── bigquery.h
│   ├── bigquery_reader.cpp
│   ├── bigquery_reader.h
│   ├── bigquerytest.cpp
│   ├── bigquerytest.h
│   ├── bigquerytest_main.cpp
│   ├── bigquerytest_main.h
│   ├── bigquerytest_param.cpp
│   ├── bigquerytest_param.h
│   ├── bigquery_writer.cpp
│   ├── bigquery_writer.h
│   ├── data
│   │   └── schema.ini
│   ├── include
│   │   ├── mysql
│   │   │   ├── decimal.h
│   │   │   ├── errmsg.h
│   │   │   ├── keycache.h
│   │   │   ├── m_ctype.h
│   │   │   ├── m_string.h
│   │   │   ├── my_alloc.h
│   │   │   ├── my_attribute.h
│   │   │   ├── my_compiler.h
│   │   │   ├── my_config.h
│   │   │   ├── my_dbug.h
│   │   │   ├── my_dir.h
│   │   │   ├── my_getopt.h
│   │   │   ├── my_global.h
│   │   │   ├── my_list.h
│   │   │   ├── my_net.h
│   │   │   ├── my_no_pthread.h
│   │   │   ├── my_pthread.h
│   │   │   ├── mysql_com.h
│   │   │   ├── mysqld_ername.h
│   │   │   ├── mysqld_error.h
│   │   │   ├── mysql_embed.h
│   │   │   ├── mysql.h
│   │   │   ├── mysql_time.h
│   │   │   ├── mysql_version.h
│   │   │   ├── my_sys.h
│   │   │   ├── my_xml.h
│   │   │   ├── plugin.h
│   │   │   ├── readline.h
│   │   │   ├── sql_common.h
│   │   │   ├── sql_state.h
│   │   │   ├── sslopt-case.h
│   │   │   ├── sslopt-longopts.h
│   │   │   ├── sslopt-vars.h
│   │   │   └── typelib.h
│   │   └── postgre
│   │   ├── ecpg_config.h
│   │   ├── ecpgerrno.h
│   │   ├── ecpg_informix.h
│   │   ├── ecpglib.h
│   │   ├── ecpgtype.h
│   │   ├── libpq
│   │   │   └── libpq-fs.h
│   │   ├── libpq-events.h
│   │   ├── libpq-fe.h
│   │   ├── pg_config.h
│   │   ├── pg_config_manual.h
│   │   ├── pg_config_os.h
│   │   ├── pgtypes_date.h
│   │   ├── pgtypes_error.h
│   │   ├── pgtypes_interval.h
│   │   ├── pgtypes_numeric.h
│   │   ├── pgtypes_timestamp.h
│   │   ├── postgres_ext.h
│   │   ├── sql3types.h
│   │   ├── sqlca.h
│   │   ├── sqlda-compat.h
│   │   ├── sqlda.h
│   │   └── sqlda-native.h
│   ├── key_generator.cpp
│   ├── key_generator.h
│   ├── main.cpp
│   ├── Makefile.am
│   ├── obsql_client.cpp
│   ├── obsql_client.h
│   ├── prefix_info.cpp
│   ├── prefix_info.h
│   ├── read_worker.cpp
│   ├── read_worker.h
│   ├── util.cpp
│   ├── util.h
│   ├── value_generator.cpp
│   ├── value_generator.h
│   ├── write_worker.cpp
│   └── write_worker.h
├── build_data.sh
├── build_raw_data.sh
├── client.py
├── client_rpc.cpp
├── client_rpc.h
├── collect_schema.ini
├── commitlog_cleanup.sh
├── common_func.cpp
├── common_func.h
├── compactsstablev2
│   ├── dumpsst_v2.cpp
│   ├── dumpsst_v2.h
│   ├── Makefile.am
│   ├── ob_fileinfo_cache.cpp
│   ├── ob_fileinfo_cache.h
│   └── test_disk_path.cpp
├── config.ini
├── convert_idx_file.cpp
├── cppclient
│   └── oceanbase.h
├── cs_admin.cpp
├── cs_admin.h
├── cs_init.sh
├── cs_press.cpp
├── cs_press.h
├── data_syntax.h
├── data_syntax.ini
├── dependency
│   ├── libaio_0.3.107.orig.tar.gz
│   ├── lzo-2.0.3.tar.gz
│   ├── numactl-2.0.7.tar.gz
│   └── snappy-1.0.3.tar.gz
├── deploy
│   ├── auto_run.sh
│   ├── b
│   │   ├── extra.py
│   │   ├── findall.py
│   │   ├── profile-config.py
│   │   ├── profile.py
│   │   ├── report.py
│   │   ├── report.tpl.org
│   │   ├── scprun
│   │   ├── scprun.rc
│   │   ├── test_runner.py
│   │   └── tquery.py
│   ├── before-sql.schema
│   ├── benchmark
│   │   ├── benchmark.conf.template
│   │   ├── benchmark.py
│   │   ├── oltp.sql
│   │   ├── sbtest_read_static.sql
│   │   ├── sbtest.sql
│   │   └── stress.sh
│   ├── bigquery
│   │   ├── bigquery.conf.template
│   │   ├── bigquery.py
│   │   ├── bigquery.schema
│   │   ├── Makefile
│   │   └── stress.sh
│   ├── collect.schema
│   ├── common.py
│   ├── conf
│   │   ├── configure.ini
│   │   └── log4j.properties
│   ├── config.py
│   ├── copy.sh
│   ├── deploy.py
│   ├── fault_test.py
│   ├── gcfg.py
│   ├── histest
│   │   ├── fin.sql
│   │   ├── histest.conf.template
│   │   ├── histest.py
│   │   ├── stress.sh
│   │   └── table.sql
│   ├── makefile
│   ├── mixed_test
│   │   ├── Makefile
│   │   ├── mixed_test.py
│   │   ├── mixed_test.schema
│   │   └── stress.sh
│   ├── monitor.py
│   ├── multi_cluster.py
│   ├── mysql_test
│   │   ├── config.py
│   │   ├── filter.py
│   │   ├── __init__.py
│   │   ├── java
│   │   │   ├── diamond.py
│   │   │   └── mysqltest
│   │   ├── mysqltest.py
│   │   ├── r
│   │   │   ├── 2ups.require
│   │   │   ├── affect_rows.result
│   │   │   ├── aggr_bug200109.result
│   │   │   ├── alias2.result
│   │   │   ├── alias3.result
│   │   │   ├── alias4.result
│   │   │   ├── alias_join.result
│   │   │   ├── alias.result
│   │   │   ├── alter_sys.result
│   │   │   ├── alter_table.result
│   │   │   ├── autocommit.result
│   │   │   ├── bench_count_distinct.result
│   │   │   ├── bigint.result
│   │   │   ├── big_trans.result
│   │   │   ├── binary_protocol.result
│   │   │   ├── bind_variable_stress_65535.result
│   │   │   ├── bind_variable_stress_greater_then_65535.result
│   │   │   ├── bool.result
│   │   │   ├── bug200747.result
│   │   │   ├── bug200820.result
│   │   │   ├── bug210026.result
│   │   │   ├── bug217660_xiaochu.result
│   │   │   ├── bug229955_positive_int.result
│   │   │   ├── bug233498_rename_table_jianming.result
│   │   │   ├── bug_setEmptyPwd.result
│   │   │   ├── build_in_func_test.result
│   │   │   ├── case.result
│   │   │   ├── chinese.result
│   │   │   ├── collect.result
│   │   │   ├── compare_datetime.result
│   │   │   ├── compare.result
│   │   │   ├── connection.result
│   │   │   ├── count_distinct2.result
│   │   │   ├── count_distinct.result
│   │   │   ├── create2.result
│   │   │   ├── create.result
│   │   │   ├── create_syntax.result
│   │   │   ├── createtable.result
│   │   │   ├── create_user.result
│   │   │   ├── daylight_saving_time.result
│   │   │   ├── deadlock_causedby_ups_switch.result
│   │   │   ├── delete_all_before_merge_by_huating.result
│   │   │   ├── delete_bug206717.result
│   │   │   ├── delete_from_mysql.result
│   │   │   ├── delete.result
│   │   │   ├── deleteV2.result
│   │   │   ├── desc.result
│   │   │   ├── disable_create_sys_table.result
│   │   │   ├── dual.result
│   │   │   ├── duplicate_key.result
│   │   │   ├── empty_input.result
│   │   │   ├── empty_table.result
│   │   │   ├── error_msg.result
│   │   │   ├── escape.result
│   │   │   ├── except.result
│   │   │   ├── expire.result
│   │   │   ├── fin.result
│   │   │   ├── func_equal.result
│   │   │   ├── func_group_1.result
│   │   │   ├── func_group_2.result
│   │   │   ├── func_group_3.result
│   │   │   ├── func_group_4.result
│   │   │   ├── func_group_5.result
│   │   │   ├── func_group_6.result
│   │   │   ├── func_group_7.result
│   │   │   ├── func_in_2.result
│   │   │   ├── func_in.result
│   │   │   ├── func_like.result
│   │   │   ├── get.result
│   │   │   ├── greatest_least.result
│   │   │   ├── group_by_1.result
│   │   │   ├── group_by_2.result
│   │   │   ├── group_by_3.result
│   │   │   ├── group_by_4.result
│   │   │   ├── group_min_max.result
│   │   │   ├── hex_ip.result
│   │   │   ├── hints.result
│   │   │   ├── h.result
│   │   │   ├── insert_a_row_of_1M_size.result
│   │   │   ├── insert_a_row_of_2M_size.result
│   │   │   ├── insert.result
│   │   │   ├── insert_rows_sum_of_2M_size.result
│   │   │   ├── intersect.result
│   │   │   ├── jdbc_autocommit.result
│   │   │   ├── jdbc_parallel_trx.result
│   │   │   ├── jdbc_ps_all_statement.result
│   │   │   ├── jdbc_ps_complex.result
│   │   │   ├── jdbc_ps_insert.result
│   │   │   ├── jdbc_replace_parallel_trx.result
│   │   │   ├── jdbc_replace_ps.result
│   │   │   ├── jdbc_replace_ps_trx.result
│   │   │   ├── jdbc_replace.result
│   │   │   ├── jdbc_replace_trx.result
│   │   │   ├── jdbc_trx_with_merge.result
│   │   │   ├── join_basic.result
│   │   │   ├── join_bigid_bug206703.result
│   │   │   ├── join_many_table.result
│   │   │   ├── join_many_table_single_field.result
│   │   │   ├── join_null.result
│   │   │   ├── join_problem.result
│   │   │   ├── join_ps_bug.result
│   │   │   ├── join.result
│   │   │   ├── kill_index.result
│   │   │   ├── killquery_index.result
│   │   │   ├── killquery.result
│   │   │   ├── kill.result
│   │   │   ├── limit.result
│   │   │   ├── literal.result
│   │   │   ├── lock_user.result
│   │   │   ├── many_columns.result
│   │   │   ├── master_ups_lost_causedby_switch_twice.result
│   │   │   ├── merge_basic.reject
│   │   │   ├── merge_basic.result
│   │   │   ├── merge_delete2.result
│   │   │   ├── merge_delete.result
│   │   │   ├── merge_failed_if_table_has_only_one_column.result
│   │   │   ├── merge_insert2.result
│   │   │   ├── merge_insert.result
│   │   │   ├── merge_replace2.result
│   │   │   ├── merge_replace.result
│   │   │   ├── merge_update2.result
│   │   │   ├── merge_update.result
│   │   │   ├── ms_lose_rollback.result
│   │   │   ├── non_reserved_keyword.result
│   │   │   ├── null.result
│   │   │   ├── null_with_merge2.result
│   │   │   ├── null_with_merge.result
│   │   │   ├── order_by.result
│   │   │   ├── parallel_createtable.result
│   │   │   ├── partial_rollback_1.result
│   │   │   ├── prejoin.result
│   │   │   ├── prejoin_tabletype.result
│   │   │   ├── privileges.result
│   │   │   ├── ps_1.result
│   │   │   ├── ps_2.result
│   │   │   ├── ps_3.result
│   │   │   ├── ps_affect_rows.result
│   │   │   ├── ps_basic.result
│   │   │   ├── ps_cache_lose.result
│   │   │   ├── ps_cache.result
│   │   │   ├── ps_complex_delete.result
│   │   │   ├── ps_complex_insert.result
│   │   │   ├── ps_complex_replace.result
│   │   │   ├── ps_complex.result
│   │   │   ├── ps_complex_update.result
│   │   │   ├── ps_execute_repeat.result
│   │   │   ├── ps_lose_delete.result
│   │   │   ├── ps_lose_delete_tr.result
│   │   │   ├── ps_lose_insert.result
│   │   │   ├── ps_lose_insert_tr.result
│   │   │   ├── ps_lose_muticonn.result
│   │   │   ├── ps_lose_replace.result
│   │   │   ├── ps_lose_replace_tr.result
│   │   │   ├── ps_lose_select.result
│   │   │   ├── ps_lose_select_tr.result
│   │   │   ├── ps_lose_update.result
│   │   │   ├── ps_lose_update_tr.result
│   │   │   ├── ps_lose_when2.result
│   │   │   ├── ps_lose_when.result
│   │   │   ├── ps_muticonn_execute_repeat.result
│   │   │   ├── ps_muticonn_stress.result
│   │   │   ├── ps_stress.result
│   │   │   ├── query_method.result
│   │   │   ├── query_timeout.result
│   │   │   ├── quotes.result
│   │   │   ├── range.result
│   │   │   ├── read_config.result
│   │   │   ├── read_only.result
│   │   │   ├── rename_user.result
│   │   │   ├── replace_null.result
│   │   │   ├── replace.result
│   │   │   ├── revoke.result
│   │   │   ├── rowkey_duplicate.result
│   │   │   ├── rowkey_is_char.result
│   │   │   ├── rowkey_is_int.result
│   │   │   ├── rowkey_is_null.result
│   │   │   ├── scan_2M_size.result
│   │   │   ├── select_error.result
│   │   │   ├── select_when.result
│   │   │   ├── select_without_from.result
│   │   │   ├── serialize_6k_bug.result
│   │   │   ├── session_timeout.result
│   │   │   ├── set.result
│   │   │   ├── set_variable_stmt.result
│   │   │   ├── sfu2.result
│   │   │   ├── sfu.result
│   │   │   ├── show.result
│   │   │   ├── show_server_port.result
│   │   │   ├── special_hook.result
│   │   │   ├── sq_from_2.result
│   │   │   ├── sq_from.result
│   │   │   ├── static_read.result
│   │   │   ├── stress.result
│   │   │   ├── system_variable.result
│   │   │   ├── timestamp_bug242925_found_by_yaoying.result
│   │   │   ├── trans_monitor.result
│   │   │   ├── trx_1.result
│   │   │   ├── trx_2.result
│   │   │   ├── trx_3.result
│   │   │   ├── trx_4.result
│   │   │   ├── trx_5.result
│   │   │   ├── trx_6.result
│   │   │   ├── trx_basic.result
│   │   │   ├── trx_collect.result
│   │   │   ├── trx_complex.result
│   │   │   ├── trx_select_for_update.result
│   │   │   ├── trx_timeout.result
│   │   │   ├── type_create_time.result
│   │   │   ├── type_date.result
│   │   │   ├── type_datetime.result
│   │   │   ├── type_float.result
│   │   │   ├── type_int.result
│   │   │   ├── type_modify_time.result
│   │   │   ├── type_varchar_1.result
│   │   │   ├── type_varchar_2.result
│   │   │   ├── union_129.result
│   │   │   ├── union.result
│   │   │   ├── update_hot.result
│   │   │   ├── update.result
│   │   │   ├── ups_quick_compound_partital_rollback1.result
│   │   │   ├── ups_quick_compound_partital_rollback.result
│   │   │   ├── user_privilege.result
│   │   │   ├── user_pwd.result
│   │   │   ├── virtual_table.result
│   │   │   ├── when1.result
│   │   │   ├── when2.result
│   │   │   ├── when3.result
│   │   │   ├── when_clause.result
│   │   │   ├── when_nest1.result
│   │   │   ├── when_parallel1.result
│   │   │   ├── when_parallel2.result
│   │   │   ├── when_parallel3.result
│   │   │   ├── when_trx2.result
│   │   │   ├── write_timeout.result
│   │   │   ├── yubai.result
│   │   │   └── zhuweng_thinking.result
│   │   ├── README
│   │   └── t
│   │   ├── affect_rows.test
│   │   ├── aggr_bug200109.test
│   │   ├── alias2.test
│   │   ├── alias3.test
│   │   ├── alias4.test
│   │   ├── alias_join.test
│   │   ├── alias.test
│   │   ├── alter_sys.test
│   │   ├── alter_table.test
│   │   ├── autocommit.test
│   │   ├── bench_count_distinct.test
│   │   ├── bigint.test
│   │   ├── big_trans.test
│   │   ├── binary_protocol.test
│   │   ├── bind_variable_stress_65535.test
│   │   ├── bind_variable_stress_greater_then_65535.test
│   │   ├── bool.test
│   │   ├── bug200747.test
│   │   ├── bug200820.test
│   │   ├── bug210026.test
│   │   ├── bug217660_xiaochu.test
│   │   ├── bug229955_positive_int.test
│   │   ├── bug233498_rename_table_jianming.test
│   │   ├── bug_setEmptyPwd.test
│   │   ├── build_in_func_test.test
│   │   ├── case.test
│   │   ├── chinese.test
│   │   ├── collect.test
│   │   ├── compare_datetime.test
│   │   ├── compare.test
│   │   ├── connection.test
│   │   ├── count_distinct2.test
│   │   ├── count_distinct.test
│   │   ├── create2.test
│   │   ├── create_syntax.test
│   │   ├── createtable.test
│   │   ├── create.test
│   │   ├── create_user.test
│   │   ├── daylight_saving_time.test
│   │   ├── deadlock_causedby_ups_switch.test
│   │   ├── delete_all_before_merge_by_huating.test
│   │   ├── delete_bug206717.test
│   │   ├── delete_from_mysql.test
│   │   ├── delete.test
│   │   ├── deleteV2.test
│   │   ├── desc.test
│   │   ├── disable_create_sys_table.test
│   │   ├── dual.test
│   │   ├── duplicate_key.test
│   │   ├── empty_input.test
│   │   ├── empty_table.test
│   │   ├── error_msg.test
│   │   ├── escape.test
│   │   ├── except.test
│   │   ├── expire.test
│   │   ├── fin.test
│   │   ├── func_equal.test
│   │   ├── func_group_1.test
│   │   ├── func_group_2.test
│   │   ├── func_group_3.test
│   │   ├── func_group_4.test
│   │   ├── func_group_5.test
│   │   ├── func_group_6.test
│   │   ├── func_group_7.test
│   │   ├── func_in_2.test
│   │   ├── func_in.test
│   │   ├── func_like.test
│   │   ├── get.test
│   │   ├── greatest_least.test
│   │   ├── group_by_1.test
│   │   ├── group_by_2.test
│   │   ├── group_by_3.test
│   │   ├── group_by_4.test
│   │   ├── group_min_max.test
│   │   ├── hex_ip.test
│   │   ├── hints.test
│   │   ├── h.test
│   │   ├── insert_a_row_of_1M_size.test
│   │   ├── insert_a_row_of_2M_size.test
│   │   ├── insert_rows_sum_of_2M_size.test
│   │   ├── insert.test
│   │   ├── intersect.test
│   │   ├── jdbc_autocommit.test
│   │   ├── jdbc_parallel_trx.test
│   │   ├── jdbc_ps_all_statement.test
│   │   ├── jdbc_ps_complex.test
│   │   ├── jdbc_ps_insert.test
│   │   ├── jdbc_replace_parallel_trx.test
│   │   ├── jdbc_replace_ps.test
│   │   ├── jdbc_replace_ps_trx.test
│   │   ├── jdbc_replace.test
│   │   ├── jdbc_replace_trx.test
│   │   ├── jdbc_trx_with_merge.test
│   │   ├── join_basic.test
│   │   ├── join_bigid_bug206703.test
│   │   ├── join_many_table_single_field.test
│   │   ├── join_many_table.test
│   │   ├── join_null.test
│   │   ├── join_problem.test
│   │   ├── join_ps_bug.test
│   │   ├── join.test
│   │   ├── kill_index.test
│   │   ├── killquery_index.test
│   │   ├── killquery.test
│   │   ├── kill.test
│   │   ├── limit.test
│   │   ├── literal.test
│   │   ├── lock_user.test
│   │   ├── many_columns.test
│   │   ├── master_ups_lost_causedby_switch_twice.test
│   │   ├── merge_basic.test
│   │   ├── merge_delete2.test
│   │   ├── merge_delete.test
│   │   ├── merge_insert2.test
│   │   ├── merge_insert.test
│   │   ├── merge_replace2.test
│   │   ├── merge_replace.test
│   │   ├── merge_update2.test
│   │   ├── merge_update.test
│   │   ├── ms_lose_rollback.test
│   │   ├── non_reserved_keyword.test
│   │   ├── null.test
│   │   ├── null_with_merge2.test
│   │   ├── null_with_merge.test
│   │   ├── order_by.test
│   │   ├── parallel_createtable.test
│   │   ├── prejoin_tabletype.test
│   │   ├── prejoin.test
│   │   ├── privileges.test
│   │   ├── ps_1.test
│   │   ├── ps_2.test
│   │   ├── ps_3.test
│   │   ├── ps_affect_rows.test
│   │   ├── ps_basic.test
│   │   ├── ps_cache.test
│   │   ├── ps_complex_delete.test
│   │   ├── ps_complex_insert.test
│   │   ├── ps_complex_replace.test
│   │   ├── ps_complex.test
│   │   ├── ps_complex_update.test
│   │   ├── ps_execute_repeat.test
│   │   ├── ps_lose_delete.test
│   │   ├── ps_lose_delete_tr.test
│   │   ├── ps_lose_insert.test
│   │   ├── ps_lose_insert_tr.test
│   │   ├── ps_lose_muticonn.test
│   │   ├── ps_lose_replace.test
│   │   ├── ps_lose_replace_tr.test
│   │   ├── ps_lose_select.test
│   │   ├── ps_lose_select_tr.test
│   │   ├── ps_lose_update.test
│   │   ├── ps_lose_update_tr.test
│   │   ├── ps_lose_when2.test
│   │   ├── ps_lose_when.test
│   │   ├── ps_muticonn_execute_repeat.test
│   │   ├── ps_muticonn_stress.test
│   │   ├── ps_stress.test
│   │   ├── query_method.test
│   │   ├── query_timeout.test
│   │   ├── quotes.test
│   │   ├── range.test
│   │   ├── read_config.test
│   │   ├── read_only.test
│   │   ├── rename_user.test
│   │   ├── replace_null.test
│   │   ├── replace.test
│   │   ├── revoke.test
│   │   ├── rowkey_duplicate.test
│   │   ├── rowkey_is_char.test
│   │   ├── rowkey_is_int.test
│   │   ├── rowkey_is_null.test
│   │   ├── scan_2M_size.test
│   │   ├── select_error.test
│   │   ├── select_when.test
│   │   ├── select_without_from.test
│   │   ├── serialize_6k_bug.test
│   │   ├── session_timeout.test
│   │   ├── set.test
│   │   ├── set_variable_stmt.test
│   │   ├── sfu2.test
│   │   ├── sfu.test
│   │   ├── show_server_port.test
│   │   ├── show.test
│   │   ├── special_hook.test
│   │   ├── sq_from_2.test
│   │   ├── sq_from.test
│   │   ├── static_read.test
│   │   ├── stress_hang.test
│   │   ├── stress.test
│   │   ├── system_variable.test
│   │   ├── timestamp_bug242925_found_by_yaoying.test
│   │   ├── trans_monitor.test
│   │   ├── trx_1.test
│   │   ├── trx_2.test
│   │   ├── trx_3.test
│   │   ├── trx_4.test
│   │   ├── trx_5.test
│   │   ├── trx_6.test
│   │   ├── trx_basic.test
│   │   ├── trx_collect.test
│   │   ├── trx_complex.test
│   │   ├── trx_select_for_update.test
│   │   ├── trx_timeout.test
│   │   ├── type_create_time.test
│   │   ├── type_datetime.test
│   │   ├── type_float.test
│   │   ├── type_int.test
│   │   ├── type_modify_time.test
│   │   ├── type_varchar_1.test
│   │   ├── type_varchar_2.test
│   │   ├── union_129.test
│   │   ├── union.test
│   │   ├── update_hot.test
│   │   ├── update.test
│   │   ├── ups_quick_compound_partital_rollback1.test
│   │   ├── ups_quick_compound_partital_rollback.test
│   │   ├── user_privilege.test
│   │   ├── user_pwd.test
│   │   ├── virtual_table.test
│   │   ├── when1.test
│   │   ├── when2.test
│   │   ├── when3.test
│   │   ├── when_clause.test
│   │   ├── when_nest1.test
│   │   ├── when_parallel1.test
│   │   ├── when_parallel2.test
│   │   ├── when_parallel3.test
│   │   ├── when_trx2.test
│   │   ├── write_timeout.test
│   │   ├── yubai.test
│   │   ├── zdatabus_bug.test
│   │   └── zhuweng_thinking.test
│   ├── obdatasource
│   │   ├── big_query
│   │   │   └── transaction.xml.template
│   │   ├── conf
│   │   │   └── log4j.properties
│   │   ├── delete
│   │   │   └── transaction.xml.template
│   │   ├── insert
│   │   │   └── transaction.xml.template
│   │   ├── insert_when
│   │   │   └── transaction.xml.template
│   │   ├── join_point_query
│   │   │   └── transaction.xml.template
│   │   ├── mytest.log
│   │   ├── obdatasource.conf.template
│   │   ├── obdatasource.py
│   │   ├── obmonster
│   │   ├── obmonster.properties.template
│   │   ├── point_prejoin_query
│   │   │   └── transaction.xml.template
│   │   ├── point_query
│   │   │   └── transaction.xml.template
│   │   ├── post_schema.xml.template
│   │   ├── prejoin_schema.xml.template
│   │   ├── prev_schema.xml.template
│   │   ├── range_distinct_query
│   │   │   └── transaction.xml.template
│   │   ├── range_join_distinct_query
│   │   │   └── transaction.xml.template
│   │   ├── range_join_orderby_query
│   │   │   └── transaction.xml.template
│   │   ├── range_join_query
│   │   │   └── transaction.xml.template
│   │   ├── range_join_sum_query
│   │   │   └── transaction.xml.template
│   │   ├── range_orderby_query
│   │   │   └── transaction.xml.template
│   │   ├── range_prejoin_query
│   │   │   └── transaction.xml.template
│   │   ├── range_query
│   │   │   └── transaction.xml.template
│   │   ├── replace
│   │   │   └── transaction.xml.template
│   │   ├── stress.sh
│   │   ├── table.sql
│   │   ├── trx_insert_delete
│   │   │   └── transaction.xml.template
│   │   └── update
│   │   └── transaction.xml.template
│   ├── ob_new_sql_test.schema
│   ├── perf
│   │   ├── 1.py
│   │   ├── fin.create
│   │   ├── fin_point.create
│   │   ├── fin_point.sql
│   │   ├── fin_range.create
│   │   ├── fin_range.sql
│   │   ├── fin.sql
│   │   ├── insert_single_row.create
│   │   ├── insert_single_row.sql
│   │   ├── IUD.create
│   │   ├── IUD.lua
│   │   ├── kucun.create
│   │   ├── kucun.lua
│   │   ├── obsb.yanran.hfs.schema
│   │   ├── perf_base.py
│   │   ├── perf.conf.template
│   │   ├── perf.py
│   │   ├── range.create
│   │   ├── range.sql
│   │   ├── replace_single_row.create
│   │   ├── replace_single_row.sql
│   │   ├── simple.create
│   │   ├── simple.lua
│   │   ├── simple.sql
│   │   ├── SRUID.create
│   │   ├── SRUID.lua
│   │   ├── stress.sh
│   │   ├── twenty_rows.create
│   │   ├── twenty_rows.sql
│   │   ├── update_single_row.create
│   │   └── update_single_row.sql
│   ├── readme.org
│   ├── simple_client
│   │   ├── Makefile
│   │   ├── simple_client.py
│   │   ├── simple_client.schema
│   │   └── stress.sh
│   ├── sqltest
│   │   ├── mysql
│   │   ├── mysql.sql.template
│   │   ├── sqlpattern.txt
│   │   ├── sqltest.conf.template
│   │   ├── sqltest.py
│   │   ├── sqltest.schema
│   │   └── stress.sh
│   ├── sysbench_test
│   │   ├── config.py
│   │   ├── __init__.py
│   │   ├── README
│   │   └── sysbench.py
│   ├── syschecker
│   │   ├── gen.sh
│   │   ├── Makefile
│   │   ├── ob3.qushan.schema
│   │   ├── stress.sh
│   │   ├── syschecker
│   │   ├── syschecker.conf.template
│   │   ├── syschecker.py
│   │   └── syschecker.schema
│   ├── tablet_join_test
│   │   ├── __init__.py
│   │   └── tabletjointest.py
│   ├── test
│   │   ├── A0_DEMO.py
│   │   ├── A1_Basic.py
│   │   └── A2_Profile.py
│   ├── tpcc
│   │   ├── add_fkey_idx.sql
│   │   ├── count.sql
│   │   ├── create_table.sql
│   │   ├── drop_cons.sql
│   │   ├── load.sh
│   │   ├── stress.sh
│   │   ├── tpcc.conf.template
│   │   └── tpcc.py
│   ├── tpl.3x
│   │   ├── chunkserver.template
│   │   ├── lsyncserver.template
│   │   ├── mergeserver.template
│   │   ├── new.table.template
│   │   ├── proxyserver.template
│   │   ├── rootserver.template
│   │   ├── schema.template
│   │   ├── simple.config.template
│   │   └── updateserver.template
│   ├── tpl.4x
│   │   ├── chunkserver.template
│   │   ├── lsyncserver.template
│   │   ├── mergeserver.template
│   │   ├── new.table.template
│   │   ├── proxyserver.template
│   │   ├── rootserver.template
│   │   ├── schema.template
│   │   ├── simple.config.template
│   │   └── updateserver.template
│   ├── tpl.py
│   └── trxtest
│   ├── stress.sh
│   ├── trxtest.conf.template
│   └── trxtest.py
├── dump
│   ├── db_dumper_checkpoint.cpp
│   ├── db_dumper_checkpoint.h
│   ├── db_dumper_config.cpp
│   ├── db_dumper_config.h
│   ├── db_dumper.cpp
│   ├── db_dumper.h
│   ├── db_dumper_mgr.cpp
│   ├── db_dumper_mgr.h
│   ├── db_dumper_writer.cpp
│   ├── db_dumper_writer.h
│   ├── db_file_utils.h
│   ├── db_import.h
│   ├── db_log_monitor.cpp
│   ├── db_log_monitor.h
│   ├── db_msg_report.cpp
│   ├── db_msg_report.h
│   ├── db_parse_log.cpp
│   ├── db_parse_log.h
│   ├── db_queue.h
│   ├── db_record.cpp
│   ├── db_record_filter.cpp
│   ├── db_record_filter.h
│   ├── db_record_formator.cpp
│   ├── db_record_formator.h
│   ├── db_record.h
│   ├── db_record_set.cpp
│   ├── db_record_set.h
│   ├── db_table_info.cpp
│   ├── db_table_info.h
│   ├── db_thread_mgr.cpp
│   ├── db_thread_mgr.h
│   ├── db_utils.cpp
│   ├── db_utils.h
│   ├── file_appender.cpp
│   ├── file_appender.h
│   ├── file_reader.cpp
│   ├── file_reader.h
│   ├── gen_file.cpp
│   ├── import.ini
│   ├── main.cpp
│   ├── Makefile.am
│   ├── ob_api_util.h
│   ├── obbinlog.cpp
│   ├── ob_data_set.cpp
│   ├── ob_data_set.h
│   ├── ob_export_main.cpp
│   ├── ob_import_comsumer.cpp
│   ├── ob_import_comsumer.h
│   ├── ob_import.cpp
│   ├── ob_import.h
│   ├── ob_import_main.cpp
│   ├── ob_import_param.cpp
│   ├── ob_import_param.h
│   ├── ob_import_producer.cpp
│   ├── ob_import_producer.h
│   ├── oceanbase_db.cpp
│   ├── oceanbase_db.h
│   ├── scripts
│   │   ├── dumper.ini
│   │   ├── dumper.ini_master
│   │   ├── Makefile.am
│   │   ├── ob_check_done.sh
│   │   ├── obdump.sh
│   │   └── tmall_comment.ini
│   ├── slice.h
│   ├── tablet_stats.cpp
│   ├── test_file_reader.cpp
│   ├── test_import_param.cpp
│   ├── test_ob_import.cpp
│   ├── test_queue.cpp
│   ├── test_tokenize.cpp
│   ├── test_write.cpp
│   ├── tokenizer.cpp
│   └── tokenizer.h
├── dump_data
│   ├── base_client.cpp
│   ├── base_client.h
│   ├── base_server.cpp
│   ├── base_server.h
│   ├── check.awk
│   ├── dump2str.cpp
│   ├── hdfs_env.cpp
│   ├── hdfs_env.h
│   ├── hdfs_ext.cpp
│   ├── hdfs_ext.h
│   ├── hdfs.h
│   ├── hdfsJniHelper.h
│   ├── kill.sh
│   ├── Makefile.am
│   ├── Makefile.in
│   ├── merge_tmp.py
│   ├── merge_tmp.sh
│   ├── obcleanup.py
│   ├── ob_task_server.sh
│   ├── ob_task_slave.sh
│   ├── parse_file.cpp
│   ├── parse_file.h
│   ├── posix_env.cpp
│   ├── posix_env.h
│   ├── restart.sh
│   ├── rpc_stub.cpp
│   ├── rpc_stub.h
│   ├── server.conf
│   ├── tablet_location.cpp
│   ├── tablet_location.h
│   ├── task_env.h
│   ├── task_factory.cpp
│   ├── task_factory.h
│   ├── task_info.cpp
│   ├── task_info.h
│   ├── task_manager.cpp
│   ├── task_manager.h
│   ├── task_output.cpp
│   ├── task_output_file.cpp
│   ├── task_output_file.h
│   ├── task_output.h
│   ├── task_packet.h
│   ├── task_server_callback.cpp
│   ├── task_server_callback.h
│   ├── task_server.cpp
│   ├── task_server.h
│   ├── task_server_main.cpp
│   ├── task_server_param.cpp
│   ├── task_server_param.h
│   ├── task_stats.cpp
│   ├── task_stats.h
│   ├── task_table_conf.cpp
│   ├── task_table_conf.h
│   ├── task_utils.cpp
│   ├── task_utils.h
│   ├── task_worker.cpp
│   ├── task_worker.h
│   ├── task_worker_main.cpp
│   ├── task_worker_param.cpp
│   ├── task_worker_param.h
│   ├── test
│   │   ├── Makefile.am
│   │   ├── schema.ini
│   │   ├── test_mock_root_server.cpp
│   │   ├── test_mock_root_server.h
│   │   ├── test_tablet_location.cpp
│   │   ├── test_task_factory.cpp
│   │   ├── test_task_info.cpp
│   │   ├── test_task_manager.cpp
│   │   └── test_task_output.cpp
│   ├── test_hdfs.cpp
│   └── utils
│   └── merge_files
│   ├── build
│   │   ├── classes
│   │   │   └── com
│   │   │   └── aliyun
│   │   │   └── yunti
│   │   │   └── YTHT$MergeFilesMapper.class
│   │   ├── dist
│   │   │   └── ytht-3.1.jar
│   │   └── ytht-3.1.jar
│   ├── build.xml
│   ├── lib
│   │   ├── commons-logging-1.0.4.jar
│   │   ├── commons-logging-api-1.0.4.jar
│   │   ├── hadoop-0.19.2-core.jar
│   │   ├── hadoop-0.20.1+133-mrunit.jar
│   │   └── junit-4.8.2.jar
│   ├── obrename.py
│   ├── README
│   └── src
│   └── com
│   └── ali
│   └── dba
│   └── ObDumpMerge.java
├── dump_file.cpp
├── dumpsst.cpp
├── dumpsst.h
├── feak_disk_path.cpp
├── gen_data_test.cpp
├── gen_data_test.h
├── gen_data_testV3.cpp
├── gen_data_testV3.h
├── gen_meta.cpp
├── gen_sstable.conf
├── gen_sstable.cpp
├── gen_sstable.h
├── getquerytest
│   ├── getquery.cpp
│   ├── get_query_test.cpp
│   ├── get_query_test.h
│   ├── include
│   │   └── mysql
│   │   ├── decimal.h
│   │   ├── errmsg.h
│   │   ├── keycache.h
│   │   ├── m_ctype.h
│   │   ├── m_string.h
│   │   ├── my_alloc.h
│   │   ├── my_attribute.h
│   │   ├── my_compiler.h
│   │   ├── my_config.h
│   │   ├── my_dbug.h
│   │   ├── my_dir.h
│   │   ├── my_getopt.h
│   │   ├── my_global.h
│   │   ├── my_list.h
│   │   ├── my_net.h
│   │   ├── my_no_pthread.h
│   │   ├── my_pthread.h
│   │   ├── mysql_com.h
│   │   ├── mysqld_ername.h
│   │   ├── mysqld_error.h
│   │   ├── mysql_embed.h
│   │   ├── mysql.h
│   │   ├── mysql_time.h
│   │   ├── mysql_version.h
│   │   ├── my_sys.h
│   │   ├── my_xml.h
│   │   ├── plugin.h
│   │   ├── readline.h
│   │   ├── sql_common.h
│   │   ├── sql_state.h
│   │   ├── sslopt-case.h
│   │   ├── sslopt-longopts.h
│   │   ├── sslopt-vars.h
│   │   └── typelib.h
│   ├── Makefile.am
│   ├── ob_sql_client.cpp
│   ├── ob_sql_client.h
│   ├── ob_sql_db_creater.cpp
│   ├── ob_sql_db_creater.h
│   ├── ob_sql_generator.cpp
│   ├── ob_sql_generator.h
│   ├── ob_sql_reader.cpp
│   ├── ob_sql_reader.h
│   ├── ob_sql_writer.cpp
│   └── ob_sql_writer.h
├── io_fault
│   ├── extra-func-list.c
│   ├── func-list.c
│   ├── gen-iof-preload-func.py
│   ├── iof.c
│   └── Makefile
├── liboblog
│   ├── liboblog.conf
│   ├── liboblog.cpp
│   ├── liboblog.h
│   ├── liboblog.partition.lua
│   ├── Makefile.am
│   ├── ob_log_binlog_record.cpp
│   ├── ob_log_binlog_record.h
│   ├── ob_log_common.h
│   ├── ob_log_config.cpp
│   ├── ob_log_config.h
│   ├── ob_log_dml_info.cpp
│   ├── ob_log_dml_info.h
│   ├── ob_log_entity.cpp
│   ├── ob_log_entity.h
│   ├── ob_log_fetcher.cpp
│   ├── ob_log_fetcher.h
│   ├── ob_log_filter.cpp
│   ├── ob_log_filter.h
│   ├── ob_log_formator.cpp
│   ├── ob_log_formator.h
│   ├── ob_log_main.c
│   ├── ob_log_meta_manager.cpp
│   ├── ob_log_meta_manager.h
│   ├── ob_log_mysql_adaptor.cpp
│   ├── ob_log_mysql_adaptor.h
│   ├── ob_log_partitioner.cpp
│   ├── ob_log_partitioner.h
│   ├── ob_log_perf.cpp
│   ├── ob_log_perf.h
│   ├── ob_log_router.cpp
│   ├── ob_log_router.h
│   ├── ob_log_rpc_stub.cpp
│   ├── ob_log_rpc_stub.h
│   ├── ob_log_schema_getter.cpp
│   ├── ob_log_schema_getter.h
│   ├── ob_log_server_selector.cpp
│   ├── ob_log_server_selector.h
│   ├── ob_log_spec.cpp
│   ├── ob_log_spec.h
│   ├── oblog_tailf.cpp
│   └── ob_log_utils.h
├── log_reader.cpp
├── log_tool
│   ├── builder.h
│   ├── cached_item.h
│   ├── cmd_args_parser.h
│   ├── file_utils.h
│   ├── log_tool.cpp
│   ├── Makefile.am
│   ├── ob_client2.cpp
│   ├── ob_client2.h
│   ├── ob_utils.cpp
│   └── ob_utils.h
├── Makefile.am
├── merge_meta_new.cpp
├── mixed_test
│   ├── cellinfo_builder.cpp
│   ├── cellinfo_builder.h
│   ├── client_wrapper.cpp
│   ├── client_wrapper.h
│   ├── create_table.sql
│   ├── launcher.cpp
│   ├── Makefile.am
│   ├── multi_write.cpp
│   ├── mutator_builder.cpp
│   ├── mutator_builder.h
│   ├── ob_human_config.sh
│   ├── ob_stress.cpp
│   ├── random_read.cpp
│   ├── row_checker.cpp
│   ├── row_checker.h
│   ├── rowkey_builder.cpp
│   ├── rowkey_builder.h
│   ├── sample_schema.ini
│   ├── schema_compatible.h
│   ├── schema.ini
│   ├── thread_store.h
│   ├── total_scan.cpp
│   ├── utils.cpp
│   └── utils.h
├── msync
│   ├── main.cpp
│   ├── Makefile.am
│   ├── msyncclient.conf.template
│   ├── ob_msync_client.cpp
│   ├── ob_msync_client.h
│   ├── ob_msync_client_main.cpp
│   ├── ob_msync_client_main.h
│   ├── ob_mutator_reader.cpp
│   └── ob_mutator_reader.h
└── mysqltest
├── client
│   ├── client_priv.h
│   ├── completion_hash.h
│   ├── my_readline.h
│   └── sql_string.h
├── cmd-line-utils
│   ├── libedit
│   │   ├── chared.h
│   │   ├── chartype.h
│   │   ├── config.h
│   │   ├── el.h
│   │   ├── el_terminal.h
│   │   ├── filecomplete.h
│   │   ├── histedit.h
│   │   ├── hist.h
│   │   ├── keymacro.h
│   │   ├── makelist.sh
│   │   ├── map.h
│   │   ├── np
│   │   │   └── vis.h
│   │   ├── parse.h
│   │   ├── prompt.h
│   │   ├── read.h
│   │   ├── readline
│   │   │   └── readline.h
│   │   ├── README
│   │   ├── refresh.h
│   │   ├── search.h
│   │   ├── sig.h
│   │   ├── sys.h
│   │   └── tty.h
│   └── readline
│   ├── ansi_stdlib.h
│   ├── chardefs.h
│   ├── config_readline.h
│   ├── histlib.h
│   ├── history.h
│   ├── keymaps.h
│   ├── posixdir.h
│   ├── posixjmp.h
│   ├── posixstat.h
│   ├── readline.h
│   ├── README
│   ├── rlconf.h
│   ├── rldefs.h
│   ├── rlmbutil.h
│   ├── rlprivate.h
│   ├── rlshell.h
│   ├── rlstdc.h
│   ├── rltty.h
│   ├── rltypedefs.h
│   ├── rlwinsize.h
│   ├── tcap.h
│   ├── tilde.h
│   └── xmalloc.h
├── include
│   ├── atomic
│   │   ├── gcc_builtins.h
│   │   ├── generic-msvc.h
│   │   ├── nolock.h
│   │   ├── rwlock.h
│   │   ├── solaris.h
│   │   └── x86-gcc.h
│   ├── base64.h
│   ├── cmake_install.cmake
│   ├── CMakeLists.txt
│   ├── config.h
│   ├── decimal.h
│   ├── errmsg.h
│   ├── ft_global.h
│   ├── hash.h
│   ├── heap.h
│   ├── keycache.h
│   ├── lf.h
│   ├── Makefile
│   ├── m_ctype.h
│   ├── m_string.h
│   ├── my_aes.h
│   ├── my_alarm.h
│   ├── my_alloc.h
│   ├── my_atomic.h
│   ├── my_attribute.h
│   ├── my_base.h
│   ├── my_bit.h
│   ├── my_bitmap.h
│   ├── my_compare.h
│   ├── my_compiler.h
│   ├── my_config.h
│   ├── my_dbug.h
│   ├── my_dir.h
│   ├── my_getopt.h
│   ├── my_global.h
│   ├── myisam.h
│   ├── myisammrg.h
│   ├── myisampack.h
│   ├── my_libwrap.h
│   ├── my_list.h
│   ├── my_md5.h
│   ├── my_net.h
│   ├── my_nosys.h
│   ├── my_pthread.h
│   ├── my_rdtsc.h
│   ├── mysql
│   │   ├── client_plugin.h
│   │   ├── client_plugin.h.pp
│   │   ├── innodb_priv.h
│   │   ├── plugin_audit.h
│   │   ├── plugin_audit.h.pp
│   │   ├── plugin_auth_common.h
│   │   ├── plugin_auth.h
│   │   ├── plugin_auth.h.pp
│   │   ├── plugin_ftparser.h
│   │   ├── plugin_ftparser.h.pp
│   │   ├── plugin.h
│   │   ├── psi
│   │   │   ├── mysql_file.h
│   │   │   ├── mysql_thread.h
│   │   │   ├── psi_abi_v1.h
│   │   │   ├── psi_abi_v1.h.pp
│   │   │   ├── psi_abi_v2.h
│   │   │   ├── psi_abi_v2.h.pp
│   │   │   └── psi.h
│   │   ├── service_my_snprintf.h
│   │   ├── services.h
│   │   ├── service_thd_alloc.h
│   │   ├── service_thd_wait.h
│   │   ├── service_thread_scheduler.h
│   │   └── thread_pool_priv.h
│   ├── mysql_com.h
│   ├── mysqld_ername.h
│   ├── mysqld_error.h
│   ├── mysql_embed.h
│   ├── mysql.h
│   ├── mysql.h.pp
│   ├── mysql_time.h
│   ├── mysql_version.h
│   ├── mysql_version.h.in
│   ├── my_stacktrace.h
│   ├── mysys_err.h
│   ├── my_sys.h
│   ├── my_time.h
│   ├── my_tree.h
│   ├── my_uctype.h
│   ├── my_user.h
│   ├── my_xml.h
│   ├── password.h
│   ├── probes_mysql.d.base
│   ├── probes_mysql.h
│   ├── probes_mysql_nodtrace.h
│   ├── queues.h
│   ├── rijndael.h
│   ├── service_versions.h
│   ├── sha1.h
│   ├── sha2.h
│   ├── sql_common.h
│   ├── sql_state.h
│   ├── sslopt-case.h
│   ├── sslopt-longopts.h
│   ├── sslopt-vars.h
│   ├── t_ctype.h
│   ├── thr_alarm.h
│   ├── thr_lock.h
│   ├── typelib.h
│   ├── violite.h
│   └── welcome_copyright_notice.h
├── lib
│   └── libmysqlclient.a.tar.gz
├── Makefile.am
├── mysqltest.cc
├── readme
├── regex
│   ├── cclass.h
│   ├── cname.h
│   ├── debug.c
│   ├── debug.ih
│   ├── engine.c
│   ├── engine.ih
│   ├── main.c
│   ├── main.ih
│   ├── my_regex.h
│   ├── regcomp.c
│   ├── regcomp.ih
│   ├── regerror.c
│   ├── regerror.ih
│   ├── regex2.h
│   ├── regex.3
│   ├── regex.7
│   ├── regexec.c
│   ├── regexp.c
│   ├── regfree.c
│   ├── reginit.c
│   ├── split.c
│   ├── tests
│   └── utils.h
└── sql
├── authors.h
├── client_settings.h
├── contributors.h
├── custom_conf.h
├── datadict.h
├── debug_sync.h
├── derror.h
├── des_key_file.h
├── discover.h
├── event_data_objects.h
├── event_db_repository.h
├── event_parse_data.h
├── event_queue.h
├── event_scheduler.h
├── events.h
├── field.h
├── filesort.h
├── frm_crypt.h
├── gstream.h
├── ha_ndbcluster_binlog.h
├── ha_ndbcluster_cond.h
├── ha_ndbcluster.h
├── ha_ndbcluster_tables.h
├── handler.h
├── ha_partition.h
├── hash_filo.h
├── hostname.h
├── init.h
├── item_cmpfunc.h
├── item_create.h
├── item_func.h
├── item_geofunc.h
├── item.h
├── item_row.h
├── item_strfunc.h
├── item_subselect.h
├── item_sum.h
├── item_timefunc.h
├── item_xmlfunc.h
├── keycaches.h
├── key.h
├── lex.h
├── lex_hash.h
├── lex_symbol.h
├── lock.h
├── log_event.h
├── log_event_old.h
├── log.h
├── mdl.h
├── mem_root_array.h
├── message.h
├── my_decimal.h
├── mysqld.h
├── mysqld_suffix.h
├── nt_servc.h
├── opt_range.h
├── parse_file.h
├── partition_element.h
├── partition_info.h
├── procedure.h
├── protocol.h
├── records.h
├── repl_failsafe.h
├── replication.h
├── rpl_constants.h
├── rpl_filter.h
├── rpl_handler.h
├── rpl_injector.h
├── rpl_mi.h
├── rpl_record.h
├── rpl_record_old.h
├── rpl_reporting.h
├── rpl_rli.h
├── rpl_tblmap.h
├── rpl_utility.h
├── scheduler.h
├── set_var.h
├── slave.h
├── spatial.h
├── sp_cache.h
├── sp.h
└── sp_head.h

248 directories, 4338 files

标签:

实例下载地址

oceanbase part2.rar

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警