pg 1.2.3 → 1.3.3

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.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/.appveyor.yml +36 -0
  4. data/.gems +6 -0
  5. data/.github/workflows/binary-gems.yml +86 -0
  6. data/.github/workflows/source-gem.yml +129 -0
  7. data/.gitignore +13 -0
  8. data/.hgsigs +34 -0
  9. data/.hgtags +41 -0
  10. data/.irbrc +23 -0
  11. data/.pryrc +23 -0
  12. data/.tm_properties +21 -0
  13. data/.travis.yml +49 -0
  14. data/Gemfile +14 -0
  15. data/History.rdoc +118 -7
  16. data/Manifest.txt +0 -1
  17. data/README.rdoc +7 -6
  18. data/Rakefile +27 -138
  19. data/Rakefile.cross +8 -5
  20. data/certs/ged.pem +24 -0
  21. data/certs/larskanis-2022.pem +26 -0
  22. data/ext/errorcodes.def +8 -0
  23. data/ext/errorcodes.txt +3 -1
  24. data/ext/extconf.rb +100 -25
  25. data/ext/gvl_wrappers.c +4 -0
  26. data/ext/gvl_wrappers.h +23 -0
  27. data/ext/pg.c +59 -4
  28. data/ext/pg.h +18 -1
  29. data/ext/pg_coder.c +82 -28
  30. data/ext/pg_connection.c +673 -493
  31. data/ext/pg_copy_coder.c +45 -16
  32. data/ext/pg_record_coder.c +39 -11
  33. data/ext/pg_result.c +61 -31
  34. data/ext/pg_text_decoder.c +1 -1
  35. data/ext/pg_text_encoder.c +6 -6
  36. data/ext/pg_tuple.c +47 -21
  37. data/ext/pg_type_map.c +41 -8
  38. data/ext/pg_type_map_all_strings.c +15 -1
  39. data/ext/pg_type_map_by_class.c +49 -24
  40. data/ext/pg_type_map_by_column.c +66 -28
  41. data/ext/pg_type_map_by_mri_type.c +47 -18
  42. data/ext/pg_type_map_by_oid.c +52 -23
  43. data/ext/pg_type_map_in_ruby.c +50 -19
  44. data/ext/pg_util.c +2 -2
  45. data/lib/pg/basic_type_map_based_on_result.rb +47 -0
  46. data/lib/pg/basic_type_map_for_queries.rb +193 -0
  47. data/lib/pg/basic_type_map_for_results.rb +81 -0
  48. data/lib/pg/basic_type_registry.rb +296 -0
  49. data/lib/pg/coder.rb +1 -1
  50. data/lib/pg/connection.rb +588 -58
  51. data/lib/pg/version.rb +4 -0
  52. data/lib/pg.rb +47 -32
  53. data/misc/openssl-pg-segfault.rb +31 -0
  54. data/misc/postgres/History.txt +9 -0
  55. data/misc/postgres/Manifest.txt +5 -0
  56. data/misc/postgres/README.txt +21 -0
  57. data/misc/postgres/Rakefile +21 -0
  58. data/misc/postgres/lib/postgres.rb +16 -0
  59. data/misc/ruby-pg/History.txt +9 -0
  60. data/misc/ruby-pg/Manifest.txt +5 -0
  61. data/misc/ruby-pg/README.txt +21 -0
  62. data/misc/ruby-pg/Rakefile +21 -0
  63. data/misc/ruby-pg/lib/ruby/pg.rb +16 -0
  64. data/pg.gemspec +32 -0
  65. data/rakelib/task_extension.rb +46 -0
  66. data/sample/array_insert.rb +20 -0
  67. data/sample/async_api.rb +106 -0
  68. data/sample/async_copyto.rb +39 -0
  69. data/sample/async_mixed.rb +56 -0
  70. data/sample/check_conn.rb +21 -0
  71. data/sample/copydata.rb +71 -0
  72. data/sample/copyfrom.rb +81 -0
  73. data/sample/copyto.rb +19 -0
  74. data/sample/cursor.rb +21 -0
  75. data/sample/disk_usage_report.rb +177 -0
  76. data/sample/issue-119.rb +94 -0
  77. data/sample/losample.rb +69 -0
  78. data/sample/minimal-testcase.rb +17 -0
  79. data/sample/notify_wait.rb +72 -0
  80. data/sample/pg_statistics.rb +285 -0
  81. data/sample/replication_monitor.rb +222 -0
  82. data/sample/test_binary_values.rb +33 -0
  83. data/sample/wal_shipper.rb +434 -0
  84. data/sample/warehouse_partitions.rb +311 -0
  85. data.tar.gz.sig +0 -0
  86. metadata +87 -224
  87. metadata.gz.sig +0 -0
  88. data/ChangeLog +0 -0
  89. data/lib/pg/basic_type_mapping.rb +0 -522
  90. data/spec/data/expected_trace.out +0 -26
  91. data/spec/data/random_binary_data +0 -0
  92. data/spec/helpers.rb +0 -380
  93. data/spec/pg/basic_type_mapping_spec.rb +0 -630
  94. data/spec/pg/connection_spec.rb +0 -1949
  95. data/spec/pg/connection_sync_spec.rb +0 -41
  96. data/spec/pg/result_spec.rb +0 -681
  97. data/spec/pg/tuple_spec.rb +0 -333
  98. data/spec/pg/type_map_by_class_spec.rb +0 -138
  99. data/spec/pg/type_map_by_column_spec.rb +0 -226
  100. data/spec/pg/type_map_by_mri_type_spec.rb +0 -136
  101. data/spec/pg/type_map_by_oid_spec.rb +0 -149
  102. data/spec/pg/type_map_in_ruby_spec.rb +0 -164
  103. data/spec/pg/type_map_spec.rb +0 -22
  104. data/spec/pg/type_spec.rb +0 -1123
  105. data/spec/pg_spec.rb +0 -50
data/spec/pg_spec.rb DELETED
@@ -1,50 +0,0 @@
1
- # -*- rspec -*-
2
- # encoding: utf-8
3
-
4
- require_relative 'helpers'
5
-
6
- require 'pg'
7
-
8
- describe PG do
9
-
10
- it "knows what version of the libpq library is loaded" do
11
- expect( PG.library_version ).to be_an( Integer )
12
- expect( PG.library_version ).to be >= 90100
13
- end
14
-
15
- it "can select which of both security libraries to initialize" do
16
- # This setting does nothing here, because there is already a connection
17
- # to the server, at this point in time.
18
- PG.init_openssl(false, true)
19
- PG.init_openssl(1, 0)
20
- end
21
-
22
- it "can select whether security libraries to initialize" do
23
- # This setting does nothing here, because there is already a connection
24
- # to the server, at this point in time.
25
- PG.init_ssl(false)
26
- PG.init_ssl(1)
27
- end
28
-
29
-
30
- it "knows whether or not the library is threadsafe" do
31
- expect( PG ).to be_threadsafe()
32
- end
33
-
34
- it "does have hierarchical error classes" do
35
- expect( PG::UndefinedTable.ancestors[0,4] ).to eq([
36
- PG::UndefinedTable,
37
- PG::SyntaxErrorOrAccessRuleViolation,
38
- PG::ServerError,
39
- PG::Error
40
- ])
41
-
42
- expect( PG::InvalidSchemaName.ancestors[0,3] ).to eq([
43
- PG::InvalidSchemaName,
44
- PG::ServerError,
45
- PG::Error
46
- ])
47
- end
48
-
49
- end
50
-