summaryrefslogtreecommitdiffstats
path: root/src/sqlite3gen.cpp
diff options
context:
space:
mode:
authorAdrian Negreanu <groleo@gmail.com>2017-10-18 13:10:53 (GMT)
committerAdrian Negreanu <groleo@gmail.com>2017-10-25 10:47:11 (GMT)
commit3b3d1edeacde99719456b8f1616077707a5a2012 (patch)
tree28e861e870182203c2ac9963dd5d441be719b64b /src/sqlite3gen.cpp
parent1ec8f0eb9169fc3f9ab82b60712a332bf60728bf (diff)
downloadDoxygen-3b3d1edeacde99719456b8f1616077707a5a2012.zip
Doxygen-3b3d1edeacde99719456b8f1616077707a5a2012.tar.gz
Doxygen-3b3d1edeacde99719456b8f1616077707a5a2012.tar.bz2
sqlite3gen: add index on params
Diffstat (limited to 'src/sqlite3gen.cpp')
-rw-r--r--src/sqlite3gen.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/sqlite3gen.cpp b/src/sqlite3gen.cpp
index 3495206..19cef7c 100644
--- a/src/sqlite3gen.cpp
+++ b/src/sqlite3gen.cpp
@@ -192,11 +192,13 @@ const char * schema_queries[][2] = {
"\tattributes TEXT,\n"
"\ttype TEXT,\n"
"\tdeclname TEXT,\n"
- "\tdefname TEXT,\n"
+ "\tdefname TEXT,\n"
"\tarray TEXT,\n"
"\tdefval TEXT,\n"
"\tbriefdescription TEXT\n"
");"
+ "CREATE UNIQUE INDEX idx_params ON params\n"
+ "\t(type, defname);"
},
{ "memberdef_params",
"CREATE TABLE IF NOT EXISTS memberdef_params (\n"
@@ -621,6 +623,10 @@ static void insertMemberFunctionParams(sqlite3 *db,int id_memberdef, const Membe
if (id_param==0) {
id_param=step(db,params_insert,TRUE);
}
+ if (id_param==-1) {
+ msg("error INSERT params failed\n");
+ continue;
+ }
bindIntParameter(memberdef_params_insert,":id_memberdef",id_memberdef);
bindIntParameter(memberdef_params_insert,":id_param",id_param);
@@ -644,6 +650,10 @@ static void insertMemberDefineParams(sqlite3 *db,int id_memberdef,const MemberDe
{
bindTextParameter(params_insert,":defname",a->type.data());
int id_param=step(db,params_insert,TRUE);
+ if (id_param==-1) {
+ msg("error INSERT param(%s) failed\n", a->type.data());
+ continue;
+ }
bindIntParameter(memberdef_params_insert,":id_memberdef",id_memberdef);
bindIntParameter(memberdef_params_insert,":id_param",id_param);