Skip to content

[CLIENT-4000] Add support for bin projection.#998

Draft
juliannguyen4 wants to merge 98 commits intodevfrom
CLIENT-4000-query-read-ops-projection
Draft

[CLIENT-4000] Add support for bin projection.#998
juliannguyen4 wants to merge 98 commits intodevfrom
CLIENT-4000-query-read-ops-projection

Conversation

@juliannguyen4
Copy link
Copy Markdown
Collaborator

@juliannguyen4 juliannguyen4 commented Mar 23, 2026

TODO

  • Document extra C client changes
  • Fix potential memory leak in Query.add_ops() from the list of operations passed as an argument
  • Decide what to do with Scan class
  • CLIENT-4046 Change default interval from 60s to 5s (TODO needs to be done manually in Python client)
  • Running against server < 8.1.2 doesn't produce a server error
  • [ ]

Extra Changes (from C client)

  • Provide better error messaging for transactions
  • Address crash caused by TLS socket error handling by checking for WSAEWOULDBLOCK instead of EWOULDBLOCK on Windows.
  • Document that Query.apply() can be used to apply record UDFs
  • Change ConfigProvider's interval parameter default value from 60000 to 5000.

Known Issues (out of scope)

  • Client config option "conn_pools_per_node" is missing

Docs

https://aerospike-python-client--998.org.readthedocs.build/en/998/query.html#overview
https://aerospike-python-client--998.org.readthedocs.build/en/998/query.html#aerospike.Query.add_ops

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Mar 23, 2026

Codecov Report

❌ Patch coverage is 77.77778% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 83.83%. Comparing base (274742f) to head (a53abc3).
⚠️ Report is 17 commits behind head on dev.

Files with missing lines Patch % Lines
src/main/query/add_ops.c 75.00% 1 Missing ⚠️
src/main/query/select.c 75.00% 1 Missing ⚠️
src/main/scan/add_ops.c 75.00% 1 Missing ⚠️
src/main/scan/select.c 75.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##              dev     #998   +/-   ##
=======================================
  Coverage   83.83%   83.83%           
=======================================
  Files          99       99           
  Lines       14429    14444   +15     
=======================================
+ Hits        12096    12109   +13     
- Misses       2333     2335    +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

…ntation parts of the c client to implement ResultRemove()
@juliannguyen4 juliannguyen4 force-pushed the CLIENT-4000-query-read-ops-projection branch from 3eb3836 to 3286a22 Compare March 23, 2026 19:40
…remove the dependency to as_connection directly
…g info about using query.apply() to apply record UDFs.
…jection commands against server < 8.1.2, since the server doesn't raise an exception in this case. Also make the rest of the bin projection tests compatible with server < 8.1.2
…age "invalid id from <host>:<port>". Info command looks correct so not sure why this happens
…ver a method expects an _ExprOp type. Try changing _ExprOp to enum to fix this
…g the scan fixture again. Also fix test warning syntax since the warning class can be returned
…Op whenever a method expects an _ExprOp type. Try changing _ExprOp to enum to fix this". Not relevant to this ft branch

This reverts commit dd04205.
…that are automatically imported from conftest.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants