Skip to content

Commit a37ba6e

Browse files
author
ubuntu14
committed
modify db module(including mysql, sqlite) for using db more conviniently; add mysql_pool sample
1 parent 5a28483 commit a37ba6e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+2240
-144
lines changed

acl_cpp_vc2008.sln

+16
Original file line numberDiff line numberDiff line change
@@ -619,6 +619,13 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "redis_geo", "lib_acl_cpp\sa
619619
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
620620
EndProjectSection
621621
EndProject
622+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mysql_pool", "lib_acl_cpp\samples\db\mysql_pool\mysql_pool_2008.vcproj", "{CDB5750C-9937-47BB-B138-63E2318CEF52}"
623+
ProjectSection(ProjectDependencies) = postProject
624+
{64BF4D83-53BB-4045-8522-9FF9F73B14D4} = {64BF4D83-53BB-4045-8522-9FF9F73B14D4}
625+
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
626+
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
627+
EndProjectSection
628+
EndProject
622629
Global
623630
GlobalSection(SolutionConfigurationPlatforms) = preSolution
624631
Debug|Win32 = Debug|Win32
@@ -1313,6 +1320,14 @@ Global
13131320
{2147D0CD-57C8-4C50-BBA8-71EF03B7C2AA}.Release|Win32.Build.0 = Release|Win32
13141321
{2147D0CD-57C8-4C50-BBA8-71EF03B7C2AA}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
13151322
{2147D0CD-57C8-4C50-BBA8-71EF03B7C2AA}.Releasedll|Win32.Build.0 = Releasedll|Win32
1323+
{CDB5750C-9937-47BB-B138-63E2318CEF52}.Debug|Win32.ActiveCfg = Debug|Win32
1324+
{CDB5750C-9937-47BB-B138-63E2318CEF52}.Debug|Win32.Build.0 = Debug|Win32
1325+
{CDB5750C-9937-47BB-B138-63E2318CEF52}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
1326+
{CDB5750C-9937-47BB-B138-63E2318CEF52}.DebugDll|Win32.Build.0 = DebugDll|Win32
1327+
{CDB5750C-9937-47BB-B138-63E2318CEF52}.Release|Win32.ActiveCfg = Release|Win32
1328+
{CDB5750C-9937-47BB-B138-63E2318CEF52}.Release|Win32.Build.0 = Release|Win32
1329+
{CDB5750C-9937-47BB-B138-63E2318CEF52}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
1330+
{CDB5750C-9937-47BB-B138-63E2318CEF52}.Releasedll|Win32.Build.0 = Releasedll|Win32
13161331
EndGlobalSection
13171332
GlobalSection(SolutionProperties) = preSolution
13181333
HideSolutionNode = FALSE
@@ -1378,6 +1393,7 @@ Global
13781393
{DC7E75E5-FE42-4529-9D9A-19D240B8727B} = {9FE233BA-6510-4A21-9CB4-C2FF448506A3}
13791394
{DF860891-7D7E-473C-A07C-B0959D91C298} = {9FE233BA-6510-4A21-9CB4-C2FF448506A3}
13801395
{10B61B37-2242-426E-A56A-8AC6D4FA91FA} = {9FE233BA-6510-4A21-9CB4-C2FF448506A3}
1396+
{CDB5750C-9937-47BB-B138-63E2318CEF52} = {9FE233BA-6510-4A21-9CB4-C2FF448506A3}
13811397
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0} = {462CDA64-00AD-4468-B0CD-A24D8897BE04}
13821398
{7DA0AC89-62E4-4D02-9BC5-C32E6846E168} = {462CDA64-00AD-4468-B0CD-A24D8897BE04}
13831399
{41FA5224-3315-4CDA-9C44-19085049F179} = {462CDA64-00AD-4468-B0CD-A24D8897BE04}

acl_cpp_vc2010.sln

