skytools.git
13 years agoMerge branch 'master' of skype-git:/git/dba/skytools-3
martinko [Wed, 9 May 2012 14:18:59 +0000 (16:18 +0200)]
Merge branch 'master' of skype-git:/git/dba/skytools-3

13 years agov3.0.1-real skytools_3_0_1
Marko Kreen [Wed, 18 Apr 2012 12:54:22 +0000 (15:54 +0300)]
v3.0.1-real

13 years agopgq_coop.version(): 3.0.0.4
Marko Kreen [Wed, 18 Apr 2012 12:50:58 +0000 (15:50 +0300)]
pgq_coop.version(): 3.0.0.4

13 years agopgq_node.version(): 3.0.0.14
Marko Kreen [Wed, 18 Apr 2012 12:50:58 +0000 (15:50 +0300)]
pgq_node.version(): 3.0.0.14

13 years agopgq.version(): 3.0.0.14
Marko Kreen [Wed, 18 Apr 2012 12:50:58 +0000 (15:50 +0300)]
pgq.version(): 3.0.0.14

13 years agolondiste.handlers.dispatch: Detailed exception if part_field is NULL
Marko Kreen [Wed, 18 Apr 2012 12:46:31 +0000 (15:46 +0300)]
londiste.handlers.dispatch: Detailed exception if part_field is NULL

Give enough details to locate the event in queue

13 years agoMerge branch 'master' of skype-git:/git/dba/skytools-3
martinko [Tue, 10 Apr 2012 13:01:09 +0000 (15:01 +0200)]
Merge branch 'master' of skype-git:/git/dba/skytools-3

13 years agoskytools.skylog: make sysloghander compatible with both 2.6 and 2.7
Marko Kreen [Mon, 9 Apr 2012 08:41:04 +0000 (11:41 +0300)]
skytools.skylog: make sysloghander compatible with both 2.6 and 2.7

13 years agov3.0.1
Marko Kreen [Mon, 9 Apr 2012 08:23:33 +0000 (11:23 +0300)]
v3.0.1

13 years agoMerge remote branch 'intgit/master'
Marko Kreen [Thu, 5 Apr 2012 14:25:10 +0000 (17:25 +0300)]
Merge remote branch 'intgit/master'

13 years agoRefresh libusual
Marko Kreen [Thu, 5 Apr 2012 14:23:18 +0000 (17:23 +0300)]
Refresh libusual

13 years agodebian: include skytools.ini in tgz
Marko Kreen [Thu, 5 Apr 2012 11:40:41 +0000 (14:40 +0300)]
debian: include skytools.ini in tgz

13 years agoskylog: stop using standard SysLogHandler, it's broken
Marko Kreen [Thu, 5 Apr 2012 11:04:26 +0000 (14:04 +0300)]
skylog: stop using standard SysLogHandler, it's broken

It fails to handle unicode strings - it puts BOM in
wrong place.  Wrap logging.handlers implementation
in class that simply drops the BOM addition.

13 years agoskytools.sqltools: dbdict got merge support
martinko [Tue, 3 Apr 2012 10:36:42 +0000 (12:36 +0200)]
skytools.sqltools: dbdict got merge support

13 years agoskytools.config: improved compatibility with logging.Logger
martinko [Mon, 2 Apr 2012 14:33:54 +0000 (16:33 +0200)]
skytools.config: improved compatibility with logging.Logger

13 years agoMerge remote branch 'intgit/master'
Marko Kreen [Mon, 19 Mar 2012 09:55:46 +0000 (11:55 +0200)]
Merge remote branch 'intgit/master'

13 years agov3.0 skytools_3_0
Marko Kreen [Sat, 17 Mar 2012 12:00:49 +0000 (14:00 +0200)]
v3.0

13 years agodebian: Use new htmlinstall target to get html docs
Marko Kreen [Sat, 17 Mar 2012 11:59:26 +0000 (13:59 +0200)]
debian: Use new htmlinstall target to get html docs

