Mercurial > dovecot > core-2.2
annotate src/lib-dict/dict-sql-settings.h @ 22325:e01bc3015b2f
lib-index: Check .log.2 rotation only when syncing
Instead of also whenever appending transactions to .log file. This
shouldn't change the behavior much, and it's needed for the following
change to work correctly.
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Tue, 11 Jul 2017 15:33:56 +0300 |
parents | c22acf3af571 |
children | 124286dedf19 |
rev | line source |
---|---|
8113
2d3e942a4cde
dict sql: Added configuration for mapping dict paths to SQL fields.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
1 #ifndef DICT_SQL_SETTINGS_H |
2d3e942a4cde
dict sql: Added configuration for mapping dict paths to SQL fields.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
2 #define DICT_SQL_SETTINGS_H |
2d3e942a4cde
dict sql: Added configuration for mapping dict paths to SQL fields.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
3 |
19256
6785752f1e25
dict-sql: Added support for extensible field types.
Timo Sirainen <tss@iki.fi>
parents:
19073
diff
changeset
|
4 enum dict_sql_type { |
6785752f1e25
dict-sql: Added support for extensible field types.
Timo Sirainen <tss@iki.fi>
parents:
19073
diff
changeset
|
5 DICT_SQL_TYPE_STRING = 0, |
19257
22015b472147
dict-sql: Added support for "uint" field type.
Timo Sirainen <tss@iki.fi>
parents:
19256
diff
changeset
|
6 DICT_SQL_TYPE_UINT, |
19256
6785752f1e25
dict-sql: Added support for extensible field types.
Timo Sirainen <tss@iki.fi>
parents:
19073
diff
changeset
|
7 DICT_SQL_TYPE_HEXBLOB |
6785752f1e25
dict-sql: Added support for extensible field types.
Timo Sirainen <tss@iki.fi>
parents:
19073
diff
changeset
|
8 }; |
6785752f1e25
dict-sql: Added support for extensible field types.
Timo Sirainen <tss@iki.fi>
parents:
19073
diff
changeset
|
9 |
19073
0453c466c601
dict-sql: Implemented support for binary fields.
Timo Sirainen <tss@iki.fi>
parents:
15218
diff
changeset
|
10 struct dict_sql_field { |
0453c466c601
dict-sql: Implemented support for binary fields.
Timo Sirainen <tss@iki.fi>
parents:
15218
diff
changeset
|
11 const char *name; |
19256
6785752f1e25
dict-sql: Added support for extensible field types.
Timo Sirainen <tss@iki.fi>
parents:
19073
diff
changeset
|
12 enum dict_sql_type value_type; |
19073
0453c466c601
dict-sql: Implemented support for binary fields.
Timo Sirainen <tss@iki.fi>
parents:
15218
diff
changeset
|
13 }; |
0453c466c601
dict-sql: Implemented support for binary fields.
Timo Sirainen <tss@iki.fi>
parents:
15218
diff
changeset
|
14 |
8113
2d3e942a4cde
dict sql: Added configuration for mapping dict paths to SQL fields.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
15 struct dict_sql_map { |
2d3e942a4cde
dict sql: Added configuration for mapping dict paths to SQL fields.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
16 /* pattern is in simplified form: all variables are stored as simple |
2d3e942a4cde
dict sql: Added configuration for mapping dict paths to SQL fields.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
17 '$' character. fields array is sorted by the variable index. */ |
2d3e942a4cde
dict sql: Added configuration for mapping dict paths to SQL fields.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
18 const char *pattern; |
2d3e942a4cde
dict sql: Added configuration for mapping dict paths to SQL fields.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
19 const char *table; |
2d3e942a4cde
dict sql: Added configuration for mapping dict paths to SQL fields.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
20 const char *username_field; |
2d3e942a4cde
dict sql: Added configuration for mapping dict paths to SQL fields.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
21 const char *value_field; |
19298
6bb60a869c71
dict-sql: Added support for value_type field, which deprecates value_hexblob.
Timo Sirainen <tss@iki.fi>
parents:
19257
diff
changeset
|
22 const char *value_type; |
19073
0453c466c601
dict-sql: Implemented support for binary fields.
Timo Sirainen <tss@iki.fi>
parents:
15218
diff
changeset
|
23 bool value_hexblob; |
8113
2d3e942a4cde
dict sql: Added configuration for mapping dict paths to SQL fields.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
24 |
19073
0453c466c601
dict-sql: Implemented support for binary fields.
Timo Sirainen <tss@iki.fi>
parents:
15218
diff
changeset
|
25 ARRAY(struct dict_sql_field) sql_fields; |
21401
c22acf3af571
dict-sql: Support multiple values for lookups
Timo Sirainen <timo.sirainen@dovecot.fi>
parents:
20165
diff
changeset
|
26 |
c22acf3af571
dict-sql: Support multiple values for lookups
Timo Sirainen <timo.sirainen@dovecot.fi>
parents:
20165
diff
changeset
|
27 /* generated: */ |
c22acf3af571
dict-sql: Support multiple values for lookups
Timo Sirainen <timo.sirainen@dovecot.fi>
parents:
20165
diff
changeset
|
28 unsigned int values_count; |
c22acf3af571
dict-sql: Support multiple values for lookups
Timo Sirainen <timo.sirainen@dovecot.fi>
parents:
20165
diff
changeset
|
29 const char *const *value_fields; |
c22acf3af571
dict-sql: Support multiple values for lookups
Timo Sirainen <timo.sirainen@dovecot.fi>
parents:
20165
diff
changeset
|
30 const enum dict_sql_type *value_types; |
8113
2d3e942a4cde
dict sql: Added configuration for mapping dict paths to SQL fields.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
31 }; |
2d3e942a4cde
dict sql: Added configuration for mapping dict paths to SQL fields.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
32 |
2d3e942a4cde
dict sql: Added configuration for mapping dict paths to SQL fields.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
33 struct dict_sql_settings { |
2d3e942a4cde
dict sql: Added configuration for mapping dict paths to SQL fields.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
34 const char *connect; |
2d3e942a4cde
dict sql: Added configuration for mapping dict paths to SQL fields.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
35 |
2d3e942a4cde
dict sql: Added configuration for mapping dict paths to SQL fields.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
36 unsigned int max_field_count; |
14920
a097ef0a9d6d
Array API changed: ARRAY_DEFINE(name, type) -> ARRAY(type) name
Timo Sirainen <tss@iki.fi>
parents:
8113
diff
changeset
|
37 ARRAY(struct dict_sql_map) maps; |
8113
2d3e942a4cde
dict sql: Added configuration for mapping dict paths to SQL fields.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
38 }; |
2d3e942a4cde
dict sql: Added configuration for mapping dict paths to SQL fields.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
39 |
15218
22c22d704422
lib-dict: dict_init() now returns error string instead of logging it
Timo Sirainen <tss@iki.fi>
parents:
14920
diff
changeset
|
40 struct dict_sql_settings * |
20165
87d2e33aef64
dict-sql: Cache reading settings files.
Timo Sirainen <timo.sirainen@dovecot.fi>
parents:
19298
diff
changeset
|
41 dict_sql_settings_read(const char *path, const char **error_r); |
87d2e33aef64
dict-sql: Cache reading settings files.
Timo Sirainen <timo.sirainen@dovecot.fi>
parents:
19298
diff
changeset
|
42 |
87d2e33aef64
dict-sql: Cache reading settings files.
Timo Sirainen <timo.sirainen@dovecot.fi>
parents:
19298
diff
changeset
|
43 void dict_sql_settings_deinit(void); |
8113
2d3e942a4cde
dict sql: Added configuration for mapping dict paths to SQL fields.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
44 |
2d3e942a4cde
dict sql: Added configuration for mapping dict paths to SQL fields.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
45 #endif |