hello,
do you have a good c# mailing list? or do you mean it is in the wrong
channel here?
the function is called, but the code isnt here. I get the result from
par1+par2 into the database, but do not get the result in the c# command
line ;)
best regards from
Hamburg Germany
--
View this
Hello,
First: KUDO !!!
The release notes are extremely promising in regard to performance improvements
:-)
I've made some (dirty) tests with BRIN and btree_gin.
(on a smalll Windows laptop ...)
just a few remarks:
- btree_gin deserve a better description than that:
However, they are
On 7/5/2015 11:35 PM, Andrew Dunstan wrote:
On 07/04/2015 11:02 AM, Tom Lane wrote:
I wondered how come we had not seen this problem in the buildfarm,
but the answer appears to be that our only working Cygwin critter
(brolga) doesn't build any of the optional PLs, so it skips these
modules
On Mon, Jul 6, 2015 at 4:23 PM, Michael Paquier
michael.paqu...@gmail.com wrote:
On Mon, Jul 6, 2015 at 10:00 AM, Joe Conway m...@joeconway.com wrote:
I wonder if it isn't better to just loop through all the args with
get_fn_expr_argtype() every time and then test for the exact signature
On Mon, Jun 29, 2015 at 11:14 PM, Jim Nasby jim.na...@bluetreble.com
wrote:
What might be interesting is setting things up so the collector simply
inserted into history tables every X seconds and then had a separate
process to prune that data. The big problem with that is I see no way for
On Thu, Feb 19, 2015 at 4:06 PM, Corey Huinker corey.huin...@gmail.com wrote:
In the course of writing a small side project which hopefully will make its
way onto pgxn soon, I was writing functions that had a polymorphic result
set.
create function foo( p_row_type anyelement, p_param1 ...)
Heikki Linnakangas hlinn...@iki.fi writes:
I was able to reproduce huge gains from this, after I introduced an
artificial latency to all network packets with:
tc qdisc add dev eth2 root netem delay 100ms
With that, and with the client on different host so that the traffic
goes through
On 07/04/2015 02:03 PM, chenhj wrote:
2015-07-03 16:49:44,David Rowley david.row...@2ndquadrant.com wrote:
I'm wondering what the original test setup was. I'm assuming psql
and postgres both running on separate windows machines?
I've tested the patch just connecting to a database running
On 2015-06-29 16:14:34 -0500, Jim Nasby wrote:
What might be interesting is setting things up so the collector simply
inserted into history tables every X seconds and then had a separate process
to prune that data. The big problem with that is I see no way for that to
easily allow access to
* Tom Lane (t...@sss.pgh.pa.us) wrote:
Jan de Visser j...@de-visser.net writes:
Attached a new patch, rebased against the current head. Errors in
pg_hba.conf and pg_ident.conf are now also noticed.
I checked the documentation for pg_ctl reload, and the only place where
it's explained
Joel Jacobson j...@trustly.com writes:
On Mon, Jun 29, 2015 at 11:14 PM, Jim Nasby jim.na...@bluetreble.com
wrote:
What might be interesting is setting things up so the collector simply
inserted into history tables every X seconds and then had a separate
process to prune that data. The big
On Sat, Jul 4, 2015 at 2:26 AM, Andres Freund and...@anarazel.de wrote:
On 2015-07-03 19:02:29 +0200, Andres Freund wrote:
Maybe I'm just daft right now (35C outside, 32 inside, so ...), but I'm
right now missing how the whole skip wal logging if relation has just
been truncated optimization
On July 6, 2015 09:23:12 AM Stephen Frost wrote:
I wonder whether we should consider inventing similar views for
pg_hba.conf and pg_ident.conf.
Yes. That's definitely something that I'd been hoping someone would
work on.
There actually is a patch in the current CF that provides a view
Robbie,
* Robbie Harwood (rharw...@redhat.com) wrote:
As previously discussed on this list, I have coded up GSSAPI encryption
support. If it is easier for anyone, this code is also available for
viewing on my github:
* Magnus Hagander (mag...@hagander.net) wrote:
On Thu, Jul 2, 2015 at 10:06 PM, Andres Freund and...@anarazel.de wrote:
On 2015-07-02 16:52:01 -0300, Alvaro Herrera wrote:
If there's interest in closing these holes, this might be a first
I don't think such an isolated attempt buys us
On 07/06/2015 04:30 PM, Tom Lane wrote:
Heikki Linnakangas hlinn...@iki.fi writes:
I was able to reproduce huge gains from this, after I introduced an
artificial latency to all network packets with:
tc qdisc add dev eth2 root netem delay 100ms
With that, and with the client on different
* Jan de Visser (j...@de-visser.net) wrote:
On July 6, 2015 09:23:12 AM Stephen Frost wrote:
I wonder whether we should consider inventing similar views for
pg_hba.conf and pg_ident.conf.
Yes. That's definitely something that I'd been hoping someone would
work on.
There actually
Fabien COELHO coe...@cri.ensmp.fr writes:
Personally I think pgbench: adds very little and so I'd rather get
rid of it, but I'm sure others feel differently.
I think that one of the reason for this is that once pgbench started to
run it is desirable to differentiate error messages that
Hi,
There've recently been more and more reports of unexpected data beyond
EOF in block %u of relation %s for me to think that it's likely to be
caused by a kernel bug. It's now been reproduced at least on somewhat
recent linux and freebsd versions.
So I started looking around for causes. Not
On 2015-07-06 23:21:12 +0200, Andres Freund wrote:
There've recently been more and more reports of unexpected data beyond
EOF in block %u of relation %s for me to think that it's likely to be
caused by a kernel bug. It's now been reproduced at least on somewhat
recent linux and freebsd
On Tue, Jul 7, 2015 at 4:19 AM, Heikki Linnakangas hlinn...@iki.fi wrote:
On 07/06/2015 04:38 AM, Michael Paquier wrote:
On Sat, Jul 4, 2015 at 3:57 AM, Heikki Linnakangas wrote:
Hmm. Why is install.bat not like build.bat, i.e. just a thin wrapper that
just calls install.pl, passing all
On Mon, Jul 6, 2015 at 11:13 AM, Corey Huinker corey.huin...@gmail.com wrote:
On Mon, Jul 6, 2015 at 11:33 AM, Merlin Moncure mmonc...@gmail.com wrote:
On Mon, Jul 6, 2015 at 9:52 AM, Joe Conway m...@joeconway.com wrote:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 07/06/2015 07:37
On Mon, Jul 6, 2015 at 3:52 PM, Merlin Moncure mmonc...@gmail.com wrote:
On Mon, Jul 6, 2015 at 11:13 AM, Corey Huinker corey.huin...@gmail.com
wrote:
On Mon, Jul 6, 2015 at 11:33 AM, Merlin Moncure mmonc...@gmail.com
wrote:
On Mon, Jul 6, 2015 at 9:52 AM, Joe Conway m...@joeconway.com
Noah,
* Noah Misch (n...@leadboat.com) wrote:
On Tue, Dec 02, 2014 at 11:32:27AM -0500, Stephen Frost wrote:
* Robert Haas (robertmh...@gmail.com) wrote:
On Thu, Nov 27, 2014 at 2:03 AM, Stephen Frost sfr...@snowman.net wrote:
Alright, I've done the change to use the RangeVar from
Hi,
On 2015-04-30 10:05:33 -0700, Joshua D. Drake wrote:
postgres[21118]: [8-1] ERROR: unexpected data beyond EOF
in block 9 of relation base/430666195/430666206
FreeBSD 10
ZFS
iSCSI
RAID 50 (don't start, I didn't spec it).
fsync on, full_page_writes on
The restart of PostgreSQL
Fujii Masao masao.fu...@gmail.com writes:
On Sat, Jul 4, 2015 at 2:26 AM, Andres Freund and...@anarazel.de wrote:
We actually used to use a different relfilenode, but optimized that
away: cab9a0656c36739f59277b34fea8ab9438395869
commit cab9a0656c36739f59277b34fea8ab9438395869
Author: Tom
Andres Freund and...@anarazel.de writes:
On 2015-07-06 11:14:40 -0400, Tom Lane wrote:
The COUNT() correctly says 11 rows, but after crash-and-recover,
only the row with -1 is there. This is because the INSERT writes
out an INSERT+INIT WAL record, which we happily replay, clobbering
the data
On 3 July 2015 at 09:25, Sawada Masahiko sawada.m...@gmail.com wrote:
On Fri, Jul 3, 2015 at 1:23 AM, Simon Riggs si...@2ndquadrant.com wrote:
On 2 July 2015 at 16:30, Sawada Masahiko sawada.m...@gmail.com wrote:
Also, the flags of each heap page header might be set PD_ALL_FROZEN,
as
Kevin Grittner wrote:
Alvaro Herrera alvhe...@2ndquadrant.com wrote:
Peter Geoghegan wrote:
It would be nice to always have a html report from gcov always
available on the internet. That would be something useful to
automate, IMV.
Daniele,
* Daniele Varrazzo (daniele.varra...@gmail.com) wrote:
There are 5 different strings (one has a whitespace error), they could
be 2. Patch attached.
Fair point. I did try to address the language around policy vs. row
security vs. row level security, but didn't look as closely as I
There are 5 different strings (one has a whitespace error), they could
be 2. Patch attached.
postgresql/src/backend$ grep errmsg commands/policy.c | grep policy |
sed 's/^ *//'
errmsg(policy \%s\ for relation \%s\ already exists,
errmsg(policy \%s\ on table \%s\ does not exist,
errmsg(policy
Hi
here is a version with both direction support.
postgres=# copy foo from '/tmp/1.jpg' (format raw);
COPY 1
Time: 93.021 ms
postgres=# \dt+ foo
List of relations
┌┬──┬───┬───┬┬─┐
│ Schema │ Name │ Type │ Owner │ Size │ Description │
On Mon, Jul 6, 2015 at 11:33 AM, Merlin Moncure mmonc...@gmail.com wrote:
On Mon, Jul 6, 2015 at 9:52 AM, Joe Conway m...@joeconway.com wrote:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 07/06/2015 07:37 AM, Merlin Moncure wrote:
yup, and at least one case now fails where
Hi,
Binturon has repeatedly failed with errors like:
ERROR: could not open file base/16400/32052: No such file or directory
E.g.
http://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=binturongdt=2015-07-06%2014%3A20%3A24
It's not just master that's failing, even older branches report odd
Le 6 juil. 2015 7:16 PM, Данила Поярков d...@dannote.net a écrit :
Hello!
What is the best starting point to PostgreSQL internal APIs for operating
directly with the storage (performing basic INSERTs, UPDATEs, SELECTs and
simple JOINs by hand)? I'm looking for something similar to MySQL
Quickie patch for spotted missing psql \ddp tab-completion.
0001-Add-missing-ddp-psql-tab-completion.patch
Description: Binary data
--
David Christensen
PostgreSQL Team Manager
End Point Corporation
da...@endpoint.com
785-727-1171
--
Sent via pgsql-hackers mailing list
On 07/06/2015 10:03 AM, Sawada Masahiko wrote:
The setting that you need is 1(1[A, C], 1[B, C]) in Michael's proposed
grammer.
If we set the remote disaster recovery site up as synch replica, we
would get some big latencies even though we use quorum commit.
So I think this case Fujii-san
On Mon, Jul 6, 2015 at 12:20 AM, Marc Mamin m.ma...@intershop.de wrote:
Hello,
First: KUDO !!!
The release notes are extremely promising in regard to performance
improvements :-)
I've made some (dirty) tests with BRIN and btree_gin.
(on a smalll Windows laptop ...)
just a few remarks:
Hello!
What is the best starting point to PostgreSQL internal APIs for operating
directly with the storage (performing basic INSERTs, UPDATEs, SELECTs and
simple JOINs by hand)? I'm looking for something similar to MySQL Cluster NDB
API or InnoDB internal API (the late HailDB and Embedded
On Mon, 2015-07-06 at 10:37 +0530, Amit Kapila wrote:
Or the other way to look at it could be separate out fields which are
required for parallel scan which is done currently by forming a
separate structure ParallelHeapScanDescData.
I was suggesting that you separate out both the normal scan
Hello hackers.
This is the fifth version of the patch (the fourth was unsuccessful :)).
I added documentation and was held a small refactoring.
Thanks.
--
Uriy Zhuravlev
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Companydiff --git
On Thu, Jul 2, 2015 at 9:31 PM, Fujii Masao masao.fu...@gmail.com wrote:
On Thu, Jul 2, 2015 at 5:44 PM, Beena Emerson memissemer...@gmail.com wrote:
Hello,
There has been a lot of discussion. It has become a bit confusing.
I am summarizing my understanding of the discussion till now.
Kindly
On 07/06/2015 04:38 AM, Michael Paquier wrote:
On Sat, Jul 4, 2015 at 3:57 AM, Heikki Linnakangas wrote:
Hmm. Why is install.bat not like build.bat, i.e. just a thin wrapper that
just calls install.pl, passing all arguments?
I guess we just haven't noticed it. And indeed it makes everything
On Mon, Jul 6, 2015 at 12:27 PM, Kevin Grittner kgri...@ymail.com wrote:
What would it take to get something like that which uses the
check-world target instead of just the check target? Without the
additional tests (like the isolation tests), some of these numbers
don't reflect the coverage
Alvaro Herrera alvhe...@2ndquadrant.com wrote:
Peter Geoghegan wrote:
It would be nice to always have a html report from gcov always
available on the internet. That would be something useful to
automate, IMV.
http://pgci.eisentraut.org/jenkins/job/postgresql_master_coverage/Coverage/
What
Andres Freund and...@anarazel.de writes:
Binturon has repeatedly failed with errors like:
ERROR: could not open file base/16400/32052: No such file or directory
I agree that binturong seems to have something odd going on; but there are
a lot of other intermittent pg_upgrade test failures in
On 07/06/2015 12:20 AM, Marc Mamin wrote:
There seems to be no fence against useless BRIN indexes that would allow
a fallback on a table scan.
But the time overhead remind small :)
When have we ever stopped users from creating useless indexes? For one
thing, just because the index
On Jul 2, 2015, at 3:43 PM, Heikki Linnakangas hlinn...@iki.fi wrote:
On 07/02/2015 11:28 PM, Andres Freund wrote:
On 2015-07-02 22:53:40 +0300, Heikki Linnakangas wrote:
Add a enabling-checksums mode to the server where it calculates checksums
for anything it writes, but doesn't check or
Michael Paquier michael.paqu...@gmail.com writes:
On Tue, Jul 7, 2015 at 4:19 AM, Heikki Linnakangas hlinn...@iki.fi wrote:
Ok, committed that way.
Shoudn't this patch be backpatched? In the backbranches install.bat
does not work correctly with paths containing spaces.
I was about to ask the
postgresql/src/backend$ grep must be superuser to change bypassrls
attribute commands/user.c | sed 's/ \+//'
errmsg(must be superuser to change bypassrls attribute.)));
errmsg(must be superuser to change bypassrls attribute)));
Patch to fix attached.
diff --git
* Daniele Varrazzo (daniele.varra...@gmail.com) wrote:
postgresql/src/backend$ grep must be superuser to change bypassrls
attribute commands/user.c | sed 's/ \+//'
errmsg(must be superuser to change bypassrls attribute.)));
errmsg(must be superuser to change bypassrls attribute)));
On Tue, Jul 7, 2015 at 9:04 AM, Josh Berkus j...@agliodbs.com wrote:
Are there usage stats in pg_stat_user_indexes for BRIN?
Yes, they are here.
--
Michael
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
On 7/6/15 12:14 PM, Данила Поярков wrote:
Hello!
What is the best starting point to PostgreSQL internal APIs for operating
directly with the storage (performing basic INSERTs, UPDATEs, SELECTs and
simple JOINs by hand)? I'm looking for something similar to MySQL Cluster NDB
API or InnoDB
On Fri, Jul 3, 2015 at 10:05 PM, Amit Kapila amit.kapil...@gmail.com wrote:
Attached, find the rebased version of patch.
Note - You need to first apply the assess-parallel-safety patch which you
can find at:
On Tue, Jul 7, 2015 at 2:56 AM, Josh Berkus j...@agliodbs.com wrote:
pro-JSON:
* standard syntax which is recognizable to sysadmins and devops.
* can use JSON/JSONB functions with ALTER SYSTEM SET to easily make
additions/deletions from the synch rep config.
* can add group labels (see
On 2015-07-07 AM 02:56, Josh Berkus wrote:
Re: group labels: I see a lot of value in being able to add names to
quorum groups. Think about how this will be represented in system
views; it will be difficult to show sync status of any quorum group in
any meaningful way if the group has no
Hello, thank you for looking this.
If it is acceptable to reconstruct the executor nodes to have
additional return state PREP_RUN or such (which means it needs
one more call for the first tuple) , I'll modify the whole
executor to handle the state in the next patch to do so.
I haven't take the
Marc Mamin wrote:
- BRIN cost: I've made a silly test, where all distinct values exist in all
BRIN page ranges:
INSERT into tbrin_1 (cat_id, ) SELECT s%20, ... FROM
generate_series(1,300 )s;
CREATE INDEX cat_brin_1 on tbrin_1 using BRIN (cat_id)with
On Mon, Jul 6, 2015 at 10:54 PM, Jeff Davis pg...@j-davis.com wrote:
On Mon, 2015-07-06 at 10:37 +0530, Amit Kapila wrote:
Or the other way to look at it could be separate out fields which are
required for parallel scan which is done currently by forming a
separate structure
On 07/06/2015 06:40 PM, Michael Paquier wrote:
On Tue, Jul 7, 2015 at 2:56 AM, Josh Berkus j...@agliodbs.com wrote:
pro-JSON:
* standard syntax which is recognizable to sysadmins and devops.
* can use JSON/JSONB functions with ALTER SYSTEM SET to easily make
additions/deletions from the
On Tue, Jul 7, 2015 at 6:19 AM, Haribabu Kommi kommi.harib...@gmail.com
wrote:
On Fri, Jul 3, 2015 at 10:05 PM, Amit Kapila amit.kapil...@gmail.com
wrote:
Attached, find the rebased version of patch.
Note - You need to first apply the assess-parallel-safety patch which
you
can find at:
On 15 June 2015 at 07:43, Jeff Davis pg...@j-davis.com wrote:
This patch tracks memory usage (at the block level) for all memory
contexts. Individual palloc()s aren't tracked; only the new blocks
allocated to the memory context with malloc().
It also adds a new function,
On Tue, Jul 7, 2015 at 12:51 PM, Josh Berkus j...@agliodbs.com wrote:
On 07/06/2015 06:40 PM, Michael Paquier wrote:
On Tue, Jul 7, 2015 at 2:56 AM, Josh Berkus j...@agliodbs.com wrote:
pro-JSON:
* standard syntax which is recognizable to sysadmins and devops.
* can use JSON/JSONB functions
On 07/06/2015 09:56 PM, Michael Paquier wrote:
On Tue, Jul 7, 2015 at 12:51 PM, Josh Berkus j...@agliodbs.com wrote:
On 07/06/2015 06:40 PM, Michael Paquier wrote:
On Tue, Jul 7, 2015 at 2:56 AM, Josh Berkus j...@agliodbs.com wrote:
pro-JSON:
* standard syntax which is recognizable to
Josh Berkus wrote:
'{ remotes : { london_servers : { quorum : 2, servers : [
london1, london2, london3 ] }, nc_servers : { quorum : 1,
servers [ nc1, nc2 ] } }'
This says: as the remotes group, synch with a quorum of 2 servers in
london and a quorum of 1 server in NC.
I wanted to
Amit wrote:
What if we write the above as:
remotes-1 (london_servers-2 [london1, london2, london3], nc_servers-1
[nc1, nc2])
Yes this we can consider.
Thanks,
-
Beena Emerson
--
View this message in context:
On Sun, Jul 5, 2015 at 9:00 PM, Joe Conway m...@joeconway.com wrote:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 07/05/2015 12:25 PM, Joe Conway wrote:
On 02/22/2015 10:26 PM, Corey Huinker wrote:
Changes in this patch: - added polymorphic versions of
dblink_fetch() - upped dblink
On Mon, Jul 6, 2015 at 4:25 AM, Joe Conway m...@joeconway.com wrote:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 02/22/2015 10:26 PM, Corey Huinker wrote:
Changes in this patch: - added polymorphic versions of
dblink_fetch() - upped dblink version # to 1.2 because of new
functions -
On 2015-07-06 11:14:40 -0400, Tom Lane wrote:
BEGIN;
CREATE TABLE test (i int primary key);
INSERT INTO test VALUES(-1);
\copy test from /tmp/num.csv with csv
COMMIT;
SELECT COUNT(*) FROM test;
The COUNT() correctly says 11 rows, but after crash-and-recover,
only the row with -1 is
On 02/24/2015 04:55 AM, Robert Haas wrote:
On Mon, Feb 23, 2015 at 12:52 PM, Heikki Linnakangas
hlinnakan...@vmware.com wrote:
Dunno, but Jim's got a point. This is a maintenance burden to all indexams,
if they all have to remember to update the LSN map separately. It needs to
be done in some
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 07/06/2015 07:37 AM, Merlin Moncure wrote:
yup, and at least one case now fails where previously it ran
through: postgres=# select * from dblink('a', 'b', 'c'); ERROR:
function dblink(unknown, unknown, unknown) is not unique
Hmm, that is an
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 07/06/2015 12:39 AM, Michael Paquier wrote:
Yeah, particularly the use of first_optarg makes things harder
to follow in the code with this patch. A C wrapper has the
disadvantage to decentralize the argument checks to many places
making the
On Mon, Jul 6, 2015 at 10:08 AM, Joe Conway m...@joeconway.com wrote:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 07/06/2015 12:39 AM, Michael Paquier wrote:
Yeah, particularly the use of first_optarg makes things harder
to follow in the code with this patch. A C wrapper has the
On Mon, Jul 6, 2015 at 9:52 AM, Joe Conway m...@joeconway.com wrote:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 07/06/2015 07:37 AM, Merlin Moncure wrote:
yup, and at least one case now fails where previously it ran
through: postgres=# select * from dblink('a', 'b', 'c'); ERROR:
Peter Geoghegan wrote:
It would be nice to always have a html report from gcov always
available on the internet. That would be something useful to automate,
IMV.
http://pgci.eisentraut.org/jenkins/job/postgresql_master_coverage/Coverage/
--
Álvaro Herrera
On Mon, Jul 6, 2015 at 9:35 AM, Tom Lane t...@sss.pgh.pa.us wrote:
Joe Conway m...@joeconway.com writes:
Actually, I had in mind something like:
8-
inti;
intnumargs;
int *argtypes;
numargs = PG_NARGS();
argtypes = palloc(numargs * sizeof(int));
for (i = 0; i
On Fri, Jul 3, 2015 at 5:25 PM, Sawada Masahiko sawada.m...@gmail.com wrote:
On Fri, Jul 3, 2015 at 1:23 AM, Simon Riggs si...@2ndquadrant.com wrote:
On 2 July 2015 at 16:30, Sawada Masahiko sawada.m...@gmail.com wrote:
Also, the flags of each heap page header might be set PD_ALL_FROZEN,
as
Joe Conway m...@joeconway.com writes:
Actually, I had in mind something like:
8-
inti;
intnumargs;
int *argtypes;
numargs = PG_NARGS();
argtypes = palloc(numargs * sizeof(int));
for (i = 0; i numargs; i++)
argtypes[i] =
Noah,
* Noah Misch (n...@leadboat.com) wrote:
On Wed, Feb 25, 2015 at 11:37:24PM -0500, Stephen Frost wrote:
* Stephen Frost (sfr...@snowman.net) wrote:
I agree that it's great that we're catching issues prior to when the
feature is released and look forward to anything else you (or
On Fri, Jun 26, 2015 at 12:39 PM, Robert Haas robertmh...@gmail.com wrote:
On Thu, Jun 25, 2015 at 9:23 AM, Peter Eisentraut pete...@gmx.net wrote:
On 6/22/15 1:37 PM, Robert Haas wrote:
Currently, the only time we report a process as waiting is when it is
waiting for a heavyweight lock. I'd
80 matches
Mail list logo