13 years agosource.cfg: improve source filters
Marko Kreen [Fri, 16 Mar 2012 21:33:18 +0000 (23:33 +0200)]
source.cfg: improve source filters

13 years agoRefresh libusual
Marko Kreen [Fri, 16 Mar 2012 21:32:23 +0000 (23:32 +0200)]
Refresh libusual

13 years agolondiste.handler: dont crash if handler module does not load
Marko Kreen [Fri, 16 Mar 2012 21:26:26 +0000 (23:26 +0200)]
londiste.handler: dont crash if handler module does not load

As it's not known whether the module is actually needed,
its not good to crash here.

Better would be to import the module only when actually needed,
but lets use this quick fix as temporary solution.

13 years agoAdd howtos and clean up docs
Marko Kreen [Fri, 9 Mar 2012 12:21:10 +0000 (14:21 +0200)]
Add howtos and clean up docs

Include howtos written by Hannu Krosing.

Clean up rest of the docs for release.

13 years agoClean up SQL documentation
Marko Kreen [Tue, 31 Jan 2012 14:44:21 +0000 (16:44 +0200)]
Clean up SQL documentation

By Hannu Krosing, applied with some fixing

13 years agosql/logtriga: compile on 9.2
Marko Kreen [Mon, 5 Mar 2012 12:20:27 +0000 (14:20 +0200)]
sql/logtriga: compile on 9.2

13 years agosql/pgq: 9.2 compat
Marko Kreen [Sat, 18 Feb 2012 19:53:27 +0000 (21:53 +0200)]
sql/pgq: 9.2 compat

13 years agopgq/makefile: report errors from subdirs properly
Marko Kreen [Sat, 18 Feb 2012 19:52:55 +0000 (21:52 +0200)]
pgq/makefile: report errors from subdirs properly

13 years agoadded support for sizes specified in human readable format
martinko [Fri, 17 Feb 2012 09:43:22 +0000 (10:43 +0100)]
added support for sizes specified in human readable format

Config options that hold size in bytes can now be specified in human readable format.
Examples: 1, 2 B, 3K, 4 MB

13 years agoskylog.py: added missing logger aliases (fatal, warn)
martinko [Mon, 13 Feb 2012 17:25:18 +0000 (18:25 +0100)]
skylog.py: added missing logger aliases (fatal, warn)

13 years agodbdict: on attribute access convert KeyError to AttributeError
Marko Kreen [Fri, 10 Feb 2012 10:13:00 +0000 (12:13 +0200)]
dbdict: on attribute access convert KeyError to AttributeError

Otherwise it confuses some code (copy.deepcopy())

13 years agobasescript: exception_sleep param to configure sleep-on-exception
Marko Kreen [Fri, 10 Feb 2012 10:12:20 +0000 (12:12 +0200)]
basescript: exception_sleep param to configure sleep-on-exception

13 years agoDrop all txid install code.
Marko Kreen [Fri, 3 Feb 2012 15:23:38 +0000 (17:23 +0200)]
Drop all txid install code.

It's obsolete since 8.3.  Drop it.

13 years agopgq_node.version(): 3.0.0.13
Marko Kreen [Wed, 1 Feb 2012 20:41:34 +0000 (22:41 +0200)]
pgq_node.version(): 3.0.0.13

13 years agopgq_node: good looking regression diffs
Marko Kreen [Tue, 31 Jan 2012 10:12:46 +0000 (12:12 +0200)]
pgq_node: good looking regression diffs

13 years ago--sync-watermark: limit watermark to specific nodes
Marko Kreen [Tue, 31 Jan 2012 08:58:39 +0000 (10:58 +0200)]
--sync-watermark: limit watermark to specific nodes

This will allow specified nodes to sync global watermark
with each other, without sending it upwards.

This isolates root node from lag on downstream nodes.

13 years agoUpdate INSTALL instructions
Marko Kreen [Thu, 19 Jan 2012 15:22:25 +0000 (17:22 +0200)]
Update INSTALL instructions

13 years agopgq_node.set_global_watermark: fix wm=null check for branch node
Marko Kreen [Wed, 11 Jan 2012 09:54:59 +0000 (10:54 +0100)]
pgq_node.set_global_watermark: fix wm=null check for branch node

