-rw-r--r-- | libopie2/opiedb/osqlbackend.cpp | 0 | ||||
-rw-r--r-- | libopie2/opiedb/osqlitedriver.cpp | 4 | ||||
-rw-r--r-- | libopie2/opiedb/osqlresult.cpp | 2 | ||||
-rw-r--r-- | libopie2/opiedb/osqltable.h | 2 |
4 files changed, 5 insertions, 3 deletions
diff --git a/libopie2/opiedb/osqlbackend.cpp b/libopie2/opiedb/osqlbackend.cpp index aede7c1..5c37480 100644 --- a/libopie2/opiedb/osqlbackend.cpp +++ b/libopie2/opiedb/osqlbackend.cpp | |||
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 | |||
@@ -83,49 +83,49 @@ void OSQLiteDriver::setOptions( const QStringList& ) { | |||
83 | * Functions to patch a regex search into sqlite | 83 | * Functions to patch a regex search into sqlite |
84 | */ | 84 | */ |
85 | int sqliteRlikeCompare(const char *zPattern, const char *zString, sqregex *reg){ | 85 | int sqliteRlikeCompare(const char *zPattern, const char *zString, sqregex *reg){ |
86 | int res; | 86 | int res; |
87 | if (reg->regex_raw == NULL || (strcmp (zPattern, reg->regex_raw) != 0)){ | 87 | if (reg->regex_raw == NULL || (strcmp (zPattern, reg->regex_raw) != 0)){ |
88 | if (reg->regex_raw != NULL) { | 88 | if (reg->regex_raw != NULL) { |
89 | free(reg->regex_raw); | 89 | free(reg->regex_raw); |
90 | regfree(®->regex_c); | 90 | regfree(®->regex_c); |
91 | } | 91 | } |
92 | reg->regex_raw = (char *)malloc(strlen(zPattern)+1); | 92 | reg->regex_raw = (char *)malloc(strlen(zPattern)+1); |
93 | strncpy(reg->regex_raw, zPattern, strlen(zPattern)+1); | 93 | strncpy(reg->regex_raw, zPattern, strlen(zPattern)+1); |
94 | res = regcomp(®->regex_c, zPattern, REG_EXTENDED); | 94 | res = regcomp(®->regex_c, zPattern, REG_EXTENDED); |
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; |
@@ -162,49 +162,49 @@ bool OSQLiteDriver::close() { | |||
162 | OSQLResult OSQLiteDriver::query( OSQLQuery* qu) { | 162 | OSQLResult OSQLiteDriver::query( OSQLQuery* qu) { |
163 | if ( !m_sqlite ) { | 163 | if ( !m_sqlite ) { |
164 | // FIXME set error code | 164 | // FIXME set error code |
165 | OSQLResult result( OSQLResult::Failure ); | 165 | OSQLResult result( OSQLResult::Failure ); |
166 | return result; | 166 | return result; |
167 | } | 167 | } |
168 | Query query; | 168 | Query query; |
169 | query.driver = this; | 169 | query.driver = this; |
170 | char *err; | 170 | char *err; |
171 | /* SQLITE_OK 0 if return code > 0 == failure */ | 171 | /* SQLITE_OK 0 if return code > 0 == failure */ |
172 | if ( sqlite_exec(m_sqlite, qu->query().utf8(),&call_back, &query, &err) > 0 ) { | 172 | if ( sqlite_exec(m_sqlite, qu->query().utf8(),&call_back, &query, &err) > 0 ) { |
173 | owarn << "OSQLiteDriver::query: Error while executing " << err << "" << oendl; | 173 | owarn << "OSQLiteDriver::query: Error while executing " << err << "" << oendl; |
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 | */ |
199 | int OSQLiteDriver::handleCallBack( int, char**, char** ) { | 199 | int OSQLiteDriver::handleCallBack( int, char**, char** ) { |
200 | return 0; | 200 | return 0; |
201 | } | 201 | } |
202 | 202 | ||
203 | 203 | ||
204 | /* callback_handler add the values to the list*/ | 204 | /* callback_handler add the values to the list*/ |
205 | int OSQLiteDriver::call_back( void* voi, int argc, | 205 | int OSQLiteDriver::call_back( void* voi, int argc, |
206 | char** argv, char** columns) { | 206 | char** argv, char** columns) { |
207 | Query* qu = (Query*)voi; | 207 | Query* qu = (Query*)voi; |
208 | 208 | ||
209 | //copy them over to a OSQLResultItem | 209 | //copy them over to a OSQLResultItem |
210 | QMap<QString, QString> tableString; | 210 | QMap<QString, QString> tableString; |
diff --git a/libopie2/opiedb/osqlresult.cpp b/libopie2/opiedb/osqlresult.cpp index 268ac8e..a34ab2f 100644 --- a/libopie2/opiedb/osqlresult.cpp +++ b/libopie2/opiedb/osqlresult.cpp | |||
@@ -50,52 +50,54 @@ QString OSQLResultItem::data( int column, bool *ok ) const { | |||
50 | return QString::null; | 50 | return QString::null; |
51 | } | 51 | } |
52 | } | 52 | } |
53 | /* | 53 | /* |
54 | * DateFormat is 'YYYY-MM-DD' | 54 | * DateFormat is 'YYYY-MM-DD' |
55 | */ | 55 | */ |
56 | QDate OSQLResultItem::dataToDate( const QString& column, bool *ok ) { | 56 | QDate OSQLResultItem::dataToDate( const QString& column, bool *ok ) { |
57 | QDate date = QDate::currentDate(); | 57 | QDate date = QDate::currentDate(); |
58 | QString str = data( column, ok ); | 58 | QString str = data( column, ok ); |
59 | if (!str.isEmpty() ) { | 59 | if (!str.isEmpty() ) { |
60 | ;// convert | 60 | ;// convert |
61 | } | 61 | } |
62 | return date; | 62 | return date; |
63 | } | 63 | } |
64 | QDate OSQLResultItem::dataToDate( int column, bool *ok ) { | 64 | QDate OSQLResultItem::dataToDate( int column, bool *ok ) { |
65 | QDate date = QDate::currentDate(); | 65 | QDate date = QDate::currentDate(); |
66 | QString str = data( column, ok ); | 66 | QString str = data( column, ok ); |
67 | if (!str.isEmpty() ) { | 67 | if (!str.isEmpty() ) { |
68 | ;// convert | 68 | ;// convert |
69 | } | 69 | } |
70 | return date; | 70 | return date; |
71 | 71 | ||
72 | } | 72 | } |
73 | QDateTime OSQLResultItem::dataToDateTime( const QString& column, bool *ok ) { | 73 | QDateTime OSQLResultItem::dataToDateTime( const QString& column, bool *ok ) { |
74 | // #FIXME xxx | ||
74 | QDateTime time = QDateTime::currentDateTime(); | 75 | QDateTime time = QDateTime::currentDateTime(); |
75 | return time; | 76 | return time; |
76 | } | 77 | } |
77 | QDateTime OSQLResultItem::dataToDateTime( int column, bool *ok ) { | 78 | QDateTime OSQLResultItem::dataToDateTime( int column, bool *ok ) { |
79 | // #FIXME xxx | ||
78 | QDateTime time = QDateTime::currentDateTime(); | 80 | QDateTime time = QDateTime::currentDateTime(); |
79 | return time; | 81 | return time; |
80 | } | 82 | } |
81 | 83 | ||
82 | OSQLResult::OSQLResult( enum State state, | 84 | OSQLResult::OSQLResult( enum State state, |
83 | const OSQLResultItem::ValueList& list, | 85 | const OSQLResultItem::ValueList& list, |
84 | const OSQLError::ValueList& error ) | 86 | const OSQLError::ValueList& error ) |
85 | : m_state( state ), m_list( list ), m_error( error ) | 87 | : m_state( state ), m_list( list ), m_error( error ) |
86 | { | 88 | { |
87 | 89 | ||
88 | } | 90 | } |
89 | OSQLResult::~OSQLResult() { | 91 | OSQLResult::~OSQLResult() { |
90 | 92 | ||
91 | } | 93 | } |
92 | OSQLResult::State OSQLResult::state()const { | 94 | OSQLResult::State OSQLResult::state()const { |
93 | return m_state; | 95 | return m_state; |
94 | } | 96 | } |
95 | void OSQLResult::setState( OSQLResult::State state ) { | 97 | void OSQLResult::setState( OSQLResult::State state ) { |
96 | m_state = state; | 98 | m_state = state; |
97 | } | 99 | } |
98 | OSQLError::ValueList OSQLResult::errors()const { | 100 | OSQLError::ValueList OSQLResult::errors()const { |
99 | return m_error; | 101 | return m_error; |
100 | } | 102 | } |
101 | void OSQLResult::setErrors( const OSQLError::ValueList& err ) { | 103 | void OSQLResult::setErrors( const OSQLError::ValueList& err ) { |
diff --git a/libopie2/opiedb/osqltable.h b/libopie2/opiedb/osqltable.h index 86c30dd..8dd786f 100644 --- a/libopie2/opiedb/osqltable.h +++ b/libopie2/opiedb/osqltable.h | |||
@@ -49,49 +49,49 @@ public: | |||
49 | 49 | ||
50 | /** | 50 | /** |
51 | * the field Type | 51 | * the field Type |
52 | */ | 52 | */ |
53 | Type type() const; | 53 | Type type() const; |
54 | QVariant more() const; | 54 | QVariant more() const; |
55 | private: | 55 | private: |
56 | class OSQLTableItemPrivate; | 56 | class OSQLTableItemPrivate; |
57 | OSQLTableItemPrivate* d; | 57 | OSQLTableItemPrivate* d; |
58 | Type m_type; | 58 | Type m_type; |
59 | QString m_field; | 59 | QString m_field; |
60 | QVariant m_var; | 60 | QVariant m_var; |
61 | }; | 61 | }; |
62 | 62 | ||
63 | /** | 63 | /** |
64 | * A OSQLTable consists of OSQLTableItems | 64 | * A OSQLTable consists of OSQLTableItems |
65 | */ | 65 | */ |
66 | class OSQLTable { | 66 | class OSQLTable { |
67 | public: | 67 | public: |
68 | typedef QValueList<OSQLTable> ValueList; | 68 | typedef QValueList<OSQLTable> ValueList; |
69 | 69 | ||
70 | /** | 70 | /** |
71 | * @param tableName the Name of the Table | 71 | * @param tableName the Name of the Table |
72 | */ | 72 | */ |
73 | OSQLTable(const QString& tableName); | 73 | OSQLTable(const QString& tableName = QString::null); |
74 | 74 | ||
75 | /** | 75 | /** |
76 | * d'tor | 76 | * d'tor |
77 | */ | 77 | */ |
78 | ~OSQLTable(); | 78 | ~OSQLTable(); |
79 | 79 | ||
80 | /** | 80 | /** |
81 | * setColumns sets the Columns of the Table | 81 | * setColumns sets the Columns of the Table |
82 | */ | 82 | */ |
83 | void setColumns( const OSQLTableItem::ValueList& ); | 83 | void setColumns( const OSQLTableItem::ValueList& ); |
84 | 84 | ||
85 | /** | 85 | /** |
86 | * returns all columns of the table | 86 | * returns all columns of the table |
87 | */ | 87 | */ |
88 | OSQLTableItem::ValueList columns() const; | 88 | OSQLTableItem::ValueList columns() const; |
89 | 89 | ||
90 | QString tableName()const; | 90 | QString tableName()const; |
91 | 91 | ||
92 | private: | 92 | private: |
93 | QString m_table; | 93 | QString m_table; |
94 | OSQLTableItem::ValueList m_list; | 94 | OSQLTableItem::ValueList m_list; |
95 | class Private; | 95 | class Private; |
96 | Private *d; | 96 | Private *d; |
97 | }; | 97 | }; |