g used in the specific
technical sense involved (data is reflected automatically between
mmap and read/write), by relation to "cache coherent". So in that
sense it is both correct and not a disparagement of the OpenBSD
behavior.
---> Drake Wilson
_
here's a subjective element.)
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
wish to
say). If not, then you may actually have a primary key of the whole
row, in which case I'm not sure why inventing a rowid is needed.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
truncation is actually a potential error: e.g., a row ID of 2^32
would be returned as 0 instead on a system with 32-bit int. It's the
sort of thing you might not see in production for a while until it
breaks everything suddenly a ways down the line.
Quoth Rob Richardson , on 2013-11-06 14:08:34 +:
> In Igor's post below, what is the meaning of the colon in front of mypid?
Parameters/placeholders.
http://sqlite.org/lang_expr.html#varparam
---> Drake Wilson
___
sqlite-users m
in between resets? If so, is it set properly? If not, how is
the current time acquired by the OS?
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
suggestions?
PRAGMA secure_delete=0 ?
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
; proceed destructively.
free().
Now, can we stop the repeated philosophical arguments about these
sort of things on the SQLite list? They are getting old and drifting
off topic, I think.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-user
ng in database corruption.
The difference is not particularly large, and is easily explainable by
some combination of the above or similar. If you want something more
exact, of course, feel free to run a source-level trace using your
favorite allocation analysis sof
Quoth Drake Wilson , on 2013-06-07 08:18:05 -0500:
> Actually, I dropped a paragraph on the floor, sorry. It's probably better to
> use
> xRead for this, since in that case SQLite will manage its own memory for the
> cache
> of decrypted pages. The loss in that case, i
Quoth Drake Wilson , on 2013-06-07 08:14:27 -0500:
> If you really want, you might be able to implement xFetch to allocate a shadow
> buffer, decrypt from the map into that, and return that pointer. Since it's
> designed for accessing maps directly, though, I don't see it do
s to be---it might be "until the file is closed",
in which case you have to keep those shadow buffers alive the entire time, but
you might still avoid taking syscalls that way.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
cation ID registrations to avoid
software that might or might not later be published potentially taking
a sudden change of ID? Do you accept "two-level" registrations that
would use the "application ID" as more of a "vendor ID" and the
user_versi
Quoth Nico Williams , on 2013-04-04 19:15:52 -0500:
> This is off-topic, I know, so maybe we should continue this off-list,
> if at all, but...
Switching to private mail.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite
hed using only local
state. This still requires a compiler capable of emitting SEH frame
establish/teardown code on Windows x86-32 (which had a patent fiasco a
while back which may still be ongoing), and I think maybe appropriate
unwind tables and framing on Windows x86-64, and it doesn't help
Quoth Drake Wilson , on 2013-04-04 10:20:44 -0500:
> So it is perfectly okay to use unprotected mmap accesses if an I/O
> error on the file will already make the entire process uncontinuable.
> The question is whether this applies to arbitrary SQLite databases
> that an application may
ing mmap off, but due to this I
would think that off should be the default, much like how WAL is not
the default journal mode (despite its considerable benefits in many
use cases) because it creates additional requirements that must be
taken into account.
Of course I may be missing something import
a quick grep does not find currently, but that is an open
question, not a hard recommendation.)
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
teed response, may I suggest hiring
someone to be specifically responsible for giving you the results you
need? http://www.hwaci.com/sw/sqlite/prosupport.html is an obvious
place to start.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-use
gger unfortunate codepaths somewhere in the kernel
in the process of failing.
I'm interested to see whether any of the above does any good, to
improve my own knowledge of NFS. :-)
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@
realtime chat system. If you won't wait even ten
minutes before squawking about the same thing again, a mailing list
may not be for you. Are you understanding any of the responses at
all? Give a sign of it if so!
And "y" and "Y" are not the
they
will compare correctly because that's the way that date format was
designed, but it won't happen just because.
The string "29" comes before the string "3" because "2" comes before
"3". It doesn't automatically figure out what a
will
work in some situations. Now _please_ try to understand this _before_
throwing another dozen SELECT statements at the list. Don't just ask
people to give you the magic formula or ask why it doesn't work when
you plug random things together; try to learn the
rs_. For string literals, use single
quotation marks. SQLite will sort of autocorrect the former into the
latter sometimes, but it is not good practice to rely on this.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqli
choice in SQLite,
whether it is documented somewhere that I have missed, and/or whether
it is simply a bug or undefined behavior would be appreciated.
---> Drake Wilson
After CREATE TABLE fudge (x INTEGER NOT NULL PRIMARY KEY DEFAULT 500),
running EXPLAIN INSERT INTO fudge DEFAULT VALU
t integers; the doc is
silent re int64 type) and the default is a compile-time limit of 10.
Whether this is a problem depends on your data and application
architecture.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http:/
his still fail if you use an empty string or other recognizable
non-NULL sentinel string instead?
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
't
seem like a valid thing to do. Presumably you should set the result
values to indicate "no constraints used, no ordering consumed, an
arbitrary high cost estimate, and an indicator for full-scan access
(that will be recognized by the xFilter method)&quo
basic logic for both. The problem is the second time
> around I get a SQLITE_MISUSE.
>
> What am I doing wrong?
You probably need to sqlite3_reset the statement after stepping it.
---> Drake Wilson
___
sqlite-users mailing list
sqli
elevant restriction on the RHS of a MATCH.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
char._
No. I strongly suspect that's a red herring.
In summary:
- Make sure msg.num_bytes_in is actually set to what you want.
- Make sure you're handling the lifetime of the buffer correctly;
for testing purposes I'd use SQLITE_TRANSIENT rather than
SQLITE_STATIC, si
BEGIN EXCLUSIVE before loading the schema in
most cases. (The EXCLUSIVE may not strictly be necessary, but I find
it makes things clearer.)
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
you are willing to spend more
memory to deal with it, some of the first things to try would be
fiddling with the cache_size, synchronous, and journal_mode PRAGMAs,
depending on what tradeoffs you want to make.
> - paldepind
---> Drake Wilson
___
s
as pblah[0]. pblah[1] is out of bounds,
and depending on how the compiler allocates those vars it may wind up
aliasing the db pointer. This is not an SQLite problem.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http:/
the total period is at least 2^64, that
doesn't guarantee no repeated 64-bit values unless the output reflects
the entire state, no? ISTR SQLite using (A)RC4.
And that doesn't help between connections.
---> Drake Wilson
___
sqlite-users
If
neither of those is true, you're probably looking at probing several
times to avoid collisions, and that's not something the stock "pick a
new row ID" mechanism handles AFAIK.
---> Drake Wilson
___
sqlite-users mailing list
Quoth Drake Wilson , on 2011-02-28 14:44:38 -0700:
> Furthermore, another approach if the name<->FD thing is the only
> requirement would be to retrieve all the original VFS methods at init
> time (using sqlite3_vfs_find) and only alter a few of them when
> registering the ne
Quoth Roger Binns , on 2011-02-28 13:03:43 -0800:
> On 02/28/2011 12:41 PM, Drake Wilson wrote:
> > Back on the original topic, I would rather think a custom VFS sounds
> > like the way to go;
>
> It is technically correct that will work. However it is a *lot* of
> ma
inconvenient, you
could provide your own chromium_sqlite3_openhandle(handle, ...)
function which would do the conversion and call sqlite3_open behind
the scenes.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
would not also be colliding on at least one database, but I'm not
confident about that.
I would try it and see what happens, but also be rather cautious about
the design in such cases; it's hard to judge more accurately without
knowing more about the appli
t including that column, but that
doesn't allow (A, B) and (A, C) to exist simultaneously.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
them null? More generally, could
you show some example inserts with what behavior you expect? I
suspect what you're looking for is best done some other way.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
re actually _storing_ all the data?
Can you verify that you can get all the bytes out in any way at all?
Information about the schema in use would be helpful, in general.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
cognize exactly why their cases are different.)
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
get you better index usage on the
name regardless of whether you change to a synthetic integer primary
key. Of course you have to do the normalization the same way when
writing the records to the DB in the first place.
> Thanks,
> Ian
---> Drake Wilson
ways takes UTF-8 and
does any filesystem-specific encoding transformations internally. (It
may still be that it does it incorrectly on some platforms, in which
case that may be a bug.)
> -- Tito
---> Drake Wilson
___
sqlite-users mailing list
s
aution, especially if the SQLite component may later be
replaced with the expectation of backwards compatibility.
> Simon.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
the exact length in bytes, and any NUL characters within
that number of bytes will be included in the string.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
passing a length of VARNAM_SYMBOL_MAX instead,
which I'm guessing is not 1. Pass the real length of the string (not
the size of the buffer), or -1 to treat it as a NUL-terminated C
string. Otherwise you're grabbing extra bogus bytes.
---> Drake Wilson
___
table. (The DELETE case would just be transparent and key on
the row IDs, I expect, if you don't need to do anything there.)
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
lite> insert into a (id, bx) values (110, -3);
Error: foreign key constraint failed
In particular, if you never create table B, subsequent operations on A
may fail, but the creation succeeds and allows you to create B later.
Also, dropping the tables may be awkward unless you
00
16 ResultRow 4 2 0 00
17 Next1 8 0 01
18 Halt0 0 0 00
19 Goto0 3 0 00
---> Drake Wilson
e last_insert_rowid if the other thread is using the
same connection (and not just the same database), which ideally you shouldn't
be doing anyway. Is that the case here?
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
ms. So it may have
come from somewhere else (I don't recall reading the SQL specification
personally), but the terms are certainly repeated in the SQLite doc.
(I didn't start the thread either, FWIW, in case that was the specific
"you"
rm that exists in the specification may
> be useful for the SQLite developers, but may mean nothing to the
> casual SQL user reading the SQLite documentation.
Sorry, I don't quite understand here. To which term are you referring
exactly?
---> Drake Wilson
___
each has both forms, so the second paragraph implies repeating
both pieces of information from the first. So there is no "different
thought in between" exactly.
Obviously this is easier for someone who already understands the base
syntax well enough, but
of UNIQUE constraints.
Oh, _there_ it is. So it is written explicitly, just a little bit
compressed. I was foolish and didn't link the latter paragraph to the
former when doing textual search. Hmm.
---> Drake Wilson
___
sqlite-users mailin
IGN
KEY, but I don't have the resources to submit a full proposal right
now...)
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Quoth Simon Slavin , on 2010-12-26 18:28:28 +:
> ... and to do that you create an index on that tuple, and require the index
> to enforce uniqueness:
>
> CREATE UNIQUE INDEX tab ON t (a,b)
If you like. I was referring to CREATE TABLE t (a, b, UNIQUE (a, b)).
---&g
pecifiers on multiple columns are
unrelated. You may specify a multi-column UNIQUE constraint by
declaring it separately (and not as part of any column specification).
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http:/
q.html#q24
Oompa loompa bloopity blurn
SQL syntax is easy to learn
It might help your queries work too
Like the oompa loompa oompa
Oompa loompa doopity do
o/`
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
atements and roll back, otherwise commit at the end. Don't
include the begin/end in the list. Does that not work for you?
> Thanks,
> Tom
> BareFeetWare
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://s
[1]
http://kobyk.wordpress.com/2007/07/20/dynamically-linking-with-msvcrtdll-using-visual-c-2005/
[2] http://msdn.microsoft.com/en-us/library/abx4dbyh.aspx
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> Note the added VALUES keyword.
Oh yes. D'oh! I think I accidentally hit kill-word before sending;
sorry about that. (The other response about the table definitions is
useful too.)
---> Drake Wilson
___
sqlite-users mailing list
y since you mention that your interactive experience
is mostly with Access. Having additional context might allow more
useful suggestions beyond purely syntactic issues.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
f
| SQLite might change to raise errors instead of accepting the malformed
| statements covered by the exceptions above.
(I suspect the real answer is "don't do that", but I'm not entirely
confident.)
---> Drake Wilson
___
sqlite-
(in this case, have each callback invocation increment the
next-pointer).
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Quoth Dariusz Matkowski , on 2010-12-03 18:46:20 -0500:
> Phobic
What?
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
her of those will work directly. An obvious approach
would be to use two rows for any non-reflexive entry in the relation,
which is a small amount of application logic. Another would be to
rewrite the query to union the two directions together, then probably
always insert non-reflexive entries in le
d to tell what exactly you're doing from the description, such as
why you're doing these updates with two threads to start with, so it's
hard to give good advice. Perhaps you could show some example code?
Which threading mode do you mean? Serialized or multith
es where it works. Aside from that, transaction
state is bound to a handle; you're starting a transaction and then
trying to start another one inside it.
Open two handles instead.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-us
Lite is only
a database engine that is used by many applications to store different
types of data. You might go search for help related to the specific
handset software in use instead.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-user
t; SELECT ID a, Price b FROM OrderTest WHERE Price < 200
> ...> UNION
> ...> SELECT ID a, Price b FROM OrderTest WHERE Price > 500
> ...> )
> ...> ORDER BY a IS 0, b;
> a|b
> 3|0.0
> 4|25.0
> 1|50.0
> 2|75.
tion would work without
yielding surprising results.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
If the condition is complicated enough and you want to save
recomputing it, you can create a temporary table to hold the _rowid_
values from the original and then use WHERE _rowid_ IN (SELECT ...)
from the temporary table to identify the rows to be moved.
---> Dra
index. Is
> this in fact the case?
When doing which queries?
How do you propose to look up a key value in the index without using
the collation function?
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
#x27;t need it as much as you think.
http://sqlite.org/lang_altertable.html shows that modifying existing
column types in-place is not available.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
nerate a row for each
> PattenID, COUNT(Offset_Y) combination?
Does SELECT PatternID, COUNT(DISTINCT Offset_Y) FROM Tiles GROUP BY
PatternID do what you're looking for?
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.or
x27;t unsolvable, but it's a little harder than it might look.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
ON is guaranteed to be semantically after ORDER BY
processing and therefore allows controlling which row from a group is
selected, if one is careful.
Thanks for the corrections.
>-j
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
l of
within-group ordering using ORDER BY. But is this part of the public
interface, or is it an oddity that may change in future revisions?
Hipp's response upthread seems to indicate the former, but I'd rather
be sure.
---> Drake Wilson
___
directly. Instead, an SQL column type is used. In fact, the column
type "NONE" will be detected as NUMERIC affinity, per the rules in the
documentation. I would use a blank type to declare a column of
varying type; that would give the NONE affinity you
s that maybe I haven't set up the
> database properly to accept UTF8 or UTF16 data, but I figured this was a
> default in SQLite3.
You have to pick one when you create the database, usually UTF-8. If
you want UTF-16 use « PRAGMA encoding = 'UTF-16' » (or 'UTF-16le' o
tep (d), you're doing what? Sorting the resulting rows? How
exactly would you use the index for that?
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Quoth Frank Millman , on 2010-10-20 11:47:06 +0200:
> Ok, thanks.
>
> Is there any chance of it being considered for a future release?
Search http://www.sqlite.org/cvstrac/wiki?p=SqliteWikiFaq for "foreign
key".
> Frank
to set characteristics of the file before doing the sqlite3_open(),
you can open() or CreateFile() it or whatever beforehand.
> Thanks in advance
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Is
it just a matter of a safety net, wanting to know when you're doing
something that's not that well-defined? The query is semantically not
very good, but there are many other kinds of meaningless queries that
are valid SQL; it's not really SQLite's job to check that for
fferent-unit rows, and does the insert
on new-code rows. Maybe something like (again, untested):
CREATE VIEW Code_Units_for_insert AS SELECT * FROM Code_Units;
CREATE TRIGGER slightly_different_insert
INSTEAD OF INSERT ON Code_Units
FOR EACH ROW BEGIN
INSERT OR IGNORE I
sqlite.org/src/wiki?name=Bug+Reports says that posting to
the list is the correct way to do this, please consider the above such
a request. (I will look into a patch if I have time, though this is
moderately unlikely.)
Additional comments are naturally we
Quoth Travis Orr , on 2010-10-12 08:17:38 -0700:
> Drake Wilson said:
> - However, it now occurs to me that it may be possible to use the
> - fts3_tokenizer() function in a trigger, which is probably a bad thing
> - when writing to untrusted databases.
>
> I suppose the only
mbol 1'), then later
('file B', 'symbol 1') and so on, and you can't trivially get the
DISTINCT out of that without sorting in temporary storage.
Using UNIQUE (symbol, file) instead would seem the obvious solution.
Is there a reason you can't do that?
> Joe
declaring which functions are allowed and which are not is just as
much work as reregistering the tokenizer in the first place.
However, it now occurs to me that it may be possible to use the
fts3_tokenizer() function in a trigger, which is probably a bad thing
when writing to untrusted databases. Hmm
multiple
> conditions must be in separate triggers?
Your answer is right in the docs, where the syntax diagrams at
http://sqlite.org/lang_createtrigger.html will demonstrate that the
body of a trigger is a sequence of UPDATE, INSERT, DELETE, and SELECT
statements. There is no full procedural
/us2.php.net/manual/en/sqlite3stmt.bindvalue.php if you
haven't already.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
d
result in much more efficient storage and access, because you'd be
using the SQLite components in a more natural way. The presence
of that \t suggests that you might be storing sequences of records
in those fields to start with;
? On a
table with around 3k rows, it seems a little odd that it would take
that long, even if updating every row tends to be expensive in
general. What does your schema look like, if I might ask? Is there
significant concurrent access with that giant upd
orm next to it in a separate column if it's needed.
The fact that you are using LIKE suggests that 'ian' and 'Ian' should
be treated identically, but currently your primary key allows separate
rows to exist for each of those.
Also, PRIMARY KEY UNIQUE is redundant. A primary key is always
unique.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
o be more specific without knowing
what kind of application is being developed.
---> Drake Wilson
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Quoth Drake Wilson , on 2010-10-05 03:24:01 -0700:
> > My current task is to get the number of foods that belong to each
> > group and have at least one weight data related to them.
>
> That suggests something like:
>
> SELECT g.Z_PK AS "group", COUNT(f.Z_PK)
akes 16 ms total; I imagine the use of GROUP BY and
EXISTS and the lack of the extra DISTINCT are the primary factors, but
I haven't checked thoroughly enough to say so confidently. I'm using
SQLite 3.7.2 on Debian GNU/Linux sid AMD64.
---> Drake Wilson
_
1 - 100 of 123 matches
Mail list logo