It was in wrong IF section

13 years agopgq.version(): 3.0.0.13
Marko Kreen [Tue, 10 Jan 2012 21:40:55 +0000 (22:40 +0100)]
pgq.version(): 3.0.0.13

13 years agopgq.maint_operations: re-check the need for step2
Marko Kreen [Tue, 10 Jan 2012 21:38:30 +0000 (22:38 +0100)]
pgq.maint_operations: re-check the need for step2

Previously the need for step2 was decided by need for step1.

But if pgqd stops/crashed after step1 but before step2,
the step2 will not be run anymore.

Fix this by rechecking if no step1 was needed.

13 years agopkgloader: better version number cleanup
Marko Kreen [Mon, 9 Jan 2012 11:50:55 +0000 (13:50 +0200)]
pkgloader: better version number cleanup

13 years agopgq_ext.version(): 3.0.0.3
Marko Kreen [Mon, 9 Jan 2012 09:51:34 +0000 (11:51 +0200)]
pgq_ext.version(): 3.0.0.3

13 years agopgq_ext: add default value to subconsumer_id column
Marko Kreen [Mon, 9 Jan 2012 09:46:08 +0000 (11:46 +0200)]
pgq_ext: add default value to subconsumer_id column

There is historical code that accesses table directly,
so function defaults are not enough.

13 years agoUse 3.0b1 as version, to get consistent results.
Marko Kreen [Thu, 5 Jan 2012 19:22:09 +0000 (21:22 +0200)]
Use 3.0b1 as version, to get consistent results.

13 years agodebian: stop launching autogen, it must be done before building .deb
Marko Kreen [Thu, 5 Jan 2012 19:20:32 +0000 (21:20 +0200)]
debian: stop launching autogen, it must be done before building .deb

Should matter only to somebody building directly from git,
otherwise the build is always from tgz, where the files exist

13 years agosource.cfg: include autogen.sh
Marko Kreen [Thu, 5 Jan 2012 19:19:55 +0000 (21:19 +0200)]
source.cfg: include autogen.sh

13 years agodebian: use 3.0 (native) as source format
Marko Kreen [Thu, 5 Jan 2012 18:56:36 +0000 (20:56 +0200)]
debian: use 3.0 (native) as source format

otherwise it tries to create diff

13 years agoconfigure: use londiste.py instead pgqadm.py to detect source dir
Marko Kreen [Thu, 5 Jan 2012 18:55:52 +0000 (20:55 +0200)]
configure: use londiste.py instead pgqadm.py to detect source dir

13 years agosource.cfg: include debian files in tgz
Marko Kreen [Thu, 5 Jan 2012 18:55:33 +0000 (20:55 +0200)]
source.cfg: include debian files in tgz

13 years agodebian: add libtool into build-deps
Marko Kreen [Wed, 4 Jan 2012 20:52:21 +0000 (22:52 +0200)]
debian: add libtool into build-deps

It is used to bring config.* files into tree.

Although it would be prefereable to get rid of all
autogen stuff, it is needed only when building
from GIT, but not from .orig.tar.gz

13 years agodebian: drop very suspicious ../include-binaries file
Marko Kreen [Wed, 4 Jan 2012 20:46:07 +0000 (22:46 +0200)]
debian: drop very suspicious ../include-binaries file

13 years agodebian: dont install txid.sql, its obsolete since 8.3
Marko Kreen [Wed, 4 Jan 2012 20:42:09 +0000 (22:42 +0200)]
debian: dont install txid.sql, its obsolete since 8.3

13 years agodebian: drop SQLDIR, simplify module install
Marko Kreen [Wed, 4 Jan 2012 20:40:30 +0000 (22:40 +0200)]
debian: drop SQLDIR, simplify module install

13 years agodebian: orig - use top-level 'make tgz' to make tarball
Marko Kreen [Wed, 4 Jan 2012 20:27:41 +0000 (22:27 +0200)]
debian: orig - use top-level 'make tgz' to make tarball

