prestogres 0.1.0
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.
- data/.gitignore +4 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +20 -0
- data/LICENSE +202 -0
- data/NOTICE +22 -0
- data/README.md +217 -0
- data/Rakefile +13 -0
- data/VERSION +1 -0
- data/bin/prestogres +254 -0
- data/config/pcp.conf.sample +28 -0
- data/config/pgpool.conf +678 -0
- data/config/pool_hba.conf +84 -0
- data/config/pool_passwd +0 -0
- data/config/postgresql.conf +2 -0
- data/ext/.gitignore +6 -0
- data/ext/depend +26 -0
- data/ext/extconf.rb +4 -0
- data/ext/prestogres_config.c +12 -0
- data/pgpool2/.gitignore +36 -0
- data/pgpool2/AUTHORS +4 -0
- data/pgpool2/COPYING +12 -0
- data/pgpool2/ChangeLog +1 -0
- data/pgpool2/INSTALL +1 -0
- data/pgpool2/Makefile.am +159 -0
- data/pgpool2/Makefile.in +1187 -0
- data/pgpool2/NEWS +4960 -0
- data/pgpool2/README +1 -0
- data/pgpool2/README.euc_jp +1 -0
- data/pgpool2/README.online-recovery +62 -0
- data/pgpool2/TODO +103 -0
- data/pgpool2/ac_func_accept_argtypes.m4 +85 -0
- data/pgpool2/aclocal.m4 +1088 -0
- data/pgpool2/c-compiler.m4 +134 -0
- data/pgpool2/c-library.m4 +325 -0
- data/pgpool2/child.c +2097 -0
- data/pgpool2/config.guess +1532 -0
- data/pgpool2/config.h.in +332 -0
- data/pgpool2/config.sub +1640 -0
- data/pgpool2/configure +15752 -0
- data/pgpool2/configure.in +392 -0
- data/pgpool2/depcomp +522 -0
- data/pgpool2/doc/basebackup.sh +17 -0
- data/pgpool2/doc/pgpool-de.html +4220 -0
- data/pgpool2/doc/pgpool-en.html +5738 -0
- data/pgpool2/doc/pgpool-fr.html +4118 -0
- data/pgpool2/doc/pgpool-ja.css +198 -0
- data/pgpool2/doc/pgpool-ja.html +11279 -0
- data/pgpool2/doc/pgpool-zh_cn.html +4445 -0
- data/pgpool2/doc/pgpool.css +280 -0
- data/pgpool2/doc/pgpool_remote_start +13 -0
- data/pgpool2/doc/recovery.conf.sample +117 -0
- data/pgpool2/doc/tutorial-en.html +707 -0
- data/pgpool2/doc/tutorial-ja.html +422 -0
- data/pgpool2/doc/tutorial-memqcache-en.html +325 -0
- data/pgpool2/doc/tutorial-memqcache-ja.html +370 -0
- data/pgpool2/doc/tutorial-memqcache-zh_cn.html +322 -0
- data/pgpool2/doc/tutorial-watchdog-en.html +306 -0
- data/pgpool2/doc/tutorial-watchdog-ja.html +343 -0
- data/pgpool2/doc/tutorial-watchdog-zh_cn.html +301 -0
- data/pgpool2/doc/tutorial-zh_cn.html +537 -0
- data/pgpool2/doc/watchdog.png +0 -0
- data/pgpool2/doc/wd-en.html +236 -0
- data/pgpool2/doc/wd-en.jpg +0 -0
- data/pgpool2/doc/wd-ja.html +219 -0
- data/pgpool2/doc/wd-ja.jpg +0 -0
- data/pgpool2/doc/wd-zh_cn.html +201 -0
- data/pgpool2/doc/where_to_send_queries.odg +0 -0
- data/pgpool2/doc/where_to_send_queries.pdf +0 -0
- data/pgpool2/general.m4 +166 -0
- data/pgpool2/getopt_long.c +200 -0
- data/pgpool2/getopt_long.h +44 -0
- data/pgpool2/install-sh +251 -0
- data/pgpool2/ltmain.sh +8406 -0
- data/pgpool2/m4/libtool.m4 +7360 -0
- data/pgpool2/m4/ltoptions.m4 +368 -0
- data/pgpool2/m4/ltsugar.m4 +123 -0
- data/pgpool2/m4/ltversion.m4 +23 -0
- data/pgpool2/m4/lt~obsolete.m4 +92 -0
- data/pgpool2/main.c +2971 -0
- data/pgpool2/md5.c +444 -0
- data/pgpool2/md5.h +28 -0
- data/pgpool2/missing +360 -0
- data/pgpool2/mkinstalldirs +40 -0
- data/pgpool2/parser/Makefile.am +50 -0
- data/pgpool2/parser/Makefile.in +559 -0
- data/pgpool2/parser/copyfuncs.c +3310 -0
- data/pgpool2/parser/gram.c +39100 -0
- data/pgpool2/parser/gram.h +940 -0
- data/pgpool2/parser/gram.y +13408 -0
- data/pgpool2/parser/gramparse.h +74 -0
- data/pgpool2/parser/keywords.c +32 -0
- data/pgpool2/parser/keywords.h +39 -0
- data/pgpool2/parser/kwlist.h +425 -0
- data/pgpool2/parser/kwlookup.c +88 -0
- data/pgpool2/parser/list.c +1156 -0
- data/pgpool2/parser/makefuncs.c +518 -0
- data/pgpool2/parser/makefuncs.h +83 -0
- data/pgpool2/parser/memnodes.h +79 -0
- data/pgpool2/parser/nodes.c +29 -0
- data/pgpool2/parser/nodes.h +609 -0
- data/pgpool2/parser/outfuncs.c +5790 -0
- data/pgpool2/parser/parsenodes.h +2615 -0
- data/pgpool2/parser/parser.c +262 -0
- data/pgpool2/parser/parser.h +46 -0
- data/pgpool2/parser/pg_class.h +158 -0
- data/pgpool2/parser/pg_config_manual.h +273 -0
- data/pgpool2/parser/pg_list.h +352 -0
- data/pgpool2/parser/pg_trigger.h +147 -0
- data/pgpool2/parser/pg_wchar.h +492 -0
- data/pgpool2/parser/pool_memory.c +342 -0
- data/pgpool2/parser/pool_memory.h +77 -0
- data/pgpool2/parser/pool_parser.h +222 -0
- data/pgpool2/parser/pool_string.c +121 -0
- data/pgpool2/parser/pool_string.h +37 -0
- data/pgpool2/parser/primnodes.h +1280 -0
- data/pgpool2/parser/scan.c +4094 -0
- data/pgpool2/parser/scan.l +1451 -0
- data/pgpool2/parser/scanner.h +120 -0
- data/pgpool2/parser/scansup.c +221 -0
- data/pgpool2/parser/scansup.h +28 -0
- data/pgpool2/parser/snprintf.c +1102 -0
- data/pgpool2/parser/stringinfo.c +294 -0
- data/pgpool2/parser/stringinfo.h +178 -0
- data/pgpool2/parser/value.c +78 -0
- data/pgpool2/parser/value.h +62 -0
- data/pgpool2/parser/wchar.c +2048 -0
- data/pgpool2/pcp.conf.sample +28 -0
- data/pgpool2/pcp/Makefile.am +40 -0
- data/pgpool2/pcp/Makefile.in +771 -0
- data/pgpool2/pcp/libpcp_ext.h +250 -0
- data/pgpool2/pcp/md5.c +444 -0
- data/pgpool2/pcp/md5.h +28 -0
- data/pgpool2/pcp/pcp.c +1652 -0
- data/pgpool2/pcp/pcp.h +61 -0
- data/pgpool2/pcp/pcp_attach_node.c +172 -0
- data/pgpool2/pcp/pcp_detach_node.c +185 -0
- data/pgpool2/pcp/pcp_error.c +87 -0
- data/pgpool2/pcp/pcp_node_count.c +160 -0
- data/pgpool2/pcp/pcp_node_info.c +198 -0
- data/pgpool2/pcp/pcp_pool_status.c +166 -0
- data/pgpool2/pcp/pcp_proc_count.c +166 -0
- data/pgpool2/pcp/pcp_proc_info.c +261 -0
- data/pgpool2/pcp/pcp_promote_node.c +185 -0
- data/pgpool2/pcp/pcp_recovery_node.c +172 -0
- data/pgpool2/pcp/pcp_stop_pgpool.c +179 -0
- data/pgpool2/pcp/pcp_stream.c +385 -0
- data/pgpool2/pcp/pcp_stream.h +52 -0
- data/pgpool2/pcp/pcp_systemdb_info.c +194 -0
- data/pgpool2/pcp/pcp_watchdog_info.c +211 -0
- data/pgpool2/pcp_child.c +1493 -0
- data/pgpool2/pg_md5.c +305 -0
- data/pgpool2/pgpool.8.in +121 -0
- data/pgpool2/pgpool.conf +553 -0
- data/pgpool2/pgpool.conf.sample +666 -0
- data/pgpool2/pgpool.conf.sample-master-slave +665 -0
- data/pgpool2/pgpool.conf.sample-replication +664 -0
- data/pgpool2/pgpool.conf.sample-stream +664 -0
- data/pgpool2/pgpool.spec +264 -0
- data/pgpool2/pgpool_adm/TODO +7 -0
- data/pgpool2/pgpool_adm/pgpool_adm--1.0.sql +85 -0
- data/pgpool2/pgpool_adm/pgpool_adm.c +558 -0
- data/pgpool2/pgpool_adm/pgpool_adm.control +5 -0
- data/pgpool2/pgpool_adm/pgpool_adm.h +46 -0
- data/pgpool2/pgpool_adm/pgpool_adm.sql.in +85 -0
- data/pgpool2/pool.h +655 -0
- data/pgpool2/pool_auth.c +1390 -0
- data/pgpool2/pool_config.c +5007 -0
- data/pgpool2/pool_config.h +284 -0
- data/pgpool2/pool_config.l +3281 -0
- data/pgpool2/pool_config_md5.c +29 -0
- data/pgpool2/pool_connection_pool.c +812 -0
- data/pgpool2/pool_error.c +242 -0
- data/pgpool2/pool_globals.c +27 -0
- data/pgpool2/pool_hba.c +1723 -0
- data/pgpool2/pool_hba.conf.sample +67 -0
- data/pgpool2/pool_ip.c +567 -0
- data/pgpool2/pool_ip.h +65 -0
- data/pgpool2/pool_ipc.h +38 -0
- data/pgpool2/pool_lobj.c +242 -0
- data/pgpool2/pool_lobj.h +32 -0
- data/pgpool2/pool_memqcache.c +3818 -0
- data/pgpool2/pool_memqcache.h +268 -0
- data/pgpool2/pool_params.c +163 -0
- data/pgpool2/pool_passwd.c +249 -0
- data/pgpool2/pool_passwd.h +41 -0
- data/pgpool2/pool_path.c +193 -0
- data/pgpool2/pool_path.h +81 -0
- data/pgpool2/pool_process_context.c +247 -0
- data/pgpool2/pool_process_context.h +62 -0
- data/pgpool2/pool_process_query.c +5001 -0
- data/pgpool2/pool_process_reporting.c +1671 -0
- data/pgpool2/pool_process_reporting.h +44 -0
- data/pgpool2/pool_proto2.c +671 -0
- data/pgpool2/pool_proto_modules.c +3524 -0
- data/pgpool2/pool_proto_modules.h +185 -0
- data/pgpool2/pool_query_cache.c +1020 -0
- data/pgpool2/pool_query_context.c +1871 -0
- data/pgpool2/pool_query_context.h +105 -0
- data/pgpool2/pool_relcache.c +284 -0
- data/pgpool2/pool_relcache.h +78 -0
- data/pgpool2/pool_rewrite_outfuncs.c +9060 -0
- data/pgpool2/pool_rewrite_query.c +715 -0
- data/pgpool2/pool_rewrite_query.h +192 -0
- data/pgpool2/pool_select_walker.c +1150 -0
- data/pgpool2/pool_select_walker.h +68 -0
- data/pgpool2/pool_sema.c +161 -0
- data/pgpool2/pool_session_context.c +952 -0
- data/pgpool2/pool_session_context.h +203 -0
- data/pgpool2/pool_shmem.c +185 -0
- data/pgpool2/pool_signal.c +158 -0
- data/pgpool2/pool_signal.h +61 -0
- data/pgpool2/pool_ssl.c +339 -0
- data/pgpool2/pool_stream.c +962 -0
- data/pgpool2/pool_stream.h +61 -0
- data/pgpool2/pool_system.c +659 -0
- data/pgpool2/pool_timestamp.c +1215 -0
- data/pgpool2/pool_timestamp.h +38 -0
- data/pgpool2/pool_type.h +171 -0
- data/pgpool2/pool_worker_child.c +384 -0
- data/pgpool2/ps_status.c +404 -0
- data/pgpool2/recovery.c +435 -0
- data/pgpool2/redhat/pgpool.conf.sample.patch +52 -0
- data/pgpool2/redhat/pgpool.init +201 -0
- data/pgpool2/redhat/pgpool.sysconfig +7 -0
- data/pgpool2/redhat/rpm_installer/basebackup-replication.sh +53 -0
- data/pgpool2/redhat/rpm_installer/basebackup-stream.sh +55 -0
- data/pgpool2/redhat/rpm_installer/config_for_script +17 -0
- data/pgpool2/redhat/rpm_installer/failover.sh +64 -0
- data/pgpool2/redhat/rpm_installer/getsources.sh +141 -0
- data/pgpool2/redhat/rpm_installer/install.sh +1363 -0
- data/pgpool2/redhat/rpm_installer/pgpool_recovery_pitr +47 -0
- data/pgpool2/redhat/rpm_installer/pgpool_remote_start +15 -0
- data/pgpool2/redhat/rpm_installer/recovery.conf +4 -0
- data/pgpool2/redhat/rpm_installer/uninstall.sh +57 -0
- data/pgpool2/sample/dist_def_pgbench.sql +73 -0
- data/pgpool2/sample/pgpool.pam +3 -0
- data/pgpool2/sample/pgpool_recovery +20 -0
- data/pgpool2/sample/pgpool_recovery_pitr +19 -0
- data/pgpool2/sample/pgpool_remote_start +13 -0
- data/pgpool2/sample/replicate_def_pgbench.sql +18 -0
- data/pgpool2/sql/insert_lock.sql +15 -0
- data/pgpool2/sql/pgpool-recovery/pgpool-recovery.c +280 -0
- data/pgpool2/sql/pgpool-recovery/pgpool-recovery.sql.in +19 -0
- data/pgpool2/sql/pgpool-recovery/pgpool_recovery--1.0.sql +24 -0
- data/pgpool2/sql/pgpool-recovery/pgpool_recovery.control +5 -0
- data/pgpool2/sql/pgpool-recovery/uninstall_pgpool-recovery.sql +3 -0
- data/pgpool2/sql/pgpool-regclass/pgpool-regclass.c +206 -0
- data/pgpool2/sql/pgpool-regclass/pgpool-regclass.sql.in +4 -0
- data/pgpool2/sql/pgpool-regclass/pgpool_regclass--1.0.sql +7 -0
- data/pgpool2/sql/pgpool-regclass/pgpool_regclass.control +5 -0
- data/pgpool2/sql/pgpool-regclass/uninstall_pgpool-regclass.sql +1 -0
- data/pgpool2/sql/system_db.sql +38 -0
- data/pgpool2/strlcpy.c +85 -0
- data/pgpool2/test/C/test_extended.c +98 -0
- data/pgpool2/test/jdbc/.cvsignore +2 -0
- data/pgpool2/test/jdbc/AutoCommitTest.java +45 -0
- data/pgpool2/test/jdbc/BatchTest.java +55 -0
- data/pgpool2/test/jdbc/ColumnTest.java +60 -0
- data/pgpool2/test/jdbc/CreateTempTableTest.java +48 -0
- data/pgpool2/test/jdbc/InsertTest.java +34 -0
- data/pgpool2/test/jdbc/LockTest.java +36 -0
- data/pgpool2/test/jdbc/PgpoolTest.java +75 -0
- data/pgpool2/test/jdbc/README.euc_jp +73 -0
- data/pgpool2/test/jdbc/RunTest.java +83 -0
- data/pgpool2/test/jdbc/SelectTest.java +37 -0
- data/pgpool2/test/jdbc/UpdateTest.java +32 -0
- data/pgpool2/test/jdbc/expected/CreateTempTable +1 -0
- data/pgpool2/test/jdbc/expected/autocommit +10 -0
- data/pgpool2/test/jdbc/expected/batch +1 -0
- data/pgpool2/test/jdbc/expected/column +100 -0
- data/pgpool2/test/jdbc/expected/insert +1 -0
- data/pgpool2/test/jdbc/expected/lock +100 -0
- data/pgpool2/test/jdbc/expected/select +2 -0
- data/pgpool2/test/jdbc/expected/update +1 -0
- data/pgpool2/test/jdbc/pgpool.properties +7 -0
- data/pgpool2/test/jdbc/prepare.sql +54 -0
- data/pgpool2/test/jdbc/run.sh +6 -0
- data/pgpool2/test/parser/.cvsignore +6 -0
- data/pgpool2/test/parser/README +32 -0
- data/pgpool2/test/parser/expected/copy.out +17 -0
- data/pgpool2/test/parser/expected/create.out +64 -0
- data/pgpool2/test/parser/expected/cursor.out +37 -0
- data/pgpool2/test/parser/expected/delete.out +10 -0
- data/pgpool2/test/parser/expected/drop.out +12 -0
- data/pgpool2/test/parser/expected/insert.out +13 -0
- data/pgpool2/test/parser/expected/misc.out +28 -0
- data/pgpool2/test/parser/expected/prepare.out +4 -0
- data/pgpool2/test/parser/expected/privileges.out +31 -0
- data/pgpool2/test/parser/expected/scanner.out +30 -0
- data/pgpool2/test/parser/expected/select.out +89 -0
- data/pgpool2/test/parser/expected/transaction.out +38 -0
- data/pgpool2/test/parser/expected/update.out +11 -0
- data/pgpool2/test/parser/expected/v84.out +37 -0
- data/pgpool2/test/parser/expected/v90.out +25 -0
- data/pgpool2/test/parser/expected/var.out +22 -0
- data/pgpool2/test/parser/input/alter.sql +2 -0
- data/pgpool2/test/parser/input/copy.sql +17 -0
- data/pgpool2/test/parser/input/create.sql +64 -0
- data/pgpool2/test/parser/input/cursor.sql +37 -0
- data/pgpool2/test/parser/input/delete.sql +10 -0
- data/pgpool2/test/parser/input/drop.sql +12 -0
- data/pgpool2/test/parser/input/insert.sql +13 -0
- data/pgpool2/test/parser/input/misc.sql +28 -0
- data/pgpool2/test/parser/input/prepare.sql +4 -0
- data/pgpool2/test/parser/input/privileges.sql +31 -0
- data/pgpool2/test/parser/input/scanner.sql +34 -0
- data/pgpool2/test/parser/input/select.sql +89 -0
- data/pgpool2/test/parser/input/transaction.sql +38 -0
- data/pgpool2/test/parser/input/update.sql +11 -0
- data/pgpool2/test/parser/input/v84.sql +37 -0
- data/pgpool2/test/parser/input/v90.sql +38 -0
- data/pgpool2/test/parser/input/var.sql +22 -0
- data/pgpool2/test/parser/main.c +96 -0
- data/pgpool2/test/parser/parse_schedule +16 -0
- data/pgpool2/test/parser/pool.h +13 -0
- data/pgpool2/test/parser/run-test +62 -0
- data/pgpool2/test/pdo-test/README.euc_jp +58 -0
- data/pgpool2/test/pdo-test/SQLlist/test1.sql +3 -0
- data/pgpool2/test/pdo-test/SQLlist/test2.sql +3 -0
- data/pgpool2/test/pdo-test/collections.inc +11 -0
- data/pgpool2/test/pdo-test/def.inc +7 -0
- data/pgpool2/test/pdo-test/log.txt +0 -0
- data/pgpool2/test/pdo-test/mod/database.inc +36 -0
- data/pgpool2/test/pdo-test/mod/def.inc +0 -0
- data/pgpool2/test/pdo-test/mod/errorhandler.inc +27 -0
- data/pgpool2/test/pdo-test/pdotest.php +11 -0
- data/pgpool2/test/pdo-test/regsql.inc +56 -0
- data/pgpool2/test/pgpool_setup +898 -0
- data/pgpool2/test/regression/README +39 -0
- data/pgpool2/test/regression/clean.sh +21 -0
- data/pgpool2/test/regression/libs.sh +16 -0
- data/pgpool2/test/regression/regress.sh +166 -0
- data/pgpool2/test/regression/tests/001.load_balance/test.sh +128 -0
- data/pgpool2/test/regression/tests/002.native_replication/PgTester.java +47 -0
- data/pgpool2/test/regression/tests/002.native_replication/create.sql +6 -0
- data/pgpool2/test/regression/tests/002.native_replication/test.sh +71 -0
- data/pgpool2/test/regression/tests/003.failover/expected.r +6 -0
- data/pgpool2/test/regression/tests/003.failover/expected.s +6 -0
- data/pgpool2/test/regression/tests/003.failover/test.sh +45 -0
- data/pgpool2/test/regression/tests/004.watchdog/master.conf +12 -0
- data/pgpool2/test/regression/tests/004.watchdog/standby.conf +19 -0
- data/pgpool2/test/regression/tests/004.watchdog/test.sh +52 -0
- data/pgpool2/test/regression/tests/050.bug58/test.sh +50 -0
- data/pgpool2/test/regression/tests/051.bug60/bug.sql +12 -0
- data/pgpool2/test/regression/tests/051.bug60/database-clean.sql +6 -0
- data/pgpool2/test/regression/tests/051.bug60/database-setup.sql +28 -0
- data/pgpool2/test/regression/tests/051.bug60/test.sh +79 -0
- data/pgpool2/test/regression/tests/052.do_query/test.sh +44 -0
- data/pgpool2/test/regression/tests/053.insert_lock_hangs/test.sh +81 -0
- data/pgpool2/test/regression/tests/054.postgres_fdw/test.sh +67 -0
- data/pgpool2/test/regression/tests/055.backend_all_down/test.sh +52 -0
- data/pgpool2/test/regression/tests/056.bug63/jdbctest2.java +66 -0
- data/pgpool2/test/regression/tests/056.bug63/test.sh +47 -0
- data/pgpool2/test/regression/tests/057.bug61/test.sh +40 -0
- data/pgpool2/test/regression/tests/058.bug68/jdbctest3.java +45 -0
- data/pgpool2/test/regression/tests/058.bug68/test.sh +47 -0
- data/pgpool2/test/timestamp/expected/insert.out +16 -0
- data/pgpool2/test/timestamp/expected/misc.out +3 -0
- data/pgpool2/test/timestamp/expected/update.out +6 -0
- data/pgpool2/test/timestamp/input/insert.sql +16 -0
- data/pgpool2/test/timestamp/input/misc.sql +3 -0
- data/pgpool2/test/timestamp/input/update.sql +6 -0
- data/pgpool2/test/timestamp/main.c +129 -0
- data/pgpool2/test/timestamp/parse_schedule +3 -0
- data/pgpool2/test/timestamp/run-test +69 -0
- data/pgpool2/version.h +1 -0
- data/pgpool2/watchdog/Makefile.am +17 -0
- data/pgpool2/watchdog/Makefile.in +505 -0
- data/pgpool2/watchdog/test/stab.c +266 -0
- data/pgpool2/watchdog/test/test.c +85 -0
- data/pgpool2/watchdog/test/wd_child_t.c +87 -0
- data/pgpool2/watchdog/test/wd_lifecheck_t.c +87 -0
- data/pgpool2/watchdog/test/wd_packet_t.c +87 -0
- data/pgpool2/watchdog/test/wd_ping_t.c +20 -0
- data/pgpool2/watchdog/watchdog.c +408 -0
- data/pgpool2/watchdog/watchdog.h +209 -0
- data/pgpool2/watchdog/wd_child.c +444 -0
- data/pgpool2/watchdog/wd_ext.h +123 -0
- data/pgpool2/watchdog/wd_heartbeat.c +577 -0
- data/pgpool2/watchdog/wd_if.c +216 -0
- data/pgpool2/watchdog/wd_init.c +126 -0
- data/pgpool2/watchdog/wd_interlock.c +347 -0
- data/pgpool2/watchdog/wd_lifecheck.c +512 -0
- data/pgpool2/watchdog/wd_list.c +429 -0
- data/pgpool2/watchdog/wd_packet.c +1159 -0
- data/pgpool2/watchdog/wd_ping.c +330 -0
- data/pgpool2/ylwrap +223 -0
- data/pgsql/presto_client.py +346 -0
- data/pgsql/prestogres.py +156 -0
- data/pgsql/setup_functions.sql +21 -0
- data/pgsql/setup_language.sql +3 -0
- data/prestogres.gemspec +23 -0
- metadata +496 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* $Header$
|
|
3
|
+
*
|
|
4
|
+
* pgpool: a language independent connection pool server for PostgreSQL
|
|
5
|
+
* written by Tatsuo Ishii
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2003-2008 PgPool Global Development Group
|
|
8
|
+
*
|
|
9
|
+
* Permission to use, copy, modify, and distribute this software and
|
|
10
|
+
* its documentation for any purpose and without fee is hereby
|
|
11
|
+
* granted, provided that the above copyright notice appear in all
|
|
12
|
+
* copies and that both that copyright notice and this permission
|
|
13
|
+
* notice appear in supporting documentation, and that the name of the
|
|
14
|
+
* author not be used in advertising or publicity pertaining to
|
|
15
|
+
* distribution of the software without specific, written prior
|
|
16
|
+
* permission. The author makes no representations about the
|
|
17
|
+
* suitability of this software for any purpose. It is provided "as
|
|
18
|
+
* is" without express or implied warranty.
|
|
19
|
+
*
|
|
20
|
+
* pcp_stream.h - master header file.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
#ifndef PCP_STREAM_H
|
|
24
|
+
#define PCP_STREAM_H
|
|
25
|
+
|
|
26
|
+
#include "pool.h"
|
|
27
|
+
|
|
28
|
+
#define READBUFSZ 1024
|
|
29
|
+
#define WRITEBUFSZ 8192
|
|
30
|
+
|
|
31
|
+
typedef struct {
|
|
32
|
+
int fd; /* fd for connection */
|
|
33
|
+
|
|
34
|
+
char *wbuf; /* write buffer for the connection */
|
|
35
|
+
int wbufsz; /* write buffer size */
|
|
36
|
+
int wbufpo; /* buffer offset */
|
|
37
|
+
|
|
38
|
+
char *hp; /* pending data buffer head address */
|
|
39
|
+
int po; /* pending data offset */
|
|
40
|
+
int bufsz; /* pending data buffer size */
|
|
41
|
+
int len; /* pending data length */
|
|
42
|
+
} PCP_CONNECTION;
|
|
43
|
+
|
|
44
|
+
extern PCP_CONNECTION *pcp_open(int fd);
|
|
45
|
+
extern void pcp_close(PCP_CONNECTION *pc);
|
|
46
|
+
extern int pcp_read(PCP_CONNECTION *pc, void *buf, int len);
|
|
47
|
+
extern int pcp_write(PCP_CONNECTION *pc, void *buf, int len);
|
|
48
|
+
extern int pcp_flush(PCP_CONNECTION *pc);
|
|
49
|
+
|
|
50
|
+
#define UNIX_DOMAIN_PATH "/tmp"
|
|
51
|
+
|
|
52
|
+
#endif /* PCP_STREAM_H */
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* $Header$
|
|
3
|
+
*
|
|
4
|
+
* pgpool: a language independent connection pool server for PostgreSQL
|
|
5
|
+
* written by Tatsuo Ishii
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2003-2008 PgPool Global Development Group
|
|
8
|
+
*
|
|
9
|
+
* Permission to use, copy, modify, and distribute this software and
|
|
10
|
+
* its documentation for any purpose and without fee is hereby
|
|
11
|
+
* granted, provided that the above copyright notice appear in all
|
|
12
|
+
* copies and that both that copyright notice and this permission
|
|
13
|
+
* notice appear in supporting documentation, and that the name of the
|
|
14
|
+
* author not be used in advertising or publicity pertaining to
|
|
15
|
+
* distribution of the software without specific, written prior
|
|
16
|
+
* permission. The author makes no representations about the
|
|
17
|
+
* suitability of this software for any purpose. It is provided "as
|
|
18
|
+
* is" without express or implied warranty.
|
|
19
|
+
*
|
|
20
|
+
* Client program to send "systemDB info" command.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
#include <stdio.h>
|
|
24
|
+
#include <stdlib.h>
|
|
25
|
+
#include <string.h>
|
|
26
|
+
#include <unistd.h>
|
|
27
|
+
#ifdef HAVE_GETOPT_H
|
|
28
|
+
#include <getopt.h>
|
|
29
|
+
#else
|
|
30
|
+
#include "getopt_long.h"
|
|
31
|
+
#endif
|
|
32
|
+
|
|
33
|
+
#include "pcp.h"
|
|
34
|
+
|
|
35
|
+
static void usage(void);
|
|
36
|
+
static void myexit(ErrorCode e);
|
|
37
|
+
|
|
38
|
+
int
|
|
39
|
+
main(int argc, char **argv)
|
|
40
|
+
{
|
|
41
|
+
long timeout;
|
|
42
|
+
char host[MAX_DB_HOST_NAMELEN];
|
|
43
|
+
int port;
|
|
44
|
+
char user[MAX_USER_PASSWD_LEN];
|
|
45
|
+
char pass[MAX_USER_PASSWD_LEN];
|
|
46
|
+
SystemDBInfo *systemdb_info;
|
|
47
|
+
int i, j;
|
|
48
|
+
int ch;
|
|
49
|
+
int optindex;
|
|
50
|
+
|
|
51
|
+
static struct option long_options[] = {
|
|
52
|
+
{"debug", no_argument, NULL, 'd'},
|
|
53
|
+
{"help", no_argument, NULL, 'h'},
|
|
54
|
+
{NULL, 0, NULL, 0}
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
while ((ch = getopt_long(argc, argv, "hd", long_options, &optindex)) != -1) {
|
|
58
|
+
switch (ch) {
|
|
59
|
+
case 'd':
|
|
60
|
+
pcp_enable_debug();
|
|
61
|
+
break;
|
|
62
|
+
|
|
63
|
+
case 'h':
|
|
64
|
+
case '?':
|
|
65
|
+
default:
|
|
66
|
+
usage();
|
|
67
|
+
exit(0);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
argc -= optind;
|
|
71
|
+
argv += optind;
|
|
72
|
+
|
|
73
|
+
if (argc != 5)
|
|
74
|
+
{
|
|
75
|
+
errorcode = INVALERR;
|
|
76
|
+
pcp_errorstr(errorcode);
|
|
77
|
+
myexit(errorcode);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
timeout = atol(argv[0]);
|
|
81
|
+
if (timeout < 0) {
|
|
82
|
+
errorcode = INVALERR;
|
|
83
|
+
pcp_errorstr(errorcode);
|
|
84
|
+
myexit(errorcode);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (strlen(argv[1]) >= MAX_DB_HOST_NAMELEN)
|
|
88
|
+
{
|
|
89
|
+
errorcode = INVALERR;
|
|
90
|
+
pcp_errorstr(errorcode);
|
|
91
|
+
myexit(errorcode);
|
|
92
|
+
}
|
|
93
|
+
strcpy(host, argv[1]);
|
|
94
|
+
|
|
95
|
+
port = atoi(argv[2]);
|
|
96
|
+
if (port <= 1024 || port > 65535)
|
|
97
|
+
{
|
|
98
|
+
errorcode = INVALERR;
|
|
99
|
+
pcp_errorstr(errorcode);
|
|
100
|
+
myexit(errorcode);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (strlen(argv[3]) >= MAX_USER_PASSWD_LEN)
|
|
104
|
+
{
|
|
105
|
+
errorcode = INVALERR;
|
|
106
|
+
pcp_errorstr(errorcode);
|
|
107
|
+
myexit(errorcode);
|
|
108
|
+
}
|
|
109
|
+
strcpy(user, argv[3]);
|
|
110
|
+
|
|
111
|
+
if (strlen(argv[4]) >= MAX_USER_PASSWD_LEN)
|
|
112
|
+
{
|
|
113
|
+
errorcode = INVALERR;
|
|
114
|
+
pcp_errorstr(errorcode);
|
|
115
|
+
myexit(errorcode);
|
|
116
|
+
}
|
|
117
|
+
strcpy(pass, argv[4]);
|
|
118
|
+
|
|
119
|
+
if (pcp_connect(host, port, user, pass))
|
|
120
|
+
{
|
|
121
|
+
pcp_errorstr(errorcode);
|
|
122
|
+
myexit(errorcode);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
if ((systemdb_info = pcp_systemdb_info()) == NULL)
|
|
126
|
+
{
|
|
127
|
+
pcp_errorstr(errorcode);
|
|
128
|
+
pcp_disconnect();
|
|
129
|
+
myexit(errorcode);
|
|
130
|
+
} else {
|
|
131
|
+
printf("%s %d %s %s %s %s %d %d\n",
|
|
132
|
+
systemdb_info->hostname,
|
|
133
|
+
systemdb_info->port,
|
|
134
|
+
systemdb_info->user,
|
|
135
|
+
systemdb_info->password[0] == '\0' ? "''" : systemdb_info->password,
|
|
136
|
+
systemdb_info->schema_name,
|
|
137
|
+
systemdb_info->database_name,
|
|
138
|
+
systemdb_info->dist_def_num,
|
|
139
|
+
systemdb_info->system_db_status);
|
|
140
|
+
|
|
141
|
+
for (i = 0; i < systemdb_info->dist_def_num; i++)
|
|
142
|
+
{
|
|
143
|
+
DistDefInfo *ddi = &systemdb_info->dist_def_slot[i];
|
|
144
|
+
|
|
145
|
+
printf("%s %s %s %s %d ",
|
|
146
|
+
ddi->dbname,
|
|
147
|
+
ddi->schema_name,
|
|
148
|
+
ddi->table_name,
|
|
149
|
+
ddi->dist_key_col_name,
|
|
150
|
+
ddi->col_num);
|
|
151
|
+
|
|
152
|
+
for (j = 0; j < ddi->col_num; j++)
|
|
153
|
+
printf("%s ", ddi->col_list[j]);
|
|
154
|
+
|
|
155
|
+
for (j = 0; j < ddi->col_num; j++)
|
|
156
|
+
printf("%s ", ddi->type_list[j]);
|
|
157
|
+
|
|
158
|
+
printf("%s\n", ddi->dist_def_func);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
free_systemdb_info(systemdb_info);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
pcp_disconnect();
|
|
165
|
+
|
|
166
|
+
return 0;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
static void
|
|
170
|
+
usage(void)
|
|
171
|
+
{
|
|
172
|
+
fprintf(stderr, "pcp_systemdb_info - display the pgpool-II systemDB information\n\n");
|
|
173
|
+
fprintf(stderr, "Usage: pcp_systemdb_info [-d] timeout hostname port# username password\n");
|
|
174
|
+
fprintf(stderr, "Usage: pcp_systemdb_info -h\n\n");
|
|
175
|
+
fprintf(stderr, " -d, --debug : enable debug message (optional)\n");
|
|
176
|
+
fprintf(stderr, " timeout : connection timeout value in seconds. command exits on timeout\n");
|
|
177
|
+
fprintf(stderr, " hostname : pgpool-II hostname\n");
|
|
178
|
+
fprintf(stderr, " port# : PCP port number\n");
|
|
179
|
+
fprintf(stderr, " username : username for PCP authentication\n");
|
|
180
|
+
fprintf(stderr, " password : password for PCP authentication\n");
|
|
181
|
+
fprintf(stderr, " -h, --help : print this help\n");
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
static void
|
|
185
|
+
myexit(ErrorCode e)
|
|
186
|
+
{
|
|
187
|
+
if (e == INVALERR)
|
|
188
|
+
{
|
|
189
|
+
usage();
|
|
190
|
+
exit(e);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
exit(e);
|
|
194
|
+
}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* $Header$
|
|
3
|
+
*
|
|
4
|
+
* pgpool: a language independent connection pool server for PostgreSQL
|
|
5
|
+
* written by Tatsuo Ishii
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2003-2013 PgPool Global Development Group
|
|
8
|
+
*
|
|
9
|
+
* Permission to use, copy, modify, and distribute this software and
|
|
10
|
+
* its documentation for any purpose and without fee is hereby
|
|
11
|
+
* granted, provided that the above copyright notice appear in all
|
|
12
|
+
* copies and that both that copyright notice and this permission
|
|
13
|
+
* notice appear in supporting documentation, and that the name of the
|
|
14
|
+
* author not be used in advertising or publicity pertaining to
|
|
15
|
+
* distribution of the software without specific, written prior
|
|
16
|
+
* permission. The author makes no representations about the
|
|
17
|
+
* suitability of this software for any purpose. It is provided "as
|
|
18
|
+
* is" without express or implied warranty.
|
|
19
|
+
*
|
|
20
|
+
* Client program to send "watchdog info" command.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
#include <stdio.h>
|
|
24
|
+
#include <stdlib.h>
|
|
25
|
+
#include <string.h>
|
|
26
|
+
#include <unistd.h>
|
|
27
|
+
#ifdef HAVE_GETOPT_H
|
|
28
|
+
#include <getopt.h>
|
|
29
|
+
#else
|
|
30
|
+
#include "getopt_long.h"
|
|
31
|
+
#endif
|
|
32
|
+
|
|
33
|
+
#include "pcp.h"
|
|
34
|
+
|
|
35
|
+
static void usage(void);
|
|
36
|
+
static void myexit(ErrorCode e);
|
|
37
|
+
|
|
38
|
+
int
|
|
39
|
+
main(int argc, char **argv)
|
|
40
|
+
{
|
|
41
|
+
long timeout;
|
|
42
|
+
char host[MAX_DB_HOST_NAMELEN];
|
|
43
|
+
int port;
|
|
44
|
+
char user[MAX_USER_PASSWD_LEN];
|
|
45
|
+
char pass[MAX_USER_PASSWD_LEN];
|
|
46
|
+
int wd_index;
|
|
47
|
+
WdInfo *watchdog_info;
|
|
48
|
+
int ch;
|
|
49
|
+
int optindex;
|
|
50
|
+
bool verbose = false;
|
|
51
|
+
|
|
52
|
+
static struct option long_options[] = {
|
|
53
|
+
{"debug", no_argument, NULL, 'd'},
|
|
54
|
+
{"help", no_argument, NULL, 'h'},
|
|
55
|
+
{"verbose", no_argument, NULL, 'v'},
|
|
56
|
+
{NULL, 0, NULL, 0}
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
while ((ch = getopt_long(argc, argv, "hdv", long_options, &optindex)) != -1) {
|
|
60
|
+
switch (ch) {
|
|
61
|
+
case 'd':
|
|
62
|
+
pcp_enable_debug();
|
|
63
|
+
break;
|
|
64
|
+
|
|
65
|
+
case 'v':
|
|
66
|
+
verbose = true;
|
|
67
|
+
break;
|
|
68
|
+
|
|
69
|
+
case 'h':
|
|
70
|
+
case '?':
|
|
71
|
+
default:
|
|
72
|
+
usage();
|
|
73
|
+
exit(0);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
argc -= optind;
|
|
77
|
+
argv += optind;
|
|
78
|
+
|
|
79
|
+
if (!(argc == 5 || argc == 6))
|
|
80
|
+
{
|
|
81
|
+
errorcode = INVALERR;
|
|
82
|
+
pcp_errorstr(errorcode);
|
|
83
|
+
myexit(errorcode);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
timeout = atol(argv[0]);
|
|
87
|
+
if (timeout < 0) {
|
|
88
|
+
errorcode = INVALERR;
|
|
89
|
+
pcp_errorstr(errorcode);
|
|
90
|
+
myexit(errorcode);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if (strlen(argv[1]) >= MAX_DB_HOST_NAMELEN)
|
|
94
|
+
{
|
|
95
|
+
errorcode = INVALERR;
|
|
96
|
+
pcp_errorstr(errorcode);
|
|
97
|
+
myexit(errorcode);
|
|
98
|
+
}
|
|
99
|
+
strcpy(host, argv[1]);
|
|
100
|
+
|
|
101
|
+
port = atoi(argv[2]);
|
|
102
|
+
if (port <= 1024 || port > 65535)
|
|
103
|
+
{
|
|
104
|
+
errorcode = INVALERR;
|
|
105
|
+
pcp_errorstr(errorcode);
|
|
106
|
+
myexit(errorcode);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
if (strlen(argv[3]) >= MAX_USER_PASSWD_LEN)
|
|
110
|
+
{
|
|
111
|
+
errorcode = INVALERR;
|
|
112
|
+
pcp_errorstr(errorcode);
|
|
113
|
+
myexit(errorcode);
|
|
114
|
+
}
|
|
115
|
+
strcpy(user, argv[3]);
|
|
116
|
+
|
|
117
|
+
if (strlen(argv[4]) >= MAX_USER_PASSWD_LEN)
|
|
118
|
+
{
|
|
119
|
+
errorcode = INVALERR;
|
|
120
|
+
pcp_errorstr(errorcode);
|
|
121
|
+
myexit(errorcode);
|
|
122
|
+
}
|
|
123
|
+
strcpy(pass, argv[4]);
|
|
124
|
+
|
|
125
|
+
if (argc == 6)
|
|
126
|
+
{
|
|
127
|
+
wd_index = atoi(argv[5]);
|
|
128
|
+
if (wd_index < 0 || wd_index > MAX_WATCHDOG_NUM)
|
|
129
|
+
{
|
|
130
|
+
errorcode = INVALERR;
|
|
131
|
+
pcp_errorstr(errorcode);
|
|
132
|
+
myexit(errorcode);
|
|
133
|
+
}
|
|
134
|
+
wd_index++;
|
|
135
|
+
}
|
|
136
|
+
else
|
|
137
|
+
{
|
|
138
|
+
wd_index = 0;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
pcp_set_timeout(timeout);
|
|
142
|
+
|
|
143
|
+
if (pcp_connect(host, port, user, pass))
|
|
144
|
+
{
|
|
145
|
+
pcp_errorstr(errorcode);
|
|
146
|
+
myexit(errorcode);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
if ((watchdog_info = pcp_watchdog_info(wd_index)) == NULL)
|
|
150
|
+
{
|
|
151
|
+
pcp_errorstr(errorcode);
|
|
152
|
+
pcp_disconnect();
|
|
153
|
+
myexit(errorcode);
|
|
154
|
+
}
|
|
155
|
+
else
|
|
156
|
+
{
|
|
157
|
+
if (verbose)
|
|
158
|
+
{
|
|
159
|
+
printf("Hostname : %s\nPgpool port : %d\nWatchdog port: %d\nStatus : %d\n",
|
|
160
|
+
watchdog_info->hostname,
|
|
161
|
+
watchdog_info->pgpool_port,
|
|
162
|
+
watchdog_info->wd_port,
|
|
163
|
+
watchdog_info->status);
|
|
164
|
+
}
|
|
165
|
+
else
|
|
166
|
+
{
|
|
167
|
+
printf("%s %d %d %d\n",
|
|
168
|
+
watchdog_info->hostname,
|
|
169
|
+
watchdog_info->pgpool_port,
|
|
170
|
+
watchdog_info->wd_port,
|
|
171
|
+
watchdog_info->status);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
free(watchdog_info);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
pcp_disconnect();
|
|
178
|
+
|
|
179
|
+
return 0;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
static void
|
|
183
|
+
usage(void)
|
|
184
|
+
{
|
|
185
|
+
fprintf(stderr, "pcp_watchdog_info - display a pgpool-II watchdog's information\n\n");
|
|
186
|
+
fprintf(stderr, "Usage: pcp_watchdog_info [-d] timeout hostname port# username password [watchdogID]\n");
|
|
187
|
+
fprintf(stderr, " -d, --debug : enable debug message (optional)\n");
|
|
188
|
+
fprintf(stderr, " timeout : connection timeout value in seconds. command exits on timeout\n");
|
|
189
|
+
fprintf(stderr, " hostname : pgpool-II hostname\n");
|
|
190
|
+
fprintf(stderr, " port# : PCP port number\n");
|
|
191
|
+
fprintf(stderr, " username : username for PCP authentication\n");
|
|
192
|
+
fprintf(stderr, " password : password for PCP authentication\n");
|
|
193
|
+
fprintf(stderr, " watchdogID : ID of a other pgpool to get information for\n");
|
|
194
|
+
fprintf(stderr, " If omitted then get one's self information\n\n");
|
|
195
|
+
fprintf(stderr, "Usage: pcp_watchdog_info [options]\n");
|
|
196
|
+
fprintf(stderr, " Options available are:\n");
|
|
197
|
+
fprintf(stderr, " -h, --help : print this help\n");
|
|
198
|
+
fprintf(stderr, " -v, --verbose : display one line per information with a header\n");
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
static void
|
|
202
|
+
myexit(ErrorCode e)
|
|
203
|
+
{
|
|
204
|
+
if (e == INVALERR)
|
|
205
|
+
{
|
|
206
|
+
usage();
|
|
207
|
+
exit(e);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
exit(e);
|
|
211
|
+
}
|