+18
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,13 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "redis_geo_vc2010", "lib_acl
331331
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
332332
EndProjectSection
333333
EndProject
334+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mysql_pool", "lib_acl_cpp\samples\db\mysql_pool\mysql_pool.vcxproj", "{7C56C0AF-4311-4D5B-BD32-DC240B4752B1}"
335+
ProjectSection(ProjectDependencies) = postProject
336+
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
337+
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
338+
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
339+
EndProjectSection
340+
EndProject
334341
Global
335342
GlobalSection(SolutionConfigurationPlatforms) = preSolution
336343
Debug|Win32 = Debug|Win32
@@ -900,6 +907,16 @@ Global
900907
{50A37701-CDC8-477E-8B7F-711FB0A90844}.Releasedll|Win32.Build.0 = Releasedll|Win32
901908
{50A37701-CDC8-477E-8B7F-711FB0A90844}.Template|Win32.ActiveCfg = Release|Win32
902909
{50A37701-CDC8-477E-8B7F-711FB0A90844}.Template|Win32.Build.0 = Release|Win32
910+
{7C56C0AF-4311-4D5B-BD32-DC240B4752B1}.Debug|Win32.ActiveCfg = Debug|Win32
911+
{7C56C0AF-4311-4D5B-BD32-DC240B4752B1}.Debug|Win32.Build.0 = Debug|Win32
912+
{7C56C0AF-4311-4D5B-BD32-DC240B4752B1}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
913+
{7C56C0AF-4311-4D5B-BD32-DC240B4752B1}.DebugDll|Win32.Build.0 = DebugDll|Win32
914+
{7C56C0AF-4311-4D5B-BD32-DC240B4752B1}.Release|Win32.ActiveCfg = Release|Win32
915+
{7C56C0AF-4311-4D5B-BD32-DC240B4752B1}.Release|Win32.Build.0 = Release|Win32
916+
{7C56C0AF-4311-4D5B-BD32-DC240B4752B1}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
917+
{7C56C0AF-4311-4D5B-BD32-DC240B4752B1}.Releasedll|Win32.Build.0 = Releasedll|Win32
918+
{7C56C0AF-4311-4D5B-BD32-DC240B4752B1}.Template|Win32.ActiveCfg = Release|Win32
919+
{7C56C0AF-4311-4D5B-BD32-DC240B4752B1}.Template|Win32.Build.0 = Release|Win32
903920
EndGlobalSection
904921
GlobalSection(SolutionProperties) = preSolution
905922
HideSolutionNode = FALSE
@@ -940,6 +957,7 @@ Global
940957
{7C9D5B5D-BA0A-4824-9965-3411E2B8A613} = {A5DD26EC-A86B-4FDE-9755-126D32CC5ECA}
941958
{3311B16C-D9A4-4945-9C76-DF89BF1A5B66} = {40474FC9-B138-46A7-BC32-338948234E38}
942959
{68F0F844-7072-47C5-BE72-221BE3CACFC4} = {40474FC9-B138-46A7-BC32-338948234E38}
960+
{7C56C0AF-4311-4D5B-BD32-DC240B4752B1} = {40474FC9-B138-46A7-BC32-338948234E38}
943961
{2DABFAD1-114B-4F96-9185-DC0C56A3662D} = {E13E15EC-19A7-4AF4-A147-38EA5CEDD3CD}
944962
{A1B397E8-0699-4912-A6F3-693F468CA0ED} = {E13E15EC-19A7-4AF4-A147-38EA5CEDD3CD}
945963
{55AF6A85-F829-47DC-A324-32837E0A7C9E} = {7B001BDA-0EFF-4EE0-89E7-C0EECE8955A9}

acl_cpp_vc2012.sln

