Mock Version: 3.5 Mock Version: 3.5 Mock Version: 3.5 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target loongarch64 --nodeps /builddir/build/SPECS/rubygem-pg.spec'], chrootPath='/var/lib/mock/module-ruby-3.3-8090020240924031430-31c5aa00-build-396605-72225/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=86400uid=976gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target loongarch64 --nodeps /builddir/build/SPECS/rubygem-pg.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: loongarch64 Building for target loongarch64 Wrote: /builddir/build/SRPMS/rubygem-pg-1.5.4-1.module+an8.9.0+11254+cacfb08a.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --noclean --target loongarch64 --nodeps /builddir/build/SPECS/rubygem-pg.spec'], chrootPath='/var/lib/mock/module-ruby-3.3-8090020240924031430-31c5aa00-build-396605-72225/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=86400uid=976gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --noclean --target loongarch64 --nodeps /builddir/build/SPECS/rubygem-pg.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: loongarch64 Building for target loongarch64 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.4FSgi0 + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf pg-1.5.4 + /usr/bin/gzip -dc /builddir/build/SOURCES/pg-1.5.4-spec.tar.gz + /usr/bin/tar -xof - + STATUS=0 + '[' 0 -ne 0 ']' + /usr/bin/gem unpack /builddir/build/SOURCES/pg-1.5.4.gem Unpacked gem: '/builddir/build/BUILD/pg-1.5.4' + /usr/bin/gem spec /builddir/build/SOURCES/pg-1.5.4.gem --ruby + STATUS=0 + '[' 0 -ne 0 ']' + cd pg-1.5.4 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + echo 'Patch #0 (rubygem-pg-1.3.0-remove-rpath.patch):' Patch #0 (rubygem-pg-1.3.0-remove-rpath.patch): + /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0 patching file ext/extconf.rb Patch #1 (rubygem-pg-1.5.4-Explicitly-retype-timespec-fields-to-int64_t.patch): + echo 'Patch #1 (rubygem-pg-1.5.4-Explicitly-retype-timespec-fields-to-int64_t.patch):' + /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0 patching file ext/pg_binary_encoder.c Patch #2 (rubygem-pg-1.5.4-Fix-possible-buffer-overflows-on-32-bit-systems.patch): + echo 'Patch #2 (rubygem-pg-1.5.4-Fix-possible-buffer-overflows-on-32-bit-systems.patch):' + /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0 patching file ext/pg_copy_coder.c + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.tgTBLh + umask 022 + cd /builddir/build/BUILD + cd pg-1.5.4 + gem build ../pg-1.5.4.gemspec WARNING: expected RubyGems version 3.5.16, was 3.4.15 WARNING: You have specified the uri: https://github.com/ged/ruby-pg for all of the following keys: homepage_uri source_code_uri Only the first one will be shown on rubygems.org WARNING: See https://guides.rubygems.org/specification-reference/ for help Successfully built RubyGem Name: pg Version: 1.5.4 File: pg-1.5.4.gem + mkdir -p ./usr/share/gems + CONFIGURE_ARGS='--with-cflags='\''-O2 -g'\'' --with-cxxflags='\''-O2 -g'\'' --with-ldflags='\''-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld'\'' ' + gem install -V --local --build-root . --force --document=ri,rdoc pg-1.5.4.gem WARNING: You build with buildroot. Build root: /builddir/build/BUILD/pg-1.5.4 Bin dir: /builddir/build/BUILD/pg-1.5.4/usr/bin Gem home: /builddir/build/BUILD/pg-1.5.4/usr/share/gems Plugins dir: /builddir/build/BUILD/pg-1.5.4/usr/share/gems/plugins /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/.appveyor.yml /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/.gems /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/.gemtest /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/.github/workflows/binary-gems.yml /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/.github/workflows/source-gem.yml /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/.gitignore /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/.hgsigs /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/.hgtags /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/.irbrc /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/.pryrc /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/.tm_properties /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/.travis.yml /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/BSDL /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/Contributors.rdoc /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/Gemfile /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/History.md /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/LICENSE /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/Manifest.txt /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/POSTGRES /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/README-OS_X.rdoc /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/README-Windows.rdoc /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/README.ja.md /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/README.md /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/Rakefile /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/Rakefile.cross /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/certs/ged.pem /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/certs/larskanis-2022.pem /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/certs/larskanis-2023.pem /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/errorcodes.def /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/errorcodes.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/errorcodes.txt /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/extconf.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/gvl_wrappers.c /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/gvl_wrappers.h /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg.c /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg.h /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg_binary_decoder.c /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg_binary_encoder.c /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg_coder.c /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg_connection.c /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg_copy_coder.c /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg_errors.c /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg_record_coder.c /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg_result.c /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg_text_decoder.c /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg_text_encoder.c /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg_tuple.c /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg_type_map.c /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg_type_map_all_strings.c /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg_type_map_by_class.c /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg_type_map_by_column.c /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg_type_map_by_mri_type.c /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg_type_map_by_oid.c /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg_type_map_in_ruby.c /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg_util.c /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/pg_util.h /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/vc/pg.sln /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/vc/pg_18/pg.vcproj /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext/vc/pg_19/pg_19.vcproj /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/basic_type_map_based_on_result.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/basic_type_map_for_queries.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/basic_type_map_for_results.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/basic_type_registry.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/binary_decoder/date.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/binary_decoder/timestamp.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/binary_encoder/timestamp.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/coder.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/connection.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/exceptions.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/result.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/text_decoder/date.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/text_decoder/inet.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/text_decoder/json.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/text_decoder/numeric.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/text_decoder/timestamp.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/text_encoder/date.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/text_encoder/inet.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/text_encoder/json.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/text_encoder/numeric.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/text_encoder/timestamp.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/tuple.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/type_map_by_column.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/version.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/misc/openssl-pg-segfault.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/misc/postgres/History.txt /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/misc/postgres/Manifest.txt /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/misc/postgres/README.txt /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/misc/postgres/Rakefile /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/misc/postgres/lib/postgres.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/misc/ruby-pg/History.txt /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/misc/ruby-pg/Manifest.txt /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/misc/ruby-pg/README.txt /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/misc/ruby-pg/Rakefile /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/misc/ruby-pg/lib/ruby/pg.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/pg.gemspec /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/rakelib/task_extension.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/sample/array_insert.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/sample/async_api.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/sample/async_copyto.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/sample/async_mixed.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/sample/check_conn.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/sample/copydata.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/sample/copyfrom.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/sample/copyto.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/sample/cursor.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/sample/disk_usage_report.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/sample/issue-119.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/sample/losample.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/sample/minimal-testcase.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/sample/notify_wait.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/sample/pg_statistics.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/sample/replication_monitor.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/sample/test_binary_values.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/sample/wal_shipper.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/sample/warehouse_partitions.rb /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/translation/.po4a-version /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/translation/po/all.pot /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/translation/po/ja.po /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/translation/po4a.cfg Building native extensions. This could take a while... current directory: /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext ["/usr/bin/ruby", "-I/usr/share/rubygems", "extconf.rb"] Calling libpq with GVL unlocked checking for pg_config... yes Using config values from /usr/bin/pg_config Using libpq from /usr/lib64 checking for libpq-fe.h... yes checking for libpq/libpq-fs.h... yes checking for pg_config_manual.h... yes checking for PQconnectdb() in -lpq... yes checking for PQconninfo() in libpq-fe.h... yes checking for PQsslAttribute() in libpq-fe.h... yes checking for PQresultVerboseErrorMessage() in libpq-fe.h... yes checking for PQencryptPasswordConn() in libpq-fe.h... yes checking for PQresultMemorySize() in libpq-fe.h... yes checking for PQenterPipelineMode() in libpq-fe.h... no checking for timegm()... yes checking for rb_gc_adjust_memory_usage()... yes checking for rb_gc_mark_movable()... yes checking for rb_io_wait()... yes checking for unistd.h... yes checking for inttypes.h... yes checking for C99 variable length arrays... yes creating extconf.h creating Makefile current directory: /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext ["make", "DESTDIR=", "sitearchdir=./.gem.20240924-1315373-pjlngl", "sitelibdir=./.gem.20240924-1315373-pjlngl", "clean"] rm -f rm -fr pg_ext.so false gvl_wrappers.o pg.o pg_binary_decoder.o pg_binary_encoder.o pg_coder.o pg_connection.o pg_copy_coder.o pg_errors.o pg_record_coder.o pg_result.o pg_text_decoder.o pg_text_encoder.o pg_tuple.o pg_type_map.o pg_type_map_all_strings.o pg_type_map_by_class.o pg_type_map_by_column.o pg_type_map_by_mri_type.o pg_type_map_by_oid.o pg_type_map_in_ruby.o pg_util.o *.bak mkmf.log .*.time current directory: /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext ["make", "DESTDIR=", "sitearchdir=./.gem.20240924-1315373-pjlngl", "sitelibdir=./.gem.20240924-1315373-pjlngl"] gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/include -fPIC -O2 -g -o gvl_wrappers.o -c gvl_wrappers.c gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/include -fPIC -O2 -g -o pg.o -c pg.c gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/include -fPIC -O2 -g -o pg_binary_decoder.o -c pg_binary_decoder.c gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/include -fPIC -O2 -g -o pg_binary_encoder.o -c pg_binary_encoder.c gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/include -fPIC -O2 -g -o pg_coder.o -c pg_coder.c gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/include -fPIC -O2 -g -o pg_connection.o -c pg_connection.c gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/include -fPIC -O2 -g -o pg_copy_coder.o -c pg_copy_coder.c gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/include -fPIC -O2 -g -o pg_errors.o -c pg_errors.c gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/include -fPIC -O2 -g -o pg_record_coder.o -c pg_record_coder.c gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/include -fPIC -O2 -g -o pg_result.o -c pg_result.c gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/include -fPIC -O2 -g -o pg_text_decoder.o -c pg_text_decoder.c gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/include -fPIC -O2 -g -o pg_text_encoder.o -c pg_text_encoder.c gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/include -fPIC -O2 -g -o pg_tuple.o -c pg_tuple.c gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/include -fPIC -O2 -g -o pg_type_map.o -c pg_type_map.c gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/include -fPIC -O2 -g -o pg_type_map_all_strings.o -c pg_type_map_all_strings.c gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/include -fPIC -O2 -g -o pg_type_map_by_class.o -c pg_type_map_by_class.c gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/include -fPIC -O2 -g -o pg_type_map_by_column.o -c pg_type_map_by_column.c gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/include -fPIC -O2 -g -o pg_type_map_by_mri_type.o -c pg_type_map_by_mri_type.c gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/include -fPIC -O2 -g -o pg_type_map_by_oid.o -c pg_type_map_by_oid.c gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/include -fPIC -O2 -g -o pg_type_map_in_ruby.o -c pg_type_map_in_ruby.c gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/include -fPIC -O2 -g -o pg_util.o -c pg_util.c rm -f pg_ext.so gcc -shared -o pg_ext.so gvl_wrappers.o pg.o pg_binary_decoder.o pg_binary_encoder.o pg_coder.o pg_connection.o pg_copy_coder.o pg_errors.o pg_record_coder.o pg_result.o pg_text_decoder.o pg_text_encoder.o pg_tuple.o pg_type_map.o pg_type_map_all_strings.o pg_type_map_by_class.o pg_type_map_by_column.o pg_type_map_by_mri_type.o pg_type_map_by_oid.o pg_type_map_in_ruby.o pg_util.o -L. -L/usr/lib64 -L/usr/lib64 -Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -lruby -lpq -lm -lpthread -lc current directory: /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext ["make", "DESTDIR=", "sitearchdir=./.gem.20240924-1315373-pjlngl", "sitelibdir=./.gem.20240924-1315373-pjlngl", "install"] /usr/bin/mkdir -p . ./.gem.20240924-1315373-pjlngl exit > .sitearchdir.time /usr/bin/install -c -m 0755 pg_ext.so ./.gem.20240924-1315373-pjlngl /usr/bin/mkdir -p . ./.gem.20240924-1315373-pjlngl/pg/ exit > .sitelibdir.-.pg.time /usr/bin/install -c -m 644 postgresql_lib_path.rb .gem.20240924-1315373-pjlngl/pg/ current directory: /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext ["make", "DESTDIR=", "sitearchdir=./.gem.20240924-1315373-pjlngl", "sitelibdir=./.gem.20240924-1315373-pjlngl", "clean"] rm -f rm -fr pg_ext.so false gvl_wrappers.o pg.o pg_binary_decoder.o pg_binary_encoder.o pg_coder.o pg_connection.o pg_copy_coder.o pg_errors.o pg_record_coder.o pg_result.o pg_text_decoder.o pg_text_encoder.o pg_tuple.o pg_type_map.o pg_type_map_all_strings.o pg_type_map_by_class.o pg_type_map_by_column.o pg_type_map_by_mri_type.o pg_type_map_by_oid.o pg_type_map_in_ruby.o pg_util.o *.bak mkmf.log .*.time current directory: /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext /usr/bin/ruby -I/usr/share/rubygems extconf.rb current directory: /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext make DESTDIR\= sitearchdir\=./.gem.20240924-1315373-pjlngl sitelibdir\=./.gem.20240924-1315373-pjlngl clean current directory: /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext make DESTDIR\= sitearchdir\=./.gem.20240924-1315373-pjlngl sitelibdir\=./.gem.20240924-1315373-pjlngl current directory: /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext make DESTDIR\= sitearchdir\=./.gem.20240924-1315373-pjlngl sitelibdir\=./.gem.20240924-1315373-pjlngl install current directory: /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/ext make DESTDIR\= sitearchdir\=./.gem.20240924-1315373-pjlngl sitelibdir\=./.gem.20240924-1315373-pjlngl clean Successfully installed pg-1.5.4 Parsing documentation for pg-1.5.4 Parsing sources... 1% [ 1/65] Contributors.rdoc 3% [ 2/65] History.md 4% [ 3/65] README-OS_X.rdoc 6% [ 4/65] README-Windows.rdoc 7% [ 5/65] README.ja.md 9% [ 6/65] README.md 10% [ 7/65] ext/Makefile 12% [ 8/65] ext/errorcodes.def 13% [ 9/65] ext/errorcodes.rb 15% [10/65] ext/errorcodes.txt 16% [11/65] ext/extconf.h 18% [12/65] ext/extconf.rb 20% [13/65] ext/gvl_wrappers.c 21% [14/65] ext/gvl_wrappers.h 23% [15/65] ext/pg.c 24% [16/65] ext/pg.h 26% [17/65] ext/pg_binary_decoder.c 27% [18/65] ext/pg_binary_encoder.c 29% [19/65] ext/pg_coder.c 30% [20/65] ext/pg_connection.c 32% [21/65] ext/pg_copy_coder.c 33% [22/65] ext/pg_errors.c 35% [23/65] ext/pg_record_coder.c 36% [24/65] ext/pg_result.c 38% [25/65] ext/pg_text_decoder.c 40% [26/65] ext/pg_text_encoder.c 41% [27/65] ext/pg_tuple.c 43% [28/65] ext/pg_type_map.c 44% [29/65] ext/pg_type_map_all_strings.c 46% [30/65] ext/pg_type_map_by_class.c 47% [31/65] ext/pg_type_map_by_column.c 49% [32/65] ext/pg_type_map_by_mri_type.c 50% [33/65] ext/pg_type_map_by_oid.c 52% [34/65] ext/pg_type_map_in_ruby.c 53% [35/65] ext/pg_util.c 55% [36/65] ext/pg_util.h 56% [37/65] ext/postgresql_lib_path.rb 58% [38/65] ext/vc/pg.sln 60% [39/65] ext/vc/pg_18/pg.vcproj 61% [40/65] ext/vc/pg_19/pg_19.vcproj 63% [41/65] lib/pg.rb 64% [42/65] lib/pg/basic_type_map_based_on_result.rb 66% [43/65] lib/pg/basic_type_map_for_queries.rb 67% [44/65] lib/pg/basic_type_map_for_results.rb 69% [45/65] lib/pg/basic_type_registry.rb 70% [46/65] lib/pg/binary_decoder/date.rb 72% [47/65] lib/pg/binary_decoder/timestamp.rb 73% [48/65] lib/pg/binary_encoder/timestamp.rb 75% [49/65] lib/pg/coder.rb 76% [50/65] lib/pg/connection.rb 78% [51/65] lib/pg/exceptions.rb 80% [52/65] lib/pg/result.rb 81% [53/65] lib/pg/text_decoder/date.rb 83% [54/65] lib/pg/text_decoder/inet.rb 84% [55/65] lib/pg/text_decoder/json.rb 86% [56/65] lib/pg/text_decoder/numeric.rb 87% [57/65] lib/pg/text_decoder/timestamp.rb 89% [58/65] lib/pg/text_encoder/date.rb 90% [59/65] lib/pg/text_encoder/inet.rb 92% [60/65] lib/pg/text_encoder/json.rb 93% [61/65] lib/pg/text_encoder/numeric.rb 95% [62/65] lib/pg/text_encoder/timestamp.rb 96% [63/65] lib/pg/tuple.rb 98% [64/65] lib/pg/type_map_by_column.rb 100% [65/65] lib/pg/version.rb Installing ri documentation for pg-1.5.4 Installing darkfish documentation for pg-1.5.4 Done installing documentation for pg after 11 seconds 1 gem installed + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.OXRxpd + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/rubygem-pg-1.5.4-1.module+an8.9.0+11254+cacfb08a.loongarch64 '!=' / ']' + rm -rf /builddir/build/BUILDROOT/rubygem-pg-1.5.4-1.module+an8.9.0+11254+cacfb08a.loongarch64 ++ dirname /builddir/build/BUILDROOT/rubygem-pg-1.5.4-1.module+an8.9.0+11254+cacfb08a.loongarch64 + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/rubygem-pg-1.5.4-1.module+an8.9.0+11254+cacfb08a.loongarch64 + cd pg-1.5.4 + mkdir -p /builddir/build/BUILDROOT/rubygem-pg-1.5.4-1.module+an8.9.0+11254+cacfb08a.loongarch64/usr/share/gems + cp -a ./usr/share/gems/build_info ./usr/share/gems/cache ./usr/share/gems/doc ./usr/share/gems/extensions ./usr/share/gems/gems ./usr/share/gems/plugins ./usr/share/gems/specifications /builddir/build/BUILDROOT/rubygem-pg-1.5.4-1.module+an8.9.0+11254+cacfb08a.loongarch64/usr/share/gems/ + mkdir -p /builddir/build/BUILDROOT/rubygem-pg-1.5.4-1.module+an8.9.0+11254+cacfb08a.loongarch64/usr/lib64/gems/ruby/pg-1.5.4 + cp -a ./usr/lib64/gems/ruby/pg-1.5.4/gem.build_complete ./usr/lib64/gems/ruby/pg-1.5.4/pg_ext.so /builddir/build/BUILDROOT/rubygem-pg-1.5.4-1.module+an8.9.0+11254+cacfb08a.loongarch64/usr/lib64/gems/ruby/pg-1.5.4/ + rm -rf /builddir/build/BUILDROOT/rubygem-pg-1.5.4-1.module+an8.9.0+11254+cacfb08a.loongarch64/usr/share/gems/gems/pg-1.5.4/ext/ + /usr/lib/rpm/find-debuginfo.sh -j16 --strict-build-id -m -i --build-id-seed 1.5.4-1.module+an8.9.0+11254+cacfb08a --unique-debug-suffix -1.5.4-1.module+an8.9.0+11254+cacfb08a.loongarch64 --unique-debug-src-base rubygem-pg-1.5.4-1.module+an8.9.0+11254+cacfb08a.loongarch64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /builddir/build/BUILD/pg-1.5.4 extracting debug info from /builddir/build/BUILDROOT/rubygem-pg-1.5.4-1.module+an8.9.0+11254+cacfb08a.loongarch64/usr/lib64/gems/ruby/pg-1.5.4/pg_ext.so /usr/lib/rpm/sepdebugcrcfix: Updated 1 CRC32s, 0 CRC32s did match. 953 blocks + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig /sbin/ldconfig: Warning: ignoring configuration file that cannot be opened: /etc/ld.so.conf: No such file or directory + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/brp-python-bytecompile '' 1 + /usr/lib/rpm/brp-python-hardlink + PYTHON3=/usr/libexec/platform-python + /usr/lib/rpm/redhat/brp-mangle-shebangs Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.UkXY6V + umask 022 ~/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4 ~/build/BUILD/pg-1.5.4 + cd /builddir/build/BUILD + cd pg-1.5.4 + pushd ./usr/share/gems/gems/pg-1.5.4 + ln -s /builddir/build/BUILD/spec . + sed -i -r 's/describe ([A-Za-z:]+) do/describe "\1" do/g' spec/pg/type_spec.rb ++ dirs +1 + PGPORT=54550 + ruby -S --verbose rspec -I~/build/BUILD/pg-1.5.4/usr/lib64/gems/ruby/pg-1.5.4 -f d spec /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/basic_type_map_for_queries_spec.rb:96: warning: Float 9876543210987654321e-400 out of range /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/basic_type_map_for_queries_spec.rb:97: warning: Float 9876543210987654321e400 out of range /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/type_spec.rb:359: warning: Float 9876543210987654321E-400 out of range /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/type_spec.rb:360: warning: Float 9876543210987654321E400 out of range Setting up test database for specs Command output logged to /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/tmp_test_specs/setup.log Running initdb Run options: include {:focus=>true} exclude {:postgresql_14=>true, :windows=>true} All examples were filtered out; ignoring {:focus=>true} Randomized with seed 58101 /usr/bin/initdb -E UTF8 --no-locale -D /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/tmp_test_specs/data Enable SSL Generate certificates create ca-key create server cert create client cert Starting postgres /usr/bin/pg_ctl -w -o "-p 54550 -k \"/builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/tmp_test_specs\"" -D /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/tmp_test_specs/data start Creating the test DB /usr/bin/psql -p 54550 -e -c "DROP DATABASE IF EXISTS test" postgres /usr/bin/createdb -p 54550 -e test PG can format the pg version can #connect tells about the libpq library path can select whether security libraries to initialize knows whether or not the library is threadsafe can select which of both security libraries to initialize knows what version of the libpq library is loaded can #connect with block PG::Error /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/exceptions_spec.rb:30: warning: Ractor is experimental, and the behavior may change in future versions of Ruby! Also there are many implementation issues. # terminated with exception (report_on_exception is true): /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/exceptions_spec.rb:32:in `exec': ERROR: division by zero (PG::DivisionByZero) from /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/exceptions_spec.rb:32:in `block (3 levels) in ' should be delivered by Ractor does have hierarchical error classes can be used to raise errors without text PG::Type derivations shouldn't be possible to build a PG::Type directly PG::CompositeCoder should encode Integers as base64 should decode base64 to Integers should encode Strings as base64 with correct character encoding should decode base64 with garbage should encode Strings as base64 in BinaryDecoder should decode base64 in BinaryEncoder should decode base64 to Strings in TextDecoder should encode Strings as base64 in TextEncoder Array types should give account about memory usage should be possible to marshal decoders should be possible to marshal encoders should deny changes when frozen should have reasonable default values shouldn't accept invalid elements_types should be shareable for Ractor should respond to to_h #encode should pass through non Array inputs literal quotation should quote literals with correct character encoding should quote and escape literals array of types with encoder in ruby space encodes with quotation and given character encoding encodes without quotation encodes with given character encoding encodes with default character encoding encodes with quotation and default character encoding should raise when ruby encoder returns non string values two dimensional arrays encodes an array of timestamps with sub arrays one dimensional array respects a different delimiter can encode empty arrays encodes an array of NULL strings w/wo quotes three dimensional arrays encodes an array of int8 with strings encodes an array of int8 with sub arrays encodes an array of strings with quotes encodes an array of strings and numbers with sub arrays encodes an array of float8 with sub arrays #decode should decode array of types with decoder in ruby space should decode array of nil types three dimensional arrays returns an array of strings with sub arrays empty returns an empty array two dimensional arrays no strings returns an array of strings with a sub array strings returns an array of strings with a sub array returns an array of strings with a sub array and a quoted } returns an array of strings with a sub array and a quoted { returns an array of strings with a sub array and a quoted { and escaped quote returns an array of strings with a sub array with empty strings timestamps decodes an array of timestamps with sub arrays empty returns an empty array one dimensional arrays no strings returns an array of strings empty returns an empty array bytea returns an array of binary strings NULL values returns an array of strings, with nils replacing NULL characters quoted NULL returns an array with the word NULL strings returns an array containing unicode strings returns an array of strings when containing commas in a quoted string returns an array of strings when containing an escaped quote returns an array containing empty strings ignores spaces after array returns an array of strings when containing an escaped backslash ignores array dimensions respects a different delimiter with malformed syntax are raised with pg-2.0+ complains about malformed array complains about broken array dimensions with malformed syntax are deprecated accepts malformed arrays accepts broken array dimensions PG::SimpleCoder should give account about memory usage should take hash argument should have reasonable default values should be possible to marshal decoders should deny changes when frozen should respond to to_h should overwrite default values as kwargs shouldn't overwrite timestamp flags should be possible to marshal encoders should be shareable for Ractor should overwrite default format #encode should encode boolean values should offer encode method for text type should pass through nil values should return when ruby encoder returns non string values encodes binary string to bytea should encode various inputs to numeric format should encode floats should be defined on a decoder but not on an encoder instance should encode integers from string to text format should encode special floats equally to Float#to_s should encode with ruby encoder should encode integers from string to binary format should encode with ruby encoder and given character encoding should encode integers of different lengths to text format should offer encode method for binary type binary timestamps encodes timestamps as local time encodes timestamps as UTC text timestamps encodes timestamps with UTC timezone encodes timestamps with hour timezone encodes timestamps without timezone identifier quotation should quote identifiers with correct character encoding should quote and escape identifier will raise a TypeError for invalid arguments to quote_ident #decode should be defined on an encoder but not on a decoder instance should decode integers of different lengths from text format should offer decode method with tuple/field decodes bytea to a binary string should offer decode method without tuple/field should decode with ruby decoder should raise when decode method is called with wrong args should pass through nil values identifier quotation should split unquoted identifier string should build an array out of an quoted identifier string should split identifier string with correct character encoding timestamps fails when the timestamp contains values with invalid characters fails when the timestamp contains leading characters decodes timestamps with UTC time and returns UTC timezone decodes timestamps with date after 2116 decodes timestamps with leap-second fails when the timestamp contains trailing characters decodes timestamps with hour:minute:sec timezone fails when the timestamp is an empty string fails when the timestamp contains non ASCII character decodes timestamps with hour timezone fails when the timestamp contains values with more digits than expected decodes timestamps with UTC time and returns local timezone decodes timestamps with variable number of digits for the useconds part decodes timestamps with date before 1823 fails when the timestamp contains values with less digits than expected decodes timestamps with hour:minute timezone decodes timestamps without timezone as local time PG::CopyCoder PG::TextDecoder::CopyRow with default typemap #decode should decode COPY text format to array of strings should respect input character encoding with TypeMapByColumn should give account about memory usage #decode should decode different types of Ruby objects PG::BinaryDecoder::CopyRow with default typemap #decode should raise an error at shortened COPY data should ignore COPY binary header before data should raise an error at extra data after one row should decode COPY binary format to array of strings should raise an error at grabage COPY format should decode COPY data trailer to nil with TypeMapByColumn #decode should decode different types of Ruby objects PG::TextEncoder::CopyRow with default typemap should output a string with correct character encoding should give account about memory usage should encode different types of Ruby objects should be shareable for Ractor should deny changes when frozen with TypeMapByClass should have reasonable default values copies all attributes with #dup #encode should escape special characters should encode different types of Ruby objects should escape with different delimiter PG::BinaryEncoder::CopyRow with TypeMapByClass should encode different types of Ruby objects should have reasonable default values copies all attributes with #dup with default typemap should encode different types of Ruby objects should output a string with correct character encoding PG::RecordCoder PG::TextEncoder::Record with default typemap should encode different types of Ruby objects should deny changes when frozen should be shareable for Ractor should give account about memory usage should output a string with correct character encoding with TypeMapByClass copies all attributes with #dup should have reasonable default values #encode should escape special characters should encode different types of Ruby objects PG::TextDecoder::Record with TypeMapByColumn #decode should decode different types of Ruby objects with default typemap should give account about memory usage #decode should respect input character encoding should decode composite text format to array of strings should raise an error on malformed input Basic type mapping PG::BasicTypeMapForResults can be initialized with a CoderMapsBundle instead of a connection should do OID based type conversions should be usable with Ractor and shared type map should be shareable for Ractor should warn about undefined types in format 0 should warn about undefined types in format 1 can be initialized with a custom type registry should be usable with Ractor connection wide type mapping should do text datetime without time zone type conversions should do array type conversions should convert format 1 timestamps per TimestampUtcToLocal should do format 0 date type conversions should do float type conversions should convert format 0 timestamps with time zone should do cidr type conversions should do binary type conversions should do numeric type conversions should do integer type conversions should do string type conversions should do boolean type conversions should convert format 0 timestamps per TimestampUtc should convert format 1 timestamps per TimestampUtc should do JSON conversions should convert format 0 timestamps per TimestampLocal should do inet type conversions should do format 1 date type conversions should convert format 1 timestamps with time zone should convert format 0 timestamps per TimestampUtcToLocal should convert format 1 timestamps per TimestampLocal with usage of result oids for copy decoder selection can type cast #copy_data text output with decoder can type cast #copy_data binary output with decoder PG::Connection connects using Hash with multiple hosts can return the connection's connection options as a Hash can use conn.reset to restart the connection described_class#block shouldn't block a second thread discards previous errors before waiting on #exec can set error verbosity connects using URI with UnixSocket host calls the block supplied to wait_for_notify with the notify payload if it accepts two arguments trace and untrace client-server communication handles server close while asynchronous connect can retrieve hostaddr for the established connection accepts nil as the timeout in #wait_for_notify returns notifications which are already in the queue before wait_for_notify is called without waiting for the socket to become readable connects using a hash of connection parameters consume_input should raise ConnectionBad for a closed connection times out after connect_timeout seconds can retrieve it's connection parameters for the established connection closes the IO fetched from #socket_io when the connection is reset can connect asynchronously for the duration of a block connects using a hash of optional connection parameters stops hosts iteration on authentication errors can call #sync_connect of a derived class correctly finishes COPY queries passed to #exec can call #setdblogin of a derived class calls the block supplied to wait_for_notify with the notify payload if it doesn't accept arguments connects using URI with multiple hosts should be usable with Ractor can return the default connection options as a Hash yields the result if block is given to exec shouldn't be shareable for Ractor described_class#block should allow a timeout allows fetching a column of values from a result by field name #get_result should send remaining data before waiting TcpGate server listening: # accept new int:# from # server fd:6 accept new int:# from # server fd:6 connects without port and then retrieves the default port can connect asynchronously should deny changes when frozen raises an error if selecting an invalid column index can call #connect of a derived class can call #async_connect of a derived class calls the block if one is provided to #exec closes the IO fetched from #socket_io when the connection is closed raises an exception when connecting with an invalid number of arguments allows a query to be cancelled can return the connection's connection options doesn't leave stale server connections after finish raises an error if column index is not a number allows fetching a column of values from a result by column number honors the connect_timeout connection parameter discards previous results (if any) before waiting on #exec doesn't collapse sequential notifications raises an error if selecting an invalid field name connects using 7 arguments converted to strings raises proper error when sending fails calls the block supplied to wait_for_notify with the notify payload if it accepts any number of arguments calls the block supplied to wait_for_notify with the notify payload if it accepts three arguments can return the default connection options can call #new of a derived class can call #open of a derived class connects successfully with connection string can call #setdb of a derived class should give account about memory usage supports hash form parameters for #exec_params can wait for NOTIFY events raises a rescue-able error if #finish is called twice carries the connection in case of connection errors calls a block for NOTIFY events if one is given can set error context visibility connects using URI with IPv6 hosts supports explicitly calling #exec_params emits a suitable error_message at connection errors sends nil as the payload if the notification wasn't given one connects with environment variables should work with arbitrary number of params can receive notices while waiting for NOTIFY without exceeding the timeout server ping returns correct response when ping connection cannot be established returns error when ping connection arguments are wrong pings successfully with connection string pings using 7 arguments converted to strings returns correct response when ping connection arguments are wrong pings using a hash of connection parameters deprecated password encryption method raises an appropriate error if either of the required arguments is not valid can encrypt password for a given user connection information related to SSL can retrieve all connection's ssl attributes can retrieve a single ssl connection attribute can retrieve connection's ssl attribute_names can retrieve connection's ssl state check_socket processes messages before connection error does nothing if connection is OK raises error on broken connection field_name_type uses string field names per default can't set invalid values can set symbol field names can set string field names multinationalization support rejects string with zero bytes in quote_ident can quote bigger strings with quote_ident can quote Arrays with quote_ident rejects query params with zero bytes receives properly encoded messages in the notice callbacks rejects command strings with zero bytes rejects string with zero bytes in escape_literal encodes exception messages with the connection's encoding (#96) rejects Array with string with zero bytes handles clearing result in or after set_notice_receiver receives properly encoded text from wait_for_notify returns properly encoded text from notifies will raise a TypeError for invalid arguments to quote_ident rejects string with zero bytes in escape_identifier rejects string with zero bytes in escape Ruby 1.9.x default_internal encoding /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:2358: warning: setting Encoding.default_internal /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:2367: warning: setting Encoding.default_internal honors the Encoding.default_internal if it's set and the synchronous interface is used /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:2390: warning: setting Encoding.default_internal /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:2396: warning: setting Encoding.default_internal allows users of the async interface to set the client_encoding to the default_internal /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:2374: warning: setting Encoding.default_internal /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:2383: warning: setting Encoding.default_internal doesn't change anything if Encoding.default_internal it set to DB default encoding rubyforge #22925: m17n support the connection should return ASCII-8BIT when it's set to SQL_ASCII the connection should use the BINARY encoding when it's set to JOHAB should return results in the same encoding as the client (EUC-JP) uses the client encoding for escaped string should return results in the same encoding as the client (iso-8859-1) uses the client encoding for quote_ident returns the results in the correct encoding even if the client_encoding has changed since the results were fetched can retrieve server encoding as ruby encoding should return results in the same encoding as the client (utf-8) raises appropriate error if set_client_encoding is called with invalid arguments can retrieve server encoding as text uses the client encoding for escaped literal uses the previous string encoding for escaped string uses the client encoding for escaped identifier uses the previous string encoding for quote_ident respect and convert character encoding of input strings should convert query string to #exec should convert strings and parameters to #prepare and #exec_prepared should convert query string and parameters to #send_query_params should convert query string and parameters to #exec_params should convert strings and parameters to #send_prepare and #send_query_prepared should convert strings to #describe_prepared should convert error string to #put_copy_end should convert query string to #send_query should convert strings to #describe_portal should convert strings to #send_describe_prepared should convert strings to #send_describe_portal set_single_row_mode should receive rows before entire query is finished raises an error when called at the wrong time should receive rows before entire query fails should work in single row mode deprecated forms of methods /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:2704: warning: forwarding async_exec to async_exec_params and send_query to send_query_params is deprecated should forward exec to exec_params /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:2734: warning: conn.socket is deprecated and should be replaced by conn.socket_io should respond_to socket shouldn't forward send_query_params to send_query /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:2713: warning: forwarding async_exec_params to async_exec is deprecated should forward exec_params to exec should forward send_query to send_query_params type casting can type cast parameters to put_copy_data with explicit encoder should return nil if no type mapping is set should raise an error on invalid encoder to put_copy_data shouldn't type map params unless requested should raise an error on invalid param mapping with default query type map should return the current type mapping should respect a type mapping for params and it's OID and format code should work with arbitrary number of params in conjunction with type casting can process #copy_data input queries with row encoder and respects character encoding with default result type map can process #copy_data output with row decoder and respects character encoding should respect a type mapping for result should return the current type mapping can type cast #copy_data output with explicit decoder should work with arbitrary number of params in conjunction with type casting in nonblocking mode can set nonblocking can send query TcpGate server listening: # accept new int:# from # server fd:6 needs to flush data after send_query can send query with params sets nonblocking for the connection only defaults to blocking returns immediately from get_copy_data(nonblock=true) rejects to send lots of COPY data (PENDING: this spec depends on out-of-memory condition in put_copy_data, which is not reliable on all platforms) #discard_results returns nil when in idle state discards previous results returns false on connection failures password encryption method can encrypt with algorithm can encrypt without algorithm raises an appropriate error if either of the required arguments is not valid with multiple PostgreSQL servers Setting up test database for read-only Command output logged to /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/tmp_test_read-only/setup.log Running initdb /usr/bin/initdb -E UTF8 --no-locale -D /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/tmp_test_read-only/data Enable SSL Generate certificates create ca-key create server cert create client cert Starting postgres /usr/bin/pg_ctl -w -o "-p 54551 -k \"/builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/tmp_test_read-only\"" -D /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/tmp_test_read-only/data start honors target_session_attrs requirements Tearing down test database for read-only /usr/bin/pg_ctl -D /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/tmp_test_read-only/data -m fast stop PG::Connection#parse_connect_args shouldn't resolve absolute path in connection option string connects with defaults if no connection parameters are given can create a connection option string from a Hash parameter accepts an URI and adds parameters from hash connects successfully with connection string accepts an URI string can create a connection option string from an option string and a hash escapes single quotes and backslashes in connection parameters sets the fallback_application_name on new connections accepts an URI with a non-standard domain socket directory can create a connection option string from a mix of positional and hash parameters (eval at /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:293):1: warning: already initialized constant PG::Connection::PROGRAM_NAME /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/lib/pg/connection.rb:49: warning: previous definition of PROGRAM_NAME was here (eval at /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:300):1: warning: already initialized constant PG::Connection::PROGRAM_NAME (eval at /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:293):1: warning: previous definition of PROGRAM_NAME was here sets a shortened fallback_application_name on new connections accepts an URI object can create a connection option string from positional parameters large objects large object can handle big data WARNING: there is already a transaction in progress WARNING: there is no transaction in progress not read past the end of a large object #transaction WARNING: there is no transaction in progress automatically rolls back a transaction if an exception is raised WARNING: there is no transaction in progress passes the connection to the block and returns the block result WARNING: there is no transaction in progress commits even if the block includes an early break/return with async established connection conn.send_query and IO.select work can work with changing IO while connection setup can use conn.reset_start to restart the connection conn.async_query works should properly close a socket IO when GC'ed conn.send_query and conn.block work provides the server generated error message #copy_data can process #copy_data output queries in text format can handle client errors after all data is consumed in #copy_data for output can process #copy_data output queries in binary format #copy_data raises error in nonblocking mode can process #copy_data input queries in text format NOTICE: table "copytable" does not exist, skipping WARNING: there is no transaction in progress can handle client errors in #copy_data for input can process #copy_data input queries in binary format WARNING: there is no transaction in progress gracefully handle SQL statements while in #copy_data for output can handle incomplete #copy_data output queries can process #copy_data input queries with lots of data NOTICE: table "copytable" does not exist, skipping WARNING: there is no transaction in progress doesn't lose client error when #copy_data can not be finished WARNING: there is no transaction in progress can handle server errors in #copy_data for output can handle client errors in #copy_data for output WARNING: there is no transaction in progress gracefully handle SQL statements while in #copy_data for input should raise an error for non copy statements in #copy_data NOTICE: table "copytable" does not exist, skipping WARNING: there is no transaction in progress can handle server errors in #copy_data for input PG::Connection#conninfo_parse can parse connection info strings kind of key=value decode option string to Hash can parse connection info strings kind of URI encode and decode Hash to connection string to Hash can parse connection info strings with error #inspect should tell about non default type_map_for_queries should tell about decoder_for_get_copy_data should tell about transaction_status should tell about encoder_for_put_copy_data should print host, port and user of a fresh connection, but not more should tell about non default type_map_for_results should tell about finished connection should tell about connection status should tell about non UTF8 client encoding should tell about nonblocking mode PG::TypeMapByClass should expire the cache after changes to the coders should raise an error when used for results should retrieve all conversions should deny changes when frozen forwards query param conversions to the #default_type_map should retrieve particular conversions should allow deletion of coders should raise TypeError with derived type map should be shareable for Ractor should allow mixed type conversions with derived type map should give account about memory usage should raise error on invalid coder object should allow mixed type conversions PG::Result can retrieve fields format (text/binary) raises an exception when an invalid (negative) index is passed to PG::Result#ftable doesn't raise an exception when a valid index is passed to PG::Result#ftable for a column with no corresponding table can retrieve number of fields returns the same bytes in text format that are sent in binary format provides the error message acts as an array of hashes with symbols provides res_status raises a more generic exception for an unknown SQLSTATE returns the parameter type of the specified prepared statement parameter can retrieve single field names as symbol detects division by zero as SQLSTATE 22012 yields a row as an Enumerator of hashes with symbols the raised result is nil in case of a connection error acts as an array of hashes should be usable with Ractor returns the same bytes in text format that are sent as inline text can retrieve field names as symbols can return the values of a single vary lazy tuple encapsulates database object names for integrity constraint violations provides a verbose error message raises allow for conversion to an array of arrays provides the result status raises an exception when an invalid index is passed to PG::Result#ftable returns the same bytes in binary format that are sent in binary format should be shareable for Ractor acts as an array of hashes with static_symbols yields a row as an array raises an exception when a negative index is given to #fformat doesn't define #new raises an exception when a negative index is given to #fmod doesn't raise an exception when a valid index is passed to PG::Result#fmod for a column with no typemod should deny changes when frozen doesnn't raise an exception when a valid index is passed to PG::Result#ftablecol for a column with no corresponding table raises an exception when an invalid index is passed to PG::Result#ftablecol inserts nil AS NULL and return NULL as nil yields a row as an Enumerator of hashes raises an exception when an invalid (negative) index is passed to PG::Result#fmod can retrieve field names raises an exception when an invalid (negative) index is passed to PG::Result#ftablecol returns the same bytes in binary format that are sent as inline text can return the type modifier for a result column provides a verbose error message with SQLSTATE yields a row as an Enumerator can retrieve single field names can return the values of a single tuple raises an exception when an invalid index is passed to PG::Result#fmod doesn't define #allocate does not clear the result itself can be manually checked for failed result status (async API) can return the column number (within its table) of a column in a result encapsulates errors in a PG::Error object can return the oid of the table from which a result column was fetched raises a proper exception for a nonexistant table can return the values of a single field raises an exception when a negative index is given to #[] can be inspected before and after clear encapsulates PG_DIAG_SEVERITY_NONLOCALIZED error in a PG::Error object raises a proper exception for a nonexistant schema raises a ServerError for an unknown SQLSTATE class should give account about memory usage field_name_type uses string field names per default can set symbol field names can set string field names can set static_symbol field names can't set invalid values can't set symbol field names after #fields result streaming in single row mode should deny streaming when frozen can iterate over all rows as Hash raises an error if there is a timeout during streaming raises server errors complains when not in single row mode should reuse field names in stream_each_tuple keeps last result on error while iterating stream_each can iterate over all rows as PG::Tuple with symbols and typemap complains when intersected with get_result keeps last result on error while iterating stream_each_row can iterate over all rows as PG::Tuple clears result on error while iterating stream_each_tuple can handle commands not returning tuples can iterate over all rows as Array raises an error if result number of fields change can iterate over all rows as Hash with symbols and typemap result value conversions with TypeMapByColumn shouldn't allow invalid type maps should be applied to all value retrieving methods should allow reading, assigning and disabling type conversions should be usable for several queries PG::TypeMapByOid should allow deletion of coders should build a TypeMapByColumn when assigned and the number of rows is high enough should allow reading and writing max_rows_for_online_lookup should be shareable for Ractor should deny changes when frozen forwards result value conversions to another TypeMapByOid as #default_type_map should allow mixed type conversions in text format should check format when adding coders should use TypeMapByOid for online lookup and the number of rows is low enough should check coder type when adding coders should give account about memory usage should raise an error used for query params should allow mixed type conversions in binary format should check format when deleting coders should retrieve it's conversions should allow building new TypeMapByColumn for a given result running with sync_* methods disables async methods by #async_api enables async methods by #async_api PG::Connection can call #connect of a derived class allows fetching a column of values from a result by column number should work with arbitrary number of params can call #new of a derived class TcpGate server listening: # accept new int:# from # server fd:6 accept new int:# from # server fd:6 connects without port and then retrieves the default port can return the connection's connection options connects using URI with UnixSocket host discards previous results (if any) before waiting on #exec closes the IO fetched from #socket_io when the connection is closed honors the connect_timeout connection parameter raises proper error when sending fails can retrieve it's connection parameters for the established connection described_class#block should allow a timeout can set error verbosity closes the IO fetched from #socket_io when the connection is reset connects using URI with multiple hosts raises an error if selecting an invalid column index described_class#block shouldn't block a second thread connects using URI with IPv6 hosts can use conn.reset to restart the connection can wait for NOTIFY events shouldn't be shareable for Ractor should be usable with Ractor can return the default connection options can call #sync_connect of a derived class can return the connection's connection options as a Hash stops hosts iteration on authentication errors can set error context visibility connects with environment variables yields the result if block is given to exec can call #open of a derived class raises a rescue-able error if #finish is called twice can call #setdb of a derived class raises an error if selecting an invalid field name can connect asynchronously calls the block supplied to wait_for_notify with the notify payload if it accepts any number of arguments supports explicitly calling #exec_params allows a query to be cancelled calls the block supplied to wait_for_notify with the notify payload if it accepts two arguments can connect asynchronously for the duration of a block doesn't leave stale server connections after finish connects using 7 arguments converted to strings connects using a hash of optional connection parameters sends nil as the payload if the notification wasn't given one should give account about memory usage should deny changes when frozen doesn't collapse sequential notifications times out after connect_timeout seconds calls the block if one is provided to #exec can receive notices while waiting for NOTIFY without exceeding the timeout can return the default connection options as a Hash connects using a hash of connection parameters consume_input should raise ConnectionBad for a closed connection discards previous errors before waiting on #exec can call #setdblogin of a derived class supports hash form parameters for #exec_params handles server close while asynchronous connect calls a block for NOTIFY events if one is given #get_result should send remaining data before waiting accepts nil as the timeout in #wait_for_notify raises an exception when connecting with an invalid number of arguments can retrieve hostaddr for the established connection calls the block supplied to wait_for_notify with the notify payload if it doesn't accept arguments carries the connection in case of connection errors trace and untrace client-server communication connects using Hash with multiple hosts emits a suitable error_message at connection errors allows fetching a column of values from a result by field name can call #async_connect of a derived class returns notifications which are already in the queue before wait_for_notify is called without waiting for the socket to become readable connects successfully with connection string calls the block supplied to wait_for_notify with the notify payload if it accepts three arguments correctly finishes COPY queries passed to #exec raises an error if column index is not a number #inspect should tell about non UTF8 client encoding should tell about decoder_for_get_copy_data should print host, port and user of a fresh connection, but not more should tell about finished connection should tell about transaction_status should tell about non default type_map_for_queries should tell about non default type_map_for_results should tell about connection status should tell about encoder_for_put_copy_data should tell about nonblocking mode deprecated password encryption method can encrypt password for a given user raises an appropriate error if either of the required arguments is not valid connection information related to SSL can retrieve a single ssl connection attribute can retrieve all connection's ssl attributes can retrieve connection's ssl attribute_names can retrieve connection's ssl state deprecated forms of methods /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:2704: warning: forwarding exec to exec_params is deprecated should forward exec to exec_params should forward send_query to send_query_params shouldn't forward send_query_params to send_query should respond_to socket /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:2713: warning: forwarding exec_params to exec is deprecated should forward exec_params to exec field_name_type can't set invalid values can set symbol field names uses string field names per default can set string field names with multiple PostgreSQL servers Setting up test database for read-only Command output logged to /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/tmp_test_read-only/setup.log Starting postgres /usr/bin/pg_ctl -w -o "-p 54551 -k \"/builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/tmp_test_read-only\"" -D /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/tmp_test_read-only/data start honors target_session_attrs requirements Tearing down test database for read-only /usr/bin/pg_ctl -D /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/tmp_test_read-only/data -m fast stop server ping pings using a hash of connection parameters pings using 7 arguments converted to strings returns correct response when ping connection cannot be established pings successfully with connection string returns correct response when ping connection arguments are wrong returns error when ping connection arguments are wrong PG::Connection#parse_connect_args can create a connection option string from a mix of positional and hash parameters (eval at /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:293):1: warning: already initialized constant PG::Connection::PROGRAM_NAME (eval at /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:300):1: warning: previous definition of PROGRAM_NAME was here (eval at /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:300):1: warning: already initialized constant PG::Connection::PROGRAM_NAME (eval at /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:293):1: warning: previous definition of PROGRAM_NAME was here sets a shortened fallback_application_name on new connections connects successfully with connection string accepts an URI and adds parameters from hash sets the fallback_application_name on new connections accepts an URI with a non-standard domain socket directory can create a connection option string from an option string and a hash escapes single quotes and backslashes in connection parameters connects with defaults if no connection parameters are given accepts an URI string accepts an URI object can create a connection option string from positional parameters shouldn't resolve absolute path in connection option string can create a connection option string from a Hash parameter password encryption method can encrypt with algorithm raises an appropriate error if either of the required arguments is not valid can encrypt without algorithm #transaction commits even if the block includes an early break/return automatically rolls back a transaction if an exception is raised passes the connection to the block and returns the block result in nonblocking mode sets nonblocking for the connection only defaults to blocking returns immediately from get_copy_data(nonblock=true) rejects to send lots of COPY data (PENDING: this spec depends on out-of-memory condition in put_copy_data, which is not reliable on all platforms) can send query TcpGate server listening: # accept new int:# from # server fd:9 needs to flush data after send_query can send query with params can set nonblocking set_single_row_mode should receive rows before entire query fails raises an error when called at the wrong time should receive rows before entire query is finished should work in single row mode PG::Connection#conninfo_parse can parse connection info strings with error decode option string to Hash can parse connection info strings kind of key=value encode and decode Hash to connection string to Hash can parse connection info strings kind of URI check_socket processes messages before connection error raises error on broken connection does nothing if connection is OK large objects large object can handle big data not read past the end of a large object multinationalization support receives properly encoded messages in the notice callbacks receives properly encoded text from wait_for_notify rejects string with zero bytes in escape_identifier returns properly encoded text from notifies rejects query params with zero bytes rejects string with zero bytes in escape rejects command strings with zero bytes can quote Arrays with quote_ident rejects string with zero bytes in escape_literal rejects string with zero bytes in quote_ident encodes exception messages with the connection's encoding (#96) will raise a TypeError for invalid arguments to quote_ident can quote bigger strings with quote_ident rejects Array with string with zero bytes handles clearing result in or after set_notice_receiver Ruby 1.9.x default_internal encoding /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:2374: warning: setting Encoding.default_internal /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:2383: warning: setting Encoding.default_internal doesn't change anything if Encoding.default_internal it set to DB default encoding /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:2358: warning: setting Encoding.default_internal /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:2367: warning: setting Encoding.default_internal honors the Encoding.default_internal if it's set and the synchronous interface is used /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:2390: warning: setting Encoding.default_internal /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/connection_spec.rb:2396: warning: setting Encoding.default_internal allows users of the async interface to set the client_encoding to the default_internal respect and convert character encoding of input strings should convert strings to #describe_prepared should convert query string and parameters to #exec_params should convert strings to #describe_portal should convert query string to #exec should convert strings and parameters to #prepare and #exec_prepared should convert strings to #send_describe_prepared should convert strings and parameters to #send_prepare and #send_query_prepared should convert strings to #send_describe_portal should convert query string and parameters to #send_query_params should convert error string to #put_copy_end should convert query string to #send_query rubyforge #22925: m17n support uses the client encoding for escaped literal uses the client encoding for escaped identifier should return results in the same encoding as the client (utf-8) should return results in the same encoding as the client (EUC-JP) uses the client encoding for quote_ident should return results in the same encoding as the client (iso-8859-1) uses the previous string encoding for quote_ident raises appropriate error if set_client_encoding is called with invalid arguments can retrieve server encoding as ruby encoding can retrieve server encoding as text uses the previous string encoding for escaped string the connection should return ASCII-8BIT when it's set to SQL_ASCII returns the results in the correct encoding even if the client_encoding has changed since the results were fetched uses the client encoding for escaped string the connection should use the BINARY encoding when it's set to JOHAB with async established connection conn.send_query and conn.block work conn.send_query and IO.select work can use conn.reset_start to restart the connection conn.async_query works provides the server generated error message can work with changing IO while connection setup should properly close a socket IO when GC'ed #copy_data WARNING: there is no transaction in progress can handle server errors in #copy_data for output should raise an error for non copy statements in #copy_data NOTICE: table "copytable" does not exist, skipping WARNING: there is no transaction in progress can handle client errors in #copy_data for input #copy_data raises error in nonblocking mode can process #copy_data input queries in binary format can handle client errors in #copy_data for output NOTICE: table "copytable" does not exist, skipping WARNING: there is no transaction in progress can handle server errors in #copy_data for input can process #copy_data input queries with lots of data WARNING: there is no transaction in progress gracefully handle SQL statements while in #copy_data for output WARNING: there is no transaction in progress gracefully handle SQL statements while in #copy_data for input can handle incomplete #copy_data output queries can process #copy_data output queries in text format NOTICE: table "copytable" does not exist, skipping WARNING: there is no transaction in progress doesn't lose client error when #copy_data can not be finished can process #copy_data input queries in text format can handle client errors after all data is consumed in #copy_data for output can process #copy_data output queries in binary format type casting shouldn't type map params unless requested should raise an error on invalid param mapping can type cast parameters to put_copy_data with explicit encoder should raise an error on invalid encoder to put_copy_data should return nil if no type mapping is set with default query type map should respect a type mapping for params and it's OID and format code should return the current type mapping should work with arbitrary number of params in conjunction with type casting can process #copy_data input queries with row encoder and respects character encoding with default result type map can type cast #copy_data output with explicit decoder should return the current type mapping should respect a type mapping for result can process #copy_data output with row decoder and respects character encoding should work with arbitrary number of params in conjunction with type casting #discard_results returns nil when in idle state discards previous results returns false on connection failures Basic type mapping PG::BasicTypeMapBasedOnResult should be usable with Ractor should be shareable for Ractor can be initialized with a CoderMapsBundle instead of a connection can be initialized with a custom type registry with usage of result oids for copy encoder selection can type cast #copy_data input with encoder to format 0 can type cast #copy_data text input with encoder can type cast #copy_data input with encoder to format 1 with usage of result oids for bind params encoder selection can type cast query params can do JSON conversions GC.compact :286: warning: double_heap is deprecated, please use expand_heap instead should compact PG::Tuple should compact PG::Connection should compact PG::TypeMap#default_type_map should compact PG::TypeMapByColumn should compact PG::RecordCoder should compact PG::Result should compact PG::CompositeCoder #327 should compact PG::CopyCoder should compact PG::TypeMapByClass #328 PG::Tuple can't be marshaled when empty responds to index with symbol should be shareable for Ractor can be used as Enumerable responds to key? as symbol responds to length can be marshaled responds to values responds to keys should override #inspect responds to key? responds to index responds to keys as symbol passes instance variables when marshaled should give account about memory usage each can be used with block can be used as an enumerator can be used as an enumerator with symbols with cleared result should raise an error when non-materialized fields are used [] supports hash like access with symbols returns nil for invalid keys supports negative indices supports hash like access casts lazy and caches result supports array like access fetch raises proper errors for invalid keys supports default value for name keys supports array like access supports negative indices supports default value for indices supports hash like access each_value can be used as an enumerator can be used with block each_key can be used with block can be used as an enumerator PG::TypeMapByColumn shouldn't allow result mappings with different number of fields should be shareable for Ractor should give account about memory usage should retrieve it's conversions should respond to inspect should allow hash form parameters for default encoder forwards query param conversions to the #default_type_map should deny changes when frozen get_copy_data returns string with encoding should raise an error for invalid params should encode integer params should raise an error from decode method of type converter should encode bytea params should verify the default type map for result values as well forwards result value conversions to a TypeMapByOid as #default_type_map forwards get_copy_data conversions to another TypeMapByColumn as #default_type_map should allow mixed type conversions will deny copy queries with different column count should convert hash form parameters to string when using string encoders should gracefully handle not initialized state should verify the default type map for query params as well should retrieve it's oids shouldn't allow param mappings with different number of fields PG::TypeMap should be shareable for Ractor should raise an error when used for result type casts should raise an error when used for param type casts should give account about memory usage with a Fiber scheduler can encrypt_password can cancel a query can retrieve several results connects using without host but envirinment variables can discard_results after COPY TO STDOUT can use stream_each_* methods should convert strings and parameters to #prepare and #exec_prepared can connect with DNS lookup /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/scheduler_spec.rb:21: warning: setting Encoding.default_internal /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/spec/pg/scheduler_spec.rb:29: warning: setting Encoding.default_internal connects to a server with setting default encoding waits when sending query data connects several times concurrently can ping server should convert strings to #describe_portal can retrieve the last one of several results can reset the connection can set_client_encoding connects to a server can send lots of data per put_copy_data can discard_results after COPY FROM STDIN can discard_results after query can receive COPY data discards any pending results should convert strings to #describe_prepared PG::TypeMapByMriType should allow mixed type conversions should give account about memory usage forwards query param conversions to the #default_type_map should raise an error when used for results should retrieve all conversions should allow deletion of coders should raise TypeError with derived type map should check MRI type key should retrieve particular conversions should allow mixed type conversions with derived type map PG::Connection tries to connect to localhost with IPv6 and IPv4 can stop a thread that runs a blocking query with exec should work together with signal handlers #transaction stops a thread that runs a no query but a transacted ruby sleep doesn't worry about an already finished connection stops a thread that runs a blocking transaction with exec stops a thread that runs a failing transaction with exec OS thread support Connection#exec shouldn't block a second thread Connection.new shouldn't block a second thread Basic type mapping PG::BasicTypeMapForQueries should do bigdecimal param encoding should be shareable for Ractor should do hash-as-json encoding raises UndefinedEncoder for undefined types should do basic Time encoding can be initialized with a CoderMapsBundle instead of a connection should do basic param encoding should do array-as-json encoding should be shareable for Ractor should take BinaryData for bytea columns should do default array-as-array param encoding with Time objects should do array of string encoding on unknown classes can take a Proc and nitify about undefined types should do IPAddr param encoding should do default array-as-array param encoding should be usable with Ractor can be initialized with a custom type registry should do basic param encoding of various float values Record encoding should do array-as-record encoding PG::TypeMapInRuby should deny changes when frozen should give account about memory usage should be shareable for Ractor query bind params should be usable non-derived should call derived param mapping methods get_copy_data should call derived data mapping methods should be usable non-derived shouldn't accept invalid return from fit_to_copy_get put_copy_data should be usable non-derived shouldn't accept invalid return from typecast_query_param should call derived data mapping methods result values should accept only a type map object from fit_to_result should be usable non-derived should call derived result mapping methods Basic type mapping PG::BasicTypeRegistry can register_type can register_coder can register_default_types can define_default_types (alias to register_default_types) checks format and direction in coders_for can alias_type should be shareable for Ractor Tearing down test database for specs /usr/bin/pg_ctl -D /builddir/build/BUILD/pg-1.5.4/usr/share/gems/gems/pg-1.5.4/tmp_test_specs/data -m fast stop Pending: (Failures listed here are expected and do not affect your suite's status) 1) PG::Connection in nonblocking mode rejects to send lots of COPY data # this spec depends on out-of-memory condition in put_copy_data, which is not reliable on all platforms # ./spec/pg/connection_spec.rb:675 2) running with sync_* methods PG::Connection in nonblocking mode rejects to send lots of COPY data # this spec depends on out-of-memory condition in put_copy_data, which is not reliable on all platforms # ./spec/pg/connection_spec.rb:675 Finished in 39.06 seconds (files took 0.45267 seconds to load) 952 examples, 0 failures, 2 pending Randomized with seed 58101 ~/build/BUILD/pg-1.5.4 + popd + exit 0 Processing files: rubygem-pg-1.5.4-1.module+an8.9.0+11254+cacfb08a.loongarch64 Provides: rubygem(pg) = 1.5.4 rubygem-pg = 1.5.4-1.module+an8.9.0+11254+cacfb08a rubygem-pg(loongarch-64) = 1.5.4-1.module+an8.9.0+11254+cacfb08a Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.27)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.27)(64bit) libpq.so.5()(64bit) libpq.so.5(RHPG_10)(64bit) libpq.so.5(RHPG_12)(64bit) libpq.so.5(RHPG_9.6)(64bit) libpthread.so.0()(64bit) libruby.so.3.3()(64bit) rtld(GNU_HASH) ruby(rubygems) Processing files: rubygem-pg-doc-1.5.4-1.module+an8.9.0+11254+cacfb08a.noarch Provides: rubygem-pg-doc = 1.5.4-1.module+an8.9.0+11254+cacfb08a Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Processing files: rubygem-pg-debugsource-1.5.4-1.module+an8.9.0+11254+cacfb08a.loongarch64 Provides: rubygem-pg-debugsource = 1.5.4-1.module+an8.9.0+11254+cacfb08a rubygem-pg-debugsource(loongarch-64) = 1.5.4-1.module+an8.9.0+11254+cacfb08a Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Processing files: rubygem-pg-debuginfo-1.5.4-1.module+an8.9.0+11254+cacfb08a.loongarch64 Provides: debuginfo(build-id) = 0fe7b707c9056d941adb93331c2491260777d774 rubygem-pg-debuginfo = 1.5.4-1.module+an8.9.0+11254+cacfb08a rubygem-pg-debuginfo(loongarch-64) = 1.5.4-1.module+an8.9.0+11254+cacfb08a Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Recommends: rubygem-pg-debugsource(loongarch-64) = 1.5.4-1.module+an8.9.0+11254+cacfb08a Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/rubygem-pg-1.5.4-1.module+an8.9.0+11254+cacfb08a.loongarch64 Wrote: /builddir/build/RPMS/rubygem-pg-1.5.4-1.module+an8.9.0+11254+cacfb08a.loongarch64.rpm Wrote: /builddir/build/RPMS/rubygem-pg-doc-1.5.4-1.module+an8.9.0+11254+cacfb08a.noarch.rpm Wrote: /builddir/build/RPMS/rubygem-pg-debugsource-1.5.4-1.module+an8.9.0+11254+cacfb08a.loongarch64.rpm Wrote: /builddir/build/RPMS/rubygem-pg-debuginfo-1.5.4-1.module+an8.9.0+11254+cacfb08a.loongarch64.rpm Child return code was: 0