poppler 2.2.0-x86-mingw32 → 2.2.1-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 */
|