Otherwise we need to maintain two ways to build source.

13 years agodebian: more cleanups
Marko Kreen [Wed, 4 Jan 2012 20:05:15 +0000 (22:05 +0200)]
debian: more cleanups

- Use ./autgen instead autoreconf.  Latter is broken on non-automake trees.
- Drop override_dh_auto_build, seems unnecessary.
- Move config.mak dep from override_dh_auto_build to override_dh_auto_configure

13 years agodebian: add support files for 8.3 and 9.2
Marko Kreen [Wed, 4 Jan 2012 19:09:57 +0000 (21:09 +0200)]
debian: add support files for 8.3 and 9.2

13 years agodebian/: cleanup and sync with other build changes
Marko Kreen [Wed, 4 Jan 2012 11:34:58 +0000 (13:34 +0200)]
debian/: cleanup and sync with other build changes

- remove hardwired 9.1
- dont touch anything under upgrade/
- configure: use --with-sk3-subdir
- install under /usr/share/skytools3 is done by setup_skytools.py

13 years agodoc: restore queue_mover & queue_splitter docs
Marko Kreen [Wed, 4 Jan 2012 11:32:55 +0000 (13:32 +0200)]
doc: restore queue_mover & queue_splitter docs

as we still install those scripts, keep their doc around

13 years agocreate partition: cleanup code
Marko Kreen [Tue, 3 Jan 2012 22:46:37 +0000 (00:46 +0200)]
create partition: cleanup code

- use proper quoting
- simplify grants
- use "including defaults" to lessen differences from "including all"

13 years agolondiste.version(): 3.0.0.13
Marko Kreen [Fri, 30 Dec 2011 12:17:42 +0000 (14:17 +0200)]
londiste.version(): 3.0.0.13

13 years agolondiste.get_table_list: move complex copy logic away
Marko Kreen [Fri, 30 Dec 2011 12:01:37 +0000 (14:01 +0200)]
londiste.get_table_list: move complex copy logic away

It is now in separate function and called only
for 'in-copy' and 'catching-up' tables.

Should make things more maintainable and speed up common case.

13 years agodbstruct: support grants 'WITH GRANT OPTION'
Marko Kreen [Fri, 30 Dec 2011 12:00:58 +0000 (14:00 +0200)]
dbstruct: support grants 'WITH GRANT OPTION'

13 years agohandlers.dispatch: Move grants into sql function
Marko Kreen [Fri, 30 Dec 2011 11:51:37 +0000 (13:51 +0200)]
handlers.dispatch: Move grants into sql function

The grants can be loaded via information_schema,
thus no need to do it in Python.

13 years agolondiste: allow whitespace for key in --handler-arg
Marko Kreen [Thu, 29 Dec 2011 15:16:51 +0000 (17:16 +0200)]
londiste: allow whitespace for key in --handler-arg

as we already do it for value, we can aswell do it for key.

13 years agotests/handler: test dispatcher too
Marko Kreen [Thu, 29 Dec 2011 14:26:33 +0000 (16:26 +0200)]
tests/handler: test dispatcher too

13 years agohandlers.dispatch: in case of part-func, apply master grants later
Marko Kreen [Thu, 29 Dec 2011 14:25:32 +0000 (16:25 +0200)]
handlers.dispatch: in case of part-func, apply master grants later

the problem is there is no good way to do it with plpgsql.

13 years agodbstruct: sync acl list with 9.2 git
Marko Kreen [Thu, 29 Dec 2011 14:19:50 +0000 (16:19 +0200)]
dbstruct: sync acl list with 9.2 git

13 years agolondiste.syncer: load per-table handler
Marko Kreen [Thu, 29 Dec 2011 12:55:40 +0000 (14:55 +0200)]
londiste.syncer: load per-table handler

this is preparation for compare/repair for subset of table.

13 years agotgz: update libusual include
Marko Kreen [Thu, 29 Dec 2011 12:35:45 +0000 (14:35 +0200)]
tgz: update libusual include

