prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  🧹 resync SQLoxide
  AST to SQL and AST visitor appear to have been added 
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `opteryx/third_party/sqloxide/__init__.py`
  Content:
  ```
  1 try:
  2     from .sqloxide import parse_sql
  3 except ImportError as e:  # pragma: no cover
  4     print(e)
  5     if str(e) != "PyO3 modules may only be initialized once per interpreter process":
  6         raise e
  7 
  8 __all__ = ["parse_sql"]
  9
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/opteryx/third_party/sqloxide/__init__.py b/opteryx/third_party/sqloxide/__init__.py
  --- a/opteryx/third_party/sqloxide/__init__.py
  +++ b/opteryx/third_party/sqloxide/__init__.py
  @@ -1,8 +1,16 @@
  -try:
  -    from .sqloxide import parse_sql
  -except ImportError as e:  # pragma: no cover
  -    print(e)
  -    if str(e) != "PyO3 modules may only be initialized once per interpreter process":
  -        raise e
  -
  -__all__ = ["parse_sql"]
  +"""
  +This module provides an interface to the sqloxide library, which is responsible for parsing SQL,
  +restoring the Abstract Syntax Tree (AST), and performing various mutations on expressions and relations.
  +
  +For more information about sqloxide: https://github.com/wseaton/sqloxide
  +
  +This module is not from sqloxide, it is written for Opteryx.
  +"""
  +
  +from .sqloxide import mutate_expressions
  +from .sqloxide import mutate_relations
  +from .sqloxide import parse_sql
  +from .sqloxide import restore_ast
  +
  +# Explicitly define the API of this module for external consumers
  +__all__ = ["parse_sql", "restore_ast", "mutate_expressions", "mutate_relations"]
  
verification_info: {"golden_diff": "diff --git a/opteryx/third_party/sqloxide/__init__.py b/opteryx/third_party/sqloxide/__init__.py\n--- a/opteryx/third_party/sqloxide/__init__.py\n+++ b/opteryx/third_party/sqloxide/__init__.py\n@@ -1,8 +1,16 @@\n-try:\n-    from .sqloxide import parse_sql\n-except ImportError as e:  # pragma: no cover\n-    print(e)\n-    if str(e) != \"PyO3 modules may only be initialized once per interpreter process\":\n-        raise e\n-\n-__all__ = [\"parse_sql\"]\n+\"\"\"\n+This module provides an interface to the sqloxide library, which is responsible for parsing SQL,\n+restoring the Abstract Syntax Tree (AST), and performing various mutations on expressions and relations.\n+\n+For more information about sqloxide: https://github.com/wseaton/sqloxide\n+\n+This module is not from sqloxide, it is written for Opteryx.\n+\"\"\"\n+\n+from .sqloxide import mutate_expressions\n+from .sqloxide import mutate_relations\n+from .sqloxide import parse_sql\n+from .sqloxide import restore_ast\n+\n+# Explicitly define the API of this module for external consumers\n+__all__ = [\"parse_sql\", \"restore_ast\", \"mutate_expressions\", \"mutate_relations\"]\n", "issue": "\ud83e\uddf9 resync SQLoxide\nAST to SQL and AST visitor appear to have been added \n", "before_files": [{"content": "try:\n    from .sqloxide import parse_sql\nexcept ImportError as e:  # pragma: no cover\n    print(e)\n    if str(e) != \"PyO3 modules may only be initialized once per interpreter process\":\n        raise e\n\n__all__ = [\"parse_sql\"]\n", "path": "opteryx/third_party/sqloxide/__init__.py"}], "after_files": [{"content": "\"\"\"\nThis module provides an interface to the sqloxide library, which is responsible for parsing SQL,\nrestoring the Abstract Syntax Tree (AST), and performing various mutations on expressions and relations.\n\nFor more information about sqloxide: https://github.com/wseaton/sqloxide\n\nThis module is not from sqloxide, it is written for Opteryx.\n\"\"\"\n\nfrom .sqloxide import mutate_expressions\nfrom .sqloxide import mutate_relations\nfrom .sqloxide import parse_sql\nfrom .sqloxide import restore_ast\n\n# Explicitly define the API of this module for external consumers\n__all__ = [\"parse_sql\", \"restore_ast\", \"mutate_expressions\", \"mutate_relations\"]\n", "path": "opteryx/third_party/sqloxide/__init__.py"}]}