10 Commits

Author SHA1 Message Date
Tianx
2c0c5ef41e
feat: timestamptz expression & index & timezone (#44080)
issue: https://github.com/milvus-io/milvus/issues/27467

>My plan is as follows.
>- [x] M1 Create collection with timestamptz field
>- [x] M2 Insert timestamptz field data
>- [x] M3 Retrieve timestamptz field data
>- [x] M4 Implement handoff
>- [x] M5 Implement compare operator
>- [x] M6 Implement extract operator
 >- [x] M8 Support database/collection level default timezone
>- [x] M7 Support STL-SORT index for datatype timestamptz

---

The third PR of issue: https://github.com/milvus-io/milvus/issues/27467,
which completes M5, M6, M7, M8 described above.

## M8 Default Timezone

We will be able to use alter_collection() and alter_database() in a
future Python SDK release to modify the default timezone at the
collection or database level.

For insert requests, the timezone will be resolved using the following
order of precedence: String Literal-> Collection Default -> Database
Default.
For retrieval requests, the timezone will be resolved in this order:
Query Parameters -> Collection Default -> Database Default.
In both cases, the final fallback timezone is UTC.


## M5: Comparison Operators

We can now use the following expression format to filter on the
timestamptz field:

- `timestamptz_field [+/- INTERVAL 'interval_string'] {comparison_op}
ISO 'iso_string' `

- The interval_string follows the ISO 8601 duration format, for example:
P1Y2M3DT1H2M3S.

- The iso_string follows the ISO 8601 timestamp format, for example:
2025-01-03T00:00:00+08:00.

- Example expressions: "tsz + INTERVAL 'P0D' != ISO
'2025-01-03T00:00:00+08:00'" or "tsz != ISO
'2025-01-03T00:00:00+08:00'".

## M6: Extract

We will be able to extract sepecific time filed by kwargs in a future
Python SDK release.
The key is `time_fields`, and value should be one or more of "year,
month, day, hour, minute, second, microsecond", seperated by comma or
space. Then the result of each record would be an array of int64.



## M7: Indexing Support

Expressions without interval arithmetic can be accelerated using an
STL-SORT index. However, expressions that include interval arithmetic
cannot be indexed. This is because the result of an interval calculation
depends on the specific timestamp value. For example, adding one month
to a date in February results in a different number of added days than
adding one month to a date in March.

--- 

After this PR, the input / output type of timestamptz would be iso
string. Timestampz would be stored as timestamptz data, which is int64_t
finally.

> for more information, see https://en.wikipedia.org/wiki/ISO_8601

---------

Signed-off-by: xtx <xtianx@smail.nju.edu.cn>
2025-09-23 10:24:12 +08:00
qixuan
9228ed7b8f
test: add case about enable dynamic schema (#44355)
related issue: #42126

Signed-off-by: qixuan <673771573@qq.com>
2025-09-13 19:55:57 +08:00
yanliang567
0017fa8acc
test: Enable storage v2 in ci and nightly runs (#43086)
related issue: #43020

---------

Signed-off-by: yanliang567 <yanliang.qiao@zilliz.com>
2025-07-04 18:38:44 +08:00
qixuan
3b2ed5815f
test:add test cases for add field (#42472)
issue: #42126

---------

Signed-off-by: qixuan <673771573@qq.com>
2025-06-11 17:06:39 +08:00
Xianhui Lin
c5428c12eb
feat: Add support for modifying max capacity of array fields (#41404)
feat: Add support for modifying max capacity of array fields

This commit adds support for modifying the max capacity of array fields
in the `alterCollectionFieldTask` function. It checks if the field is an
array type and then validates and updates the max capacity value. This
change improves the flexibility of array fields in the collection.

Issue: https://github.com/milvus-io/milvus/issues/41363

---------

Signed-off-by: Xianhui.Lin <xianhui.lin@zilliz.com>
2025-04-21 15:52:37 +08:00
yanliang567
afbe02009e
test: Add test for search iterator external filter function (#39986)
related issue: #39985
1. add some test for external filter function
2. combine search iterator tests into one test file

---------

Signed-off-by: yanliang567 <yanliang.qiao@zilliz.com>
2025-02-21 11:25:53 +08:00
Xianhui Lin
e5eb1159e2
fix: Refine the err msg of alter index invalid (#39137)
fix: Refine the err msg of alter index invalid
issue: https://github.com/milvus-io/milvus/issues/38517

Signed-off-by: Xianhui.Lin <xianhui.lin@zilliz.com>
2025-01-10 12:08:57 +08:00
yanliang567
731e882d22
test: Refactor pymilvus client v2 testbase and add a test for search hint (#38939)
issue: https://github.com/milvus-io/milvus/issues/38877
1. refactor pymilvus client v2 testcasebase
2. add a test for search hint
3. update pymilvus to 2.6

---------

Signed-off-by: yanliang567 <yanliang.qiao@zilliz.com>
2025-01-06 11:24:55 +08:00
binbin
5304707393
test: Add test cases for rbac v2 (#38556)
Signed-off-by: binbin lv <binbin.lv@zilliz.com>
2024-12-24 18:06:48 +08:00
yanliang567
6884319d03
test: [CP] add alter tests (#38659)
related issue: https://github.com/milvus-io/milvus/issues/38471

---------

Signed-off-by: yanliang567 <yanliang.qiao@zilliz.com>
2024-12-23 19:42:49 +08:00