13 years agoconfig.mak.in: add more replacement vars.
Marko Kreen [Thu, 29 Dec 2011 12:26:27 +0000 (14:26 +0200)]
config.mak.in: add more replacement vars.

they are currently unused in makefiles tho,
but its the first step.

13 years agodbservice: another cleanup
Marko Kreen [Thu, 29 Dec 2011 10:59:54 +0000 (12:59 +0200)]
dbservice: another cleanup

13 years agodbservice: clean unused imports, make rest available on top-level
Marko Kreen [Thu, 29 Dec 2011 10:57:51 +0000 (12:57 +0200)]
dbservice: clean unused imports, make rest available on top-level

13 years agodbservice.TableAPI: cast id to int8
Marko Kreen [Thu, 29 Dec 2011 09:59:44 +0000 (11:59 +0200)]
dbservice.TableAPI: cast id to int8

This makes possible to use prepared plans with tapi.

13 years agoquerybuilder: take type from last ':'
Marko Kreen [Thu, 29 Dec 2011 09:29:31 +0000 (11:29 +0200)]
querybuilder: take type from last ':'

this allows ':' in variable name

13 years agodoc/makefile: simplify sed expression
Marko Kreen [Wed, 28 Dec 2011 20:19:06 +0000 (22:19 +0200)]
doc/makefile: simplify sed expression

older seds dont like ';'

13 years agomakefile: remove subdir dep from python-install
Marko Kreen [Wed, 28 Dec 2011 10:51:39 +0000 (12:51 +0200)]
makefile: remove subdir dep from python-install

otherwise it wont work on machine without postgres

13 years agolondiste add-table: dont check provider tables on root
Marko Kreen [Fri, 23 Dec 2011 21:38:28 +0000 (23:38 +0200)]
londiste add-table: dont check provider tables on root

does not make sense, and creates failure if table
happens to be local=f.

13 years agolondiste.local_show_missing: show local=f on root as missing
Marko Kreen [Fri, 23 Dec 2011 21:37:31 +0000 (23:37 +0200)]
londiste.local_show_missing: show local=f on root as missing

this can happen in merge situations.

13 years agopgq_ext.version(): 3.0.0.2
Marko Kreen [Fri, 23 Dec 2011 12:45:08 +0000 (14:45 +0200)]
pgq_ext.version(): 3.0.0.2

13 years agolondiste.version(): 3.0.0.12
Marko Kreen [Fri, 23 Dec 2011 12:45:08 +0000 (14:45 +0200)]
londiste.version(): 3.0.0.12

13 years agolondiste.get_table_list: If no merge happens return copy_role=NULL
Marko Kreen [Fri, 23 Dec 2011 12:41:51 +0000 (14:41 +0200)]
londiste.get_table_list: If no merge happens return copy_role=NULL

Seems we started to return 'lead' in such case, which turned on
multi-tx copy.  Although it works, it's annoying.

Add regtest for such case.

13 years agolondiste copy: fix after-copy wait
Marko Kreen [Fri, 23 Dec 2011 12:27:27 +0000 (14:27 +0200)]
londiste copy: fix after-copy wait

Wait now on any non-NULL role.

The string changed in .sql but code here was not updated.
But new simpler rule is that role will be NULL it catchup
can proceed.  So follow that.

Also dont do some potentially dangerous operations (lock, drop-fkey)
on follow-up copies.

13 years agotests/merge: make test run again
Marko Kreen [Fri, 23 Dec 2011 09:17:18 +0000 (11:17 +0200)]
tests/merge: make test run again

Now local_add adds table to combined-root too.
Test did not consider that.

13 years agoRefresh libusual, provide ./autogen.sh
Marko Kreen [Thu, 22 Dec 2011 12:04:51 +0000 (14:04 +0200)]
Refresh libusual, provide ./autogen.sh

13 years agolondiste repair: set session role for apply conneciton
Marko Kreen [Thu, 22 Dec 2011 11:33:14 +0000 (13:33 +0200)]
londiste repair: set session role for apply conneciton

otherwise changes cannot be applied