+43
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "query", "lib_acl_cpp\sample
252252
EndProjectSection
253253
EndProject
254254
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mysql_query", "lib_acl_cpp\samples\db\mysql_query\mysql_query_vc2012.vcxproj", "{2495A6D4-777F-48BF-99C0-702E4A11FD23}"
255+
ProjectSection(ProjectDependencies) = postProject
256+
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
257+
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
258+
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
259+
EndProjectSection
255260
EndProject
256261
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "blank_line", "lib_acl_cpp\samples\string\blank_line\blank_line_vc2012.vcxproj", "{DEDE0B8A-35C5-4674-A10A-BF6544F6A885}"
257262
ProjectSection(ProjectDependencies) = postProject
@@ -542,6 +547,13 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "redis_geo", "lib_acl_cpp\sa
542547
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
543548
EndProjectSection
544549
EndProject
550+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mysql_pool", "lib_acl_cpp\samples\db\mysql_pool\mysql_pool_vc2012.vcxproj", "{EB430C52-31E4-4018-AD8A-8F56ADAD586A}"
551+
ProjectSection(ProjectDependencies) = postProject
552+
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
553+
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
554+
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
555+
EndProjectSection
556+
EndProject
545557
Global
546558
GlobalSection(SolutionConfigurationPlatforms) = preSolution
547559
Debug|Mixed Platforms = Debug|Mixed Platforms
@@ -2631,6 +2643,36 @@ Global
26312643
{AE10B13D-774D-49A5-9066-E90F124BA99C}.Template|Win32.Build.0 = DebugDll|Win32
26322644
{AE10B13D-774D-49A5-9066-E90F124BA99C}.Template|x64.ActiveCfg = DebugDll|x64
26332645
{AE10B13D-774D-49A5-9066-E90F124BA99C}.Template|x64.Build.0 = DebugDll|x64
2646+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
2647+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Debug|Mixed Platforms.Build.0 = Debug|Win32
2648+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Debug|Win32.ActiveCfg = Debug|Win32
2649+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Debug|Win32.Build.0 = Debug|Win32
2650+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Debug|x64.ActiveCfg = Debug|x64
2651+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Debug|x64.Build.0 = Debug|x64
2652+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.DebugDll|Mixed Platforms.ActiveCfg = DebugDll|Win32
2653+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.DebugDll|Mixed Platforms.Build.0 = DebugDll|Win32
2654+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
2655+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.DebugDll|Win32.Build.0 = DebugDll|Win32
2656+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.DebugDll|x64.ActiveCfg = DebugDll|x64
2657+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.DebugDll|x64.Build.0 = DebugDll|x64
2658+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Release|Mixed Platforms.ActiveCfg = Release|Win32
2659+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Release|Mixed Platforms.Build.0 = Release|Win32
2660+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Release|Win32.ActiveCfg = Release|Win32
2661+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Release|Win32.Build.0 = Release|Win32
2662+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Release|x64.ActiveCfg = Release|x64
2663+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Release|x64.Build.0 = Release|x64
2664+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Releasedll|Mixed Platforms.ActiveCfg = Releasedll|Win32
2665+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Releasedll|Mixed Platforms.Build.0 = Releasedll|Win32
2666+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
2667+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Releasedll|Win32.Build.0 = Releasedll|Win32
2668+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Releasedll|x64.ActiveCfg = Releasedll|x64
2669+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Releasedll|x64.Build.0 = Releasedll|x64
2670+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Template|Mixed Platforms.ActiveCfg = DebugDll|Win32
2671+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Template|Mixed Platforms.Build.0 = DebugDll|Win32
2672+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Template|Win32.ActiveCfg = DebugDll|Win32
2673+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Template|Win32.Build.0 = DebugDll|Win32
2674+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Template|x64.ActiveCfg = DebugDll|x64
2675+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A}.Template|x64.Build.0 = DebugDll|x64
26342676
EndGlobalSection
26352677
GlobalSection(SolutionProperties) = preSolution
26362678
HideSolutionNode = FALSE
@@ -2696,6 +2738,7 @@ Global
26962738
{5F75216D-8263-4F6F-9390-76E7AC129AEE} = {3A25DC67-2832-4912-8FD5-66E499E38F11}
26972739
{D1F030D1-36F7-4440-9801-42E31E767A52} = {FB676B5A-D82C-45CB-9E1F-F3793419DDA9}
26982740
{2495A6D4-777F-48BF-99C0-702E4A11FD23} = {FB676B5A-D82C-45CB-9E1F-F3793419DDA9}
2741+
{EB430C52-31E4-4018-AD8A-8F56ADAD586A} = {FB676B5A-D82C-45CB-9E1F-F3793419DDA9}
26992742
{640ABB35-FBD3-4D34-A382-9ED8CF3FCE34} = {267F658E-44AF-4080-8577-EFCE99A5E030}
27002743
{4B58485B-D846-4485-9C5E-7F2304D71701} = {267F658E-44AF-4080-8577-EFCE99A5E030}
27012744
{9073FA9F-26A1-482C-91D0-876434C3E4EB} = {267F658E-44AF-4080-8577-EFCE99A5E030}

dist/lib/freebsd/keep.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
keepme

dist/lib/linux32/keep.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
keepme

dist/lib/linux64/keep.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
keepme

dist/lib/macos/keep.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
keepme

dist/lib/solaris/keep.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
keepme

lib/freebsd/keep.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
keep

lib/linux32/keep.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
keep

lib/linux64/keep.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
keep

lib/macos/keep.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
keep

lib/solaris/keep.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
keep

lib/win32/keep.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
keep

lib/win64/keep.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
keep

lib_acl_cpp/Makefile

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ CFLAGS = -c -g -W \
1515
-D_POSIX_PTHREAD_SEMANTICS \
1616
-Wno-long-long \
1717
-Wformat \
18-
-DHAS_POLARSSL
18+
-DHAS_POLARSSL \
19+
-DHAS_MYSQL_DLL
1920
#-DUSE_DYNAMIC
2021
# -Wcast-align
2122
#-Wcast-qual

