Skip to content

Commit c9eccfd

Browse files
committed
RDBC-934 Sync constants with .NET client
1 parent b4ab23e commit c9eccfd

4 files changed

Lines changed: 257 additions & 31 deletions

File tree

ravendb/documents/queries/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ def escape_if_necessary(name: str, is_path: bool = False) -> str:
100100
not name
101101
or name == constants.Documents.Indexing.Fields.DOCUMENT_ID_FIELD_NAME
102102
or name == constants.Documents.Indexing.Fields.REDUCE_KEY_HASH_FIELD_NAME
103-
or name == constants.Documents.Indexing.Fields.REDUCE_KEY_KEY_VALUE_FIELD_NAME
103+
or name == constants.Documents.Indexing.Fields.REDUCE_KEY_VALUE_FIELD_NAME
104104
or name == constants.Documents.Indexing.Fields.VALUE_FIELD_NAME
105105
or name == constants.Documents.Indexing.Fields.SPATIAL_SHAPE_FIELD_NAME
106106
):

ravendb/documents/session/document_session_operations/in_memory_document_session_operations.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1833,7 +1833,7 @@ def _process_query_parameters(
18331833
if not is_collection and not is_index:
18341834
collection_name = conventions.get_collection_name(object_type)
18351835
collection_name = (
1836-
collection_name if collection_name else constants.Documents.Metadata.ALL_DOCUMENTS_COLLECTION
1836+
collection_name if collection_name else constants.Documents.Collections.ALL_DOCUMENTS_COLLECTION
18371837
)
18381838

18391839
return index_name, collection_name

ravendb/primitives/constants.py

Lines changed: 254 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import enum
12
import sys
23

34
from ravendb.documents.indexes.vector.embedding import VectorEmbeddingType
@@ -9,82 +10,307 @@
910
nan_value = float("nan")
1011

1112

13+
class _CompanyInformation:
14+
COMPANY_OID = "1.3.6.1.4.1.45751"
15+
16+
17+
class Json:
18+
class Fields:
19+
TYPE = "$type"
20+
VALUES = "$values"
21+
22+
23+
class QueryString:
24+
NODE_TAG = "nodeTag"
25+
SHARD_NUMBER = "shardNumber"
26+
27+
28+
class Headers:
29+
REQUEST_TIME = "Request-Time"
30+
SERVER_STARTUP_TIME = "Server-Startup-Time"
31+
REFRESH_TOPOLOGY = "Refresh-Topology"
32+
TOPOLOGY_ETAG = "Topology-Etag"
33+
CLUSTER_TOPOLOGY_ETAG = "Cluster-Topology-Etag"
34+
CLIENT_CONFIGURATION_ETAG = "Client-Configuration-Etag"
35+
LAST_KNOWN_CLUSTER_TRANSACTION_INDEX = "Known-Raft-Index"
36+
DATABASE_CLUSTER_TRANSACTION_ID = "Database-Cluster-Tx-Id"
37+
REFRESH_CLIENT_CONFIGURATION = "Refresh-Client-Configuration"
38+
ETAG = "ETag"
39+
CLIENT_VERSION = "Raven-Client-Version"
40+
SERVER_VERSION = "Raven-Server-Version"
41+
STUDIO_VERSION = "Raven-Studio-Version"
42+
IF_MATCH = "If-Match"
43+
IF_NONE_MATCH = "If-None-Match"
44+
TRANSFER_ENCODING = "Transfer-Encoding"
45+
CONTENT_ENCODING = "Content-Encoding"
46+
ACCEPT_ENCODING = "Accept-Encoding"
47+
CONTENT_DISPOSITION = "Content-Disposition"
48+
CONTENT_TYPE = "Content-Type"
49+
CONTENT_LENGTH = "Content-Length"
50+
ORIGIN = "Origin"
51+
INCREMENTAL_TIME_SERIES_PREFIX = "INC:"
52+
SHARDED = "Sharded"
53+
ATTACHMENT_HASH = "Attachment-Hash"
54+
DATABASE_MISSING = "Database-Missing"
55+
56+
class Encodings:
57+
GZIP = "gzip"
58+
BROTLI = "br"
59+
DEFLATE = "deflate"
60+
ZSTD = "zstd"
61+
62+
63+
class Platform:
64+
class Windows:
65+
MAX_PATH = 0x7FFF
66+
RESERVED_FILE_NAMES = [
67+
"con",
68+
"prn",
69+
"aux",
70+
"nul",
71+
"com1",
72+
"com2",
73+
"com3",
74+
"com4",
75+
"com5",
76+
"com6",
77+
"com7",
78+
"com8",
79+
"com9",
80+
"lpt1",
81+
"lpt2",
82+
"lpt3",
83+
"lpt4",
84+
"lpt5",
85+
"lpt6",
86+
"lpt7",
87+
"lpt8",
88+
"lpt9",
89+
"clock$",
90+
]
91+
92+
class Linux:
93+
MAX_PATH = 4096
94+
MAX_FILE_NAME_LENGTH = 230
95+
96+
97+
class Certificates:
98+
PREFIX = "certificates/"
99+
MAX_NUMBER_OF_CERTS_WITH_SAME_HASH = 5
100+
SERVER_AUTHENTICATION_OID = "1.3.6.1.5.5.7.3.1"
101+
CLIENT_AUTHENTICATION_OID = "1.3.6.1.5.5.7.3.2"
102+
SERVER_CERT_EXTENSION_OID = _CompanyInformation.COMPANY_OID + ".2.1"
103+
104+
105+
class Network:
106+
ANY_IP = "0.0.0.0"
107+
ZERO_VALUE = 0
108+
DEFAULT_SECURED_RAVEN_DB_HTTP_PORT = 443
109+
DEFAULT_SECURED_RAVEN_DB_TCP_PORT = 38888
110+
111+
112+
class DatabaseSettings:
113+
STUDIO_ID = "DatabasesSettings/Studio"
114+
115+
116+
class Configuration:
117+
class Indexes:
118+
INDEXING_STATIC_SEARCH_ENGINE_TYPE = "Indexing.Static.SearchEngineType"
119+
120+
CLIENT_ID = "Configuration/Client"
121+
STUDIO_ID = "Configuration/Studio"
122+
123+
124+
class Counters:
125+
ALL = "@all_counters"
126+
127+
128+
class TimeSeries:
129+
SELECT_FIELD_NAME = "timeseries"
130+
QUERY_FUNCTION = "__timeSeriesQueryFunction"
131+
132+
ALL = "@all_timeseries"
133+
134+
12135
class Documents:
136+
PREFIX = "db/"
137+
MAX_DATABASE_NAME_LENGTH = 128
138+
139+
class SubscriptionChangeVectorSpecialStates(enum.Enum):
140+
DO_NOT_CHANGE = "DoNotChange"
141+
LAST_DOCUMENT = "LastDocument"
142+
BEGINNING_OF_TIME = "BeginningOfTime"
143+
13144
class Metadata:
145+
EDGES = "@edges"
14146
COLLECTION = "@collection"
15-
CONFLICT = "@conflict"
16147
PROJECTION = "@projection"
17-
METADATA = "@metadata"
18148
KEY = "@metadata"
19149
ID = "@id"
150+
CONFLICT = "@conflict"
151+
ID_PROPERTY = "Id"
20152
FLAGS = "@flags"
21153
ATTACHMENTS = "@attachments"
154+
COUNTERS = "@counters"
155+
TIME_SERIES = "@timeseries"
156+
TIME_SERIES_NAMED_VALUES = "@timeseries-named-values"
157+
REVISION_COUNTERS = "@counters-snapshot"
158+
REVISION_TIME_SERIES = "@timeseries-snapshot"
159+
LEGACY_ATTACHMENT_METADATA = "@legacy-attachment-metadata"
22160
INDEX_SCORE = "@index-score"
161+
SPATIAL_RESULT = "@spatial"
23162
LAST_MODIFIED = "@last-modified"
163+
RAVEN_PYTHON_TYPE = "Raven-Python-Type"
24164
CHANGE_VECTOR = "@change-vector"
25165
EXPIRES = "@expires"
26166
REFRESH = "@refresh"
167+
ARCHIVE_AT = "@archive-at"
168+
ARCHIVED = "@archived"
169+
HAS_VALUE = "HasValue"
170+
ETAG = "@etag"
171+
QUANTIZATION = "@quantization"
172+
GEN_AI_HASHES = "@gen-ai-hashes"
173+
174+
class Sharding:
175+
SHARD_NUMBER = "@shard-number"
176+
177+
class Querying:
178+
ORDER_BY_FIELDS = "@order-by-fields"
179+
SUGGESTIONS_POPULARITY_FIELDS = "@suggestions-popularity"
180+
RESULT_DATA_HASH = "@data-hash"
181+
182+
class Subscription:
183+
NON_PERSISTENT_FLAGS = "@non-persistent-flags"
184+
185+
class Collections:
27186
ALL_DOCUMENTS_COLLECTION = "@all_docs"
28187
EMPTY_COLLECTION = "@empty"
188+
EMBEDDINGS_CACHE_COLLECTION = "@embeddings-cache"
189+
AI_AGENT_CONVERSATIONS_COLLECTION = "@conversations"
190+
AI_AGGENT_CONVERSATION_HISTORY_COLLECTION = "@conversations-history"
29191
NESTED_OBJECT_TYPES = "@nested-object-types"
30-
COUNTERS = "@counters"
31-
TIME_SERIES = "@timeseries"
32-
REVISION_COUNTERS = "@counters-snapshot"
33-
REVISION_TIME_SERIES = "@timeseries-snapshot"
34-
RAVEN_PYTHON_TYPE = "Raven-Python-Type"
192+
193+
class Ai:
194+
AI_AGENT_ID_PREFIX = "Conversations"
35195

36196
class Indexing:
37197
SIDE_BY_SIDE_INDEX_NAME_PREFIX = "ReplacementOf/"
38198

39199
class Fields:
200+
COUNT_FIELD_NAME = "Count"
40201
DOCUMENT_ID_FIELD_NAME = "id()"
202+
DOCUMENT_ID_METHOD_NAME = "id"
41203
SOURCE_DOCUMENT_ID_FIELD_NAME = "sourceDocId()"
42204
REDUCE_KEY_HASH_FIELD_NAME = "hash(key())"
43-
REDUCE_KEY_KEY_VALUE_FIELD_NAME = "key()"
205+
REDUCE_KEY_VALUE_FIELD_NAME = "key()"
44206
VALUE_FIELD_NAME = "value()"
45207
ALL_FIELDS = "__all_fields"
208+
ALL_STORED_FIELDS = "__all_stored_fields"
46209
SPATIAL_SHAPE_FIELD_NAME = "spatial(shape)"
210+
RANGE_FIELD_SUFFIX = "_Range"
211+
RANGE_FIELD_SUFFIX_LONG = "_L" + RANGE_FIELD_SUFFIX
212+
RANGE_FIELD_SUFFIX_DOUBLE = "_D" + RANGE_FIELD_SUFFIX
213+
TIME_FIELD_SUFFIX = "_Time"
214+
NULL_VALUE = "NULL_VALUE"
215+
EMPTY_STRING = "EMPTY_STRING"
47216

48217
class JavaScript:
218+
VALUE_PROPERTY_NAME = "$value"
219+
OPTIONS_PROPERTY_NAME = "$options"
220+
NAME_PROPERTY_NAME = "$name"
221+
SPATIAL_PROPERTY_NAME = "$spatial"
222+
BOOST_PROPERTY_NAME = "$boost"
49223
VECTOR_PROPERTY_NAME = "$vector"
224+
LOAD_VECTOR_PROPERTY_NAME = "$loadvector"
50225

51226
class Spatial:
52227
DEFAULT_DISTANCE_ERROR_PCT = 0.025
228+
EARTH_MEAN_RADIUS_KM = 6371.0087714
229+
MILES_TO_KM = 1.60934
230+
231+
class Analyzers:
232+
DEFAULT = "LowerCaseKeywordAnalyzer"
233+
DEFAULT_EXACT = "KeywordAnalyzer"
234+
DEFAULT_SEARCH = "RavenStandardAnalyzer"
235+
236+
class Querying:
237+
class Facet:
238+
ALL_RESULTS = "@AllResults"
239+
240+
class Fields:
241+
POWER_BI_JSON_FIELD_NAME = "json()"
242+
243+
class Sharding:
244+
SHARD_CONTEXT_PARAMETER_NAME = "__shardContext"
245+
SHARD_CONTEXT_DOCUMENT_IDS = "DocumentIds"
246+
SHARD_CONTEXT_PREFIXES = "Prefixes"
247+
248+
class Terms:
249+
LEFT_NULL_VALUE_OF_BETWEEN_QUERY = "*"
250+
RIGHT_NULL_VALUE_OF_BETWEEN_QUERY = "NULL"
251+
252+
class PeriodicBackup:
253+
FULL_BACKUP_EXTENSTION = ".ravendb-full-backup"
254+
SNAPSHOT_EXTENSTION = ".ravendb-snapshot"
255+
ENCRYPTED_FULL_BACKUP_EXTENSTION = ".ravendb-encrypted-full-backup"
256+
ENCRYPTED_SNAPSHOT_EXTENSTION = ".ravendb-encrypted-snapshot"
257+
INCREMENTAL_BACKUP_EXTENSTION = ".ravendb-incremental-backup"
258+
ENCRYPTED_INCREMENTAL_BACKUP_EXTENSTION = ".ravendb-encrypted-incremental-backup"
259+
260+
class Folders:
261+
INDEXES = "Indexes"
262+
DOCUMENTS = "Documents"
263+
CONFIGURATION = "Configuration"
264+
265+
class Blob:
266+
DOCUMENT = "@raven-data"
267+
SIZE = "@raven-blob-size"
268+
269+
270+
class Identities:
271+
DEFAULT_SEPARATOR = "/"
272+
273+
274+
class Smuggler:
275+
IMPORT_OPTIONS = "importOptions"
276+
CSV_IMPORT_OPTIONS = "csvImportOptions"
277+
278+
279+
class Operations:
280+
INVALID_OPERATION_ID = -1
53281

54282

55283
class CompareExchange:
284+
RVN_ATOMIC_PREFIX = "rvn-atomic/"
56285
OBJECT_FIELD_NAME = "Object"
57286

58287

59-
class Counters:
60-
ALL = "@all_counters"
288+
class Monitoring:
289+
class Snmp:
290+
DATABASES_MAPPING_KEY = "monitoring/snmp/databases/mapping"
291+
SNMP_ROOT_ID = _CompanyInformation.COMPANY_OID + ".1.1"
61292

62293

63-
class Headers:
64-
REQUEST_TIME = "Raven-Request-Time"
65-
REFRESH_TOPOLOGY = "Refresh-Topology"
66-
TOPOLOGY_ETAG = "Topology-Etag"
67-
LAST_KNOWN_CLUSTER_TRANSACTION_INDEX = "Known-Raft-Index"
68-
CLIENT_CONFIGURATION_ETAG = "Client-Configuration-Etag"
69-
REFRESH_CLIENT_CONFIGURATION = "Refresh-Client-Configuration"
70-
CLIENT_VERSION = "Raven-Client-Version"
71-
SERVER_VERSION = "Raven-Server-Version"
72-
ETAG = "ETag"
73-
IF_NONE_MATCH = "If-None-Match"
74-
TRANSFER_ENCODING = "Transfer-Encoding"
75-
CONTENT_ENCODING = "Content-Encoding"
76-
CONTENT_LENGTH = "Content-Length"
294+
class Fields:
295+
DOCUMENT_CHANGE_VECTOR = None
296+
DESTINATION_DOCUMENT_CHANGE_VECTOR = None
77297

78298

79-
class TimeSeries:
80-
SELECT_FIELD_NAME = "timeseries"
81-
QUERY_FUNCTION = "__timeSeriesQueryFunction"
299+
class Obsolete:
300+
pass
82301

83-
ALL = "@all_timeseries"
302+
303+
class DatabaseRecord:
304+
class SupportedFeatures:
305+
THROW_REVISION_KEY_TOO_BIG_FIX = "ThrowRevisionKeyTooBigFix"
84306

85307

86308
class VectorSearch:
309+
AI_TASK_METHOD_NAME = "ai.task"
87310
EMBEDDING_PREFIX = "embedding."
311+
312+
EMBEDDING_FOR_DOCUMENT = EMBEDDING_PREFIX + "forDoc"
313+
EMBEDDING_FOR_RAW = EMBEDDING_PREFIX + "Raw"
88314
EMBEDDING_TEXT = EMBEDDING_PREFIX + "text"
89315
EMBEDDING_TEXT_INT_8 = EMBEDDING_PREFIX + "text_i8"
90316
EMBEDDING_TEXT_INT_1 = EMBEDDING_PREFIX + "text_i1"

ravendb/tools/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ def escape_if_necessary(name: str, is_path: bool = False) -> str:
289289
in [
290290
constants.Documents.Indexing.Fields.DOCUMENT_ID_FIELD_NAME,
291291
constants.Documents.Indexing.Fields.REDUCE_KEY_HASH_FIELD_NAME,
292-
constants.Documents.Indexing.Fields.REDUCE_KEY_KEY_VALUE_FIELD_NAME,
292+
constants.Documents.Indexing.Fields.REDUCE_KEY_VALUE_FIELD_NAME,
293293
constants.Documents.Indexing.Fields.VALUE_FIELD_NAME,
294294
constants.Documents.Indexing.Fields.SPATIAL_SHAPE_FIELD_NAME,
295295
]

0 commit comments

Comments
 (0)