Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: FeatureBaseDB/python-featurebase
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: exception_handling
Choose a base ref
...
head repository: FeatureBaseDB/python-featurebase
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 5 commits
  • 8 files changed
  • 4 contributors

Commits on Aug 2, 2023

  1. Error handling overhaul.

    Error handling is separated into SQL error vs everything else. SQL errors are gracefully trapped and reported in result object, all other exceptions are re-thrown for the application to handle.
    
    When there is a SQL error the result object is populated with error details as follows:
    result.ok will be false
    result.error will have the error message returned by the server
    
    With these changes there is no need for a separate error class and it is deprecated.
    
    A new attribute raw_response is added to result class to help with troubleshooting.
    pg-venkat authored Aug 2, 2023
    Configuration menu
    Copy the full SHA
    3f92772 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2023

  1. Bump package version (.whl file) from 0.0.1 to 0.0.2

    Vengata Krishnan committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    6fbb66e View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2024

  1. error handling cleanups and related work (#4)

    * use pip3 since that's what homebrew prefers
    
    * drop WHL file from distribution
    
    * autoformatting, version bump, etc
    
    Fix some typos and references and run a standard formatter
    on the code base to fix up indentation issues.
    
    * refactor error handling, handle some config errors better
    
    If you hit an error like a missing hostport, you end up getting
    two screenfulls or so of stack traces, which tells you almost
    nothing, on a "wrong SSL version" message, which tells you something
    incorrect.
    
    We handle some errors more directly. However, the deeper issue
    is that it's super annoying to both have to check for errors AND
    have to catch exceptions. We treat errors as exceptions now; if
    the server yields a non-200 status code, or we get an error message
    even on a 200, we raise the error as an exception.
    
    The "stoponerrors" feature is now the only real option, because
    it doesn't actually make *sense* to set it to "no" outside of
    test cases.
    
    This dramatically simplifies a lot of code.
    
    In the async case, we still raise a GroupException of any exceptions
    encountered, unless there's none in which case we yield results.
    
    Some tests are a bit stricter or more careful; for instance, if we
    do two queries, we can just assert that we get exactly two responses,
    not "two or more".
    
    * use SSLContext for SSL connections
    
    We started getting Ominous Warnings about directly specifying
    capath/cafile to connections, so we create an SSL Context now.
    
    As a result, we catch nonexistent cafile/capath during initial
    client config, because we create the context once at startup.
    Also, at the same time, move the URL computation to startup since
    it never changes.
    seebs authored Jan 9, 2024
    Configuration menu
    Copy the full SHA
    29ea9bf View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2024

  1. set hostport default inside constructor, not in signature

    We need to distinguish "hostport unspecified" from "hostport
    has default value", so the default value in the signature for
    __init__ should be None; the actual default is set down below
    inside the init function, after a check to make sure we are
    okay with using a default.
    seebs committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    acfcdb6 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #5 from FeatureBaseDB/fb-2439

    set hostport default inside constructor, not in signature
    seebs authored Jan 16, 2024
    Configuration menu
    Copy the full SHA
    53f0907 View commit details
    Browse the repository at this point in the history
Loading