forked from ericsink/SQLitePCL.raw
-
Notifications
You must be signed in to change notification settings - Fork 0
/
todo.txt
216 lines (147 loc) · 5.59 KB
/
todo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
Do the collation hook fix thing for config_log
I suppose we could still put in a needy/cppinterop version
for wp80 and wp81_sl into the _needy package. It doesn't
have to remain pinvoke only.
consider whether maybe the sqlite3 intptr dispose should check
the version number and call sqlite3_close_v2 when it's supposedly
available.
switch to xUnit
we could switch the RT flavor of WP81 to use pinvoke
maybe I should have config_csproj instead of three different
flavors of same.
test needy with the sqlite vsix
sqlite.raw_current: how to deal with sqlite3 build on ios?
switch my env keywords to be the same as the ones nuget uses?
test_cases.cs nuget, nunit vs mstest
net45 pinvoke targets file should copytooutput only when on windows
add visual studio 2013 c++ runtime sdkreference. but injecting an
SDKReference in the .targets file sort of doesn't work, and using
a powershell tool is so inelegant. MESSAGE.
clean up TODOs in new nuspecs
create/generate a csproj which just builds the bait, for use by
praeclarum/timheuer in building sqlite-net with USE_SQLITEPCL_RAW
defined.
annoying that an injected reference doesn't show up in the
References list in visual studio
error if configuration is not release or debug
but configuration in xamarin.ios is actually stuff like iPhone, etc
nuspecs:
basic
ios in lib
android in lib
all others in build/targets, bundle current
needy
ios in lib
android in lib
all others in build/targets, bundle nothing
kitchen_sink
everything in build
no references added
basically just a zip file
bundle_current
ios in lib
android in lib
all others in build/targets, bundle current
nuget package which has no sqlite libraries in it:
ios -- system
android -- system
winrt -- vs gallery
wp8 -- vs gallery
wp81 -- vs gallery?
net45 -- SOL
nuget package which bundles current sqlite for every plat:
ios -- __internal, resource (build on mac)
android -- resource (build somewhere)
all others -- c++/cx (static? or dynamic?)
should we use the sqlite sdks in the vs gallery instead?
weird that they're not nuget. and weird that there isn't
one for regular net45. and the distinction between the two
flavors of WP81 is not there. and the WP81 is pre-release.
why does the sqlitepcl ios platform assembly show
no assembly info when viewed in xamarin studio?
android
currently only one platform assembly
always match? no condition?
move to the lib directory?
anycpu. no platform condition.
ios
no platform condition.
always want the pinvoke_sqlite3 option.
net45
cppinterop_sqlite3_dynamic
platform matching works: x64 and x86
anycpu not available
winrt, wp (all of them)
cppinterop_sqlite3_dynamic
platform matching works: arm and x86
anycpu not available
nuget targets match any cpu is busted
figure out a way to disable the mac/ios projects while
using msbuild from the command line
for the cppinterop dll build, why does winrt80 generate .exp
and .lib?
Win32 in the sln file
auto-generate the test projects as well?
do we need separate platform assemblies for .NET 4.5 vs 4.5.1 ?
do we need separate platform assemblies for older versions of .NET,
like 4.0 ?
docs: need a complete list, in tabular form, of the platform
assemblies and an explanation of the use cases for each one.
auto-generate this.
need at least one test project for each platform assembly.
add tests that use actual named sqlite database files, not just
:memory: and temp dbs.
add an NUnit project on Windows/Net45, so that build breakage
with NUnit can be detected when making changes on windows.
should reference NUnit as a nuget package
special build for desktop Mono? or does net45 cover that?
sqlite3.Mac? or use platform-installed sqlite on MacOS?
separate build of iOS version with a bundled SQLite __Internal ?
would need to build sqlite3 for iOS so we can embed it in the resource
for __Internal. MonoDevelop Makefile integration?
docs on all the methods in raw, especially where the params
differ from the C API
question about whether we are statically linking the C library
or not, for the mixed mode assembly.
for the windows pinvoke projects, we need to be building sqlite3 native dlls
Xamarin.Android, pinvoke my_sqlite3, with sqlite3 lib in resource
i hate the way all the tests show up in visual studio, 5 tests with
the same name, no way to distinguish between the platform versions
of each test.
fix those weird compiler warnings on iOS and Android ?
sqlcipher?
note that SQLitePCL.Ugly only builds with the "new" reflection APIs.
looks like profile 259 is the new 78
hmmm. note that one axis of configuration we are not varying is
the compile options for sqlite itself. we always build with FTS
and with ENABLE_COLUMN_METADATA, and nothing else
----------------
sqlite API issues:
should sqlite3_commit_hook() return something? the C function returns the
user pointer, which has no useful parallel for us to return. I sort of hate
the fact that it returns void, since we can't check errors on it. but
the underlying C function doesn't really return any useful info for error
checking either.
unprotected sqlite3_value: sqlite3_column_value, sqlite3_bind_value, sqlite3_result_value
sqlite3_create_module
sqlite3_db_config
sqlite3_db_filename
sqlite3_db_mutex
sqlite3_db_readonly
sqlite3_db_status
sqlite3_get_auxdata
sqlite3_set_auxdata
sqlite3_limit
sqlite3_progress_handler
sqlite3_randomness
sqlite3_soft_heap_limit64
sqlite3_status
sqlite3_stmt_status
sqlite3_wal_autocheckpoint
sqlite3_wal_checkpoint
sqlite3_wal_checkpoint_v2
sqlite3_wal_hook
sqlite3_busy_handler
sqlite3_collation_needed -- difficult because of the be handle passed
to the callback
sqlite3_config