poppler 2.2.0-x86-mingw32 → 2.2.1-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +5 -5
- data/ext/poppler/extconf.rb +1 -1
- data/lib/2.0/poppler.so +0 -0
- data/test/test_annotation.rb +3 -1
- data/test/test_page.rb +0 -18
- data/vendor/local/bin/cjpeg.exe +0 -0
- data/vendor/local/bin/djpeg.exe +0 -0
- data/vendor/local/bin/jpegtran.exe +0 -0
- data/vendor/local/bin/libjpeg-9.dll +0 -0
- data/vendor/local/bin/{libpoppler-44.dll → libpoppler-46.dll} +0 -0
- data/vendor/local/bin/libpoppler-cpp-0.dll +0 -0
- data/vendor/local/bin/libpoppler-glib-8.dll +0 -0
- data/vendor/local/bin/libsqlite3-0.dll +0 -0
- data/vendor/local/bin/pdfdetach.exe +0 -0
- data/vendor/local/bin/pdffonts.exe +0 -0
- data/vendor/local/bin/pdfimages.exe +0 -0
- data/vendor/local/bin/pdfinfo.exe +0 -0
- data/vendor/local/bin/pdfseparate.exe +0 -0
- data/vendor/local/bin/pdftocairo.exe +0 -0
- data/vendor/local/bin/pdftohtml.exe +0 -0
- data/vendor/local/bin/pdftoppm.exe +0 -0
- data/vendor/local/bin/pdftops.exe +0 -0
- data/vendor/local/bin/pdftotext.exe +0 -0
- data/vendor/local/bin/pdfunite.exe +0 -0
- data/vendor/local/bin/rdjpgcom.exe +0 -0
- data/vendor/local/bin/sqlite3.exe +0 -0
- data/vendor/local/bin/wrjpgcom.exe +0 -0
- data/vendor/local/include/jconfig.h +7 -1
- data/vendor/local/include/jmorecfg.h +68 -12
- data/vendor/local/include/jpeglib.h +19 -12
- data/vendor/local/include/poppler/cpp/poppler-document.h +104 -0
- data/vendor/local/include/poppler/cpp/poppler-embedded-file.h +55 -0
- data/vendor/local/include/poppler/cpp/poppler-font.h +91 -0
- data/vendor/local/include/poppler/cpp/poppler-global.h +111 -0
- data/vendor/local/include/poppler/cpp/poppler-image.h +71 -0
- data/vendor/local/include/poppler/cpp/poppler-page-renderer.h +66 -0
- data/vendor/local/include/poppler/cpp/poppler-page-transition.h +82 -0
- data/vendor/local/include/poppler/cpp/poppler-page.h +76 -0
- data/vendor/local/include/poppler/cpp/poppler-rectangle.h +84 -0
- data/vendor/local/include/poppler/cpp/poppler-toc.h +74 -0
- data/vendor/local/include/poppler/cpp/poppler-version.h +39 -0
- data/vendor/local/include/poppler/glib/poppler-annot.h +64 -0
- data/vendor/local/include/poppler/glib/poppler-enums.h +34 -0
- data/vendor/local/include/poppler/glib/poppler-features.h +1 -1
- data/vendor/local/include/poppler/glib/poppler-media.h +1 -1
- data/vendor/local/include/poppler/glib/poppler-page.h +61 -0
- data/vendor/local/include/poppler/glib/poppler-structure-element.h +357 -0
- data/vendor/local/include/poppler/glib/poppler.h +11 -1
- data/vendor/local/include/sqlite3.h +245 -89
- data/vendor/local/lib/girepository-1.0/Poppler-0.18.typelib +0 -0
- data/vendor/local/lib/libjpeg.a +0 -0
- data/vendor/local/lib/libjpeg.dll.a +0 -0
- data/vendor/local/lib/libjpeg.la +2 -2
- data/vendor/local/lib/libpoppler-cpp.a +0 -0
- data/vendor/local/lib/libpoppler-cpp.dll.a +0 -0
- data/vendor/local/lib/libpoppler-cpp.la +41 -0
- data/vendor/local/lib/libpoppler-glib.a +0 -0
- data/vendor/local/lib/libpoppler-glib.dll.a +0 -0
- data/vendor/local/lib/libpoppler-glib.la +2 -2
- data/vendor/local/lib/libpoppler.a +0 -0
- data/vendor/local/lib/libpoppler.dll.a +0 -0
- data/vendor/local/lib/libpoppler.la +4 -4
- data/vendor/local/lib/libsqlite3.a +0 -0
- data/vendor/local/lib/libsqlite3.dll.a +0 -0
- data/vendor/local/lib/libsqlite3.la +1 -1
- data/vendor/local/lib/pkgconfig/poppler-cairo.pc +2 -2
- data/vendor/local/lib/pkgconfig/poppler-cpp.pc +13 -0
- data/vendor/local/lib/pkgconfig/poppler-glib.pc +2 -2
- data/vendor/local/lib/pkgconfig/poppler-splash.pc +2 -2
- data/vendor/local/lib/pkgconfig/poppler.pc +1 -1
- data/vendor/local/lib/pkgconfig/sqlite3.pc +2 -2
- data/vendor/local/share/gir-1.0/Poppler-0.18.gir +2993 -169
- data/vendor/local/share/gtk-doc/html/poppler/PopplerAnnot.html +2674 -1137
- data/vendor/local/share/gtk-doc/html/poppler/PopplerAttachment.html +186 -133
- data/vendor/local/share/gtk-doc/html/poppler/PopplerDocument.html +2523 -1782
- data/vendor/local/share/gtk-doc/html/poppler/PopplerFormField.html +1071 -738
- data/vendor/local/share/gtk-doc/html/poppler/PopplerLayer.html +225 -146
- data/vendor/local/share/gtk-doc/html/poppler/PopplerMedia.html +276 -201
- data/vendor/local/share/gtk-doc/html/poppler/PopplerMovie.html +142 -101
- data/vendor/local/share/gtk-doc/html/poppler/PopplerPage.html +2191 -1421
- data/vendor/local/share/gtk-doc/html/poppler/PopplerStructureElement.html +3781 -0
- data/vendor/local/share/gtk-doc/html/poppler/annotation-glossary.html +30 -44
- data/vendor/local/share/gtk-doc/html/poppler/api-index-0-12.html +34 -39
- data/vendor/local/share/gtk-doc/html/poppler/api-index-0-14.html +27 -32
- data/vendor/local/share/gtk-doc/html/poppler/api-index-0-16.html +50 -55
- data/vendor/local/share/gtk-doc/html/poppler/api-index-0-18.html +23 -28
- data/vendor/local/share/gtk-doc/html/poppler/api-index-0-20.html +12 -15
- data/vendor/local/share/gtk-doc/html/poppler/api-index-0-22.html +18 -23
- data/vendor/local/share/gtk-doc/html/poppler/api-index-deprecated.html +12 -15
- data/vendor/local/share/gtk-doc/html/poppler/api-index-full.html +762 -280
- data/vendor/local/share/gtk-doc/html/poppler/ch01.html +12 -9
- data/vendor/local/share/gtk-doc/html/poppler/home.png +0 -0
- data/vendor/local/share/gtk-doc/html/poppler/index.html +7 -4
- data/vendor/local/share/gtk-doc/html/poppler/index.sgml +258 -269
- data/vendor/local/share/gtk-doc/html/poppler/left-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/poppler/left.png +0 -0
- data/vendor/local/share/gtk-doc/html/poppler/poppler-PopplerAction.html +454 -320
- data/vendor/local/share/gtk-doc/html/poppler/poppler-Version-and-Features-Information.html +102 -76
- data/vendor/local/share/gtk-doc/html/poppler/poppler-poppler.html +367 -278
- data/vendor/local/share/gtk-doc/html/poppler/poppler.devhelp2 +356 -409
- data/vendor/local/share/gtk-doc/html/poppler/right-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/poppler/right.png +0 -0
- data/vendor/local/share/gtk-doc/html/poppler/style.css +314 -104
- data/vendor/local/share/gtk-doc/html/poppler/up-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/poppler/up.png +0 -0
- data/vendor/local/share/man/man1/cjpeg.1 +23 -2
- data/vendor/local/share/man/man1/djpeg.1 +2 -2
- data/vendor/local/share/man/man1/jpegtran.1 +12 -4
- data/vendor/local/share/man/man1/pdfimages.1 +78 -7
- data/vendor/local/share/man/man1/pdfinfo.1 +6 -0
- data/vendor/local/share/man/man1/pdftocairo.1 +9 -17
- data/vendor/local/share/man/man1/pdftohtml.1 +1 -1
- data/vendor/local/share/man/man1/pdftoppm.1 +12 -0
- data/vendor/local/share/man/man1/pdftops.1 +10 -20
- data/vendor/local/share/man/man1/rdjpgcom.1 +1 -1
- data/vendor/local/share/man/man1/sqlite3.1 +72 -22
- metadata +34 -15
- data/lib/1.9/poppler.so +0 -0
- data/lib/2.1/poppler.so +0 -0
@@ -0,0 +1,357 @@
|
|
1
|
+
/* poppler-structure-element.h: glib interface to poppler
|
2
|
+
*
|
3
|
+
* Copyright (C) 2013 Igalia S.L.
|
4
|
+
*
|
5
|
+
* This program is free software; you can redistribute it and/or modify
|
6
|
+
* it under the terms of the GNU General Public License as published by
|
7
|
+
* the Free Software Foundation; either version 2, or (at your option)
|
8
|
+
* any later version.
|
9
|
+
*
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
13
|
+
* GNU General Public License for more details.
|
14
|
+
*
|
15
|
+
* You should have received a copy of the GNU General Public License
|
16
|
+
* along with this program; if not, write to the Free Software
|
17
|
+
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
18
|
+
*/
|
19
|
+
|
20
|
+
#ifndef __POPPLER_STRUCTURE_ELEMENT_H__
|
21
|
+
#define __POPPLER_STRUCTURE_ELEMENT_H__
|
22
|
+
|
23
|
+
#include <glib-object.h>
|
24
|
+
#include "poppler.h"
|
25
|
+
|
26
|
+
G_BEGIN_DECLS
|
27
|
+
|
28
|
+
#define POPPLER_TYPE_STRUCTURE_ELEMENT (poppler_structure_element_get_type ())
|
29
|
+
#define POPPLER_STRUCTURE_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), POPPLER_TYPE_STRUCTURE_ELEMENT, PopplerStructureElement))
|
30
|
+
#define POPPLER_IS_STRUCTURE_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), POPPLER_TYPE_STRUCTURE_ELEMENT))
|
31
|
+
|
32
|
+
/**
|
33
|
+
* PopplerStructureElementKind:
|
34
|
+
*/
|
35
|
+
typedef enum {
|
36
|
+
POPPLER_STRUCTURE_ELEMENT_CONTENT,
|
37
|
+
POPPLER_STRUCTURE_ELEMENT_OBJECT_REFERENCE,
|
38
|
+
POPPLER_STRUCTURE_ELEMENT_DOCUMENT,
|
39
|
+
POPPLER_STRUCTURE_ELEMENT_PART,
|
40
|
+
POPPLER_STRUCTURE_ELEMENT_ARTICLE,
|
41
|
+
POPPLER_STRUCTURE_ELEMENT_SECTION,
|
42
|
+
POPPLER_STRUCTURE_ELEMENT_DIV,
|
43
|
+
POPPLER_STRUCTURE_ELEMENT_SPAN,
|
44
|
+
POPPLER_STRUCTURE_ELEMENT_QUOTE,
|
45
|
+
POPPLER_STRUCTURE_ELEMENT_NOTE,
|
46
|
+
POPPLER_STRUCTURE_ELEMENT_REFERENCE,
|
47
|
+
POPPLER_STRUCTURE_ELEMENT_BIBENTRY,
|
48
|
+
POPPLER_STRUCTURE_ELEMENT_CODE,
|
49
|
+
POPPLER_STRUCTURE_ELEMENT_LINK,
|
50
|
+
POPPLER_STRUCTURE_ELEMENT_ANNOT,
|
51
|
+
POPPLER_STRUCTURE_ELEMENT_BLOCKQUOTE,
|
52
|
+
POPPLER_STRUCTURE_ELEMENT_CAPTION,
|
53
|
+
POPPLER_STRUCTURE_ELEMENT_NONSTRUCT,
|
54
|
+
POPPLER_STRUCTURE_ELEMENT_TOC,
|
55
|
+
POPPLER_STRUCTURE_ELEMENT_TOC_ITEM,
|
56
|
+
POPPLER_STRUCTURE_ELEMENT_INDEX,
|
57
|
+
POPPLER_STRUCTURE_ELEMENT_PRIVATE,
|
58
|
+
POPPLER_STRUCTURE_ELEMENT_PARAGRAPH,
|
59
|
+
POPPLER_STRUCTURE_ELEMENT_HEADING,
|
60
|
+
POPPLER_STRUCTURE_ELEMENT_HEADING_1,
|
61
|
+
POPPLER_STRUCTURE_ELEMENT_HEADING_2,
|
62
|
+
POPPLER_STRUCTURE_ELEMENT_HEADING_3,
|
63
|
+
POPPLER_STRUCTURE_ELEMENT_HEADING_4,
|
64
|
+
POPPLER_STRUCTURE_ELEMENT_HEADING_5,
|
65
|
+
POPPLER_STRUCTURE_ELEMENT_HEADING_6,
|
66
|
+
POPPLER_STRUCTURE_ELEMENT_LIST,
|
67
|
+
POPPLER_STRUCTURE_ELEMENT_LIST_ITEM,
|
68
|
+
POPPLER_STRUCTURE_ELEMENT_LIST_LABEL,
|
69
|
+
POPPLER_STRUCTURE_ELEMENT_LIST_BODY,
|
70
|
+
POPPLER_STRUCTURE_ELEMENT_TABLE,
|
71
|
+
POPPLER_STRUCTURE_ELEMENT_TABLE_ROW,
|
72
|
+
POPPLER_STRUCTURE_ELEMENT_TABLE_HEADING,
|
73
|
+
POPPLER_STRUCTURE_ELEMENT_TABLE_DATA,
|
74
|
+
POPPLER_STRUCTURE_ELEMENT_TABLE_HEADER,
|
75
|
+
POPPLER_STRUCTURE_ELEMENT_TABLE_FOOTER,
|
76
|
+
POPPLER_STRUCTURE_ELEMENT_TABLE_BODY,
|
77
|
+
POPPLER_STRUCTURE_ELEMENT_RUBY,
|
78
|
+
POPPLER_STRUCTURE_ELEMENT_RUBY_BASE_TEXT,
|
79
|
+
POPPLER_STRUCTURE_ELEMENT_RUBY_ANNOT_TEXT,
|
80
|
+
POPPLER_STRUCTURE_ELEMENT_RUBY_PUNCTUATION,
|
81
|
+
POPPLER_STRUCTURE_ELEMENT_WARICHU,
|
82
|
+
POPPLER_STRUCTURE_ELEMENT_WARICHU_TEXT,
|
83
|
+
POPPLER_STRUCTURE_ELEMENT_WARICHU_PUNCTUATION,
|
84
|
+
POPPLER_STRUCTURE_ELEMENT_FIGURE,
|
85
|
+
POPPLER_STRUCTURE_ELEMENT_FORMULA,
|
86
|
+
POPPLER_STRUCTURE_ELEMENT_FORM,
|
87
|
+
} PopplerStructureElementKind;
|
88
|
+
|
89
|
+
/**
|
90
|
+
* PopplerStructureGetTextFlags:
|
91
|
+
* @POPPLER_STRUCTURE_GET_TEXT_NONE: No flags.
|
92
|
+
* @POPPLER_STRUCTURE_GET_TEXT_RECURSIVE: For non-leaf, non-content
|
93
|
+
* elements, recursively obtain the text from all the elements
|
94
|
+
* enclosed in the subtree.
|
95
|
+
*/
|
96
|
+
typedef enum {
|
97
|
+
POPPLER_STRUCTURE_GET_TEXT_NONE = 0,
|
98
|
+
POPPLER_STRUCTURE_GET_TEXT_RECURSIVE = (1 << 0),
|
99
|
+
} PopplerStructureGetTextFlags;
|
100
|
+
|
101
|
+
/**
|
102
|
+
* PopplerStructurePlacement:
|
103
|
+
*/
|
104
|
+
typedef enum {
|
105
|
+
POPPLER_STRUCTURE_PLACEMENT_BLOCK,
|
106
|
+
POPPLER_STRUCTURE_PLACEMENT_INLINE,
|
107
|
+
POPPLER_STRUCTURE_PLACEMENT_BEFORE,
|
108
|
+
POPPLER_STRUCTURE_PLACEMENT_START,
|
109
|
+
POPPLER_STRUCTURE_PLACEMENT_END,
|
110
|
+
} PopplerStructurePlacement;
|
111
|
+
|
112
|
+
/**
|
113
|
+
* PopplerStructureWritingMode:
|
114
|
+
*/
|
115
|
+
typedef enum {
|
116
|
+
POPPLER_STRUCTURE_WRITING_MODE_LR_TB,
|
117
|
+
POPPLER_STRUCTURE_WRITING_MODE_RL_TB,
|
118
|
+
POPPLER_STRUCTURE_WRITING_MODE_TB_RL,
|
119
|
+
} PopplerStructureWritingMode;
|
120
|
+
|
121
|
+
/**
|
122
|
+
* PopplerStructureBorderStyle:
|
123
|
+
*/
|
124
|
+
typedef enum {
|
125
|
+
POPPLER_STRUCTURE_BORDER_STYLE_NONE,
|
126
|
+
POPPLER_STRUCTURE_BORDER_STYLE_HIDDEN,
|
127
|
+
POPPLER_STRUCTURE_BORDER_STYLE_DOTTED,
|
128
|
+
POPPLER_STRUCTURE_BORDER_STYLE_DASHED,
|
129
|
+
POPPLER_STRUCTURE_BORDER_STYLE_SOLID,
|
130
|
+
POPPLER_STRUCTURE_BORDER_STYLE_DOUBLE,
|
131
|
+
POPPLER_STRUCTURE_BORDER_STYLE_GROOVE,
|
132
|
+
POPPLER_STRUCTURE_BORDER_STYLE_INSET,
|
133
|
+
POPPLER_STRUCTURE_BORDER_STYLE_OUTSET,
|
134
|
+
} PopplerStructureBorderStyle;
|
135
|
+
|
136
|
+
/**
|
137
|
+
* PopplerStructureTextAlign:
|
138
|
+
*/
|
139
|
+
typedef enum {
|
140
|
+
POPPLER_STRUCTURE_TEXT_ALIGN_START,
|
141
|
+
POPPLER_STRUCTURE_TEXT_ALIGN_CENTER,
|
142
|
+
POPPLER_STRUCTURE_TEXT_ALIGN_END,
|
143
|
+
POPPLER_STRUCTURE_TEXT_ALIGN_JUSTIFY,
|
144
|
+
} PopplerStructureTextAlign;
|
145
|
+
|
146
|
+
/**
|
147
|
+
* PopplerStructureBlockAlign:
|
148
|
+
*/
|
149
|
+
typedef enum {
|
150
|
+
POPPLER_STRUCTURE_BLOCK_ALIGN_BEFORE,
|
151
|
+
POPPLER_STRUCTURE_BLOCK_ALIGN_MIDDLE,
|
152
|
+
POPPLER_STRUCTURE_BLOCK_ALIGN_AFTER,
|
153
|
+
POPPLER_STRUCTURE_BLOCK_ALIGN_JUSTIFY,
|
154
|
+
} PopplerStructureBlockAlign;
|
155
|
+
|
156
|
+
/**
|
157
|
+
* PopplerStructureInlineAlign:
|
158
|
+
*/
|
159
|
+
typedef enum {
|
160
|
+
POPPLER_STRUCTURE_INLINE_ALIGN_START,
|
161
|
+
POPPLER_STRUCTURE_INLINE_ALIGN_CENTER,
|
162
|
+
POPPLER_STRUCTURE_INLINE_ALIGN_END,
|
163
|
+
} PopplerStructureInlineAlign;
|
164
|
+
|
165
|
+
/**
|
166
|
+
* PopplerStructureTextDecoration:
|
167
|
+
*/
|
168
|
+
typedef enum {
|
169
|
+
POPPLER_STRUCTURE_TEXT_DECORATION_NONE,
|
170
|
+
POPPLER_STRUCTURE_TEXT_DECORATION_UNDERLINE,
|
171
|
+
POPPLER_STRUCTURE_TEXT_DECORATION_OVERLINE,
|
172
|
+
POPPLER_STRUCTURE_TEXT_DECORATION_LINETHROUGH,
|
173
|
+
} PopplerStructureTextDecoration;
|
174
|
+
|
175
|
+
/**
|
176
|
+
* PopplerStructureRubyAlign:
|
177
|
+
*/
|
178
|
+
typedef enum
|
179
|
+
{
|
180
|
+
POPPLER_STRUCTURE_RUBY_ALIGN_START,
|
181
|
+
POPPLER_STRUCTURE_RUBY_ALIGN_CENTER,
|
182
|
+
POPPLER_STRUCTURE_RUBY_ALIGN_END,
|
183
|
+
POPPLER_STRUCTURE_RUBY_ALIGN_JUSTIFY,
|
184
|
+
POPPLER_STRUCTURE_RUBY_ALIGN_DISTRIBUTE,
|
185
|
+
} PopplerStructureRubyAlign;
|
186
|
+
|
187
|
+
/**
|
188
|
+
* PopplerStructureRubyPosition:
|
189
|
+
*/
|
190
|
+
typedef enum {
|
191
|
+
POPPLER_STRUCTURE_RUBY_POSITION_BEFORE,
|
192
|
+
POPPLER_STRUCTURE_RUBY_POSITION_AFTER,
|
193
|
+
POPPLER_STRUCTURE_RUBY_POSITION_WARICHU,
|
194
|
+
POPPLER_STRUCTURE_RUBY_POSITION_INLINE,
|
195
|
+
} PopplerStructureRubyPosition;
|
196
|
+
|
197
|
+
/**
|
198
|
+
* PopplerStructureGlyphOrientation:
|
199
|
+
*/
|
200
|
+
typedef enum {
|
201
|
+
POPPLER_STRUCTURE_GLYPH_ORIENTATION_AUTO,
|
202
|
+
POPPLER_STRUCTURE_GLYPH_ORIENTATION_0 = POPPLER_STRUCTURE_GLYPH_ORIENTATION_AUTO,
|
203
|
+
POPPLER_STRUCTURE_GLYPH_ORIENTATION_90,
|
204
|
+
POPPLER_STRUCTURE_GLYPH_ORIENTATION_180,
|
205
|
+
POPPLER_STRUCTURE_GLYPH_ORIENTATION_270,
|
206
|
+
} PopplerStructureGlyphOrientation;
|
207
|
+
|
208
|
+
/**
|
209
|
+
* PopplerStructureListNumbering:
|
210
|
+
*/
|
211
|
+
typedef enum {
|
212
|
+
POPPLER_STRUCTURE_LIST_NUMBERING_NONE,
|
213
|
+
POPPLER_STRUCTURE_LIST_NUMBERING_DISC,
|
214
|
+
POPPLER_STRUCTURE_LIST_NUMBERING_CIRCLE,
|
215
|
+
POPPLER_STRUCTURE_LIST_NUMBERING_SQUARE,
|
216
|
+
POPPLER_STRUCTURE_LIST_NUMBERING_DECIMAL,
|
217
|
+
POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ROMAN,
|
218
|
+
POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ROMAN,
|
219
|
+
POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ALPHA,
|
220
|
+
POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ALPHA,
|
221
|
+
} PopplerStructureListNumbering;
|
222
|
+
|
223
|
+
/**
|
224
|
+
* PopplerStructureFormRole:
|
225
|
+
*/
|
226
|
+
typedef enum {
|
227
|
+
POPPLER_STRUCTURE_FORM_ROLE_UNDEFINED,
|
228
|
+
POPPLER_STRUCTURE_FORM_ROLE_RADIO_BUTTON,
|
229
|
+
POPPLER_STRUCTURE_FORM_ROLE_PUSH_BUTTON,
|
230
|
+
POPPLER_STRUCTURE_FORM_ROLE_TEXT_VALUE,
|
231
|
+
POPPLER_STRUCTURE_FORM_ROLE_CHECKBOX,
|
232
|
+
} PopplerStructureFormRole;
|
233
|
+
|
234
|
+
/**
|
235
|
+
* PopplerStructureFormState:
|
236
|
+
*/
|
237
|
+
typedef enum {
|
238
|
+
POPPLER_STRUCTURE_FORM_STATE_ON,
|
239
|
+
POPPLER_STRUCTURE_FORM_STATE_OFF,
|
240
|
+
POPPLER_STRUCTURE_FORM_STATE_NEUTRAL,
|
241
|
+
} PopplerStructureFormState;
|
242
|
+
|
243
|
+
/**
|
244
|
+
* PopplerStructureTableScope:
|
245
|
+
*/
|
246
|
+
typedef enum {
|
247
|
+
POPPLER_STRUCTURE_TABLE_SCOPE_ROW,
|
248
|
+
POPPLER_STRUCTURE_TABLE_SCOPE_COLUMN,
|
249
|
+
POPPLER_STRUCTURE_TABLE_SCOPE_BOTH,
|
250
|
+
} PopplerStructureTableScope;
|
251
|
+
|
252
|
+
|
253
|
+
GType poppler_structure_element_get_type (void) G_GNUC_CONST;
|
254
|
+
PopplerStructureElementKind poppler_structure_element_get_kind (PopplerStructureElement *poppler_structure_element);
|
255
|
+
gint poppler_structure_element_get_page (PopplerStructureElement *poppler_structure_element);
|
256
|
+
gboolean poppler_structure_element_is_content (PopplerStructureElement *poppler_structure_element);
|
257
|
+
gboolean poppler_structure_element_is_inline (PopplerStructureElement *poppler_structure_element);
|
258
|
+
gboolean poppler_structure_element_is_block (PopplerStructureElement *poppler_structure_element);
|
259
|
+
gboolean poppler_structure_element_is_grouping (PopplerStructureElement *poppler_structure_element);
|
260
|
+
gchar *poppler_structure_element_get_id (PopplerStructureElement *poppler_structure_element);
|
261
|
+
gchar *poppler_structure_element_get_title (PopplerStructureElement *poppler_structure_element);
|
262
|
+
gchar *poppler_structure_element_get_abbreviation (PopplerStructureElement *poppler_structure_element);
|
263
|
+
gchar *poppler_structure_element_get_language (PopplerStructureElement *poppler_structure_element);
|
264
|
+
gchar *poppler_structure_element_get_text (PopplerStructureElement *poppler_structure_element,
|
265
|
+
PopplerStructureGetTextFlags flags);
|
266
|
+
gchar *poppler_structure_element_get_alt_text (PopplerStructureElement *poppler_structure_element);
|
267
|
+
gchar *poppler_structure_element_get_actual_text (PopplerStructureElement *poppler_structure_element);
|
268
|
+
PopplerTextSpan **poppler_structure_element_get_text_spans (PopplerStructureElement *poppler_structure_element,
|
269
|
+
guint *n_text_spans);
|
270
|
+
|
271
|
+
PopplerStructurePlacement poppler_structure_element_get_placement (PopplerStructureElement *poppler_structure_element);
|
272
|
+
PopplerStructureWritingMode poppler_structure_element_get_writing_mode (PopplerStructureElement *poppler_structure_element);
|
273
|
+
gboolean poppler_structure_element_get_background_color (PopplerStructureElement *poppler_structure_element,
|
274
|
+
PopplerColor *color);
|
275
|
+
gboolean poppler_structure_element_get_border_color (PopplerStructureElement *poppler_structure_element,
|
276
|
+
PopplerColor *colors);
|
277
|
+
void poppler_structure_element_get_border_style (PopplerStructureElement *poppler_structure_element,
|
278
|
+
PopplerStructureBorderStyle *border_styles);
|
279
|
+
gboolean poppler_structure_element_get_border_thickness (PopplerStructureElement *poppler_structure_element,
|
280
|
+
gdouble *border_thicknesses);
|
281
|
+
void poppler_structure_element_get_padding (PopplerStructureElement *poppler_structure_element,
|
282
|
+
gdouble *paddings);
|
283
|
+
gboolean poppler_structure_element_get_color (PopplerStructureElement *poppler_structure_element,
|
284
|
+
PopplerColor *color);
|
285
|
+
|
286
|
+
gdouble poppler_structure_element_get_space_before (PopplerStructureElement *poppler_structure_element);
|
287
|
+
gdouble poppler_structure_element_get_space_after (PopplerStructureElement *poppler_structure_element);
|
288
|
+
gdouble poppler_structure_element_get_start_indent (PopplerStructureElement *poppler_structure_element);
|
289
|
+
gdouble poppler_structure_element_get_end_indent (PopplerStructureElement *poppler_structure_element);
|
290
|
+
gdouble poppler_structure_element_get_text_indent (PopplerStructureElement *poppler_structure_element);
|
291
|
+
PopplerStructureTextAlign poppler_structure_element_get_text_align (PopplerStructureElement *poppler_structure_element);
|
292
|
+
gboolean poppler_structure_element_get_bounding_box (PopplerStructureElement *poppler_structure_element,
|
293
|
+
PopplerRectangle *bounding_box);
|
294
|
+
gdouble poppler_structure_element_get_width (PopplerStructureElement *poppler_structure_element);
|
295
|
+
gdouble poppler_structure_element_get_height (PopplerStructureElement *poppler_structure_element);
|
296
|
+
PopplerStructureBlockAlign poppler_structure_element_get_block_align (PopplerStructureElement *poppler_structure_element);
|
297
|
+
PopplerStructureInlineAlign poppler_structure_element_get_inline_align (PopplerStructureElement *poppler_structure_element);
|
298
|
+
void poppler_structure_element_get_table_border_style (PopplerStructureElement *poppler_structure_element,
|
299
|
+
PopplerStructureBorderStyle *border_styles);
|
300
|
+
void poppler_structure_element_get_table_padding (PopplerStructureElement *poppler_structure_element,
|
301
|
+
gdouble *paddings);
|
302
|
+
|
303
|
+
gdouble poppler_structure_element_get_baseline_shift (PopplerStructureElement *poppler_structure_element);
|
304
|
+
gdouble poppler_structure_element_get_line_height (PopplerStructureElement *poppler_structure_element);
|
305
|
+
gboolean poppler_structure_element_get_text_decoration_color
|
306
|
+
(PopplerStructureElement *poppler_structure_element,
|
307
|
+
PopplerColor *color);
|
308
|
+
gdouble poppler_structure_element_get_text_decoration_thickness
|
309
|
+
(PopplerStructureElement *poppler_structure_element);
|
310
|
+
PopplerStructureTextDecoration poppler_structure_element_get_text_decoration_type
|
311
|
+
(PopplerStructureElement *poppler_structure_element);
|
312
|
+
PopplerStructureRubyAlign poppler_structure_element_get_ruby_align (PopplerStructureElement *poppler_structure_element);
|
313
|
+
PopplerStructureRubyPosition poppler_structure_element_get_ruby_position (PopplerStructureElement *poppler_structure_element);
|
314
|
+
PopplerStructureGlyphOrientation poppler_structure_element_get_glyph_orientation (PopplerStructureElement *poppler_structure_element);
|
315
|
+
|
316
|
+
guint poppler_structure_element_get_column_count (PopplerStructureElement *poppler_structure_element);
|
317
|
+
gdouble *poppler_structure_element_get_column_gaps (PopplerStructureElement *poppler_structure_element,
|
318
|
+
guint *n_values);
|
319
|
+
gdouble *poppler_structure_element_get_column_widths (PopplerStructureElement *poppler_structure_element,
|
320
|
+
guint *n_values);
|
321
|
+
|
322
|
+
PopplerStructureListNumbering poppler_structure_element_get_list_numbering (PopplerStructureElement *poppler_structure_element);
|
323
|
+
|
324
|
+
PopplerStructureFormRole poppler_structure_element_get_form_role (PopplerStructureElement *poppler_structure_element);
|
325
|
+
PopplerStructureFormState poppler_structure_element_get_form_state (PopplerStructureElement *poppler_structure_element);
|
326
|
+
gchar *poppler_structure_element_get_form_description (PopplerStructureElement *poppler_structure_element);
|
327
|
+
|
328
|
+
guint poppler_structure_element_get_table_row_span (PopplerStructureElement *poppler_structure_element);
|
329
|
+
guint poppler_structure_element_get_table_column_span (PopplerStructureElement *poppler_structure_element);
|
330
|
+
gchar **poppler_structure_element_get_table_headers (PopplerStructureElement *poppler_structure_element);
|
331
|
+
PopplerStructureTableScope poppler_structure_element_get_table_scope (PopplerStructureElement *poppler_structure_element);
|
332
|
+
gchar *poppler_structure_element_get_table_summary (PopplerStructureElement *poppler_structure_element);
|
333
|
+
|
334
|
+
#define POPPLER_TYPE_STRUCTURE_ELEMENT_ITER (poppler_structure_element_iter_get_type ())
|
335
|
+
GType poppler_structure_element_iter_get_type (void) G_GNUC_CONST;
|
336
|
+
PopplerStructureElementIter *poppler_structure_element_iter_new (PopplerDocument *poppler_document);
|
337
|
+
PopplerStructureElementIter *poppler_structure_element_iter_get_child (PopplerStructureElementIter *parent);
|
338
|
+
PopplerStructureElementIter *poppler_structure_element_iter_copy (PopplerStructureElementIter *iter);
|
339
|
+
PopplerStructureElement *poppler_structure_element_iter_get_element (PopplerStructureElementIter *iter);
|
340
|
+
gboolean poppler_structure_element_iter_next (PopplerStructureElementIter *iter);
|
341
|
+
void poppler_structure_element_iter_free (PopplerStructureElementIter *iter);
|
342
|
+
|
343
|
+
#define POPPLER_TYPE_TEXT_SPAN (poppler_text_span_get_type ())
|
344
|
+
GType poppler_text_span_get_type (void) G_GNUC_CONST;
|
345
|
+
PopplerTextSpan *poppler_text_span_copy (PopplerTextSpan *poppler_text_span);
|
346
|
+
void poppler_text_span_free (PopplerTextSpan *poppler_text_span);
|
347
|
+
gboolean poppler_text_span_is_fixed_width_font (PopplerTextSpan *poppler_text_span);
|
348
|
+
gboolean poppler_text_span_is_serif_font (PopplerTextSpan *poppler_text_span);
|
349
|
+
gboolean poppler_text_span_is_bold_font (PopplerTextSpan *poppler_text_span);
|
350
|
+
void poppler_text_span_get_color (PopplerTextSpan *poppler_text_span,
|
351
|
+
PopplerColor *color);
|
352
|
+
const gchar *poppler_text_span_get_text (PopplerTextSpan *poppler_text_span);
|
353
|
+
const gchar *poppler_text_span_get_font_name (PopplerTextSpan *poppler_text_span);
|
354
|
+
|
355
|
+
G_END_DECLS
|
356
|
+
|
357
|
+
#endif /* !__POPPLER_STRUCTURE_ELEMENT_H__ */
|
@@ -29,7 +29,7 @@ GQuark poppler_error_quark (void);
|
|
29
29
|
|
30
30
|
/**
|
31
31
|
* PopplerError:
|
32
|
-
* @POPPLER_ERROR_INVALID: Generic error when a document
|
32
|
+
* @POPPLER_ERROR_INVALID: Generic error when a document operation fails
|
33
33
|
* @POPPLER_ERROR_ENCRYPTED: Document is encrypted
|
34
34
|
* @POPPLER_ERROR_OPEN_FILE: File could not be opened for writing when saving document
|
35
35
|
* @POPPLER_ERROR_BAD_CATALOG: Failed to read the document catalog
|
@@ -175,6 +175,7 @@ typedef struct _PopplerDocument PopplerDocument;
|
|
175
175
|
typedef struct _PopplerIndexIter PopplerIndexIter;
|
176
176
|
typedef struct _PopplerFontsIter PopplerFontsIter;
|
177
177
|
typedef struct _PopplerLayersIter PopplerLayersIter;
|
178
|
+
typedef struct _PopplerPoint PopplerPoint;
|
178
179
|
typedef struct _PopplerRectangle PopplerRectangle;
|
179
180
|
typedef struct _PopplerTextAttributes PopplerTextAttributes;
|
180
181
|
typedef struct _PopplerColor PopplerColor;
|
@@ -197,11 +198,19 @@ typedef struct _PopplerMedia PopplerMedia;
|
|
197
198
|
typedef struct _PopplerAnnot PopplerAnnot;
|
198
199
|
typedef struct _PopplerAnnotMarkup PopplerAnnotMarkup;
|
199
200
|
typedef struct _PopplerAnnotText PopplerAnnotText;
|
201
|
+
typedef struct _PopplerAnnotTextMarkup PopplerAnnotTextMarkup;
|
200
202
|
typedef struct _PopplerAnnotFreeText PopplerAnnotFreeText;
|
201
203
|
typedef struct _PopplerAnnotFileAttachment PopplerAnnotFileAttachment;
|
202
204
|
typedef struct _PopplerAnnotMovie PopplerAnnotMovie;
|
203
205
|
typedef struct _PopplerAnnotScreen PopplerAnnotScreen;
|
204
206
|
typedef struct _PopplerAnnotCalloutLine PopplerAnnotCalloutLine;
|
207
|
+
typedef struct _PopplerAnnotLine PopplerAnnotLine;
|
208
|
+
typedef struct _PopplerAnnotCircle PopplerAnnotCircle;
|
209
|
+
typedef struct _PopplerAnnotSquare PopplerAnnotSquare;
|
210
|
+
typedef struct _PopplerQuadrilateral PopplerQuadrilateral;
|
211
|
+
typedef struct _PopplerStructureElement PopplerStructureElement;
|
212
|
+
typedef struct _PopplerStructureElementIter PopplerStructureElementIter;
|
213
|
+
typedef struct _PopplerTextSpan PopplerTextSpan;
|
205
214
|
|
206
215
|
typedef enum
|
207
216
|
{
|
@@ -227,5 +236,6 @@ G_END_DECLS
|
|
227
236
|
#include "poppler-date.h"
|
228
237
|
#include "poppler-movie.h"
|
229
238
|
#include "poppler-media.h"
|
239
|
+
#include "poppler-structure-element.h"
|
230
240
|
|
231
241
|
#endif /* __POPPLER_GLIB_H__ */
|
@@ -107,9 +107,9 @@ extern "C" {
|
|
107
107
|
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
108
108
|
** [sqlite_version()] and [sqlite_source_id()].
|
109
109
|
*/
|
110
|
-
#define SQLITE_VERSION "3.8.
|
111
|
-
#define SQLITE_VERSION_NUMBER
|
112
|
-
#define SQLITE_SOURCE_ID "
|
110
|
+
#define SQLITE_VERSION "3.8.6"
|
111
|
+
#define SQLITE_VERSION_NUMBER 3008006
|
112
|
+
#define SQLITE_SOURCE_ID "2014-08-15 11:46:33 9491ba7d738528f168657adb43a198238abde19e"
|
113
113
|
|
114
114
|
/*
|
115
115
|
** CAPI3REF: Run-Time Library Version Numbers
|
@@ -269,7 +269,7 @@ typedef sqlite_uint64 sqlite3_uint64;
|
|
269
269
|
**
|
270
270
|
** ^The sqlite3_close() and sqlite3_close_v2() routines are destructors
|
271
271
|
** for the [sqlite3] object.
|
272
|
-
** ^Calls to sqlite3_close() and sqlite3_close_v2() return SQLITE_OK if
|
272
|
+
** ^Calls to sqlite3_close() and sqlite3_close_v2() return [SQLITE_OK] if
|
273
273
|
** the [sqlite3] object is successfully destroyed and all associated
|
274
274
|
** resources are deallocated.
|
275
275
|
**
|
@@ -277,7 +277,7 @@ typedef sqlite_uint64 sqlite3_uint64;
|
|
277
277
|
** statements or unfinished sqlite3_backup objects then sqlite3_close()
|
278
278
|
** will leave the database connection open and return [SQLITE_BUSY].
|
279
279
|
** ^If sqlite3_close_v2() is called with unfinalized prepared statements
|
280
|
-
** and unfinished sqlite3_backups, then the database connection becomes
|
280
|
+
** and/or unfinished sqlite3_backups, then the database connection becomes
|
281
281
|
** an unusable "zombie" which will automatically be deallocated when the
|
282
282
|
** last prepared statement is finalized or the last sqlite3_backup is
|
283
283
|
** finished. The sqlite3_close_v2() interface is intended for use with
|
@@ -290,7 +290,7 @@ typedef sqlite_uint64 sqlite3_uint64;
|
|
290
290
|
** with the [sqlite3] object prior to attempting to close the object. ^If
|
291
291
|
** sqlite3_close_v2() is called on a [database connection] that still has
|
292
292
|
** outstanding [prepared statements], [BLOB handles], and/or
|
293
|
-
** [sqlite3_backup] objects then it returns SQLITE_OK
|
293
|
+
** [sqlite3_backup] objects then it returns [SQLITE_OK] and the deallocation
|
294
294
|
** of resources is deferred until all [prepared statements], [BLOB handles],
|
295
295
|
** and [sqlite3_backup] objects are also destroyed.
|
296
296
|
**
|
@@ -386,16 +386,14 @@ SQLITE_API int sqlite3_exec(
|
|
386
386
|
|
387
387
|
/*
|
388
388
|
** CAPI3REF: Result Codes
|
389
|
-
** KEYWORDS:
|
390
|
-
** KEYWORDS: {result code} {result codes}
|
389
|
+
** KEYWORDS: {result code definitions}
|
391
390
|
**
|
392
391
|
** Many SQLite functions return an integer result code from the set shown
|
393
392
|
** here in order to indicate success or failure.
|
394
393
|
**
|
395
394
|
** New error codes may be added in future versions of SQLite.
|
396
395
|
**
|
397
|
-
** See also: [
|
398
|
-
** [sqlite3_vtab_on_conflict()] [SQLITE_ROLLBACK | result codes].
|
396
|
+
** See also: [extended result code definitions]
|
399
397
|
*/
|
400
398
|
#define SQLITE_OK 0 /* Successful result */
|
401
399
|
/* beginning-of-error-codes */
|
@@ -433,26 +431,19 @@ SQLITE_API int sqlite3_exec(
|
|
433
431
|
|
434
432
|
/*
|
435
433
|
** CAPI3REF: Extended Result Codes
|
436
|
-
** KEYWORDS: {extended
|
437
|
-
** KEYWORDS: {extended result code} {extended result codes}
|
434
|
+
** KEYWORDS: {extended result code definitions}
|
438
435
|
**
|
439
|
-
** In its default configuration, SQLite API routines return one of
|
440
|
-
** [
|
436
|
+
** In its default configuration, SQLite API routines return one of 30 integer
|
437
|
+
** [result codes]. However, experience has shown that many of
|
441
438
|
** these result codes are too coarse-grained. They do not provide as
|
442
439
|
** much information about problems as programmers might like. In an effort to
|
443
440
|
** address this, newer versions of SQLite (version 3.3.8 and later) include
|
444
441
|
** support for additional result codes that provide more detailed information
|
445
|
-
** about errors.
|
442
|
+
** about errors. These [extended result codes] are enabled or disabled
|
446
443
|
** on a per database connection basis using the
|
447
|
-
** [sqlite3_extended_result_codes()] API.
|
448
|
-
**
|
449
|
-
**
|
450
|
-
** One may expect the number of extended result codes will increase
|
451
|
-
** over time. Software that uses extended result codes should expect
|
452
|
-
** to see new result codes in future releases of SQLite.
|
453
|
-
**
|
454
|
-
** The SQLITE_OK result code will never be extended. It will always
|
455
|
-
** be exactly zero.
|
444
|
+
** [sqlite3_extended_result_codes()] API. Or, the extended code for
|
445
|
+
** the most recent error can be obtained using
|
446
|
+
** [sqlite3_extended_errcode()].
|
456
447
|
*/
|
457
448
|
#define SQLITE_IOERR_READ (SQLITE_IOERR | (1<<8))
|
458
449
|
#define SQLITE_IOERR_SHORT_READ (SQLITE_IOERR | (2<<8))
|
@@ -491,6 +482,7 @@ SQLITE_API int sqlite3_exec(
|
|
491
482
|
#define SQLITE_READONLY_RECOVERY (SQLITE_READONLY | (1<<8))
|
492
483
|
#define SQLITE_READONLY_CANTLOCK (SQLITE_READONLY | (2<<8))
|
493
484
|
#define SQLITE_READONLY_ROLLBACK (SQLITE_READONLY | (3<<8))
|
485
|
+
#define SQLITE_READONLY_DBMOVED (SQLITE_READONLY | (4<<8))
|
494
486
|
#define SQLITE_ABORT_ROLLBACK (SQLITE_ABORT | (2<<8))
|
495
487
|
#define SQLITE_CONSTRAINT_CHECK (SQLITE_CONSTRAINT | (1<<8))
|
496
488
|
#define SQLITE_CONSTRAINT_COMMITHOOK (SQLITE_CONSTRAINT | (2<<8))
|
@@ -558,7 +550,11 @@ SQLITE_API int sqlite3_exec(
|
|
558
550
|
** after reboot following a crash or power loss, the only bytes in a
|
559
551
|
** file that were written at the application level might have changed
|
560
552
|
** and that adjacent bytes, even bytes within the same sector are
|
561
|
-
** guaranteed to be unchanged.
|
553
|
+
** guaranteed to be unchanged. The SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN
|
554
|
+
** flag indicate that a file cannot be deleted when open. The
|
555
|
+
** SQLITE_IOCAP_IMMUTABLE flag indicates that the file is on
|
556
|
+
** read-only media and cannot be changed even by processes with
|
557
|
+
** elevated privileges.
|
562
558
|
*/
|
563
559
|
#define SQLITE_IOCAP_ATOMIC 0x00000001
|
564
560
|
#define SQLITE_IOCAP_ATOMIC512 0x00000002
|
@@ -573,6 +569,7 @@ SQLITE_API int sqlite3_exec(
|
|
573
569
|
#define SQLITE_IOCAP_SEQUENTIAL 0x00000400
|
574
570
|
#define SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN 0x00000800
|
575
571
|
#define SQLITE_IOCAP_POWERSAFE_OVERWRITE 0x00001000
|
572
|
+
#define SQLITE_IOCAP_IMMUTABLE 0x00002000
|
576
573
|
|
577
574
|
/*
|
578
575
|
** CAPI3REF: File Locking Levels
|
@@ -679,7 +676,7 @@ struct sqlite3_file {
|
|
679
676
|
** locking strategy (for example to use dot-file locks), to inquire
|
680
677
|
** about the status of a lock, or to break stale locks. The SQLite
|
681
678
|
** core reserves all opcodes less than 100 for its own use.
|
682
|
-
** A [
|
679
|
+
** A [file control opcodes | list of opcodes] less than 100 is available.
|
683
680
|
** Applications that define a custom xFileControl method should use opcodes
|
684
681
|
** greater than 100 to avoid conflicts. VFS implementations should
|
685
682
|
** return [SQLITE_NOTFOUND] for file control opcodes that they do not
|
@@ -752,6 +749,7 @@ struct sqlite3_io_methods {
|
|
752
749
|
|
753
750
|
/*
|
754
751
|
** CAPI3REF: Standard File Control Opcodes
|
752
|
+
** KEYWORDS: {file control opcodes} {file control opcode}
|
755
753
|
**
|
756
754
|
** These integer constants are opcodes for the xFileControl method
|
757
755
|
** of the [sqlite3_io_methods] object and for the [sqlite3_file_control()]
|
@@ -789,15 +787,29 @@ struct sqlite3_io_methods {
|
|
789
787
|
** additional information.
|
790
788
|
**
|
791
789
|
** <li>[[SQLITE_FCNTL_SYNC_OMITTED]]
|
792
|
-
**
|
793
|
-
**
|
794
|
-
**
|
795
|
-
**
|
796
|
-
**
|
797
|
-
**
|
798
|
-
**
|
799
|
-
**
|
800
|
-
**
|
790
|
+
** No longer in use.
|
791
|
+
**
|
792
|
+
** <li>[[SQLITE_FCNTL_SYNC]]
|
793
|
+
** The [SQLITE_FCNTL_SYNC] opcode is generated internally by SQLite and
|
794
|
+
** sent to the VFS immediately before the xSync method is invoked on a
|
795
|
+
** database file descriptor. Or, if the xSync method is not invoked
|
796
|
+
** because the user has configured SQLite with
|
797
|
+
** [PRAGMA synchronous | PRAGMA synchronous=OFF] it is invoked in place
|
798
|
+
** of the xSync method. In most cases, the pointer argument passed with
|
799
|
+
** this file-control is NULL. However, if the database file is being synced
|
800
|
+
** as part of a multi-database commit, the argument points to a nul-terminated
|
801
|
+
** string containing the transactions master-journal file name. VFSes that
|
802
|
+
** do not need this signal should silently ignore this opcode. Applications
|
803
|
+
** should not call [sqlite3_file_control()] with this opcode as doing so may
|
804
|
+
** disrupt the operation of the specialized VFSes that do require it.
|
805
|
+
**
|
806
|
+
** <li>[[SQLITE_FCNTL_COMMIT_PHASETWO]]
|
807
|
+
** The [SQLITE_FCNTL_COMMIT_PHASETWO] opcode is generated internally by SQLite
|
808
|
+
** and sent to the VFS after a transaction has been committed immediately
|
809
|
+
** but before the database is unlocked. VFSes that do not need this signal
|
810
|
+
** should silently ignore this opcode. Applications should not call
|
811
|
+
** [sqlite3_file_control()] with this opcode as doing so may disrupt the
|
812
|
+
** operation of the specialized VFSes that do require it.
|
801
813
|
**
|
802
814
|
** <li>[[SQLITE_FCNTL_WIN32_AV_RETRY]]
|
803
815
|
** ^The [SQLITE_FCNTL_WIN32_AV_RETRY] opcode is used to configure automatic
|
@@ -921,6 +933,18 @@ struct sqlite3_io_methods {
|
|
921
933
|
** SQLite stack may generate instances of this file control if
|
922
934
|
** the [SQLITE_USE_FCNTL_TRACE] compile-time option is enabled.
|
923
935
|
**
|
936
|
+
** <li>[[SQLITE_FCNTL_HAS_MOVED]]
|
937
|
+
** The [SQLITE_FCNTL_HAS_MOVED] file control interprets its argument as a
|
938
|
+
** pointer to an integer and it writes a boolean into that integer depending
|
939
|
+
** on whether or not the file has been renamed, moved, or deleted since it
|
940
|
+
** was first opened.
|
941
|
+
**
|
942
|
+
** <li>[[SQLITE_FCNTL_WIN32_SET_HANDLE]]
|
943
|
+
** The [SQLITE_FCNTL_WIN32_SET_HANDLE] opcode is used for debugging. This
|
944
|
+
** opcode causes the xFileControl method to swap the file handle with the one
|
945
|
+
** pointed to by the pArg argument. This capability is used during testing
|
946
|
+
** and only needs to be supported when SQLITE_TEST is defined.
|
947
|
+
**
|
924
948
|
** </ul>
|
925
949
|
*/
|
926
950
|
#define SQLITE_FCNTL_LOCKSTATE 1
|
@@ -941,6 +965,10 @@ struct sqlite3_io_methods {
|
|
941
965
|
#define SQLITE_FCNTL_TEMPFILENAME 16
|
942
966
|
#define SQLITE_FCNTL_MMAP_SIZE 18
|
943
967
|
#define SQLITE_FCNTL_TRACE 19
|
968
|
+
#define SQLITE_FCNTL_HAS_MOVED 20
|
969
|
+
#define SQLITE_FCNTL_SYNC 21
|
970
|
+
#define SQLITE_FCNTL_COMMIT_PHASETWO 22
|
971
|
+
#define SQLITE_FCNTL_WIN32_SET_HANDLE 23
|
944
972
|
|
945
973
|
/*
|
946
974
|
** CAPI3REF: Mutex Handle
|
@@ -2001,27 +2029,33 @@ SQLITE_API int sqlite3_complete16(const void *sql);
|
|
2001
2029
|
/*
|
2002
2030
|
** CAPI3REF: Register A Callback To Handle SQLITE_BUSY Errors
|
2003
2031
|
**
|
2004
|
-
** ^
|
2005
|
-
**
|
2006
|
-
**
|
2032
|
+
** ^The sqlite3_busy_handler(D,X,P) routine sets a callback function X
|
2033
|
+
** that might be invoked with argument P whenever
|
2034
|
+
** an attempt is made to access a database table associated with
|
2035
|
+
** [database connection] D when another thread
|
2036
|
+
** or process has the table locked.
|
2037
|
+
** The sqlite3_busy_handler() interface is used to implement
|
2038
|
+
** [sqlite3_busy_timeout()] and [PRAGMA busy_timeout].
|
2007
2039
|
**
|
2008
|
-
** ^If the busy callback is NULL, then [SQLITE_BUSY]
|
2040
|
+
** ^If the busy callback is NULL, then [SQLITE_BUSY]
|
2009
2041
|
** is returned immediately upon encountering the lock. ^If the busy callback
|
2010
2042
|
** is not NULL, then the callback might be invoked with two arguments.
|
2011
2043
|
**
|
2012
2044
|
** ^The first argument to the busy handler is a copy of the void* pointer which
|
2013
2045
|
** is the third argument to sqlite3_busy_handler(). ^The second argument to
|
2014
2046
|
** the busy handler callback is the number of times that the busy handler has
|
2015
|
-
** been invoked for
|
2047
|
+
** been invoked for the same locking event. ^If the
|
2016
2048
|
** busy callback returns 0, then no additional attempts are made to
|
2017
|
-
** access the database and [SQLITE_BUSY]
|
2049
|
+
** access the database and [SQLITE_BUSY] is returned
|
2050
|
+
** to the application.
|
2018
2051
|
** ^If the callback returns non-zero, then another attempt
|
2019
|
-
** is made to
|
2052
|
+
** is made to access the database and the cycle repeats.
|
2020
2053
|
**
|
2021
2054
|
** The presence of a busy handler does not guarantee that it will be invoked
|
2022
2055
|
** when there is lock contention. ^If SQLite determines that invoking the busy
|
2023
2056
|
** handler could result in a deadlock, it will go ahead and return [SQLITE_BUSY]
|
2024
|
-
**
|
2057
|
+
** to the application instead of invoking the
|
2058
|
+
** busy handler.
|
2025
2059
|
** Consider a scenario where one process is holding a read lock that
|
2026
2060
|
** it is trying to promote to a reserved lock and
|
2027
2061
|
** a second process is holding a reserved lock that it is trying
|
@@ -2035,28 +2069,15 @@ SQLITE_API int sqlite3_complete16(const void *sql);
|
|
2035
2069
|
**
|
2036
2070
|
** ^The default busy callback is NULL.
|
2037
2071
|
**
|
2038
|
-
** ^The [SQLITE_BUSY] error is converted to [SQLITE_IOERR_BLOCKED]
|
2039
|
-
** when SQLite is in the middle of a large transaction where all the
|
2040
|
-
** changes will not fit into the in-memory cache. SQLite will
|
2041
|
-
** already hold a RESERVED lock on the database file, but it needs
|
2042
|
-
** to promote this lock to EXCLUSIVE so that it can spill cache
|
2043
|
-
** pages into the database file without harm to concurrent
|
2044
|
-
** readers. ^If it is unable to promote the lock, then the in-memory
|
2045
|
-
** cache will be left in an inconsistent state and so the error
|
2046
|
-
** code is promoted from the relatively benign [SQLITE_BUSY] to
|
2047
|
-
** the more severe [SQLITE_IOERR_BLOCKED]. ^This error code promotion
|
2048
|
-
** forces an automatic rollback of the changes. See the
|
2049
|
-
** <a href="/cvstrac/wiki?p=CorruptionFollowingBusyError">
|
2050
|
-
** CorruptionFollowingBusyError</a> wiki page for a discussion of why
|
2051
|
-
** this is important.
|
2052
|
-
**
|
2053
2072
|
** ^(There can only be a single busy handler defined for each
|
2054
2073
|
** [database connection]. Setting a new busy handler clears any
|
2055
2074
|
** previously set handler.)^ ^Note that calling [sqlite3_busy_timeout()]
|
2056
|
-
**
|
2075
|
+
** or evaluating [PRAGMA busy_timeout=N] will change the
|
2076
|
+
** busy handler and thus clear any previously set busy handler.
|
2057
2077
|
**
|
2058
2078
|
** The busy callback should not take any actions which modify the
|
2059
|
-
** database connection that invoked the busy handler.
|
2079
|
+
** database connection that invoked the busy handler. In other words,
|
2080
|
+
** the busy handler is not reentrant. Any such actions
|
2060
2081
|
** result in undefined behavior.
|
2061
2082
|
**
|
2062
2083
|
** A busy handler must not close the database connection
|
@@ -2072,7 +2093,7 @@ SQLITE_API int sqlite3_busy_handler(sqlite3*, int(*)(void*,int), void*);
|
|
2072
2093
|
** will sleep multiple times until at least "ms" milliseconds of sleeping
|
2073
2094
|
** have accumulated. ^After at least "ms" milliseconds of sleeping,
|
2074
2095
|
** the handler returns 0 which causes [sqlite3_step()] to return
|
2075
|
-
** [SQLITE_BUSY]
|
2096
|
+
** [SQLITE_BUSY].
|
2076
2097
|
**
|
2077
2098
|
** ^Calling this routine with an argument less than or equal to zero
|
2078
2099
|
** turns off all busy handlers.
|
@@ -2081,6 +2102,8 @@ SQLITE_API int sqlite3_busy_handler(sqlite3*, int(*)(void*,int), void*);
|
|
2081
2102
|
** [database connection] any any given moment. If another busy handler
|
2082
2103
|
** was defined (using [sqlite3_busy_handler()]) prior to calling
|
2083
2104
|
** this routine, that other busy handler is cleared.)^
|
2105
|
+
**
|
2106
|
+
** See also: [PRAGMA busy_timeout]
|
2084
2107
|
*/
|
2085
2108
|
SQLITE_API int sqlite3_busy_timeout(sqlite3*, int ms);
|
2086
2109
|
|
@@ -2375,11 +2398,13 @@ SQLITE_API sqlite3_int64 sqlite3_memory_highwater(int resetFlag);
|
|
2375
2398
|
** applications to access the same PRNG for other purposes.
|
2376
2399
|
**
|
2377
2400
|
** ^A call to this routine stores N bytes of randomness into buffer P.
|
2401
|
+
** ^If N is less than one, then P can be a NULL pointer.
|
2378
2402
|
**
|
2379
|
-
** ^
|
2380
|
-
**
|
2381
|
-
** from the xRandomness method of the default [sqlite3_vfs] object.
|
2382
|
-
** ^
|
2403
|
+
** ^If this routine has not been previously called or if the previous
|
2404
|
+
** call had N less than one, then the PRNG is seeded using randomness
|
2405
|
+
** obtained from the xRandomness method of the default [sqlite3_vfs] object.
|
2406
|
+
** ^If the previous call to this routine had an N of 1 or more then
|
2407
|
+
** the pseudo-randomness is generated
|
2383
2408
|
** internally and without recourse to the [sqlite3_vfs] xRandomness
|
2384
2409
|
** method.
|
2385
2410
|
*/
|
@@ -2480,8 +2505,8 @@ SQLITE_API int sqlite3_set_authorizer(
|
|
2480
2505
|
** [sqlite3_set_authorizer | authorizer documentation] for additional
|
2481
2506
|
** information.
|
2482
2507
|
**
|
2483
|
-
** Note that SQLITE_IGNORE is also used as a [
|
2484
|
-
** from the [sqlite3_vtab_on_conflict()] interface.
|
2508
|
+
** Note that SQLITE_IGNORE is also used as a [conflict resolution mode]
|
2509
|
+
** returned from the [sqlite3_vtab_on_conflict()] interface.
|
2485
2510
|
*/
|
2486
2511
|
#define SQLITE_DENY 1 /* Abort the SQL statement with an error */
|
2487
2512
|
#define SQLITE_IGNORE 2 /* Don't allow access, but don't generate an error */
|
@@ -2539,6 +2564,7 @@ SQLITE_API int sqlite3_set_authorizer(
|
|
2539
2564
|
#define SQLITE_FUNCTION 31 /* NULL Function Name */
|
2540
2565
|
#define SQLITE_SAVEPOINT 32 /* Operation Savepoint Name */
|
2541
2566
|
#define SQLITE_COPY 0 /* No longer used */
|
2567
|
+
#define SQLITE_RECURSIVE 33 /* NULL NULL */
|
2542
2568
|
|
2543
2569
|
/*
|
2544
2570
|
** CAPI3REF: Tracing And Profiling Functions
|
@@ -2751,6 +2777,30 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);
|
|
2751
2777
|
** ^If sqlite3_open_v2() is used and the "cache" parameter is present in
|
2752
2778
|
** a URI filename, its value overrides any behavior requested by setting
|
2753
2779
|
** SQLITE_OPEN_PRIVATECACHE or SQLITE_OPEN_SHAREDCACHE flag.
|
2780
|
+
**
|
2781
|
+
** <li> <b>psow</b>: ^The psow parameter may be "true" (or "on" or "yes" or
|
2782
|
+
** "1") or "false" (or "off" or "no" or "0") to indicate that the
|
2783
|
+
** [powersafe overwrite] property does or does not apply to the
|
2784
|
+
** storage media on which the database file resides. ^The psow query
|
2785
|
+
** parameter only works for the built-in unix and Windows VFSes.
|
2786
|
+
**
|
2787
|
+
** <li> <b>nolock</b>: ^The nolock parameter is a boolean query parameter
|
2788
|
+
** which if set disables file locking in rollback journal modes. This
|
2789
|
+
** is useful for accessing a database on a filesystem that does not
|
2790
|
+
** support locking. Caution: Database corruption might result if two
|
2791
|
+
** or more processes write to the same database and any one of those
|
2792
|
+
** processes uses nolock=1.
|
2793
|
+
**
|
2794
|
+
** <li> <b>immutable</b>: ^The immutable parameter is a boolean query
|
2795
|
+
** parameter that indicates that the database file is stored on
|
2796
|
+
** read-only media. ^When immutable is set, SQLite assumes that the
|
2797
|
+
** database file cannot be changed, even by a process with higher
|
2798
|
+
** privilege, and so the database is opened read-only and all locking
|
2799
|
+
** and change detection is disabled. Caution: Setting the immutable
|
2800
|
+
** property on a database file that does in fact change can result
|
2801
|
+
** in incorrect query results and/or [SQLITE_CORRUPT] errors.
|
2802
|
+
** See also: [SQLITE_IOCAP_IMMUTABLE].
|
2803
|
+
**
|
2754
2804
|
** </ul>
|
2755
2805
|
**
|
2756
2806
|
** ^Specifying an unknown parameter in the query component of a URI is not an
|
@@ -2780,8 +2830,9 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);
|
|
2780
2830
|
** Open file "data.db" in the current directory for read-only access.
|
2781
2831
|
** Regardless of whether or not shared-cache mode is enabled by
|
2782
2832
|
** default, use a private cache.
|
2783
|
-
** <tr><td> file:/home/fred/data.db?vfs=unix-
|
2784
|
-
** Open file "/home/fred/data.db". Use the special VFS "unix-
|
2833
|
+
** <tr><td> file:/home/fred/data.db?vfs=unix-dotfile <td>
|
2834
|
+
** Open file "/home/fred/data.db". Use the special VFS "unix-dotfile"
|
2835
|
+
** that uses dot-files in place of posix advisory locking.
|
2785
2836
|
** <tr><td> file:data.db?mode=readonly <td>
|
2786
2837
|
** An error. "readonly" is not a valid option for the "mode" parameter.
|
2787
2838
|
** </table>
|
@@ -3957,15 +4008,24 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt);
|
|
3957
4008
|
**
|
3958
4009
|
** ^The fourth parameter, eTextRep, specifies what
|
3959
4010
|
** [SQLITE_UTF8 | text encoding] this SQL function prefers for
|
3960
|
-
** its parameters.
|
3961
|
-
**
|
3962
|
-
**
|
3963
|
-
**
|
3964
|
-
**
|
4011
|
+
** its parameters. The application should set this parameter to
|
4012
|
+
** [SQLITE_UTF16LE] if the function implementation invokes
|
4013
|
+
** [sqlite3_value_text16le()] on an input, or [SQLITE_UTF16BE] if the
|
4014
|
+
** implementation invokes [sqlite3_value_text16be()] on an input, or
|
4015
|
+
** [SQLITE_UTF16] if [sqlite3_value_text16()] is used, or [SQLITE_UTF8]
|
4016
|
+
** otherwise. ^The same SQL function may be registered multiple times using
|
4017
|
+
** different preferred text encodings, with different implementations for
|
4018
|
+
** each encoding.
|
3965
4019
|
** ^When multiple implementations of the same function are available, SQLite
|
3966
4020
|
** will pick the one that involves the least amount of data conversion.
|
3967
|
-
**
|
3968
|
-
**
|
4021
|
+
**
|
4022
|
+
** ^The fourth parameter may optionally be ORed with [SQLITE_DETERMINISTIC]
|
4023
|
+
** to signal that the function will always return the same result given
|
4024
|
+
** the same inputs within a single SQL statement. Most SQL functions are
|
4025
|
+
** deterministic. The built-in [random()] SQL function is an example of a
|
4026
|
+
** function that is not deterministic. The SQLite query planner is able to
|
4027
|
+
** perform additional optimizations on deterministic functions, so use
|
4028
|
+
** of the [SQLITE_DETERMINISTIC] flag is recommended where possible.
|
3969
4029
|
**
|
3970
4030
|
** ^(The fifth parameter is an arbitrary pointer. The implementation of the
|
3971
4031
|
** function can gain access to this pointer using [sqlite3_user_data()].)^
|
@@ -4051,9 +4111,19 @@ SQLITE_API int sqlite3_create_function_v2(
|
|
4051
4111
|
#define SQLITE_UTF16LE 2
|
4052
4112
|
#define SQLITE_UTF16BE 3
|
4053
4113
|
#define SQLITE_UTF16 4 /* Use native byte order */
|
4054
|
-
#define SQLITE_ANY 5 /*
|
4114
|
+
#define SQLITE_ANY 5 /* Deprecated */
|
4055
4115
|
#define SQLITE_UTF16_ALIGNED 8 /* sqlite3_create_collation only */
|
4056
4116
|
|
4117
|
+
/*
|
4118
|
+
** CAPI3REF: Function Flags
|
4119
|
+
**
|
4120
|
+
** These constants may be ORed together with the
|
4121
|
+
** [SQLITE_UTF8 | preferred text encoding] as the fourth argument
|
4122
|
+
** to [sqlite3_create_function()], [sqlite3_create_function16()], or
|
4123
|
+
** [sqlite3_create_function_v2()].
|
4124
|
+
*/
|
4125
|
+
#define SQLITE_DETERMINISTIC 0x800
|
4126
|
+
|
4057
4127
|
/*
|
4058
4128
|
** CAPI3REF: Deprecated Functions
|
4059
4129
|
** DEPRECATED
|
@@ -4623,6 +4693,13 @@ SQLITE_API int sqlite3_sleep(int);
|
|
4623
4693
|
** is a NULL pointer, then SQLite performs a search for an appropriate
|
4624
4694
|
** temporary file directory.
|
4625
4695
|
**
|
4696
|
+
** Applications are strongly discouraged from using this global variable.
|
4697
|
+
** It is required to set a temporary folder on Windows Runtime (WinRT).
|
4698
|
+
** But for all other platforms, it is highly recommended that applications
|
4699
|
+
** neither read nor write this variable. This global variable is a relic
|
4700
|
+
** that exists for backwards compatibility of legacy applications and should
|
4701
|
+
** be avoided in new projects.
|
4702
|
+
**
|
4626
4703
|
** It is not safe to read or modify this variable in more than one
|
4627
4704
|
** thread at a time. It is not safe to read or modify this variable
|
4628
4705
|
** if a [database connection] is being used at the same time in a separate
|
@@ -4641,6 +4718,11 @@ SQLITE_API int sqlite3_sleep(int);
|
|
4641
4718
|
** Hence, if this variable is modified directly, either it should be
|
4642
4719
|
** made NULL or made to point to memory obtained from [sqlite3_malloc]
|
4643
4720
|
** or else the use of the [temp_store_directory pragma] should be avoided.
|
4721
|
+
** Except when requested by the [temp_store_directory pragma], SQLite
|
4722
|
+
** does not free the memory that sqlite3_temp_directory points to. If
|
4723
|
+
** the application wants that memory to be freed, it must do
|
4724
|
+
** so itself, taking care to only do so after all [database connection]
|
4725
|
+
** objects have been destroyed.
|
4644
4726
|
**
|
4645
4727
|
** <b>Note to Windows Runtime users:</b> The temporary directory must be set
|
4646
4728
|
** prior to calling [sqlite3_open] or [sqlite3_open_v2]. Otherwise, various
|
@@ -5775,10 +5857,12 @@ SQLITE_API int sqlite3_vfs_unregister(sqlite3_vfs*);
|
|
5775
5857
|
** <li> SQLITE_MUTEX_RECURSIVE
|
5776
5858
|
** <li> SQLITE_MUTEX_STATIC_MASTER
|
5777
5859
|
** <li> SQLITE_MUTEX_STATIC_MEM
|
5778
|
-
** <li>
|
5860
|
+
** <li> SQLITE_MUTEX_STATIC_OPEN
|
5779
5861
|
** <li> SQLITE_MUTEX_STATIC_PRNG
|
5780
5862
|
** <li> SQLITE_MUTEX_STATIC_LRU
|
5781
|
-
** <li>
|
5863
|
+
** <li> SQLITE_MUTEX_STATIC_PMEM
|
5864
|
+
** <li> SQLITE_MUTEX_STATIC_APP1
|
5865
|
+
** <li> SQLITE_MUTEX_STATIC_APP2
|
5782
5866
|
** </ul>)^
|
5783
5867
|
**
|
5784
5868
|
** ^The first two constants (SQLITE_MUTEX_FAST and SQLITE_MUTEX_RECURSIVE)
|
@@ -5982,6 +6066,9 @@ SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex*);
|
|
5982
6066
|
#define SQLITE_MUTEX_STATIC_LRU 6 /* lru page list */
|
5983
6067
|
#define SQLITE_MUTEX_STATIC_LRU2 7 /* NOT USED */
|
5984
6068
|
#define SQLITE_MUTEX_STATIC_PMEM 7 /* sqlite3PageMalloc() */
|
6069
|
+
#define SQLITE_MUTEX_STATIC_APP1 8 /* For use by application */
|
6070
|
+
#define SQLITE_MUTEX_STATIC_APP2 9 /* For use by application */
|
6071
|
+
#define SQLITE_MUTEX_STATIC_APP3 10 /* For use by application */
|
5985
6072
|
|
5986
6073
|
/*
|
5987
6074
|
** CAPI3REF: Retrieve the mutex for a database connection
|
@@ -6075,7 +6162,10 @@ SQLITE_API int sqlite3_test_control(int op, ...);
|
|
6075
6162
|
#define SQLITE_TESTCTRL_LOCALTIME_FAULT 18
|
6076
6163
|
#define SQLITE_TESTCTRL_EXPLAIN_STMT 19
|
6077
6164
|
#define SQLITE_TESTCTRL_NEVER_CORRUPT 20
|
6078
|
-
#define
|
6165
|
+
#define SQLITE_TESTCTRL_VDBE_COVERAGE 21
|
6166
|
+
#define SQLITE_TESTCTRL_BYTEORDER 22
|
6167
|
+
#define SQLITE_TESTCTRL_ISINIT 23
|
6168
|
+
#define SQLITE_TESTCTRL_LAST 23
|
6079
6169
|
|
6080
6170
|
/*
|
6081
6171
|
** CAPI3REF: SQLite Runtime Status
|
@@ -7059,6 +7149,9 @@ SQLITE_API void *sqlite3_wal_hook(
|
|
7059
7149
|
** ^The [wal_autocheckpoint pragma] can be used to invoke this interface
|
7060
7150
|
** from SQL.
|
7061
7151
|
**
|
7152
|
+
** ^Checkpoints initiated by this mechanism are
|
7153
|
+
** [sqlite3_wal_checkpoint_v2|PASSIVE].
|
7154
|
+
**
|
7062
7155
|
** ^Every new [database connection] defaults to having the auto-checkpoint
|
7063
7156
|
** enabled with a threshold of 1000 or [SQLITE_DEFAULT_WAL_AUTOCHECKPOINT]
|
7064
7157
|
** pages. The use of this interface
|
@@ -7075,6 +7168,10 @@ SQLITE_API int sqlite3_wal_autocheckpoint(sqlite3 *db, int N);
|
|
7075
7168
|
** empty string, then a checkpoint is run on all databases of
|
7076
7169
|
** connection D. ^If the database connection D is not in
|
7077
7170
|
** [WAL | write-ahead log mode] then this interface is a harmless no-op.
|
7171
|
+
** ^The [sqlite3_wal_checkpoint(D,X)] interface initiates a
|
7172
|
+
** [sqlite3_wal_checkpoint_v2|PASSIVE] checkpoint.
|
7173
|
+
** Use the [sqlite3_wal_checkpoint_v2()] interface to get a FULL
|
7174
|
+
** or RESET checkpoint.
|
7078
7175
|
**
|
7079
7176
|
** ^The [wal_checkpoint pragma] can be used to invoke this interface
|
7080
7177
|
** from SQL. ^The [sqlite3_wal_autocheckpoint()] interface and the
|
@@ -7097,10 +7194,12 @@ SQLITE_API int sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb);
|
|
7097
7194
|
** Checkpoint as many frames as possible without waiting for any database
|
7098
7195
|
** readers or writers to finish. Sync the db file if all frames in the log
|
7099
7196
|
** are checkpointed. This mode is the same as calling
|
7100
|
-
** sqlite3_wal_checkpoint(). The busy-handler callback
|
7197
|
+
** sqlite3_wal_checkpoint(). The [sqlite3_busy_handler|busy-handler callback]
|
7198
|
+
** is never invoked.
|
7101
7199
|
**
|
7102
7200
|
** <dt>SQLITE_CHECKPOINT_FULL<dd>
|
7103
|
-
** This mode blocks (
|
7201
|
+
** This mode blocks (it invokes the
|
7202
|
+
** [sqlite3_busy_handler|busy-handler callback]) until there is no
|
7104
7203
|
** database writer and all readers are reading from the most recent database
|
7105
7204
|
** snapshot. It then checkpoints all frames in the log file and syncs the
|
7106
7205
|
** database file. This call blocks database writers while it is running,
|
@@ -7108,7 +7207,8 @@ SQLITE_API int sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb);
|
|
7108
7207
|
**
|
7109
7208
|
** <dt>SQLITE_CHECKPOINT_RESTART<dd>
|
7110
7209
|
** This mode works the same way as SQLITE_CHECKPOINT_FULL, except after
|
7111
|
-
** checkpointing the log file it blocks (calls the
|
7210
|
+
** checkpointing the log file it blocks (calls the
|
7211
|
+
** [sqlite3_busy_handler|busy-handler callback])
|
7112
7212
|
** until all readers are reading from the database file only. This ensures
|
7113
7213
|
** that the next client to write to the database file restarts the log file
|
7114
7214
|
** from the beginning. This call blocks database writers while it is running,
|
@@ -7246,6 +7346,7 @@ SQLITE_API int sqlite3_vtab_on_conflict(sqlite3 *);
|
|
7246
7346
|
|
7247
7347
|
/*
|
7248
7348
|
** CAPI3REF: Conflict resolution modes
|
7349
|
+
** KEYWORDS: {conflict resolution mode}
|
7249
7350
|
**
|
7250
7351
|
** These constants are returned by [sqlite3_vtab_on_conflict()] to
|
7251
7352
|
** inform a [virtual table] implementation what the [ON CONFLICT] mode
|
@@ -7298,6 +7399,16 @@ extern "C" {
|
|
7298
7399
|
#endif
|
7299
7400
|
|
7300
7401
|
typedef struct sqlite3_rtree_geometry sqlite3_rtree_geometry;
|
7402
|
+
typedef struct sqlite3_rtree_query_info sqlite3_rtree_query_info;
|
7403
|
+
|
7404
|
+
/* The double-precision datatype used by RTree depends on the
|
7405
|
+
** SQLITE_RTREE_INT_ONLY compile-time option.
|
7406
|
+
*/
|
7407
|
+
#ifdef SQLITE_RTREE_INT_ONLY
|
7408
|
+
typedef sqlite3_int64 sqlite3_rtree_dbl;
|
7409
|
+
#else
|
7410
|
+
typedef double sqlite3_rtree_dbl;
|
7411
|
+
#endif
|
7301
7412
|
|
7302
7413
|
/*
|
7303
7414
|
** Register a geometry callback named zGeom that can be used as part of an
|
@@ -7308,11 +7419,7 @@ typedef struct sqlite3_rtree_geometry sqlite3_rtree_geometry;
|
|
7308
7419
|
SQLITE_API int sqlite3_rtree_geometry_callback(
|
7309
7420
|
sqlite3 *db,
|
7310
7421
|
const char *zGeom,
|
7311
|
-
|
7312
|
-
int (*xGeom)(sqlite3_rtree_geometry*, int n, sqlite3_int64 *a, int *pRes),
|
7313
|
-
#else
|
7314
|
-
int (*xGeom)(sqlite3_rtree_geometry*, int n, double *a, int *pRes),
|
7315
|
-
#endif
|
7422
|
+
int (*xGeom)(sqlite3_rtree_geometry*, int, sqlite3_rtree_dbl*,int*),
|
7316
7423
|
void *pContext
|
7317
7424
|
);
|
7318
7425
|
|
@@ -7324,11 +7431,60 @@ SQLITE_API int sqlite3_rtree_geometry_callback(
|
|
7324
7431
|
struct sqlite3_rtree_geometry {
|
7325
7432
|
void *pContext; /* Copy of pContext passed to s_r_g_c() */
|
7326
7433
|
int nParam; /* Size of array aParam[] */
|
7327
|
-
|
7434
|
+
sqlite3_rtree_dbl *aParam; /* Parameters passed to SQL geom function */
|
7328
7435
|
void *pUser; /* Callback implementation user data */
|
7329
7436
|
void (*xDelUser)(void *); /* Called by SQLite to clean up pUser */
|
7330
7437
|
};
|
7331
7438
|
|
7439
|
+
/*
|
7440
|
+
** Register a 2nd-generation geometry callback named zScore that can be
|
7441
|
+
** used as part of an R-Tree geometry query as follows:
|
7442
|
+
**
|
7443
|
+
** SELECT ... FROM <rtree> WHERE <rtree col> MATCH $zQueryFunc(... params ...)
|
7444
|
+
*/
|
7445
|
+
SQLITE_API int sqlite3_rtree_query_callback(
|
7446
|
+
sqlite3 *db,
|
7447
|
+
const char *zQueryFunc,
|
7448
|
+
int (*xQueryFunc)(sqlite3_rtree_query_info*),
|
7449
|
+
void *pContext,
|
7450
|
+
void (*xDestructor)(void*)
|
7451
|
+
);
|
7452
|
+
|
7453
|
+
|
7454
|
+
/*
|
7455
|
+
** A pointer to a structure of the following type is passed as the
|
7456
|
+
** argument to scored geometry callback registered using
|
7457
|
+
** sqlite3_rtree_query_callback().
|
7458
|
+
**
|
7459
|
+
** Note that the first 5 fields of this structure are identical to
|
7460
|
+
** sqlite3_rtree_geometry. This structure is a subclass of
|
7461
|
+
** sqlite3_rtree_geometry.
|
7462
|
+
*/
|
7463
|
+
struct sqlite3_rtree_query_info {
|
7464
|
+
void *pContext; /* pContext from when function registered */
|
7465
|
+
int nParam; /* Number of function parameters */
|
7466
|
+
sqlite3_rtree_dbl *aParam; /* value of function parameters */
|
7467
|
+
void *pUser; /* callback can use this, if desired */
|
7468
|
+
void (*xDelUser)(void*); /* function to free pUser */
|
7469
|
+
sqlite3_rtree_dbl *aCoord; /* Coordinates of node or entry to check */
|
7470
|
+
unsigned int *anQueue; /* Number of pending entries in the queue */
|
7471
|
+
int nCoord; /* Number of coordinates */
|
7472
|
+
int iLevel; /* Level of current node or entry */
|
7473
|
+
int mxLevel; /* The largest iLevel value in the tree */
|
7474
|
+
sqlite3_int64 iRowid; /* Rowid for current entry */
|
7475
|
+
sqlite3_rtree_dbl rParentScore; /* Score of parent node */
|
7476
|
+
int eParentWithin; /* Visibility of parent node */
|
7477
|
+
int eWithin; /* OUT: Visiblity */
|
7478
|
+
sqlite3_rtree_dbl rScore; /* OUT: Write the score here */
|
7479
|
+
};
|
7480
|
+
|
7481
|
+
/*
|
7482
|
+
** Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin.
|
7483
|
+
*/
|
7484
|
+
#define NOT_WITHIN 0 /* Object completely outside of query region */
|
7485
|
+
#define PARTLY_WITHIN 1 /* Object partially overlaps query region */
|
7486
|
+
#define FULLY_WITHIN 2 /* Object fully contained within query region */
|
7487
|
+
|
7332
7488
|
|
7333
7489
|
#ifdef __cplusplus
|
7334
7490
|
} /* end of the 'extern "C"' block */
|