package pgx
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
On This Page
  
  
  Pure-OCaml PostgreSQL client library
Install
    
    dune-project
 Dependency
    
    
    
    github.com
    
    
    
    
    Readme
    
    
    
    
    Changelog
    
    
    
    
    LGPL-2.1-only WITH OCaml-LGPL-linking-exception License
    
    
    
    Edit opam file
    
    
    Versions (5)
Authors
Maintainers
Sources
  
    
      pgx-1.0.tbz
    
    
        
    
  
  
  
    
  
  
    
  
        sha256=3672ca83fbf72e6480b74478e3b256bbab3bef81fad7be0da38bae60f0b8725a
    
    
  sha512=e35f881179371b55be22d40a3514d593003ccba11d5b02c265b8e38dd01dd472adb41d185b3838704685e4e82096fe449c9d709db451bad9b6bde251bdc97729
    
    
  doc/CHANGES.html
1.0 (2020-05-08)
Breaking changes
- Pgx_value.t is an opaque type now. Use Pgx_value.of/toconverters. Note that these converters are not equivalent to the OCaml functions likebool_of_stringorfloat_of_string, and that for bytea data, you need to usePgx_value.of/to_binary, notPgx_value.of/to_string.
- Pgx_lwt has been renamed Pgx_lwt_unix.
- Pgx.executenow uses the unnamed prepare statement. In most cases this should not affect anything, but if you were relying on Pgx not internally using the unnamed prepared statement, you will need to fix your code. If you run into this, the fix is to use- Pgx.with_preparedand name your prepared statement.
- Pgx_value.of_inet/- to_inetnow use- Ipaddr.tfrom the- ipaddrlibrary instead of- Unix.inet_addr.
Added
- Pgx_value.of_binaryand- Pgx_value.to_binaryadded for bytea data.
- Add execute_maphelper to Pgx
- Add execute_pipehelper to Pgx_async
- Add execute_unithelper to Pgx
- Break out Pgx_value_corelibrary, which will allow users of Pgx_unix and Pgx_lwt to use theCore_kernel.TimandDatetypes. This is still included by default in Pgx_async.
- Added Pgx_lwt_mirage
- Pgx_value types now all implement compareandsexp_of
Fixed
- Pgx no longer assumes all strings are binary data. Strings must be valid varchar data in the database's encoding. Use Pgx_value.of/to_binarywith bytea columns if you want binary.
- Use a tail-recursive List.mapimplementation
- Use Unix.getuid+Lwt_unix.getpwuidinstead ofLwt.getloginfor the default username, sincegetloginfails in some cases.
- Use int64 to keep track of prepared statements just in case someone prepares several million statements in one program
Changed
- Re-raise exceptions with backtraces if possible.
- Pgx_async uses Async.Log for logging instead of printing directly to stderr
- Use Sexplib0 instead of Sexplib
- Use the Query protocol for parameterless executeinstead of Prepare + Bind
- Use the unnamed prepared statement for execute
- Use ipaddrlibrary instead ofUnix.inet_addr
- Split Pgx_lwt into Pgx_lwt_unix and Pgx_lwt_mirage
0.1 (2018-05-31)
Initial release since fork from PG'OCaml.
- More tests
- More consistent use of async API's
- Addition of Pgx.Value for hopefully easier conversion to and from DB types
- Safe handling of concurrent queries (not any faster, but they won't crash)
- Improved interface for prepared statements to make it harder to execute non-existent ones
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
  On This Page