13 years agodbservice.make_record: convert list to pgarray
Marko Kreen [Thu, 22 Dec 2011 11:00:14 +0000 (13:00 +0200)]
dbservice.make_record: convert list to pgarray

This makes the behaviour compatible with 8.3 plpython,
with did not know arrays and returned text strings.

More general solution would be to use urlenc arrays (same key repeats),
except that not general enough - there is no transparent way
to encode lists with 0 and 1 elements.  So caller must always
be aware whether a key is list or not.  Thus no advantages
over this pgarray solution and disadvantaga is incompatibility.

13 years agomake_pgarray(): convert python list to postgres array
Marko Kreen [Thu, 22 Dec 2011 09:16:04 +0000 (11:16 +0200)]
make_pgarray(): convert python list to postgres array

13 years agoSkyLogger: addHandler() compat method
Marko Kreen [Thu, 15 Dec 2011 12:09:00 +0000 (14:09 +0200)]
SkyLogger: addHandler() compat method

13 years agoMerge remote branch 'martino/master'
Marko Kreen [Thu, 15 Dec 2011 08:31:31 +0000 (10:31 +0200)]
Merge remote branch 'martino/master'

13 years agogitignore: add more files
Marko Kreen [Wed, 14 Dec 2011 21:28:42 +0000 (23:28 +0200)]
gitignore: add more files

13 years agopgq_ext: support coop consumers
Marko Kreen [Wed, 14 Dec 2011 20:13:11 +0000 (22:13 +0200)]
pgq_ext: support coop consumers

Add subconsumer_id to all tables and function params.

13 years agopgq_ext: split functions into separate files
Marko Kreen [Wed, 14 Dec 2011 14:53:37 +0000 (16:53 +0200)]
pgq_ext: split functions into separate files

13 years agotests/londiste: test repair
Marko Kreen [Wed, 14 Dec 2011 19:55:25 +0000 (21:55 +0200)]
tests/londiste: test repair

13 years agoMerge branch 'master' of skype-git:/git/dba/skytools-3
martinko [Wed, 14 Dec 2011 17:45:53 +0000 (18:45 +0100)]
Merge branch 'master' of skype-git:/git/dba/skytools-3

13 years agoadded skytools.hashtext module
martinko [Wed, 14 Dec 2011 14:32:55 +0000 (15:32 +0100)]
added skytools.hashtext module

imported from skytools-2.0 (written by marko)

13 years agopgq.version(): 3.0.0.12
Marko Kreen [Wed, 14 Dec 2011 12:52:06 +0000 (14:52 +0200)]
pgq.version(): 3.0.0.12

13 years agopgq.register_consumer_at: if tick is given, drop open batch
Marko Kreen [Wed, 14 Dec 2011 12:48:54 +0000 (14:48 +0200)]
pgq.register_consumer_at: if tick is given, drop open batch

Old behaviour could catch (maybe) some bugs, but made
life hard for consumers that know what they are doing.

Basically, non-NULL tick pos is taken as "consumer knows better".

13 years agolondiste compare: use number of failed tables as exit code
Marko Kreen [Tue, 13 Dec 2011 07:33:00 +0000 (09:33 +0200)]
londiste compare: use number of failed tables as exit code

13 years agohandlers.dispatch: fix part_func usage
Marko Kreen [Fri, 9 Dec 2011 20:26:41 +0000 (22:26 +0200)]
handlers.dispatch: fix part_func usage

13 years agopgq_coop.version(): 3.0.0.3
Marko Kreen [Fri, 9 Dec 2011 09:53:56 +0000 (11:53 +0200)]
pgq_coop.version(): 3.0.0.3

13 years agopgq_coop.next_batch: automatically register subconsumer
Marko Kreen [Fri, 9 Dec 2011 09:53:30 +0000 (11:53 +0200)]
pgq_coop.next_batch: automatically register subconsumer

13 years agolondiste repair: add --apply flag
Marko Kreen [Fri, 9 Dec 2011 08:31:21 +0000 (10:31 +0200)]
londiste repair: add --apply flag

this will auto-apply fixes, instead writing them out.