lib_acl_cpp/changes.txt

+17
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,23 @@
11
�޸���ʷ�б���
22

33
------------------------------------------------------------------------
4+
335) 2015.8.2
5+
335.1) feature: db_handle/db_mysql/db_sqlite �����ṩ�˾�̬�����������ö�̬�⶯̬
6+
���ص�ȫ·��
7+
335.2) feature: mysql ģ�鹦����Ĭ�ϱ���ʱ������� lib_acl_cpp ���У�
8+
�� db_mysql ģ��Ĭ�ϲ��ö�̬���ط�ʽ
9+
335.3) samples/db/mysql_query: ������ʾ������
10+
335.4) samples: ������ʾ�� samples/db/mysql_pool���������Զ��̻߳����µ����ݿ�
11+
���ӳز���
12+
13+
334) 2015.8.1
14+
334.1) feature: ��Ա�׼�����������������������stdin_stream, stdout_stream
15+
334.2) sample: db/mysql_query ��������
16+
17+
333) 2015.7.31
18+
333.1) feature: HttpServlet ���еķ��� doRun �ڲ�����Ӧ�ͻ�������ʱ��������
19+
���ݿͻ��˵�����ͷ�ֶ�(Connection) �Զ�������Ӧͷ�е� Connection ͷ�ֶ�
20+
421
332) 2015.7.30
522
332.1) bugfix: redis_command::redirect() �����ڵ� cluster->peek() ���� NULL
623
ʱӦ��ֱ�ӷ��� NULL

lib_acl_cpp/include/acl_cpp/db/db_handle.hpp

+13-2
Original file line numberDiff line numberDiff line change
@@ -245,10 +245,10 @@ class ACL_CPP_API db_handle
245245

246246
/**
247247
* 纯虚接口,子类必须实现此接口用于打开数据库
248-
* @param local_charset {const char*} 本地字符集(GBK, UTF8, ...)
248+
* @param local_charset {const char*} 本地字符集(gbk, utf8, ...)
249249
* @return {bool} 打开是否成功
250250
*/
251-
virtual bool open(const char* local_charset = "GBK") = 0;
251+
virtual bool open(const char* local_charset = "utf8") = 0;
252252

253253
/**
254254
* 数据库是否已经打开了
@@ -418,6 +418,17 @@ class ACL_CPP_API db_handle
418418
return when_;
419419
}
420420

421+
/**
422+
* 当采用动态加载方式加载动态库时,可以使用此函数设置动态库的加载全路径
423+
*/
424+
static void set_loadpath(const char* path);
425+
426+
/**
427+
* 当设置了动态库的动态加载全路径时,可以通过本函数获得动态库加载全路径
428+
* @return {const char*} 当未设置时则返回 NULL
429+
*/
430+
static const char* get_loadpath();
431+
421432
protected:
422433
// 临时结果对象
423434
db_rows* result_;

lib_acl_cpp/include/acl_cpp/db/db_mysql.hpp

+12-12
Original file line numberDiff line numberDiff line change
@@ -45,67 +45,67 @@ class ACL_CPP_API db_mysql : public db_handle
4545
* 返回数据库的类型描述
4646
* @return {const char*}
4747
*/
48-
virtual const char* dbtype() const;
48+
const char* dbtype() const;
4949

5050
/**
5151
* 获得上次数据库操作的出错错误号
5252
* @return {int}
5353
*/
54-
virtual int get_errno() const;
54+
int get_errno() const;
5555

5656
/**
5757
* 获得上次数据库操作的出错错描述
5858
* @return {const char*}
5959
*/
60-
virtual const char* get_error() const;
60+
const char* get_error() const;
6161

6262
/**
6363
* 基类 db_handle 的纯虚接口
64-
* @param local_charset {const char*} 本地字符集
64+
* @param local_charset {const char*} 本地字符集(gbk, utf8, ...)
6565
* @return {bool} 打开是否成功
6666
*/
67-
virtual bool open(const char* local_charset = "GBK");
67+
bool open(const char* local_charset = "utf8");
6868

6969
/**
7070
* 基类 db_handle 的纯虚接口,数据库是否已经打开了
7171
* @return {bool} 返回 true 表明数据库已经打开了
7272
*/
73-
virtual bool is_opened() const;
73+
bool is_opened() const;
7474

7575
/**
7676
* 基类 db_handle 的纯虚接口
7777
* @return {bool} 关闭是否成功
7878
*/
79-
virtual bool close(void);
79+
bool close(void);
8080

