Diffstat (limited to 'libopie2/opiedb/osqlitedriver.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libopie2/opiedb/osqlitedriver.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libopie2/opiedb/osqlitedriver.cpp b/libopie2/opiedb/osqlitedriver.cpp index 92f89cf..c8b560f 100644 --- a/libopie2/opiedb/osqlitedriver.cpp +++ b/libopie2/opiedb/osqlitedriver.cpp | |||
@@ -27,26 +27,26 @@ | |||
27 | Boston, MA 02111-1307, USA. | 27 | Boston, MA 02111-1307, USA. |
28 | 28 | ||
29 | */ | 29 | */ |
30 | 30 | ||
31 | #include "osqlquery.h" | 31 | #include "osqlquery.h" |
32 | #include "osqlitedriver.h" | 32 | #include "osqlitedriver.h" |
33 | 33 | ||
34 | #include <opie2/odebug.h> | 34 | #include <opie2/odebug.h> |
35 | 35 | ||
36 | #include <stdlib.h> | 36 | #include <stdlib.h> |
37 | #include <stdio.h> | 37 | #include <stdio.h> |
38 | 38 | ||
39 | namespace Opie { | 39 | namespace Opie { |
40 | namespace DB { | 40 | namespace DB { |
41 | namespace Internal { | 41 | namespace Internal { |
42 | 42 | ||
43 | namespace { | 43 | namespace { |
44 | struct Query { | 44 | struct Query { |
45 | OSQLError::ValueList errors; | 45 | OSQLError::ValueList errors; |
46 | OSQLResultItem::ValueList items; | 46 | OSQLResultItem::ValueList items; |
47 | OSQLiteDriver *driver; | 47 | OSQLiteDriver *driver; |
48 | }; | 48 | }; |
49 | } | 49 | } |
50 | 50 | ||
51 | 51 | ||
52 | OSQLiteDriver::OSQLiteDriver( QLibrary *lib ) | 52 | OSQLiteDriver::OSQLiteDriver( QLibrary *lib ) |
@@ -95,49 +95,49 @@ int sqliteRlikeCompare(const char *zPattern, const char *zString, sqregex *reg){ | |||
95 | if ( res != 0 ) { | 95 | if ( res != 0 ) { |
96 | printf("Regcomp failed with code %u on string %s\n",res,zPattern); | 96 | printf("Regcomp failed with code %u on string %s\n",res,zPattern); |
97 | free(reg->regex_raw); | 97 | free(reg->regex_raw); |
98 | reg->regex_raw=NULL; | 98 | reg->regex_raw=NULL; |
99 | return 0; | 99 | return 0; |
100 | } | 100 | } |
101 | } | 101 | } |
102 | res = (regexec(®->regex_c, zString, 0, NULL, 0)==0); | 102 | res = (regexec(®->regex_c, zString, 0, NULL, 0)==0); |
103 | return res; | 103 | return res; |
104 | } | 104 | } |
105 | 105 | ||
106 | void rlikeFunc(sqlite_func *context, int arg, const char **argv){ | 106 | void rlikeFunc(sqlite_func *context, int arg, const char **argv){ |
107 | if( argv[0]==0 || argv[1]==0 ){ | 107 | if( arg < 2 || argv[0]==0 || argv[1]==0 ){ |
108 | printf("One of arguments Null!!\n"); | 108 | printf("One of arguments Null!!\n"); |
109 | return; | 109 | return; |
110 | } | 110 | } |
111 | sqlite_set_result_int(context, | 111 | sqlite_set_result_int(context, |
112 | sqliteRlikeCompare((const char*)argv[0], | 112 | sqliteRlikeCompare((const char*)argv[0], |
113 | (const char*)argv[1], (sqregex *)sqlite_user_data(context) )); | 113 | (const char*)argv[1], (sqregex *)sqlite_user_data(context) )); |
114 | } | 114 | } |
115 | 115 | ||
116 | /* | 116 | /* |
117 | * try to open a db specified via setUrl | 117 | * try to open a db specified via setUrl |
118 | * and options | 118 | * and options |
119 | */ | 119 | */ |
120 | bool OSQLiteDriver::open() { | 120 | bool OSQLiteDriver::open() { |
121 | char *error; | 121 | char *error; |
122 | 122 | ||
123 | odebug << "OSQLiteDriver::open: about to open" << oendl; | 123 | odebug << "OSQLiteDriver::open: about to open" << oendl; |
124 | m_sqlite = sqlite_open(m_url.local8Bit(), | 124 | m_sqlite = sqlite_open(m_url.local8Bit(), |
125 | 0, | 125 | 0, |
126 | &error ); | 126 | &error ); |
127 | 127 | ||
128 | /* failed to open */ | 128 | /* failed to open */ |
129 | if (m_sqlite == 0l ) { | 129 | if (m_sqlite == 0l ) { |
130 | // FIXME set the last error | 130 | // FIXME set the last error |
131 | owarn << "OSQLiteDriver::open: " << error << "" << oendl; | 131 | owarn << "OSQLiteDriver::open: " << error << "" << oendl; |
132 | free( error ); | 132 | free( error ); |
133 | return false; | 133 | return false; |
134 | } | 134 | } |
135 | if (sqlite_create_function(m_sqlite,"rlike",2,rlikeFunc,&sqreg) != 0) | 135 | if (sqlite_create_function(m_sqlite,"rlike",2,rlikeFunc,&sqreg) != 0) |
136 | odebug << "Unable to create user defined function!" << oendl; | 136 | odebug << "Unable to create user defined function!" << oendl; |
137 | if (sqlite_function_type(m_sqlite,"rlike",SQLITE_NUMERIC) != 0) | 137 | if (sqlite_function_type(m_sqlite,"rlike",SQLITE_NUMERIC) != 0) |
138 | odebug << "Unable to set rlike function result type!" << oendl; | 138 | odebug << "Unable to set rlike function result type!" << oendl; |
139 | sqreg.regex_raw = NULL; | 139 | sqreg.regex_raw = NULL; |
140 | return true; | 140 | return true; |
141 | } | 141 | } |
142 | 142 | ||
143 | 143 | ||
@@ -174,25 +174,25 @@ OSQLResult OSQLiteDriver::query( OSQLQuery* qu) { | |||
174 | free( err ); | 174 | free( err ); |
175 | // FixMe Errors | 175 | // FixMe Errors |
176 | } | 176 | } |
177 | 177 | ||
178 | OSQLResult result(OSQLResult::Success, | 178 | OSQLResult result(OSQLResult::Success, |
179 | query.items, | 179 | query.items, |
180 | query.errors ); | 180 | query.errors ); |
181 | return result; | 181 | return result; |
182 | } | 182 | } |
183 | 183 | ||
184 | 184 | ||
185 | OSQLTable::ValueList OSQLiteDriver::tables() const { | 185 | OSQLTable::ValueList OSQLiteDriver::tables() const { |
186 | 186 | return OSQLTable::ValueList(); | |
187 | } | 187 | } |
188 | 188 | ||
189 | 189 | ||
190 | OSQLError OSQLiteDriver::lastError() { | 190 | OSQLError OSQLiteDriver::lastError() { |
191 | OSQLError error; | 191 | OSQLError error; |
192 | return error; | 192 | return error; |
193 | }; | 193 | }; |
194 | 194 | ||
195 | 195 | ||
196 | /* handle a callback add the row to the global | 196 | /* handle a callback add the row to the global |
197 | * OSQLResultItem | 197 | * OSQLResultItem |
198 | */ | 198 | */ |