8181
/**
8282
* 基类 db_handle 的纯虚接口,子类必须实现此接口用于判断数据表是否存在
8383
* @return {bool} 是否存在
8484
*/
85-
virtual bool tbl_exists(const char* tbl_name);
85+
bool tbl_exists(const char* tbl_name);
8686

8787
/**
8888
* 基类 db_handle 的纯虚接口
8989
* @param sql {const char*} 标准的 SQL 语句,非空,并且一定得要注册该
9090
* SQL 语句必须经过转义处理,以防止 SQL 注入攻击
9191
* @return {bool} 执行是否成功
9292
*/
93-
virtual bool sql_select(const char* sql);
93+
bool sql_select(const char* sql);
9494

9595
/**
9696
* 基类 db_handle 的纯虚接口
9797
* @param sql {const char*} 标准的 SQL 语句,非空,并且一定得要注册该
9898
* SQL 语句必须经过转义处理,以防止 SQL 注入攻击
9999
* @return {bool} 执行是否成功
100100
*/
101-
virtual bool sql_update(const char* sql);
101+
bool sql_update(const char* sql);
102102

103103
/**
104104
* 基类 db_handle 的纯虚接口:上次 sql 操作影响的记录行数
105105
* @return {int} 影响的行数,-1 表示出错
106106
*/
107-
virtual int affect_count() const;
108-
protected:
107+
int affect_count() const;
108+
109109
private:
110110
char* dbaddr_; // 数据库监听地址
111111
char* dbname_; // 数据库名

lib_acl_cpp/include/acl_cpp/db/db_sqlite.hpp

+12-11
Original file line numberDiff line numberDiff line change
@@ -71,66 +71,67 @@ class ACL_CPP_API db_sqlite : public db_handle
7171
* 返回数据库的类型描述
7272
* @return {const char*}
7373
*/
74-
virtual const char* dbtype() const;
74+
const char* dbtype() const;
7575

7676
/**
7777
* 获得上次数据库操作的出错错误号
7878
* @return {int}
7979
*/
80-
virtual int get_errno() const;
80+
int get_errno() const;
8181

8282
/**
8383
* 获得上次数据库操作的出错错描述
8484
* @return {const char*}
8585
*/
86-
virtual const char* get_error() const;
86+
const char* get_error() const;
8787

8888
/**
8989
* 基类 db_handle 的纯虚接口
90-
* @param local_charset {const char*} 本地字符集
90+
* @param local_charset {const char*} 本地字符集(gbk, utf-8, ...)
9191
* @return {bool} 打开是否成功
9292
*/
93-
virtual bool open(const char* local_charset = "GBK");
93+
bool open(const char* local_charset = "utf-8");
9494

9595
/**
9696
* 基类 db_handle 的纯虚接口,数据库是否已经打开了
9797
* @return {bool} 返回 true 表明数据库已经打开了
9898
*/
99-
virtual bool is_opened() const;
99+
bool is_opened() const;
100100

101101
/**
102102
* 基类 db_handle 的纯虚接口
103103
* @return {bool} 关闭是否成功
104104
*/
105-
virtual bool close(void);
105+
bool close(void);
106106

107107
/**
108108
* 基类 db_handle 的纯虚接口,子类必须实现此接口用于判断数据表是否存在
109109
* @return {bool} 是否存在
110110
*/
111-
virtual bool tbl_exists(const char* tbl_name);
111+
bool tbl_exists(const char* tbl_name);
112112

113113
/**
114114
* 基类 db_handle 的纯虚接口
115115
* @param sql {const char*} 标准的 SQL 语句,非空,并且一定得要注册该
116116
* SQL 语句必须经过转义处理,以防止 SQL 注入攻击
117117
* @return {bool} 执行是否成功
118118
*/
119-
virtual bool sql_select(const char* sql);
119+
bool sql_select(const char* sql);
120120

121121
/**
122122
* 基类 db_handle 的纯虚接口
123123
* @param sql {const char*} 标准的 SQL 语句,非空,并且一定得要注册该
124124
* SQL 语句必须经过转义处理,以防止 SQL 注入攻击
125125
* @return {bool} 执行是否成功
126126
*/
127-
virtual bool sql_update(const char* sql);
127+
bool sql_update(const char* sql);
128128

129129
/**
130130
* 基类 db_handle 的纯虚接口:上次 sql 操作影响的记录行数
131131
* @return {int} 影响的行数,-1 表示出错
132132
*/
133-
virtual int affect_count() const;
133+
int affect_count() const;
134+
134135
private:
135136
// sqlite 引擎
136137
sqlite3* db_;

0 commit comments

Comments
 (0)