diff --git a/.github/workflows/clt_tests.yml b/.github/workflows/clt_tests.yml index 6a425f6fa9..897b6b732c 100644 --- a/.github/workflows/clt_tests.yml +++ b/.github/workflows/clt_tests.yml @@ -52,10 +52,12 @@ jobs: test_prefix: test/clt-tests/optimisation-and-update/ - name: Sharding and Replication test_prefix: test/clt-tests/sharding/ + - name: Bugs + test_prefix: test/clt-tests/bugs/ - name: Indexer test_prefix: test/clt-tests/indexer/ steps: - - uses: manticoresoftware/clt@0.6.3 + - uses: manticoresoftware/clt@0.6.5 with: artifact: ${{ inputs.artifact_name }} image: ${{ inputs.docker_image }} diff --git a/.patterns b/.patterns new file mode 100755 index 0000000000..e69de29bb2 diff --git a/api/libsphinxclient/sphinxclient.c b/api/libsphinxclient/sphinxclient.c index dea12e52b9..c59ed20a76 100644 --- a/api/libsphinxclient/sphinxclient.c +++ b/api/libsphinxclient/sphinxclient.c @@ -1,7 +1,7 @@ // // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/api/sphinxapi.php b/api/sphinxapi.php index 53a1ff53d7..aefd9d0f4f 100644 --- a/api/sphinxapi.php +++ b/api/sphinxapi.php @@ -7,7 +7,7 @@ // // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/cmake/FindMysql.cmake b/cmake/FindMysql.cmake index 862f2c4fef..19d172c125 100644 --- a/cmake/FindMysql.cmake +++ b/cmake/FindMysql.cmake @@ -21,7 +21,7 @@ # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #============================================================================= # Copyright 2015 Sphinx Technologies, Inc. -# Copyright 2017-2024, Manticore Software LTD (https://manticoresearch.com) +# Copyright 2017-2025, Manticore Software LTD (https://manticoresearch.com) # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. diff --git a/cmake/FindZSTD.cmake b/cmake/FindZSTD.cmake index 006cf56fde..71fd26d211 100644 --- a/cmake/FindZSTD.cmake +++ b/cmake/FindZSTD.cmake @@ -13,7 +13,7 @@ # If library is found, imported target ZSTD::ZSTD is produced to link with. # #============================================================================= -# Copyright 2021-2024, Manticore Software LTD (https://manticoresearch.com) +# Copyright 2021-2025, Manticore Software LTD (https://manticoresearch.com) # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. diff --git a/cmake/Findre2.cmake b/cmake/Findre2.cmake index e13b6bf6cd..5baf15a8c4 100644 --- a/cmake/Findre2.cmake +++ b/cmake/Findre2.cmake @@ -18,7 +18,7 @@ # WITH_RE2_LIBS - where to search for the lib #============================================================================= -# Copyright 2017-2024, Manticore Software LTD (https://manticoresearch.com) +# Copyright 2017-2025, Manticore Software LTD (https://manticoresearch.com) # Copyright 2015-2016 Sphinx Technologies, Inc. # # Distributed under the OSI-approved BSD License (the "License"); diff --git a/cmake/GetICU.cmake b/cmake/GetICU.cmake index a5ffc23741..1a8796dd31 100644 --- a/cmake/GetICU.cmake +++ b/cmake/GetICU.cmake @@ -1,5 +1,5 @@ #============================================================================= -# Copyright 2017-2024, Manticore Software LTD (https://manticoresearch.com) +# Copyright 2017-2025, Manticore Software LTD (https://manticoresearch.com) # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. diff --git a/cmake/GetJIEBA.cmake b/cmake/GetJIEBA.cmake index b6854167ac..794fffc608 100644 --- a/cmake/GetJIEBA.cmake +++ b/cmake/GetJIEBA.cmake @@ -1,5 +1,5 @@ #============================================================================= -# Copyright 2017-2024, Manticore Software LTD (https://manticoresearch.com) +# Copyright 2017-2025, Manticore Software LTD (https://manticoresearch.com) # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. diff --git a/cmake/GetRE2.cmake b/cmake/GetRE2.cmake index 973bc26f55..4bc83dbfdc 100644 --- a/cmake/GetRE2.cmake +++ b/cmake/GetRE2.cmake @@ -1,5 +1,5 @@ #============================================================================= -# Copyright 2017-2024, Manticore Software LTD (https://manticoresearch.com) +# Copyright 2017-2025, Manticore Software LTD (https://manticoresearch.com) # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. diff --git a/cmake/GetSTEMMER.cmake b/cmake/GetSTEMMER.cmake index 5008937bb6..3ed454047f 100644 --- a/cmake/GetSTEMMER.cmake +++ b/cmake/GetSTEMMER.cmake @@ -1,5 +1,5 @@ #============================================================================= -# Copyright 2017-2024, Manticore Software LTD (https://manticoresearch.com) +# Copyright 2017-2025, Manticore Software LTD (https://manticoresearch.com) # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. diff --git a/cmake/mincore_test.cmake b/cmake/mincore_test.cmake index 49c9e09c61..056475c76e 100644 --- a/cmake/mincore_test.cmake +++ b/cmake/mincore_test.cmake @@ -15,7 +15,7 @@ # and so, this special testing is necessary to successfully compile. # #============================================================================= -# Copyright 2017-2024, Manticore Software LTD (https://manticoresearch.com) +# Copyright 2017-2025, Manticore Software LTD (https://manticoresearch.com) # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. diff --git a/component-licenses/README.md b/component-licenses/README.md index ad7063651d..3e46b7762c 100644 --- a/component-licenses/README.md +++ b/component-licenses/README.md @@ -8,7 +8,7 @@ the components. Copyright: ``` -Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) All rights reserved ``` Manticore Search is released under [GPL v3 or later](https://raw.githubusercontent.com/manticoresoftware/manticoresearch/master/LICENSE). @@ -66,7 +66,7 @@ Manticore Search binaries may dynamically load and utilize the library at runtim Copyright: ``` -Copyright (c) 2020-2024, Manticore Software LTD (https://manticoresearch.com) +Copyright (c) 2020-2025, Manticore Software LTD (https://manticoresearch.com) All rights reserved ``` @@ -80,7 +80,7 @@ Copyright: ``` Copyright (c) 2001-2016, Andrew Aksyonoff Copyright (c) 2008-2016, Sphinx Technologies Inc -Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) All rights reserved This program is free software; you can redistribute it and/or modify @@ -114,7 +114,7 @@ Copyright: ``` Copyright (c) 2001-2016, Andrew Aksyonoff Copyright (c) 2008-2016, Sphinx Technologies Inc -Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) All rights reserved This program is free software; you can redistribute it and/or modify @@ -212,7 +212,7 @@ with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ============================================================================= Copyright 2015 Sphinx Technologies, Inc. -Copyright 2017-2024, Manticore Software LTD (https://manticoresearch.com) +Copyright 2017-2025, Manticore Software LTD (https://manticoresearch.com) Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. diff --git a/config/config_cmake.h.in b/config/config_cmake.h.in index fb8d3f1db2..f8aaefa317 100644 --- a/config/config_cmake.h.in +++ b/config/config_cmake.h.in @@ -1,5 +1,5 @@ // -// Copyright (c) 2022-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2022-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/deps.txt b/deps.txt index 4114f2e578..2cb29500fd 100644 --- a/deps.txt +++ b/deps.txt @@ -1,9 +1,9 @@ backup 1.9.1+25021722-22bd3a05-dev -buddy 3.25.2+25030515-c240bded-dev -mcl 4.1.2 25031117 67f5136 +buddy 3.26.3+25031718-2424762a-dev +mcl 4.1.2 25031206 15bbcc7 executor 1.3.1 25011510 1856ac9 tzdata 1.0.1 240904 3ba592a -load 1.17.0+25022618-55567dd9-dev +load 1.18.0+25031816-ecbb7e88-dev --- ! Do not change the separator that splits this desc from the data This file should contain one line per package with a version lock. diff --git a/doc/indexer.1 b/doc/indexer.1 index f71a34dbb2..4900ec3558 100644 --- a/doc/indexer.1 +++ b/doc/indexer.1 @@ -251,7 +251,7 @@ into the specified file, in a MySQL compatible syntax. The resulting dumps are t Manticore Software LTD (https://manticoresearch\&.com) .SH "COPYRIGHT" .PP -Copyright 2017\-2024 Manticore Software LTD (https://manticoresearch\&.com), 2008\-2016 Sphinx Technologies Inc (http://sphinxsearch\&.com), 2001\-2016 Andrew Aksyonoff +Copyright 2017\-2025 Manticore Software LTD (https://manticoresearch\&.com), 2008\-2016 Sphinx Technologies Inc (http://sphinxsearch\&.com), 2001\-2016 Andrew Aksyonoff .PP Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 or any later version published by the Free Software Foundation\&. .SH "SEE ALSO" diff --git a/doc/indextool.1 b/doc/indextool.1 index 1df4b2755b..325b886a01 100644 --- a/doc/indextool.1 +++ b/doc/indextool.1 @@ -125,7 +125,7 @@ SET GLOBAL AUTO_OPTIMIZE=1; Manticore Software LTD (https://manticoresearch\&.com) .SH "COPYRIGHT" .PP -Copyright 2017\-2024 Manticore Software LTD (https://manticoresearch\&.com), 2008\-2016 Sphinx Technologies Inc (http://sphinxsearch\&.com), 2001\-2016 Andrew Aksyonoff +Copyright 2017\-2025 Manticore Software LTD (https://manticoresearch\&.com), 2008\-2016 Sphinx Technologies Inc (http://sphinxsearch\&.com), 2001\-2016 Andrew Aksyonoff .PP Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 or any later version published by the Free Software Foundation\&. .SH "SEE ALSO" diff --git a/doc/md2man.bash b/doc/md2man.bash index 8f7ddbaafc..b09881793c 100755 --- a/doc/md2man.bash +++ b/doc/md2man.bash @@ -8,7 +8,7 @@ authorAndCopyright=$(cat <<-END Manticore Software LTD (https://manticoresearch\&.com) .SH "COPYRIGHT" .PP -Copyright 2017\-2024 Manticore Software LTD (https://manticoresearch\&.com), 2008\-2016 Sphinx Technologies Inc (http://sphinxsearch\&.com), 2001\-2016 Andrew Aksyonoff +Copyright 2017\-2025 Manticore Software LTD (https://manticoresearch\&.com), 2008\-2016 Sphinx Technologies Inc (http://sphinxsearch\&.com), 2001\-2016 Andrew Aksyonoff .PP Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 or any later version published by the Free Software Foundation\&. END diff --git a/doc/searchd.1 b/doc/searchd.1 index 860eb12dbe..8e469e5662 100644 --- a/doc/searchd.1 +++ b/doc/searchd.1 @@ -236,7 +236,7 @@ Manticore utilizes the \fB\fCplugin_dir\fR for storing and using Manticore Buddy Manticore Software LTD (https://manticoresearch\&.com) .SH "COPYRIGHT" .PP -Copyright 2017\-2024 Manticore Software LTD (https://manticoresearch\&.com), 2008\-2016 Sphinx Technologies Inc (http://sphinxsearch\&.com), 2001\-2016 Andrew Aksyonoff +Copyright 2017\-2025 Manticore Software LTD (https://manticoresearch\&.com), 2008\-2016 Sphinx Technologies Inc (http://sphinxsearch\&.com), 2001\-2016 Andrew Aksyonoff .PP Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 or any later version published by the Free Software Foundation\&. .SH "SEE ALSO" diff --git a/manual/Creating_a_table/NLP_and_tokenization/Advanced_HTML_tokenization.md b/manual/Creating_a_table/NLP_and_tokenization/Advanced_HTML_tokenization.md index e4068aa4ac..92fff013dc 100755 --- a/manual/Creating_a_table/NLP_and_tokenization/Advanced_HTML_tokenization.md +++ b/manual/Creating_a_table/NLP_and_tokenization/Advanced_HTML_tokenization.md @@ -285,7 +285,7 @@ index_sp = {0|1} Controls detection and indexing of sentence and paragraph boundaries. Optional, default is 0 (no detection or indexing). -This directive enables the detection and indexing of sentence and paragraph boundaries, making it possible for the [SENTENCE](../../Searching/Full_text_matching/Operators.md#SENTENCE-and-PARAGRAPH-operators) and [PARAGRAPH](../../Searching/Full_text_matching/Operators.md#SENTENCE-and-PARAGRAPH-operators) operators to work. Sentence boundary detection is based on plain text analysis, and only requires setting `index_sp = 1` to enable it. Paragraph detection, however, relies on HTML markup and occurs during the [HTML stripping process](../../Creating_a_table/NLP_and_tokenization/Advanced_HTML_tokenization.md#html_strip. As such, to index paragraph boundaries, both the index_sp directive and the html_strip directive must be set to 1. +This directive enables the detection and indexing of sentence and paragraph boundaries, making it possible for the [SENTENCE](../../Searching/Full_text_matching/Operators.md#SENTENCE-and-PARAGRAPH-operators) and [PARAGRAPH](../../Searching/Full_text_matching/Operators.md#SENTENCE-and-PARAGRAPH-operators) operators to work. Sentence boundary detection is based on plain text analysis, and only requires setting `index_sp = 1` to enable it. Paragraph detection, however, relies on HTML markup and occurs during the [HTML stripping process](../../Creating_a_table/NLP_and_tokenization/Advanced_HTML_tokenization.md#html_strip). As such, to index paragraph boundaries, both the index_sp directive and the html_strip directive must be set to 1. The following rules are used to determine sentence boundaries: @@ -468,4 +468,4 @@ table products { } ``` - \ No newline at end of file + diff --git a/manual/Installation/Debian_and_Ubuntu.md b/manual/Installation/Debian_and_Ubuntu.md index faba6c64e0..9c40f00f28 100755 --- a/manual/Installation/Debian_and_Ubuntu.md +++ b/manual/Installation/Debian_and_Ubuntu.md @@ -64,7 +64,7 @@ $ sudo -u manticore indexer Manticore 3.5.4 13f8d08d@201211 release Copyright (c) 2001-2016, Andrew Aksyonoff Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +Copyright (c) 2017-2020, Manticore Software LTD (https://manticoresearch.com) Built by gcc/clang v 5.4.0, diff --git a/mysqlse/ha_sphinx.cc b/mysqlse/ha_sphinx.cc index d375c6a3ec..49b534a6fc 100644 --- a/mysqlse/ha_sphinx.cc +++ b/mysqlse/ha_sphinx.cc @@ -1,7 +1,7 @@ // // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/accumulator.cpp b/src/accumulator.cpp index 3f5e41b106..b2717f3f8b 100644 --- a/src/accumulator.cpp +++ b/src/accumulator.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/accumulator.h b/src/accumulator.h index 09ef0403db..3f35fede46 100644 --- a/src/accumulator.h +++ b/src/accumulator.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/aggregate.cpp b/src/aggregate.cpp index 7658831348..432f0aadd9 100644 --- a/src/aggregate.cpp +++ b/src/aggregate.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/aggregate.h b/src/aggregate.h index 8c1078ae7e..20ef4f969f 100644 --- a/src/aggregate.h +++ b/src/aggregate.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/attribute.cpp b/src/attribute.cpp index bd9537e4dc..952536678b 100644 --- a/src/attribute.cpp +++ b/src/attribute.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify @@ -677,30 +677,131 @@ int64_t sphCopyBlobRow ( CSphTightVector & dDstPool, const CSphTightVector } -void sphAddAttrToBlobRow ( const CSphRowitem * pDocinfo, CSphTightVector & dBlobRow, const BYTE * pPool, int nBlobs, const CSphAttrLocator * pOldBlobRowLoc ) +static void AddAttrToBlobRowNoData ( const CSphRowitem * pDocinfo, CSphTightVector & dBlobRow, const BYTE * pPool, int iNumBlobs, const CSphAttrLocator & tOldBlobRowLoc ) { - dBlobRow.Resize ( 0 ); - if ( nBlobs ) + const BYTE * pOldRow = pPool + sphGetRowAttr ( pDocinfo, tOldBlobRowLoc ); + DWORD uOldBlobLen = sphGetBlobTotalLen ( pOldRow, iNumBlobs ); + DWORD uLenSize = RowFlagsToLen ( *pOldRow ); + dBlobRow.Resize ( uOldBlobLen + uLenSize ); + BYTE * pNewRow = dBlobRow.Begin(); + DWORD uAttrLengthSize = uLenSize*iNumBlobs+1; // old blob lengths + flags + memcpy ( pNewRow, pOldRow, uAttrLengthSize ); + pNewRow += uAttrLengthSize; + pOldRow += uAttrLengthSize; + memcpy ( pNewRow, pOldRow-uLenSize, uLenSize ); // new attr length (last cumulative length) + pNewRow += uLenSize; + memcpy ( pNewRow, pOldRow, uOldBlobLen-uAttrLengthSize ); +} + + +static void AddAttrToBlobRowWithData ( const CSphRowitem * pDocinfo, CSphTightVector & dBlobRow, const BYTE * pPool, int iNumBlobs, const CSphAttrLocator & tOldBlobRowLoc, const BYTE * pData, DWORD uDataLen ) +{ + const BYTE * pOldRow = pPool + sphGetRowAttr ( pDocinfo, tOldBlobRowLoc ); + BYTE uFlags = *pOldRow; + CSphVector dAttrLengths; + dAttrLengths.Reserve ( iNumBlobs+1 ); + for ( int i = 0; i < iNumBlobs; i++ ) + switch ( uFlags ) + { + case BLOB_ROW_LEN_BYTE: dAttrLengths.Add ( GetBlobAttrLen ( i, pOldRow+1 ) ); break; + case BLOB_ROW_LEN_WORD: dAttrLengths.Add ( GetBlobAttrLen ( i, pOldRow+1 ) ); break; + case BLOB_ROW_LEN_DWORD: dAttrLengths.Add ( GetBlobAttrLen ( i, pOldRow+1 ) ); break; + default: break; + } + + dAttrLengths.Add(uDataLen); + + DWORD uTotalLength = 0; + for ( auto i : dAttrLengths ) + uTotalLength += i; + + BYTE uNewFlags = CalcBlobRowFlags ( uTotalLength ); + dBlobRow.Resize ( 1 + (iNumBlobs+1)*RowFlagsToLen(uNewFlags) + uTotalLength ); + BYTE * pNewRow = dBlobRow.Begin(); + *pNewRow++ = uNewFlags; + + // attribute lengths + DWORD uCumulativeLength = 0; + for ( auto i : dAttrLengths ) { - assert(pOldBlobRowLoc); - const BYTE * pOldRow = pPool + sphGetRowAttr ( pDocinfo, *pOldBlobRowLoc ); - DWORD uOldBlobLen = sphGetBlobTotalLen ( pOldRow, nBlobs ); - DWORD uLenSize = RowFlagsToLen ( *pOldRow ); - dBlobRow.Resize ( uOldBlobLen + uLenSize ); - BYTE * pNewRow = dBlobRow.Begin(); - DWORD uAttrLengthSize = uLenSize*nBlobs+1; // old blob lengths + flags - memcpy ( pNewRow, pOldRow, uAttrLengthSize ); - pNewRow += uAttrLengthSize; - pOldRow += uAttrLengthSize; - memcpy ( pNewRow, pOldRow-uLenSize, uLenSize ); // new attr length (last cumulative length) - pNewRow += uLenSize; - memcpy ( pNewRow, pOldRow, uOldBlobLen-uAttrLengthSize ); + uCumulativeLength += i; + + switch ( uNewFlags ) + { + case BLOB_ROW_LEN_BYTE: + sphUnalignedWrite ( pNewRow, (BYTE)uCumulativeLength ); + pNewRow += sizeof(BYTE); + break; + + case BLOB_ROW_LEN_WORD: + sphUnalignedWrite ( pNewRow, (WORD)uCumulativeLength ); + pNewRow += sizeof(WORD); + break; + + case BLOB_ROW_LEN_DWORD: + sphUnalignedWrite ( pNewRow, (DWORD)uCumulativeLength ); + pNewRow += sizeof(DWORD); + break; + + default: + break; + } } - else + + // old attribute data + for ( int i = 0; i < iNumBlobs; i++ ) { - dBlobRow.Add ( CalcBlobRowFlags(0) ); // 1-byte flags - dBlobRow.Add ( 0 ); // 1-byte length + int iLengthBytes = 0; + const BYTE * pBlob = GetBlobAttr ( pOldRow, i, iNumBlobs, iLengthBytes ); + memcpy ( pNewRow, pBlob, iLengthBytes ); + pNewRow += iLengthBytes; } + + // new attr data + memcpy ( pNewRow, pData, uDataLen ); +} + + +static void AddAttrToBlobRowFirst ( CSphTightVector & dBlobRow, const BYTE * pData, DWORD uDataLen ) +{ + BYTE uFlags = CalcBlobRowFlags(uDataLen); + DWORD uLenSize = RowFlagsToLen(uFlags); + dBlobRow.Add(uFlags); + BYTE * pAdded = dBlobRow.AddN ( uLenSize+uDataLen ); + + switch ( uFlags ) + { + case BLOB_ROW_LEN_BYTE: + *pAdded = (BYTE)uDataLen; + break; + + case BLOB_ROW_LEN_WORD: + sphUnalignedWrite ( pAdded, (WORD)uDataLen ); + break; + + case BLOB_ROW_LEN_DWORD: + sphUnalignedWrite ( pAdded, (DWORD)uDataLen ); + break; + } + + pAdded += uLenSize; + memcpy ( pAdded, pData, uDataLen ); +} + + +void sphAddAttrToBlobRow ( const CSphRowitem * pDocinfo, CSphTightVector & dBlobRow, const BYTE * pPool, int iNumBlobs, const CSphAttrLocator * pOldBlobRowLoc, const BYTE * pData, DWORD uDataLen ) +{ + dBlobRow.Resize(0); + if ( iNumBlobs ) + { + assert(pOldBlobRowLoc); + if ( pData ) + AddAttrToBlobRowWithData ( pDocinfo, dBlobRow, pPool, iNumBlobs, *pOldBlobRowLoc, pData, uDataLen ); + else + AddAttrToBlobRowNoData ( pDocinfo, dBlobRow, pPool, iNumBlobs, *pOldBlobRowLoc ); + } + else + AddAttrToBlobRowFirst ( dBlobRow, pData, uDataLen ); } diff --git a/src/attribute.h b/src/attribute.h index b4a26a717a..bf33e6bd15 100644 --- a/src/attribute.h +++ b/src/attribute.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify @@ -78,7 +78,7 @@ DWORD sphGetBlobTotalLen ( const BYTE * pBlobRow, int nBlobAttrs ); int64_t sphCopyBlobRow ( CSphTightVector & dDstPool, const CSphTightVector & dSrcPool, int64_t iOffset, int nBlobs ); // add a new blob attr to a row (on ALTER) -void sphAddAttrToBlobRow ( const CSphRowitem * pDocinfo, CSphTightVector & dBlobRow, const BYTE * pPool, int nBlobs, const CSphAttrLocator * pOldBlobRowLoc ); +void sphAddAttrToBlobRow ( const CSphRowitem * pDocinfo, CSphTightVector & dBlobRow, const BYTE * pPool, int iNumBlobs, const CSphAttrLocator * pOldBlobRowLoc, const BYTE * pData=nullptr, DWORD uDataLen=0 ); // remove a blob attr from a blob row (on ALTER) void sphRemoveAttrFromBlobRow ( const CSphRowitem * pDocinfo, CSphTightVector & dBlobRow, const BYTE * pPool, int nBlobs, int iBlobAttrId, const CSphAttrLocator & tBlobRowLoc ); diff --git a/src/attrindex_builder.cpp b/src/attrindex_builder.cpp index f71ac41d58..417cfa83c7 100644 --- a/src/attrindex_builder.cpp +++ b/src/attrindex_builder.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/attrindex_builder.h b/src/attrindex_builder.h index 90b315604a..c4eab3497f 100644 --- a/src/attrindex_builder.h +++ b/src/attrindex_builder.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/attrindex_merge.cpp b/src/attrindex_merge.cpp index 73c3d47d69..c905da418c 100644 --- a/src/attrindex_merge.cpp +++ b/src/attrindex_merge.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved @@ -121,9 +121,13 @@ bool AttrMerger_c::Impl_c::Prepare ( const CSphIndex * pSrcIndex, const CSphInde if ( tDstSchema.HasKNNAttrs() ) { - m_pKNNBuilder = BuildCreateKNN ( tDstSchema, m_iTotalDocs, m_dAttrsForKNN, m_sError ); + CSphVector> dAllKNNAttrs; + m_pKNNBuilder = BuildCreateKNN ( tDstSchema, m_iTotalDocs, dAllKNNAttrs, m_sError ); if ( !m_pKNNBuilder ) return false; + + for ( const auto & i : dAllKNNAttrs ) + m_dAttrsForKNN.Add ( i.first ); } if ( tDstSchema.HasJsonSIAttrs() ) diff --git a/src/attrindex_merge.h b/src/attrindex_merge.h index 8c89c81c6a..32ca70c38b 100644 --- a/src/attrindex_merge.h +++ b/src/attrindex_merge.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/binlog.cpp b/src/binlog.cpp index bfce65cae2..8ec51b7e44 100644 --- a/src/binlog.cpp +++ b/src/binlog.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/binlog.h b/src/binlog.h index 9a777a5bb2..6b37ae67af 100644 --- a/src/binlog.h +++ b/src/binlog.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/binlog_defs.h b/src/binlog_defs.h index f19cc513d4..5e19a00e4e 100644 --- a/src/binlog_defs.h +++ b/src/binlog_defs.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/charsets/globalaliases.h.in b/src/charsets/globalaliases.h.in index 07767386c9..b68cf4833e 100755 --- a/src/charsets/globalaliases.h.in +++ b/src/charsets/globalaliases.h.in @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/chunksearchctx.cpp b/src/chunksearchctx.cpp index 54f28fb96b..fa98abd38a 100644 --- a/src/chunksearchctx.cpp +++ b/src/chunksearchctx.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/chunksearchctx.h b/src/chunksearchctx.h index f344a6494e..f3a125926c 100644 --- a/src/chunksearchctx.h +++ b/src/chunksearchctx.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/cjkpreprocessor.cpp b/src/cjkpreprocessor.cpp index 3f7321cfe1..84e14982c7 100644 --- a/src/cjkpreprocessor.cpp +++ b/src/cjkpreprocessor.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/cjkpreprocessor.h b/src/cjkpreprocessor.h index 824ac07313..f4a1273475 100644 --- a/src/cjkpreprocessor.h +++ b/src/cjkpreprocessor.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/client_session.h b/src/client_session.h index b0d4949a1d..750f09171d 100644 --- a/src/client_session.h +++ b/src/client_session.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/client_task_info.cpp b/src/client_task_info.cpp index 51e6896258..8a1b976580 100644 --- a/src/client_task_info.cpp +++ b/src/client_task_info.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/client_task_info.h b/src/client_task_info.h index a952967d7d..8277ca4bf5 100644 --- a/src/client_task_info.h +++ b/src/client_task_info.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/collation.cpp b/src/collation.cpp index a25e9c6f48..5fc5a508bb 100644 --- a/src/collation.cpp +++ b/src/collation.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/collation.h b/src/collation.h index 80a7bc726f..ba32cdfec8 100644 --- a/src/collation.h +++ b/src/collation.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/columnarexpr.cpp b/src/columnarexpr.cpp index 26ad1a7ac7..020c9fb3c6 100644 --- a/src/columnarexpr.cpp +++ b/src/columnarexpr.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/columnarexpr.h b/src/columnarexpr.h index 74462119c8..6f6ae254ec 100644 --- a/src/columnarexpr.h +++ b/src/columnarexpr.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/columnarfilter.cpp b/src/columnarfilter.cpp index 06708ab88c..80315e51b8 100644 --- a/src/columnarfilter.cpp +++ b/src/columnarfilter.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2020-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2020-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/columnarfilter.h b/src/columnarfilter.h index ee8c65a1a5..17a4e40546 100644 --- a/src/columnarfilter.h +++ b/src/columnarfilter.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2020-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2020-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/columnargrouper.cpp b/src/columnargrouper.cpp index 458d03a09e..44e1d26f39 100644 --- a/src/columnargrouper.cpp +++ b/src/columnargrouper.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2020-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2020-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/columnargrouper.h b/src/columnargrouper.h index 22f1af52f4..01eb73ba17 100644 --- a/src/columnargrouper.h +++ b/src/columnargrouper.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2020-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2020-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/columnarlib.cpp b/src/columnarlib.cpp index e6dddd3ced..424c3a2271 100644 --- a/src/columnarlib.cpp +++ b/src/columnarlib.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2020-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2020-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/columnarlib.h b/src/columnarlib.h index 0d26ebfe28..da2b7c680f 100644 --- a/src/columnarlib.h +++ b/src/columnarlib.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2020-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2020-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/columnarmisc.cpp b/src/columnarmisc.cpp index 5c7f105ff0..94ad4e5e9e 100644 --- a/src/columnarmisc.cpp +++ b/src/columnarmisc.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify @@ -79,9 +79,9 @@ SphAttr_t SetColumnarAttr ( int iAttr, ESphAttr eType, columnar::Builder_i * pBu } -void SetDefaultColumnarAttr ( int iAttr, ESphAttr eType, columnar::Builder_i * pBuilder ) +void SetDefaultColumnarAttr ( int iAttr, const CSphColumnInfo & tAttr, columnar::Builder_i * pBuilder, CSphVector & dTmp ) { - switch ( eType ) + switch ( tAttr.m_eAttrType ) { case SPH_ATTR_UINT32SET: case SPH_ATTR_INT64SET: @@ -92,6 +92,17 @@ void SetDefaultColumnarAttr ( int iAttr, ESphAttr eType, columnar::Builder_i * p pBuilder->SetAttr ( iAttr, (const uint8_t *)0, 0 ); break; + case SPH_ATTR_FLOAT_VECTOR: + if ( tAttr.IsIndexedKNN() ) + { + dTmp.Resize ( tAttr.m_tKNN.m_iDims ); + dTmp.ZeroVec(); + pBuilder->SetAttr ( iAttr, dTmp.Begin(), dTmp.GetLength() ); + } + else + pBuilder->SetAttr ( iAttr, (const uint8_t *)0, 0 ); + break; + default: pBuilder->SetAttr ( iAttr, 0 ); break; diff --git a/src/columnarmisc.h b/src/columnarmisc.h index 879ea8d3da..6b31e1d017 100644 --- a/src/columnarmisc.h +++ b/src/columnarmisc.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify @@ -27,7 +27,7 @@ bool AdvanceIterator ( PITERATOR& pIterator, RowID_t tRowID ) CSphVector CreateAllColumnarIterators ( const columnar::Columnar_i * pColumnar, const ISphSchema & tSchema ); SphAttr_t SetColumnarAttr ( int iAttr, ESphAttr eType, columnar::Builder_i * pBuilder, std::unique_ptr & pIterator, RowID_t tRowID, CSphVector & dTmp ); -void SetDefaultColumnarAttr ( int iAttr, ESphAttr eType, columnar::Builder_i * pBuilder ); +void SetDefaultColumnarAttr ( int iAttr, const CSphColumnInfo & tAttr, columnar::Builder_i * pBuilder, CSphVector & dTmp ); CSphString ColumnarAttrType2Str ( common::AttrType_e eType ); struct PlainOrColumnar_t diff --git a/src/columnarrt.cpp b/src/columnarrt.cpp index 02abd6d4df..d8e79678b7 100644 --- a/src/columnarrt.cpp +++ b/src/columnarrt.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/columnarrt.h b/src/columnarrt.h index 585f241202..26b99fb992 100644 --- a/src/columnarrt.h +++ b/src/columnarrt.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/columnarsort.cpp b/src/columnarsort.cpp index f470a3dafa..f4c9802f68 100644 --- a/src/columnarsort.cpp +++ b/src/columnarsort.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/columnarsort.h b/src/columnarsort.h index d6c4a50e98..882665c817 100644 --- a/src/columnarsort.h +++ b/src/columnarsort.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/compressed_http.cpp b/src/compressed_http.cpp index aa25487352..f341441032 100644 --- a/src/compressed_http.cpp +++ b/src/compressed_http.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/compressed_http.h b/src/compressed_http.h index cfb878aa24..404ae13f6f 100644 --- a/src/compressed_http.h +++ b/src/compressed_http.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/compressed_mysql_layer.cpp b/src/compressed_mysql_layer.cpp index c43c4ce475..f4f2f9e82a 100644 --- a/src/compressed_mysql_layer.cpp +++ b/src/compressed_mysql_layer.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/compressed_mysql_layer.h b/src/compressed_mysql_layer.h index 8681e81420..b57c4cbba4 100644 --- a/src/compressed_mysql_layer.h +++ b/src/compressed_mysql_layer.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/compressed_zlib_mysql.cpp b/src/compressed_zlib_mysql.cpp index 4629a7b88b..58809210ee 100644 --- a/src/compressed_zlib_mysql.cpp +++ b/src/compressed_zlib_mysql.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/compressed_zlib_mysql.h b/src/compressed_zlib_mysql.h index d91cee1f48..d6fa40339d 100644 --- a/src/compressed_zlib_mysql.h +++ b/src/compressed_zlib_mysql.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/compressed_zstd_mysql.cpp b/src/compressed_zstd_mysql.cpp index 6ea2924cf6..e7a13cc1e0 100644 --- a/src/compressed_zstd_mysql.cpp +++ b/src/compressed_zstd_mysql.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/compressed_zstd_mysql.h b/src/compressed_zstd_mysql.h index 85f277ecaf..228a1560ef 100644 --- a/src/compressed_zstd_mysql.h +++ b/src/compressed_zstd_mysql.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/config_reloader.cpp b/src/config_reloader.cpp index 48eeeafb62..0b24126bc3 100644 --- a/src/config_reloader.cpp +++ b/src/config_reloader.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2022-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2022-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/config_reloader.h b/src/config_reloader.h index b7eed16740..0cace852a8 100644 --- a/src/config_reloader.h +++ b/src/config_reloader.h @@ -1,4 +1,4 @@ -// Copyright (c) 2022-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2022-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/conversion.cpp b/src/conversion.cpp index 8d9794e477..9d5666a4a4 100644 --- a/src/conversion.cpp +++ b/src/conversion.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/conversion.h b/src/conversion.h index ba38357c43..ad7ed92220 100644 --- a/src/conversion.h +++ b/src/conversion.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/coro_stack.cpp b/src/coro_stack.cpp index 6784c9615c..5e6be5ff17 100644 --- a/src/coro_stack.cpp +++ b/src/coro_stack.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/coro_stack.h b/src/coro_stack.h index f14808077f..99fb488bae 100644 --- a/src/coro_stack.h +++ b/src/coro_stack.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/coro_waker.h b/src/coro_waker.h index 4fc92921c6..a1f4b57e8b 100644 --- a/src/coro_waker.h +++ b/src/coro_waker.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/coroutine.cpp b/src/coroutine.cpp index cc68f3a5bd..46eccf6639 100644 --- a/src/coroutine.cpp +++ b/src/coroutine.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/coroutine.h b/src/coroutine.h index e49f26f773..5b53fec2cf 100644 --- a/src/coroutine.h +++ b/src/coroutine.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/costestimate.cpp b/src/costestimate.cpp index 32432c603f..195b0c81ff 100644 --- a/src/costestimate.cpp +++ b/src/costestimate.cpp @@ -1,6 +1,6 @@ // // -// Copyright (c) 2018-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2018-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/costestimate.h b/src/costestimate.h index 0c946587f5..2aa3ce6608 100644 --- a/src/costestimate.h +++ b/src/costestimate.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2018-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2018-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/datareader.cpp b/src/datareader.cpp index 2118c654bb..de3d26d6c1 100644 --- a/src/datareader.cpp +++ b/src/datareader.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/datareader.h b/src/datareader.h index 86e61a6a5f..a3992fa79f 100644 --- a/src/datareader.h +++ b/src/datareader.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/datetime.cpp b/src/datetime.cpp index 44006c3cd5..d5f9746f72 100644 --- a/src/datetime.cpp +++ b/src/datetime.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2024-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify @@ -127,7 +127,6 @@ static void SetTimeZoneLocal ( StrVec_t & dWarnings ) } #endif - g_hTimeZoneLocal = cctz::local_time_zone(); g_hTimeZone = g_hTimeZoneLocal; CheckForUTC(); } diff --git a/src/datetime.h b/src/datetime.h index 408e48c8c1..f6e5f5f237 100644 --- a/src/datetime.h +++ b/src/datetime.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2024-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/debug_cmds.cpp b/src/debug_cmds.cpp index e505f7e2d5..778f7140f4 100644 --- a/src/debug_cmds.cpp +++ b/src/debug_cmds.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/debug_cmds.h b/src/debug_cmds.h index e434011e4d..72ba9ff999 100644 --- a/src/debug_cmds.h +++ b/src/debug_cmds.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/detail/coroutine_impl.h b/src/detail/coroutine_impl.h index f092a3fd11..c5044700af 100644 --- a/src/detail/coroutine_impl.h +++ b/src/detail/coroutine_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2022-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2022-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/detail/expmeter.h b/src/detail/expmeter.h index 43e3e1e235..edbd68cd1e 100644 --- a/src/detail/expmeter.h +++ b/src/detail/expmeter.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2023-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2023-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/detail/indexlink.cpp b/src/detail/indexlink.cpp index d262dcb908..c8040d7418 100644 --- a/src/detail/indexlink.cpp +++ b/src/detail/indexlink.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2023-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2023-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/detail/indexlink.h b/src/detail/indexlink.h index 1d016dca89..0709455b6d 100644 --- a/src/detail/indexlink.h +++ b/src/detail/indexlink.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2023-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2023-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/aggregate_hit.h b/src/dict/aggregate_hit.h index 439d32f45e..5a42bbc126 100644 --- a/src/dict/aggregate_hit.h +++ b/src/dict/aggregate_hit.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/bin.cpp b/src/dict/bin.cpp index 80e55e87a0..e94d873e11 100644 --- a/src/dict/bin.cpp +++ b/src/dict/bin.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/bin.h b/src/dict/bin.h index 11f6b39808..b5cb5e54a6 100644 --- a/src/dict/bin.h +++ b/src/dict/bin.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/crc_engine.h b/src/dict/crc_engine.h index 49dee5731e..5e8462acd1 100644 --- a/src/dict/crc_engine.h +++ b/src/dict/crc_engine.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/crc_engine_impl.h b/src/dict/crc_engine_impl.h index 9a50e84eee..d3c92916cd 100644 --- a/src/dict/crc_engine_impl.h +++ b/src/dict/crc_engine_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/dict_base.cpp b/src/dict/dict_base.cpp index d7d12115b9..ceccfbb34a 100644 --- a/src/dict/dict_base.cpp +++ b/src/dict/dict_base.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/dict_base.h b/src/dict/dict_base.h index 219a018718..a580d6959c 100644 --- a/src/dict/dict_base.h +++ b/src/dict/dict_base.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/dict_crc.cpp b/src/dict/dict_crc.cpp index 6b6acaa715..7de769e7e7 100644 --- a/src/dict/dict_crc.cpp +++ b/src/dict/dict_crc.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/dict_crc.h b/src/dict/dict_crc.h index 3632c28e6d..a315feec3e 100644 --- a/src/dict/dict_crc.h +++ b/src/dict/dict_crc.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/dict_crc_impl.h b/src/dict/dict_crc_impl.h index d65871bbfc..a785a54f6c 100644 --- a/src/dict/dict_crc_impl.h +++ b/src/dict/dict_crc_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/dict_entry.h b/src/dict/dict_entry.h index faa5e7394b..8477951c5b 100644 --- a/src/dict/dict_entry.h +++ b/src/dict/dict_entry.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/dict_exact.cpp b/src/dict/dict_exact.cpp index 3f462d9019..7d7ced9909 100644 --- a/src/dict/dict_exact.cpp +++ b/src/dict/dict_exact.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/dict_keywords.cpp b/src/dict/dict_keywords.cpp index a9faa015ae..9a9f70472e 100644 --- a/src/dict/dict_keywords.cpp +++ b/src/dict/dict_keywords.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/dict_proxy.h b/src/dict/dict_proxy.h index 263734b29a..0b0f61ef13 100644 --- a/src/dict/dict_proxy.h +++ b/src/dict/dict_proxy.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/dict_star.cpp b/src/dict/dict_star.cpp index 4b20bfc9bf..6e39e7031d 100644 --- a/src/dict/dict_star.cpp +++ b/src/dict/dict_star.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/dict_star8.cpp b/src/dict/dict_star8.cpp index c3317e3c9a..18fd40144a 100644 --- a/src/dict/dict_star8.cpp +++ b/src/dict/dict_star8.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/infix/infix_builder.cpp b/src/dict/infix/infix_builder.cpp index 7e75e5cdcd..4306a6a3fe 100644 --- a/src/dict/infix/infix_builder.cpp +++ b/src/dict/infix/infix_builder.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/infix/infix_builder.h b/src/dict/infix/infix_builder.h index 80f1f32277..03ab1e70a2 100644 --- a/src/dict/infix/infix_builder.h +++ b/src/dict/infix/infix_builder.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/template_dict_traits.cpp b/src/dict/template_dict_traits.cpp index b49c06587d..36b5b4e492 100644 --- a/src/dict/template_dict_traits.cpp +++ b/src/dict/template_dict_traits.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/template_dict_traits.h b/src/dict/template_dict_traits.h index ebee2c44bf..ec67109bf0 100644 --- a/src/dict/template_dict_traits.h +++ b/src/dict/template_dict_traits.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/word_forms.cpp b/src/dict/word_forms.cpp index d84b448e3b..735a33076f 100644 --- a/src/dict/word_forms.cpp +++ b/src/dict/word_forms.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/dict/word_forms.h b/src/dict/word_forms.h index 2d0951436a..394015ae87 100644 --- a/src/dict/word_forms.h +++ b/src/dict/word_forms.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/digest_sha1.cpp b/src/digest_sha1.cpp index 45996a1ce1..71cc179582 100644 --- a/src/digest_sha1.cpp +++ b/src/digest_sha1.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/digest_sha1.h b/src/digest_sha1.h index 867619b52f..68f061b06d 100644 --- a/src/digest_sha1.h +++ b/src/digest_sha1.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/distinct.cpp b/src/distinct.cpp index 0c91024498..09507c977a 100644 --- a/src/distinct.cpp +++ b/src/distinct.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/distinct.h b/src/distinct.h index b1c9504e60..0f2f03e076 100644 --- a/src/distinct.h +++ b/src/distinct.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/docidlookup.cpp b/src/docidlookup.cpp index b2da761606..e85d774d32 100644 --- a/src/docidlookup.cpp +++ b/src/docidlookup.cpp @@ -1,6 +1,6 @@ // // -// Copyright (c) 2018-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2018-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/docidlookup.h b/src/docidlookup.h index 0657e62b30..ba3edb108e 100644 --- a/src/docidlookup.h +++ b/src/docidlookup.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2018-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2018-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/docs_collector.cpp b/src/docs_collector.cpp index 0c7a2589a5..f6bf441b78 100644 --- a/src/docs_collector.cpp +++ b/src/docs_collector.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2008-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2008-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/docs_collector.h b/src/docs_collector.h index 400c0939ea..d052f28ebf 100644 --- a/src/docs_collector.h +++ b/src/docs_collector.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2008-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2008-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/docstore.cpp b/src/docstore.cpp index 19f88bea62..eb0929fcbb 100644 --- a/src/docstore.cpp +++ b/src/docstore.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/docstore.h b/src/docstore.h index 254cbd82c1..6050d999ff 100644 --- a/src/docstore.h +++ b/src/docstore.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/event.h b/src/event.h index 76e0446480..8168775b63 100644 --- a/src/event.h +++ b/src/event.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/exprdatetime.cpp b/src/exprdatetime.cpp index adae5fdcb1..1a1776cb40 100644 --- a/src/exprdatetime.cpp +++ b/src/exprdatetime.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/exprdatetime.h b/src/exprdatetime.h index ea7d9f96a6..efcff258a2 100644 --- a/src/exprdatetime.h +++ b/src/exprdatetime.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/exprdocstore.cpp b/src/exprdocstore.cpp index 66de3bc7c2..42ba94cc84 100644 --- a/src/exprdocstore.cpp +++ b/src/exprdocstore.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/exprdocstore.h b/src/exprdocstore.h index 6be7ba3a2d..cb98bd4638 100644 --- a/src/exprdocstore.h +++ b/src/exprdocstore.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/exprgeodist.cpp b/src/exprgeodist.cpp index dd9ccd016c..9d7b1f94d0 100644 --- a/src/exprgeodist.cpp +++ b/src/exprgeodist.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/exprgeodist.h b/src/exprgeodist.h index c54daccdc7..24d4b280d2 100644 --- a/src/exprgeodist.h +++ b/src/exprgeodist.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/exprremap.cpp b/src/exprremap.cpp index 80857d4aec..33af1d945b 100644 --- a/src/exprremap.cpp +++ b/src/exprremap.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/exprremap.h b/src/exprremap.h index 27fc244ebe..bdef919cef 100644 --- a/src/exprremap.h +++ b/src/exprremap.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/exprtraits.cpp b/src/exprtraits.cpp index 06700e3420..8bdae48203 100644 --- a/src/exprtraits.cpp +++ b/src/exprtraits.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/exprtraits.h b/src/exprtraits.h index 0835989db7..d52bfea0c4 100644 --- a/src/exprtraits.h +++ b/src/exprtraits.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/fileio.cpp b/src/fileio.cpp index 0b516d5bd1..2d329bddb8 100644 --- a/src/fileio.cpp +++ b/src/fileio.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/fileio.h b/src/fileio.h index 67abbdcd79..73a2fee97a 100644 --- a/src/fileio.h +++ b/src/fileio.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/fileutils.cpp b/src/fileutils.cpp index 1d89125dc3..729ea809ae 100644 --- a/src/fileutils.cpp +++ b/src/fileutils.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/fileutils.h b/src/fileutils.h index 530d5df5f7..9b9825031e 100644 --- a/src/fileutils.h +++ b/src/fileutils.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/frontendschema.cpp b/src/frontendschema.cpp index 7880589f9a..1856ac03d3 100644 --- a/src/frontendschema.cpp +++ b/src/frontendschema.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/gbenches/appendf.cpp b/src/gbenches/appendf.cpp index ab18e1d342..10eedfd596 100644 --- a/src/gbenches/appendf.cpp +++ b/src/gbenches/appendf.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/gbenches/expressions.cpp b/src/gbenches/expressions.cpp index 86bb995a40..9ee146d494 100644 --- a/src/gbenches/expressions.cpp +++ b/src/gbenches/expressions.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2022-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2022-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/gbenches/functions.cpp b/src/gbenches/functions.cpp index 634527839c..08e2bda1a3 100644 --- a/src/gbenches/functions.cpp +++ b/src/gbenches/functions.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/gbenches/geodist.cpp b/src/gbenches/geodist.cpp index db773c0ceb..9ab89fee4b 100644 --- a/src/gbenches/geodist.cpp +++ b/src/gbenches/geodist.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2022-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2022-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/gbenches/json.cpp b/src/gbenches/json.cpp index 3d36d867d8..0d8d8875dd 100644 --- a/src/gbenches/json.cpp +++ b/src/gbenches/json.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/gbenches/locators.cpp b/src/gbenches/locators.cpp index dea6e746cd..d363de75b1 100644 --- a/src/gbenches/locators.cpp +++ b/src/gbenches/locators.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/gbenches/misc.cpp b/src/gbenches/misc.cpp index 5698a4d763..bb1881217d 100644 --- a/src/gbenches/misc.cpp +++ b/src/gbenches/misc.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2022-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2022-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/gbenches/popcount.cpp b/src/gbenches/popcount.cpp index e41bb573bc..6eb1df53ea 100644 --- a/src/gbenches/popcount.cpp +++ b/src/gbenches/popcount.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/gbenches/stripper.cpp b/src/gbenches/stripper.cpp index 43399fe18e..037d181836 100644 --- a/src/gbenches/stripper.cpp +++ b/src/gbenches/stripper.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2022-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2022-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/gbenches/text.cpp b/src/gbenches/text.cpp index aa13a66913..8f2702c7df 100644 --- a/src/gbenches/text.cpp +++ b/src/gbenches/text.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/gbenches/tokenizer.cpp b/src/gbenches/tokenizer.cpp index 7df137eb64..72ffd0b796 100644 --- a/src/gbenches/tokenizer.cpp +++ b/src/gbenches/tokenizer.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2022-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2022-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/geodist.cpp b/src/geodist.cpp index 4662100326..8058237abb 100644 --- a/src/geodist.cpp +++ b/src/geodist.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/geodist.h b/src/geodist.h index 65a1ff00c9..f56fa085e9 100644 --- a/src/geodist.h +++ b/src/geodist.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/global_idf.cpp b/src/global_idf.cpp index 9144b80a0c..fb353c3f29 100644 --- a/src/global_idf.cpp +++ b/src/global_idf.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/global_idf.h b/src/global_idf.h index 4762605263..477099136d 100644 --- a/src/global_idf.h +++ b/src/global_idf.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/grouper.cpp b/src/grouper.cpp index 0ed000120f..61df24b0fc 100644 --- a/src/grouper.cpp +++ b/src/grouper.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/grouper.h b/src/grouper.h index 362367c6c2..e1be318072 100644 --- a/src/grouper.h +++ b/src/grouper.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/gtests/gtests_filter.cpp b/src/gtests/gtests_filter.cpp index 30e3aaf829..db6d4ab7cd 100644 --- a/src/gtests/gtests_filter.cpp +++ b/src/gtests/gtests_filter.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/gtests/gtests_functions.cpp b/src/gtests/gtests_functions.cpp index 21ecb2f464..186486608a 100644 --- a/src/gtests/gtests_functions.cpp +++ b/src/gtests/gtests_functions.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/gtests/gtests_globalstate.cpp b/src/gtests/gtests_globalstate.cpp index 78a0c46a9d..75c79177a6 100644 --- a/src/gtests/gtests_globalstate.cpp +++ b/src/gtests/gtests_globalstate.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/gtests/gtests_json.cpp b/src/gtests/gtests_json.cpp index 4fc1cb377f..d02d177cf7 100644 --- a/src/gtests/gtests_json.cpp +++ b/src/gtests/gtests_json.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/gtests/gtests_pqstuff.cpp b/src/gtests/gtests_pqstuff.cpp index ace4793b5d..f1d8872f59 100644 --- a/src/gtests/gtests_pqstuff.cpp +++ b/src/gtests/gtests_pqstuff.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/gtests/gtests_rtstuff.cpp b/src/gtests/gtests_rtstuff.cpp index c952a6035d..c5c3083cab 100644 --- a/src/gtests/gtests_rtstuff.cpp +++ b/src/gtests/gtests_rtstuff.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/gtests/gtests_searchd.cpp b/src/gtests/gtests_searchd.cpp index 1e3ddd967d..6a6784845d 100644 --- a/src/gtests/gtests_searchd.cpp +++ b/src/gtests/gtests_searchd.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/gtests/gtests_searchdaemon.cpp b/src/gtests/gtests_searchdaemon.cpp index c57b0c98ed..8b419a4e37 100644 --- a/src/gtests/gtests_searchdaemon.cpp +++ b/src/gtests/gtests_searchdaemon.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/gtests/gtests_strfmt.cpp b/src/gtests/gtests_strfmt.cpp index 0c428b6a80..01fe918250 100644 --- a/src/gtests/gtests_strfmt.cpp +++ b/src/gtests/gtests_strfmt.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2022-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2022-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/gtests/gtests_stringbuilder.cpp b/src/gtests/gtests_stringbuilder.cpp index 48f1ac9c99..94a8d9ac14 100644 --- a/src/gtests/gtests_stringbuilder.cpp +++ b/src/gtests/gtests_stringbuilder.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2022-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2022-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/gtests/gtests_text.cpp b/src/gtests/gtests_text.cpp index 3cb55f1d52..e557f82745 100644 --- a/src/gtests/gtests_text.cpp +++ b/src/gtests/gtests_text.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/gtests/gtests_threadstuff.cpp b/src/gtests/gtests_threadstuff.cpp index eb4f0bd090..e468ca907b 100644 --- a/src/gtests/gtests_threadstuff.cpp +++ b/src/gtests/gtests_threadstuff.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/gtests/gtests_tokenizer.cpp b/src/gtests/gtests_tokenizer.cpp index 3ddaaee401..6de86e758f 100644 --- a/src/gtests/gtests_tokenizer.cpp +++ b/src/gtests/gtests_tokenizer.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/gtests/gtests_wsrep.cpp b/src/gtests/gtests_wsrep.cpp index 80d4ec091c..9abba33a05 100644 --- a/src/gtests/gtests_wsrep.cpp +++ b/src/gtests/gtests_wsrep.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2023-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2023-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/hazard_pointer.cpp b/src/hazard_pointer.cpp index 68fd528109..a2ad9bdd57 100644 --- a/src/hazard_pointer.cpp +++ b/src/hazard_pointer.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/hazard_pointer.h b/src/hazard_pointer.h index 118f269626..58270166a8 100644 --- a/src/hazard_pointer.h +++ b/src/hazard_pointer.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/histogram.cpp b/src/histogram.cpp index c5f12d67ab..9f1864f7ad 100644 --- a/src/histogram.cpp +++ b/src/histogram.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2018-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2018-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/histogram.h b/src/histogram.h index ac0c68d7d3..c6c5ba8289 100644 --- a/src/histogram.h +++ b/src/histogram.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2018-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2018-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/hyperloglog.cpp b/src/hyperloglog.cpp index 58a8414a20..f4fd62718c 100644 --- a/src/hyperloglog.cpp +++ b/src/hyperloglog.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2023-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2023-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/hyperloglog.h b/src/hyperloglog.h index d242672c9c..2a44da757e 100644 --- a/src/hyperloglog.h +++ b/src/hyperloglog.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2023-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2023-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/icu.cpp b/src/icu.cpp index 02817223f6..6b9f0dcda3 100644 --- a/src/icu.cpp +++ b/src/icu.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/icu.h b/src/icu.h index c0fe34dcd8..7cd159ae31 100644 --- a/src/icu.h +++ b/src/icu.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/index_converter.cpp b/src/index_converter.cpp index b95068c904..9658df8b4e 100644 --- a/src/index_converter.cpp +++ b/src/index_converter.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2018-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2018-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/index_rotator.cpp b/src/index_rotator.cpp index f214341068..b28775980a 100644 --- a/src/index_rotator.cpp +++ b/src/index_rotator.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2022-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2022-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/index_rotator.h b/src/index_rotator.h index 0078bccf1b..98b8ddfd98 100644 --- a/src/index_rotator.h +++ b/src/index_rotator.h @@ -1,4 +1,4 @@ -// Copyright (c) 2022-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2022-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexcheck.cpp b/src/indexcheck.cpp index 515701fc87..11340af3d9 100644 --- a/src/indexcheck.cpp +++ b/src/indexcheck.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexcheck.h b/src/indexcheck.h index 8dbbd9e61d..df97e7b6c4 100644 --- a/src/indexcheck.h +++ b/src/indexcheck.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexer.cpp b/src/indexer.cpp index fc5954d145..09f64af96c 100644 --- a/src/indexer.cpp +++ b/src/indexer.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexfilebase.cpp b/src/indexfilebase.cpp index f894e7702f..5ae9f2ca37 100644 --- a/src/indexfilebase.cpp +++ b/src/indexfilebase.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexfilebase.h b/src/indexfilebase.h index bd61d6bb57..69e0cf1495 100644 --- a/src/indexfilebase.h +++ b/src/indexfilebase.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexfiles.cpp b/src/indexfiles.cpp index 828c1d9e46..e77fcaf017 100644 --- a/src/indexfiles.cpp +++ b/src/indexfiles.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexfiles.h b/src/indexfiles.h index 4d70b94221..8e22311852 100644 --- a/src/indexfiles.h +++ b/src/indexfiles.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexformat.cpp b/src/indexformat.cpp index f727119396..d88ae2e5c5 100644 --- a/src/indexformat.cpp +++ b/src/indexformat.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexformat.h b/src/indexformat.h index 0b2b248af7..693ab58ed2 100644 --- a/src/indexformat.h +++ b/src/indexformat.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexing_sources/schema_configurator.h b/src/indexing_sources/schema_configurator.h index 1a771a1d13..1f8c832f43 100644 --- a/src/indexing_sources/schema_configurator.h +++ b/src/indexing_sources/schema_configurator.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexing_sources/source_document.cpp b/src/indexing_sources/source_document.cpp index 7d232ce4db..722e87f0c8 100644 --- a/src/indexing_sources/source_document.cpp +++ b/src/indexing_sources/source_document.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexing_sources/source_document.h b/src/indexing_sources/source_document.h index 03485325a9..59450471bd 100644 --- a/src/indexing_sources/source_document.h +++ b/src/indexing_sources/source_document.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexing_sources/source_mysql.cpp b/src/indexing_sources/source_mysql.cpp index 69f4508ddd..962860cca1 100644 --- a/src/indexing_sources/source_mysql.cpp +++ b/src/indexing_sources/source_mysql.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexing_sources/source_mysql.h b/src/indexing_sources/source_mysql.h index f2a13416ec..93af49d6ab 100644 --- a/src/indexing_sources/source_mysql.h +++ b/src/indexing_sources/source_mysql.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexing_sources/source_odbc.cpp b/src/indexing_sources/source_odbc.cpp index 3982c854a3..8f9cfd048f 100644 --- a/src/indexing_sources/source_odbc.cpp +++ b/src/indexing_sources/source_odbc.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexing_sources/source_odbc.h b/src/indexing_sources/source_odbc.h index 65fc8b71ec..7ad43eb58b 100644 --- a/src/indexing_sources/source_odbc.h +++ b/src/indexing_sources/source_odbc.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexing_sources/source_pgsql.cpp b/src/indexing_sources/source_pgsql.cpp index f3c1082b31..635be56021 100644 --- a/src/indexing_sources/source_pgsql.cpp +++ b/src/indexing_sources/source_pgsql.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexing_sources/source_pgsql.h b/src/indexing_sources/source_pgsql.h index 451bc38e68..6d203f39ad 100644 --- a/src/indexing_sources/source_pgsql.h +++ b/src/indexing_sources/source_pgsql.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexing_sources/source_sql.cpp b/src/indexing_sources/source_sql.cpp index 38aea5e405..a5d3c6b7aa 100644 --- a/src/indexing_sources/source_sql.cpp +++ b/src/indexing_sources/source_sql.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexing_sources/source_sql.h b/src/indexing_sources/source_sql.h index 9be11708a5..5ead91dc37 100644 --- a/src/indexing_sources/source_sql.h +++ b/src/indexing_sources/source_sql.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexing_sources/source_stats.h b/src/indexing_sources/source_stats.h index 85bdfeded6..7c116cf0dd 100644 --- a/src/indexing_sources/source_stats.h +++ b/src/indexing_sources/source_stats.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexing_sources/source_svpipe.cpp b/src/indexing_sources/source_svpipe.cpp index 0715f01274..13a873941c 100644 --- a/src/indexing_sources/source_svpipe.cpp +++ b/src/indexing_sources/source_svpipe.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexing_sources/source_svpipe.h b/src/indexing_sources/source_svpipe.h index 5016217663..46b19c85a9 100644 --- a/src/indexing_sources/source_svpipe.h +++ b/src/indexing_sources/source_svpipe.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexing_sources/source_xmlpipe2.cpp b/src/indexing_sources/source_xmlpipe2.cpp index a2027e7498..244b659c60 100644 --- a/src/indexing_sources/source_xmlpipe2.cpp +++ b/src/indexing_sources/source_xmlpipe2.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexing_sources/source_xmlpipe2.h b/src/indexing_sources/source_xmlpipe2.h index e96e129240..cabfa7cffe 100644 --- a/src/indexing_sources/source_xmlpipe2.h +++ b/src/indexing_sources/source_xmlpipe2.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexsettings.cpp b/src/indexsettings.cpp index 3a4a65d6c2..1d814f0c44 100644 --- a/src/indexsettings.cpp +++ b/src/indexsettings.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indexsettings.h b/src/indexsettings.h index 42cd88caaa..2cbb3fdec8 100644 --- a/src/indexsettings.h +++ b/src/indexsettings.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/indextool.cpp b/src/indextool.cpp index e803c2e8e9..9c4689784d 100644 --- a/src/indextool.cpp +++ b/src/indextool.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/jieba.cpp b/src/jieba.cpp index 864bd0de63..63daa8982a 100644 --- a/src/jieba.cpp +++ b/src/jieba.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/jieba.h b/src/jieba.h index 56eb782492..b3e60c2af2 100644 --- a/src/jieba.h +++ b/src/jieba.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2024-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/joinsorter.cpp b/src/joinsorter.cpp index cdeb203c41..67112617bc 100644 --- a/src/joinsorter.cpp +++ b/src/joinsorter.cpp @@ -1,6 +1,6 @@ // // -// Copyright (c) 2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2024-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/joinsorter.h b/src/joinsorter.h index d3b82dc158..6348f15461 100644 --- a/src/joinsorter.h +++ b/src/joinsorter.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2024-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/jsonqueryfilter.cpp b/src/jsonqueryfilter.cpp index 1cc8a06a53..56031ed9f5 100644 --- a/src/jsonqueryfilter.cpp +++ b/src/jsonqueryfilter.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/jsonqueryfilter.h b/src/jsonqueryfilter.h index 3efbd13bf7..a9e140ec2d 100644 --- a/src/jsonqueryfilter.h +++ b/src/jsonqueryfilter.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/jsonsi.cpp b/src/jsonsi.cpp index 94375980e3..3417f170d0 100644 --- a/src/jsonsi.cpp +++ b/src/jsonsi.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2024-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/jsonsi.h b/src/jsonsi.h index f3064fcc79..be8b312275 100644 --- a/src/jsonsi.h +++ b/src/jsonsi.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2024-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/killlist.cpp b/src/killlist.cpp index 36fe40753b..ef552d978b 100644 --- a/src/killlist.cpp +++ b/src/killlist.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2018-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2018-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/killlist.h b/src/killlist.h index 2ea439366b..2552dc3986 100644 --- a/src/killlist.h +++ b/src/killlist.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2018-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2018-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/knnlib.cpp b/src/knnlib.cpp index fb2b2b3a16..ee3cd6f4e9 100644 --- a/src/knnlib.cpp +++ b/src/knnlib.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2020-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2020-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/knnlib.h b/src/knnlib.h index 3e175f2099..5db968f37c 100644 --- a/src/knnlib.h +++ b/src/knnlib.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2020-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2020-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/knnmisc.cpp b/src/knnmisc.cpp index 58d70dcbda..8acf39dd3e 100644 --- a/src/knnmisc.cpp +++ b/src/knnmisc.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2023-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2023-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify @@ -375,7 +375,7 @@ bool ParseKNNConfigStr ( const CSphString & sStr, CSphVector } -std::unique_ptr BuildCreateKNN ( const ISphSchema & tSchema, int64_t iNumElements, CSphVector & dAttrs, CSphString & sError ) +std::unique_ptr BuildCreateKNN ( const ISphSchema & tSchema, int64_t iNumElements, CSphVector> & dAttrs, CSphString & sError ) { std::unique_ptr pBuilder = CreateKNNBuilder ( tSchema, iNumElements, sError ); if ( !pBuilder ) @@ -386,7 +386,7 @@ std::unique_ptr BuildCreateKNN ( const ISphSchema & tSchema, int { const CSphColumnInfo & tAttr = tSchema.GetAttr(i); if ( tAttr.IsIndexedKNN() ) - dAttrs.Add ( PlainOrColumnar_t ( tAttr, iColumnar ) ); + dAttrs.Add ( { PlainOrColumnar_t ( tAttr, iColumnar ), i } ); if ( tAttr.IsColumnar() ) iColumnar++; @@ -399,18 +399,15 @@ std::unique_ptr BuildCreateKNN ( const ISphSchema & tSchema, int template static bool BuildProcessKNN ( RowID_t tRowID, const CSphRowitem * pRow, const BYTE * pPool, CSphVector & dIterators, const CSphVector & dAttrs, ACTION && fnAction ) { - int iKNNAttrIndex = 0; - for ( auto & i : dAttrs ) + ARRAY_FOREACH ( i, dAttrs ) { - assert ( i.m_eType==SPH_ATTR_FLOAT_VECTOR ); + assert ( dAttrs[i].m_eType==SPH_ATTR_FLOAT_VECTOR ); const BYTE * pSrc = nullptr; - int iBytes = i.Get ( tRowID, pRow, pPool, dIterators, pSrc ); + int iBytes = dAttrs[i].Get ( tRowID, pRow, pPool, dIterators, pSrc ); int iValues = iBytes / sizeof(float); - if ( !fnAction ( iKNNAttrIndex, { (float*)pSrc, (size_t)iValues } ) ) + if ( !fnAction ( i, { (float*)pSrc, (size_t)iValues } ) ) return false; - - iKNNAttrIndex++; } return true; diff --git a/src/knnmisc.h b/src/knnmisc.h index 6985e5f2e8..d753d9bd18 100644 --- a/src/knnmisc.h +++ b/src/knnmisc.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2023-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2023-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify @@ -29,7 +29,7 @@ bool ParseKNNConfigStr ( const CSphString & sStr, CSphVector BuildCreateKNN ( const ISphSchema & tSchema, int64_t iNumElements, CSphVector & dAttrs, CSphString & sError ); +std::unique_ptr BuildCreateKNN ( const ISphSchema & tSchema, int64_t iNumElements, CSphVector> & dAttrs, CSphString & sError ); void BuildTrainKNN ( RowID_t tRowID, const CSphRowitem * pRow, const BYTE * pPool, CSphVector & dIterators, const CSphVector & dAttrs, knn::Builder_i & tBuilder ); bool BuildStoreKNN ( RowID_t tRowID, const CSphRowitem * pRow, const BYTE * pPool, CSphVector & dIterators, const CSphVector & dAttrs, knn::Builder_i & tBuilder ); std::pair CreateKNNIterator ( knn::KNN_i * pKNN, const CSphQuery & tQuery, const ISphSchema & tIndexSchema, const ISphSchema & tSorterSchema, CSphString & sError ); diff --git a/src/libutils.cpp b/src/libutils.cpp index f4ec1a327e..2e571d6b14 100644 --- a/src/libutils.cpp +++ b/src/libutils.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/libutils.h b/src/libutils.h index 2a9556b644..25a5739b6a 100644 --- a/src/libutils.h +++ b/src/libutils.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/literal.h.in b/src/literal.h.in index 9fecca6a44..e7bbc34998 100644 --- a/src/literal.h.in +++ b/src/literal.h.in @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/loop_profiler.h b/src/loop_profiler.h index 14f0144f23..914e6a9bc9 100644 --- a/src/loop_profiler.h +++ b/src/loop_profiler.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/match.h b/src/match.h index 3a06eb1839..8d52ef0599 100644 --- a/src/match.h +++ b/src/match.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/match_impl.h b/src/match_impl.h index 72a34e5562..54a819a5e4 100644 --- a/src/match_impl.h +++ b/src/match_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/memio.cpp b/src/memio.cpp index 06cba7fbd9..1ad7b00bdb 100644 --- a/src/memio.cpp +++ b/src/memio.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/memio.h b/src/memio.h index 2c9f34885d..dbde27c540 100644 --- a/src/memio.h +++ b/src/memio.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/memio_impl.h b/src/memio_impl.h index d6a31d3927..0617ea22ff 100644 --- a/src/memio_impl.h +++ b/src/memio_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/mini_timer.cpp b/src/mini_timer.cpp index 271cf1347b..275420f8e8 100644 --- a/src/mini_timer.cpp +++ b/src/mini_timer.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/mini_timer.h b/src/mini_timer.h index f18604c20b..85dc5b8f97 100644 --- a/src/mini_timer.h +++ b/src/mini_timer.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/net_action_accept.cpp b/src/net_action_accept.cpp index 2238370ccb..828a1333f9 100644 --- a/src/net_action_accept.cpp +++ b/src/net_action_accept.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/net_action_accept.h b/src/net_action_accept.h index ae868b9286..1f6ea5d4b6 100644 --- a/src/net_action_accept.h +++ b/src/net_action_accept.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/netfetch.cpp b/src/netfetch.cpp index 3bf3b61465..22293b0030 100644 --- a/src/netfetch.cpp +++ b/src/netfetch.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2022-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2022-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/netfetch.h b/src/netfetch.h index 8e3165ee38..75d8806616 100644 --- a/src/netfetch.h +++ b/src/netfetch.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2022-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2022-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/netpoll.cpp b/src/netpoll.cpp index 603de73b27..d263c7ba70 100644 --- a/src/netpoll.cpp +++ b/src/netpoll.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/netpoll.h b/src/netpoll.h index 3b927c7341..93683a3611 100644 --- a/src/netpoll.h +++ b/src/netpoll.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/netreceive_api.cpp b/src/netreceive_api.cpp index b0a4c95361..71cb489e3b 100644 --- a/src/netreceive_api.cpp +++ b/src/netreceive_api.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/netreceive_api.h b/src/netreceive_api.h index feee6c79a2..7e55cdd243 100644 --- a/src/netreceive_api.h +++ b/src/netreceive_api.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/netreceive_http.cpp b/src/netreceive_http.cpp index 37002f52cc..8d1e3320fe 100644 --- a/src/netreceive_http.cpp +++ b/src/netreceive_http.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/netreceive_http.h b/src/netreceive_http.h index ac6bdc0bb9..cb7aa0dc10 100644 --- a/src/netreceive_http.h +++ b/src/netreceive_http.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/netreceive_ql.cpp b/src/netreceive_ql.cpp index 594d6e0670..99b8ba4213 100644 --- a/src/netreceive_ql.cpp +++ b/src/netreceive_ql.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/netreceive_ql.h b/src/netreceive_ql.h index aa40f8f89e..6a62fa895a 100644 --- a/src/netreceive_ql.h +++ b/src/netreceive_ql.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/networking_daemon.cpp b/src/networking_daemon.cpp index f49d7d6dc0..45ed7bb5e9 100644 --- a/src/networking_daemon.cpp +++ b/src/networking_daemon.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/networking_daemon.h b/src/networking_daemon.h index 6168a6bb90..ff80fb788f 100644 --- a/src/networking_daemon.h +++ b/src/networking_daemon.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/pollable_event.cpp b/src/pollable_event.cpp index 4a988f4a7a..78b3484fd1 100644 --- a/src/pollable_event.cpp +++ b/src/pollable_event.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/pollable_event.h b/src/pollable_event.h index 886397287d..f716b9ba92 100644 --- a/src/pollable_event.h +++ b/src/pollable_event.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/pseudosharding.cpp b/src/pseudosharding.cpp index 1a36398c45..78b7a35540 100644 --- a/src/pseudosharding.cpp +++ b/src/pseudosharding.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2011-2016, Andrew Aksyonoff // Copyright (c) 2011-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/pseudosharding.h b/src/pseudosharding.h index 83b26bd666..64b98a76ed 100644 --- a/src/pseudosharding.h +++ b/src/pseudosharding.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/query_status.cpp b/src/query_status.cpp index db5594012f..8ac5989c10 100644 --- a/src/query_status.cpp +++ b/src/query_status.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/query_status.h b/src/query_status.h index 0ab3e19efe..dbcc8cf9d7 100644 --- a/src/query_status.h +++ b/src/query_status.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/querycontext.cpp b/src/querycontext.cpp index c10c675c2f..cf0e08abd0 100644 --- a/src/querycontext.cpp +++ b/src/querycontext.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/querycontext.h b/src/querycontext.h index 703a65d5a1..96a6f19925 100644 --- a/src/querycontext.h +++ b/src/querycontext.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/queryfilter.cpp b/src/queryfilter.cpp index 6c309ce839..b7402b9d8e 100644 --- a/src/queryfilter.cpp +++ b/src/queryfilter.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/queryfilter.h b/src/queryfilter.h index cd740beeb9..baed82ee8a 100644 --- a/src/queryfilter.h +++ b/src/queryfilter.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/queryprofile.cpp b/src/queryprofile.cpp index 4589d604eb..626e773cd0 100644 --- a/src/queryprofile.cpp +++ b/src/queryprofile.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/queryprofile.h b/src/queryprofile.h index 05540fd3a3..68f717b952 100644 --- a/src/queryprofile.h +++ b/src/queryprofile.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/queuecreator.cpp b/src/queuecreator.cpp index 027225cffe..82cb28c792 100644 --- a/src/queuecreator.cpp +++ b/src/queuecreator.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/queuecreator.h b/src/queuecreator.h index a2cb542f2c..e7c156da34 100644 --- a/src/queuecreator.h +++ b/src/queuecreator.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/api_command_cluster.cpp b/src/replication/api_command_cluster.cpp index 0ac1482315..65647db1b0 100644 --- a/src/replication/api_command_cluster.cpp +++ b/src/replication/api_command_cluster.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/api_command_cluster.h b/src/replication/api_command_cluster.h index 3150b73dc3..345e88dabd 100644 --- a/src/replication/api_command_cluster.h +++ b/src/replication/api_command_cluster.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/replication/cluster_commands.h b/src/replication/cluster_commands.h index ddd87ca6aa..1ac3c47e9b 100644 --- a/src/replication/cluster_commands.h +++ b/src/replication/cluster_commands.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2023-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2023-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/cluster_delete.cpp b/src/replication/cluster_delete.cpp index 5af7adaf6f..91c3abb105 100644 --- a/src/replication/cluster_delete.cpp +++ b/src/replication/cluster_delete.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/cluster_delete.h b/src/replication/cluster_delete.h index 113bc454be..d8cbaba78c 100644 --- a/src/replication/cluster_delete.h +++ b/src/replication/cluster_delete.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/cluster_file_reserve.cpp b/src/replication/cluster_file_reserve.cpp index b0cad63fb5..abc2172e61 100644 --- a/src/replication/cluster_file_reserve.cpp +++ b/src/replication/cluster_file_reserve.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/cluster_file_reserve.h b/src/replication/cluster_file_reserve.h index 555d2eaf47..ba6de161ad 100644 --- a/src/replication/cluster_file_reserve.h +++ b/src/replication/cluster_file_reserve.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/replication/cluster_file_send.cpp b/src/replication/cluster_file_send.cpp index 6edd8f63c8..dc9a025ced 100644 --- a/src/replication/cluster_file_send.cpp +++ b/src/replication/cluster_file_send.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/replication/cluster_file_send.h b/src/replication/cluster_file_send.h index 536367c6a5..d0a84850c2 100644 --- a/src/replication/cluster_file_send.h +++ b/src/replication/cluster_file_send.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/cluster_get_nodes.cpp b/src/replication/cluster_get_nodes.cpp index 6bc4710be7..cb55f83f44 100644 --- a/src/replication/cluster_get_nodes.cpp +++ b/src/replication/cluster_get_nodes.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/cluster_get_nodes.h b/src/replication/cluster_get_nodes.h index 420e6724d1..05d6d865ab 100644 --- a/src/replication/cluster_get_nodes.h +++ b/src/replication/cluster_get_nodes.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/replication/cluster_index_add_local.cpp b/src/replication/cluster_index_add_local.cpp index 06e4f03a74..525bf5ec00 100644 --- a/src/replication/cluster_index_add_local.cpp +++ b/src/replication/cluster_index_add_local.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/replication/cluster_index_add_local.h b/src/replication/cluster_index_add_local.h index b5ce9a7e10..1f6b8689a7 100644 --- a/src/replication/cluster_index_add_local.h +++ b/src/replication/cluster_index_add_local.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/cluster_synced.cpp b/src/replication/cluster_synced.cpp index 6869d57825..415180ba75 100644 --- a/src/replication/cluster_synced.cpp +++ b/src/replication/cluster_synced.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/cluster_synced.h b/src/replication/cluster_synced.h index 0fe9b649e9..31876cf657 100644 --- a/src/replication/cluster_synced.h +++ b/src/replication/cluster_synced.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/cluster_update_nodes.cpp b/src/replication/cluster_update_nodes.cpp index 44c8335d23..8b53488e74 100644 --- a/src/replication/cluster_update_nodes.cpp +++ b/src/replication/cluster_update_nodes.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/cluster_update_nodes.h b/src/replication/cluster_update_nodes.h index 1baa7f0470..45b24c835f 100644 --- a/src/replication/cluster_update_nodes.h +++ b/src/replication/cluster_update_nodes.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/replication/commit_monitor.cpp b/src/replication/commit_monitor.cpp index 685f69b9cc..480d0ed748 100644 --- a/src/replication/commit_monitor.cpp +++ b/src/replication/commit_monitor.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/commit_monitor.h b/src/replication/commit_monitor.h index 9de0e0b70e..da42df2346 100644 --- a/src/replication/commit_monitor.h +++ b/src/replication/commit_monitor.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/common.h b/src/replication/common.h index 55ee310427..1665f0e6ce 100644 --- a/src/replication/common.h +++ b/src/replication/common.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/replication/configuration.cpp b/src/replication/configuration.cpp index 75e54bde3d..74aec9770e 100644 --- a/src/replication/configuration.cpp +++ b/src/replication/configuration.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/configuration.h b/src/replication/configuration.h index 0d0f6f0f14..7c589af78d 100644 --- a/src/replication/configuration.h +++ b/src/replication/configuration.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/grastate.cpp b/src/replication/grastate.cpp index 5b4e40677a..15e4b4039a 100644 --- a/src/replication/grastate.cpp +++ b/src/replication/grastate.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/replication/grastate.h b/src/replication/grastate.h index 1b44e0981e..1e3610d6fb 100644 --- a/src/replication/grastate.h +++ b/src/replication/grastate.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/replication/nodes.cpp b/src/replication/nodes.cpp index 76c8333d8a..8ba9e8c2ff 100644 --- a/src/replication/nodes.cpp +++ b/src/replication/nodes.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/nodes.h b/src/replication/nodes.h index 0d17390641..b220e0e22f 100644 --- a/src/replication/nodes.h +++ b/src/replication/nodes.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (http://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/replication/portrange.cpp b/src/replication/portrange.cpp index c25ead62db..7c63580929 100644 --- a/src/replication/portrange.cpp +++ b/src/replication/portrange.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/portrange.h b/src/replication/portrange.h index a62bd8f636..5a7e7e4d04 100644 --- a/src/replication/portrange.h +++ b/src/replication/portrange.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/receiver_ctx.cpp b/src/replication/receiver_ctx.cpp index ca2352a342..9b8917bb2b 100644 --- a/src/replication/receiver_ctx.cpp +++ b/src/replication/receiver_ctx.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/receiver_ctx.h b/src/replication/receiver_ctx.h index ada0a1e029..479e705029 100644 --- a/src/replication/receiver_ctx.h +++ b/src/replication/receiver_ctx.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/replication/recv_state.cpp b/src/replication/recv_state.cpp index b4449c510b..3784817ea1 100644 --- a/src/replication/recv_state.cpp +++ b/src/replication/recv_state.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2023-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2023-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/recv_state.h b/src/replication/recv_state.h index ed3f62a0b8..b104d707eb 100644 --- a/src/replication/recv_state.h +++ b/src/replication/recv_state.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2023-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2023-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/replicate_index.cpp b/src/replication/replicate_index.cpp index 2e917111fb..94f12be57a 100644 --- a/src/replication/replicate_index.cpp +++ b/src/replication/replicate_index.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (http://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/replication/replicate_index.h b/src/replication/replicate_index.h index 2100018b9c..20dd5e30a1 100644 --- a/src/replication/replicate_index.h +++ b/src/replication/replicate_index.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (http://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/replication/send_files.cpp b/src/replication/send_files.cpp index d2b4ad0e7a..5dbbedfdf9 100644 --- a/src/replication/send_files.cpp +++ b/src/replication/send_files.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2023-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2023-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/send_files.h b/src/replication/send_files.h index d72e4a29f5..3da374ab9e 100644 --- a/src/replication/send_files.h +++ b/src/replication/send_files.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2023-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2023-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/serialize.cpp b/src/replication/serialize.cpp index 99e5ed8c4a..f76283e9a5 100644 --- a/src/replication/serialize.cpp +++ b/src/replication/serialize.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/serialize.h b/src/replication/serialize.h index 1e904c4c88..ef1c9d5e2f 100644 --- a/src/replication/serialize.h +++ b/src/replication/serialize.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/wsrep_cxx.cpp b/src/replication/wsrep_cxx.cpp index b5081f3c6f..2a51b2e6ed 100644 --- a/src/replication/wsrep_cxx.cpp +++ b/src/replication/wsrep_cxx.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/replication/wsrep_cxx.h b/src/replication/wsrep_cxx.h index c48b18bcc0..14740353e8 100644 --- a/src/replication/wsrep_cxx.h +++ b/src/replication/wsrep_cxx.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/replication/wsrep_cxx_int.h b/src/replication/wsrep_cxx_int.h index 117dbf3b8d..f636d439d4 100644 --- a/src/replication/wsrep_cxx_int.h +++ b/src/replication/wsrep_cxx_int.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2024-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/replication/wsrep_v25.cpp b/src/replication/wsrep_v25.cpp index e545c527d7..f64c8b8f3e 100644 --- a/src/replication/wsrep_v25.cpp +++ b/src/replication/wsrep_v25.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2024-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/replication/wsrep_v31.cpp b/src/replication/wsrep_v31.cpp index d7533ac81a..d26a55accc 100644 --- a/src/replication/wsrep_v31.cpp +++ b/src/replication/wsrep_v31.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2024-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/schema/columninfo.cpp b/src/schema/columninfo.cpp index f5a1f720ee..1b9e297205 100644 --- a/src/schema/columninfo.cpp +++ b/src/schema/columninfo.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/schema/columninfo.h b/src/schema/columninfo.h index 14fea3d281..2b44824e33 100644 --- a/src/schema/columninfo.h +++ b/src/schema/columninfo.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/schema/helper.cpp b/src/schema/helper.cpp index 495584f74a..3e4c7f1068 100644 --- a/src/schema/helper.cpp +++ b/src/schema/helper.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/schema/helper.h b/src/schema/helper.h index 5ebab8ef4d..6090eae8a5 100644 --- a/src/schema/helper.h +++ b/src/schema/helper.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/schema/ischema.h b/src/schema/ischema.h index b8aa207129..fcee4f7f1a 100644 --- a/src/schema/ischema.h +++ b/src/schema/ischema.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/schema/locator.h b/src/schema/locator.h index 327944d1cc..a62524d45f 100644 --- a/src/schema/locator.h +++ b/src/schema/locator.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/schema/locator_impl.h b/src/schema/locator_impl.h index edce2147b6..8bcc870233 100644 --- a/src/schema/locator_impl.h +++ b/src/schema/locator_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/schema/rset.cpp b/src/schema/rset.cpp index f5c335a7c9..6c98f3c34f 100644 --- a/src/schema/rset.cpp +++ b/src/schema/rset.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/schema/rset.h b/src/schema/rset.h index 353e4b59a7..bfae0e194a 100644 --- a/src/schema/rset.h +++ b/src/schema/rset.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/schema/schema.cpp b/src/schema/schema.cpp index b029333079..1e60c418b5 100644 --- a/src/schema/schema.cpp +++ b/src/schema/schema.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/schema/schema.h b/src/schema/schema.h index dfe656c201..ce3e3c481b 100644 --- a/src/schema/schema.h +++ b/src/schema/schema.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/schematransform.cpp b/src/schematransform.cpp index e10f79ef97..c6795fe412 100644 --- a/src/schematransform.cpp +++ b/src/schematransform.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/schematransform.h b/src/schematransform.h index 5bb8c2d835..051e804fd3 100644 --- a/src/schematransform.h +++ b/src/schematransform.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/searchd.cpp b/src/searchd.cpp index d827e1a493..9402312918 100644 --- a/src/searchd.cpp +++ b/src/searchd.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/searchdaemon.cpp b/src/searchdaemon.cpp index f023b2984f..03c87ba18b 100644 --- a/src/searchdaemon.cpp +++ b/src/searchdaemon.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/searchdaemon.h b/src/searchdaemon.h index e6e8f2ebbe..44981a01e4 100644 --- a/src/searchdaemon.h +++ b/src/searchdaemon.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/searchdbuddy.cpp b/src/searchdbuddy.cpp index 36f030edc7..cb4cc3ba53 100644 --- a/src/searchdbuddy.cpp +++ b/src/searchdbuddy.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/searchdbuddy.h b/src/searchdbuddy.h index 06583667f0..b9b055f248 100644 --- a/src/searchdbuddy.h +++ b/src/searchdbuddy.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/searchdconfig.cpp b/src/searchdconfig.cpp index fd579ba10b..b4d36cdd7b 100644 --- a/src/searchdconfig.cpp +++ b/src/searchdconfig.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/searchdconfig.h b/src/searchdconfig.h index 2067400c37..1f8a502303 100644 --- a/src/searchdconfig.h +++ b/src/searchdconfig.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/searchdddl.cpp b/src/searchdddl.cpp index e538bb1a97..f1bf31edef 100644 --- a/src/searchdddl.cpp +++ b/src/searchdddl.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/searchdddl.h b/src/searchdddl.h index e4d0ed8c0e..6c261fd4cb 100644 --- a/src/searchdddl.h +++ b/src/searchdddl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/searchdexpr.cpp b/src/searchdexpr.cpp index e186ad5c27..97a059f255 100644 --- a/src/searchdexpr.cpp +++ b/src/searchdexpr.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/searchdexpr.h b/src/searchdexpr.h index 1219ec5827..76c694a4ae 100644 --- a/src/searchdexpr.h +++ b/src/searchdexpr.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/searchdfields.cpp b/src/searchdfields.cpp index 33718310bb..14896d1c0b 100644 --- a/src/searchdfields.cpp +++ b/src/searchdfields.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/searchdha.cpp b/src/searchdha.cpp index 5344b046ee..6fbd11e27d 100644 --- a/src/searchdha.cpp +++ b/src/searchdha.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/searchdha.h b/src/searchdha.h index 39918476fd..0c642d7d7a 100644 --- a/src/searchdha.h +++ b/src/searchdha.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/searchdhttp.cpp b/src/searchdhttp.cpp index 071cbf438d..b8ebf8b3f6 100644 --- a/src/searchdhttp.cpp +++ b/src/searchdhttp.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/searchdhttp.h b/src/searchdhttp.h index 8d454f08cd..d374fec66c 100644 --- a/src/searchdhttp.h +++ b/src/searchdhttp.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2008-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2008-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/searchdreplication.cpp b/src/searchdreplication.cpp index fb7c87c416..98ff0761a4 100644 --- a/src/searchdreplication.cpp +++ b/src/searchdreplication.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/searchdreplication.h b/src/searchdreplication.h index 37c176f418..579f8f91ed 100644 --- a/src/searchdreplication.h +++ b/src/searchdreplication.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/searchdsql.cpp b/src/searchdsql.cpp index 6ad8f35e10..866b589410 100644 --- a/src/searchdsql.cpp +++ b/src/searchdsql.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/searchdsql.h b/src/searchdsql.h index aa92f6453e..3e0626048c 100644 --- a/src/searchdsql.h +++ b/src/searchdsql.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/searchdssl.cpp b/src/searchdssl.cpp index 4317cd72d3..2ee277dd85 100644 --- a/src/searchdssl.cpp +++ b/src/searchdssl.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/searchdssl.h b/src/searchdssl.h index 2762d41ac4..4a9ed4ef7a 100644 --- a/src/searchdssl.h +++ b/src/searchdssl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/searchdtask.cpp b/src/searchdtask.cpp index 5a1a5eeae0..08e2b7127a 100644 --- a/src/searchdtask.cpp +++ b/src/searchdtask.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/searchdtask.h b/src/searchdtask.h index 4cacb4602e..4df244bd00 100644 --- a/src/searchdtask.h +++ b/src/searchdtask.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/searchnode.cpp b/src/searchnode.cpp index ffb0d0d3a7..24b733883a 100644 --- a/src/searchnode.cpp +++ b/src/searchnode.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/secondaryindex.cpp b/src/secondaryindex.cpp index dc26299a81..f290d89916 100644 --- a/src/secondaryindex.cpp +++ b/src/secondaryindex.cpp @@ -1,6 +1,6 @@ // // -// Copyright (c) 2018-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2018-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/secondaryindex.h b/src/secondaryindex.h index 0509db88f5..42021a54bb 100644 --- a/src/secondaryindex.h +++ b/src/secondaryindex.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2018-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2018-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/secondarylib.cpp b/src/secondarylib.cpp index 74aa32bfdd..50b120ec8e 100644 --- a/src/secondarylib.cpp +++ b/src/secondarylib.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2020-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2020-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/secondarylib.h b/src/secondarylib.h index 8559d866ce..603cda3216 100644 --- a/src/secondarylib.h +++ b/src/secondarylib.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2020-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2020-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/skip_cache.cpp b/src/skip_cache.cpp index 2274c3c3f8..dfcaca25ac 100644 --- a/src/skip_cache.cpp +++ b/src/skip_cache.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/skip_cache.h b/src/skip_cache.h index d8e741132e..a1bfbde6f2 100644 --- a/src/skip_cache.h +++ b/src/skip_cache.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/snippetfunctor.cpp b/src/snippetfunctor.cpp index dd6e05fef8..51de5807c2 100644 --- a/src/snippetfunctor.cpp +++ b/src/snippetfunctor.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/snippetfunctor.h b/src/snippetfunctor.h index d8b836e1b2..db724622d5 100644 --- a/src/snippetfunctor.h +++ b/src/snippetfunctor.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/snippetindex.cpp b/src/snippetindex.cpp index 7d6fb37ede..c07b258c8b 100644 --- a/src/snippetindex.cpp +++ b/src/snippetindex.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/snippetindex.h b/src/snippetindex.h index 91adc00baf..905e0824ba 100644 --- a/src/snippetindex.h +++ b/src/snippetindex.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/snippetpassage.cpp b/src/snippetpassage.cpp index a39abb5d12..94c9ec8472 100644 --- a/src/snippetpassage.cpp +++ b/src/snippetpassage.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/snippetpassage.h b/src/snippetpassage.h index 189a08dc96..f7949659da 100644 --- a/src/snippetpassage.h +++ b/src/snippetpassage.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/snippetstream.cpp b/src/snippetstream.cpp index e4c3777ff7..da6ccb9a08 100644 --- a/src/snippetstream.cpp +++ b/src/snippetstream.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/snippetstream.h b/src/snippetstream.h index 6966b81c48..f159857040 100644 --- a/src/snippetstream.h +++ b/src/snippetstream.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sortcomp.h b/src/sortcomp.h index 5d8c057453..1ad1efe5ee 100644 --- a/src/sortcomp.h +++ b/src/sortcomp.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sortergroup.cpp b/src/sortergroup.cpp index a64e83c316..cd85ea1d54 100644 --- a/src/sortergroup.cpp +++ b/src/sortergroup.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sortergroup.h b/src/sortergroup.h index df659e6d5c..a4eab2fc45 100644 --- a/src/sortergroup.h +++ b/src/sortergroup.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sorterprecalc.cpp b/src/sorterprecalc.cpp index 8dcec29cfc..d92fb7f68b 100644 --- a/src/sorterprecalc.cpp +++ b/src/sorterprecalc.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sorterprecalc.h b/src/sorterprecalc.h index a157e27b1a..6f277e58ad 100644 --- a/src/sorterprecalc.h +++ b/src/sorterprecalc.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sorterscroll.cpp b/src/sorterscroll.cpp index cd0d52e291..6b0fc0b2dd 100644 --- a/src/sorterscroll.cpp +++ b/src/sorterscroll.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2024-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/sorterscroll.h b/src/sorterscroll.h index a06c792ce0..1da94ca408 100644 --- a/src/sorterscroll.h +++ b/src/sorterscroll.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2024-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/sortertraits.cpp b/src/sortertraits.cpp index 332319840d..b71043d754 100644 --- a/src/sortertraits.cpp +++ b/src/sortertraits.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sortertraits.h b/src/sortertraits.h index 73018b0cb1..f0d4d88b7d 100644 --- a/src/sortertraits.h +++ b/src/sortertraits.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sortsetup.cpp b/src/sortsetup.cpp index dd06ca8dbe..19a5eeb18b 100644 --- a/src/sortsetup.cpp +++ b/src/sortsetup.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sortsetup.h b/src/sortsetup.h index d9c1405162..b8e471770b 100644 --- a/src/sortsetup.h +++ b/src/sortsetup.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinx.cpp b/src/sphinx.cpp index 2aadbf78b2..8f77b90066 100644 --- a/src/sphinx.cpp +++ b/src/sphinx.cpp @@ -1,6 +1,5 @@ // -// -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved @@ -1346,6 +1345,7 @@ class CSphIndex_VLN : public CSphIndex, public IndexAlterHelper_c, public DebugC bool AddRemoveColumnarAttr ( bool bAddAttr, const CSphString & sAttrName, ESphAttr eAttrType, const ISphSchema & tOldSchema, const ISphSchema & tNewSchema, CSphString & sError ); bool DeleteFieldFromDict ( int iFieldId, BuildHeader_t & tBuildHeader, CSphString & sError ); bool AddRemoveFromDocstore ( const CSphSchema & tOldSchema, const CSphSchema & tNewSchema, CSphString & sError ); + bool AddRemoveFromKNN ( const CSphSchema & tOldSchema, const CSphSchema & tNewSchema, CSphString & sError ); bool Build_SetupInplace ( SphOffset_t & iHitsGap, int iHitsMax, int iFdHits ) const; // fixme! build only bool Build_SetupDocstore ( std::unique_ptr & pDocstore, CSphBitvec & dStoredFields, CSphBitvec & dStoredAttrs, CSphVector> & dTmpDocstoreFieldStorage, CSphVector> & dTmpDocstoreAttrStorage ); // fixme! build only @@ -2748,7 +2748,9 @@ bool CSphIndex_VLN::AddRemoveAttribute ( bool bAddAttr, const AttrAddRemoveCtx_t CSphString sSPAfile = GetTmpFilename ( SPH_EXT_SPA ); CSphString sSPBfile = GetTmpFilename ( SPH_EXT_SPB ); CSphString sSPHIfile = GetTmpFilename ( SPH_EXT_SPHI ); - if ( !tSPAWriter.OpenFile ( sSPAfile, sError ) ) + + bool bHaveNonColumnar = tNewSchema.HasNonColumnarAttrs(); + if ( bHaveNonColumnar && !tSPAWriter.OpenFile ( sSPAfile, sError ) ) return false; bool bHadBlobs = false; @@ -2807,19 +2809,24 @@ bool CSphIndex_VLN::AddRemoveAttribute ( bool bAddAttr, const AttrAddRemoveCtx_t if ( !AddRemoveFromDocstore ( m_tSchema, tNewSchema, sError ) ) return false; - if ( tSPAWriter.IsError() ) - { - sError.SetSprintf ( "error writing to %s", sSPAfile.cstr() ); + if ( !AddRemoveFromKNN ( m_tSchema, tNewSchema, sError ) ) return false; - } - tSPAWriter.CloseFile(); + if ( bHaveNonColumnar ) + { + if ( tSPAWriter.IsError() ) + { + sError.SetSprintf ( "error writing to %s", sSPAfile.cstr() ); + return false; + } + + tSPAWriter.CloseFile(); + } bool bHadColumnar = m_tSchema.HasColumnarAttrs(); bool bHaveColumnar = tNewSchema.HasColumnarAttrs(); bool bHadNonColumnar = m_tSchema.HasNonColumnarAttrs(); - bool bHaveNonColumnar = tNewSchema.HasNonColumnarAttrs(); m_tAttr.Reset(); @@ -7087,6 +7094,104 @@ bool CSphIndex_VLN::AddRemoveFromDocstore ( const CSphSchema & tOldSchema, const } +bool CSphIndex_VLN::AddRemoveFromKNN ( const CSphSchema & tOldSchema, const CSphSchema & tNewSchema, CSphString & sError ) +{ + int iOldNumKNN = 0; + for ( int i = 0; i < tOldSchema.GetAttrsCount(); i++ ) + if ( tOldSchema.GetAttr(i).IsIndexedKNN() ) + iOldNumKNN++; + + int iNewNumKNN = 0; + for ( int i = 0; i < tNewSchema.GetAttrsCount(); i++ ) + if ( tNewSchema.GetAttr(i).IsIndexedKNN() ) + iNewNumKNN++; + + if ( iOldNumKNN==iNewNumKNN ) + return true; + + std::unique_ptr pDocstoreBuilder; + if ( iNewNumKNN ) + { + CSphVector> dAllAttrsForKNN; + std::unique_ptr pKNNBuilder = BuildCreateKNN ( tNewSchema, m_iDocinfo, dAllAttrsForKNN, sError ); + if ( !pKNNBuilder ) + return false; + + auto dColumnarIterators = CreateAllColumnarIterators ( m_pColumnar.get(), m_tSchema ); + + CSphVector dOldAttrsForKNN; + IntVec_t dNewAttrsForKNN; + int iMaxDims = 0; + ARRAY_FOREACH ( i, dAllAttrsForKNN ) + { + const auto & tKNNAttr = dAllAttrsForKNN[i]; + const auto & tAttr = tNewSchema.GetAttr ( tKNNAttr.second ); + if ( tOldSchema.GetAttr ( tAttr.m_sName.cstr() ) ) + dOldAttrsForKNN.Add ( tKNNAttr.first ); + else + { + dNewAttrsForKNN.Add(i); + iMaxDims = Max ( iMaxDims, tAttr.m_tKNN.m_iDims ); + } + } + + CSphVector> dAttrsForKNN; + + const CSphRowitem * pRow = GetRawAttrs(); + int iStride = m_tSchema.GetRowSize(); + if ( !pRow ) + iStride = 0; + + CSphVector dStubFloatVec; + dStubFloatVec.Resize(iMaxDims); + dStubFloatVec.ZeroVec(); + + auto pBlobs = GetRawBlobAttrs(); + for ( RowID_t tRowID = 0; tRowID < RowID_t(m_iDocinfo); ++tRowID, pRow += iStride ) + { + BuildTrainKNN ( tRowID, pRow, pBlobs, dColumnarIterators, dOldAttrsForKNN, *pKNNBuilder ); + for ( auto i : dNewAttrsForKNN ) + { + int iDims = tNewSchema.GetAttr ( dAllAttrsForKNN[i].second ).m_tKNN.m_iDims; + pKNNBuilder->Train ( i, { dStubFloatVec.Begin(), size_t(iDims) } ); + } + } + + pRow = GetRawAttrs(); + for ( RowID_t tRowID = 0; tRowID < RowID_t(m_iDocinfo); ++tRowID, pRow += iStride ) + { + BuildStoreKNN ( tRowID, pRow, pBlobs, dColumnarIterators, dOldAttrsForKNN, *pKNNBuilder ); + for ( auto i : dNewAttrsForKNN ) + { + int iDims = tNewSchema.GetAttr ( dAllAttrsForKNN[i].second ).m_tKNN.m_iDims; + pKNNBuilder->SetAttr ( i, { dStubFloatVec.Begin(), size_t(iDims) } ); + } + } + + BuildBufferSettings_t tSettings; // use default buffer settings + + std::string sErrorSTL; + if ( !pKNNBuilder->Save ( GetTmpFilename ( SPH_EXT_SPKNN ).cstr(), tSettings.m_iBufferStorage, sErrorSTL ) ) + { + sError = sErrorSTL.c_str(); + return false; + } + } + + if ( !JuggleFile ( SPH_EXT_SPKNN, sError, !!iOldNumKNN, !!iNewNumKNN ) ) + return false; + + m_pKNN.reset(); + if ( !PreallocKNN() ) + { + sError = m_sLastError; + return false; + } + + return true; +} + + bool CSphIndex_VLN::AddRemoveField ( bool bAddField, const CSphString & sFieldName, DWORD uFieldFlags, CSphString & sError ) { CSphSchema tOldSchema = m_tSchema; @@ -12468,7 +12573,7 @@ bool SuggestResult_t::SetWord ( const char * sWord, const TokenizerRefPtr_c & pT m_iCodepoints = DecodeUtf8 ( (const BYTE *)m_sWord.cstr(), m_dCodepoints ); m_bUtf8 = ( m_iCodepoints!=m_iLen ); - bool bValidWord = ( m_iCodepoints>=3 ); + bool bValidWord = ( m_iCodepoints>=2 ); if ( bValidWord ) { // lets generate bigrams for short words as trigrams for 5char word could all contain the same wrong symbol diff --git a/src/sphinx.h b/src/sphinx.h index 78a8db1a91..ce655bb391 100644 --- a/src/sphinx.h +++ b/src/sphinx.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinx_alter.cpp b/src/sphinx_alter.cpp index edb10b501d..690cdc8d46 100644 --- a/src/sphinx_alter.cpp +++ b/src/sphinx_alter.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved @@ -221,6 +221,7 @@ bool AddRemoveCtx_c::AddRowwiseAttr() bool bBlob = sphIsBlobAttr ( *pNewAttr ); const CSphRowitem * pNextDocinfo = nullptr; + CSphVector dFakeKNN; for ( RowID_t tRowID = 0; tRowIDm_tLocator : nullptr ); + if ( pNewAttr->m_eAttrType==SPH_ATTR_FLOAT_VECTOR && pNewAttr->IsIndexedKNN() ) + { + int iOldLen = dFakeKNN.GetLength(); + dFakeKNN.Resize ( pNewAttr->m_tKNN.m_iDims ); + if ( dFakeKNN.GetLength()>iOldLen ) + dFakeKNN.ZeroVec(); + + sphAddAttrToBlobRow ( m_pDocinfo, m_dBlobRow, m_pBlobPool, m_iNumOldBlobs, m_pOldBlobRowLocator ? &m_pOldBlobRowLocator->m_tLocator : nullptr, (const BYTE*)dFakeKNN.Begin(), dFakeKNN.GetLengthBytes() ); + } + else + sphAddAttrToBlobRow ( m_pDocinfo, m_dBlobRow, m_pBlobPool, m_iNumOldBlobs, m_pOldBlobRowLocator ? &m_pOldBlobRowLocator->m_tLocator : nullptr ); SphOffset_t tRowOffset = m_tSPBWriter.GetPos(); m_tSPBWriter.PutBytes ( m_dBlobRow.Begin(), m_dBlobRow.GetLength() ); @@ -379,7 +390,7 @@ bool IndexAlterHelper_c::Alter_AddRemoveColumnar ( bool bAdd, const ISphSchema & { std::string sErrorSTL; - CSphVector,ESphAttr>> dIterators; + CSphVector,const CSphColumnInfo *>> dIterators; for ( int i = 0; i < tNewSchema.GetAttrsCount(); i++ ) { const CSphColumnInfo & tNewAttr = tNewSchema.GetAttr(i); @@ -389,7 +400,7 @@ bool IndexAlterHelper_c::Alter_AddRemoveColumnar ( bool bAdd, const ISphSchema & const CSphColumnInfo * pOldAttr = tOldSchema.GetAttr ( tNewAttr.m_sName.cstr() ); if ( !pOldAttr ) { - dIterators.Add ( { nullptr, tNewAttr.m_eAttrType } ); + dIterators.Add ( { nullptr, &tNewAttr } ); continue; } @@ -401,7 +412,7 @@ bool IndexAlterHelper_c::Alter_AddRemoveColumnar ( bool bAdd, const ISphSchema & return false; } - dIterators.Add ( { std::move (pIterator), pOldAttr->m_eAttrType } ); + dIterators.Add ( { std::move (pIterator), pOldAttr } ); } CSphVector dTmp; @@ -410,10 +421,11 @@ bool IndexAlterHelper_c::Alter_AddRemoveColumnar ( bool bAdd, const ISphSchema & for ( int iColumnarAttr = 0; iColumnarAttr < dIterators.GetLength(); iColumnarAttr++ ) { auto & tIterator = dIterators[iColumnarAttr]; + assert(tIterator.second); if ( tIterator.first ) - SetColumnarAttr ( iColumnarAttr, tIterator.second, pBuilder, tIterator.first, tRowID, dTmp ); + SetColumnarAttr ( iColumnarAttr, tIterator.second->m_eAttrType, pBuilder, tIterator.first, tRowID, dTmp ); else - SetDefaultColumnarAttr ( iColumnarAttr, tIterator.second, pBuilder ); + SetDefaultColumnarAttr ( iColumnarAttr, *tIterator.second, pBuilder, dTmp ); } } diff --git a/src/sphinx_alter.h b/src/sphinx_alter.h index 2f7354640b..0218a9b14e 100644 --- a/src/sphinx_alter.h +++ b/src/sphinx_alter.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxaot.cpp b/src/sphinxaot.cpp index 9c94f71b79..437f38f7a4 100644 --- a/src/sphinxaot.cpp +++ b/src/sphinxaot.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2011-2016, Andrew Aksyonoff // Copyright (c) 2011-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxdefs.h b/src/sphinxdefs.h index a119a82b40..427026ae3f 100644 --- a/src/sphinxdefs.h +++ b/src/sphinxdefs.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxexcerpt.h b/src/sphinxexcerpt.h index 71a0764ab9..390f64e5e4 100644 --- a/src/sphinxexcerpt.h +++ b/src/sphinxexcerpt.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxexpr.cpp b/src/sphinxexpr.cpp index 1d9a5127f0..66ed72ffae 100644 --- a/src/sphinxexpr.cpp +++ b/src/sphinxexpr.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxexpr.h b/src/sphinxexpr.h index 28a0ae35cf..6f766f7b4c 100644 --- a/src/sphinxexpr.h +++ b/src/sphinxexpr.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxfilter.cpp b/src/sphinxfilter.cpp index e38b52b6c5..232fd3a7a9 100644 --- a/src/sphinxfilter.cpp +++ b/src/sphinxfilter.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxfilter.h b/src/sphinxfilter.h index b86857408c..4d7c8019ae 100644 --- a/src/sphinxfilter.h +++ b/src/sphinxfilter.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxint.h b/src/sphinxint.h index d1a480bd08..a5b3575a31 100644 --- a/src/sphinxint.h +++ b/src/sphinxint.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved @@ -1070,7 +1070,7 @@ struct SuggestResult_t : public SuggestResultSet_t assert ( !m_pSegments ); } - bool SetWord ( const char * sWord, const TokenizerRefPtr_c& pTok, bool bUseLastWord, bool bSetSentence ); + bool SetWord ( const char * sWord, const TokenizerRefPtr_c & pTok, bool bUseLastWord, bool bSetSentence ); void Flattern ( int iLimit ); }; diff --git a/src/sphinxjson.cpp b/src/sphinxjson.cpp index ae07b95899..000a9cbc00 100644 --- a/src/sphinxjson.cpp +++ b/src/sphinxjson.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2011-2016, Andrew Aksyonoff // Copyright (c) 2011-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxjson.h b/src/sphinxjson.h index c69509b1c2..28bfa2f9f7 100644 --- a/src/sphinxjson.h +++ b/src/sphinxjson.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2011-2016, Andrew Aksyonoff // Copyright (c) 2011-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxjsonquery.cpp b/src/sphinxjsonquery.cpp index 4b9e761e13..5358ad8b1c 100644 --- a/src/sphinxjsonquery.cpp +++ b/src/sphinxjsonquery.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/sphinxjsonquery.h b/src/sphinxjsonquery.h index 13d08f6b28..eab162f76f 100644 --- a/src/sphinxjsonquery.h +++ b/src/sphinxjsonquery.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/sphinxplugin.cpp b/src/sphinxplugin.cpp index 47478b59b5..6dad29f06e 100644 --- a/src/sphinxplugin.cpp +++ b/src/sphinxplugin.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxplugin.h b/src/sphinxplugin.h index 9a4940397c..13dbe3c043 100644 --- a/src/sphinxplugin.h +++ b/src/sphinxplugin.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxpq.cpp b/src/sphinxpq.cpp index 1dac649522..86afea41f2 100644 --- a/src/sphinxpq.cpp +++ b/src/sphinxpq.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxpq.h b/src/sphinxpq.h index 45a489bcc6..9e09376daf 100644 --- a/src/sphinxpq.h +++ b/src/sphinxpq.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxqcache.cpp b/src/sphinxqcache.cpp index e9b49302ec..f75a980067 100644 --- a/src/sphinxqcache.cpp +++ b/src/sphinxqcache.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxqcache.h b/src/sphinxqcache.h index f7bd4d5bc2..b03c3fc3fa 100644 --- a/src/sphinxqcache.h +++ b/src/sphinxqcache.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxql.y b/src/sphinxql.y index 42291f3754..98d8dab525 100644 --- a/src/sphinxql.y +++ b/src/sphinxql.y @@ -1055,6 +1055,7 @@ expr_ident: | TOK_DOUBLE '(' json_expr ')' { TRACK_BOUNDS ( $$, $1, $4 ); } | TOK_BIGINT '(' json_expr ')' { TRACK_BOUNDS ( $$, $1, $4 ); } | TOK_FACET '(' ')' + | ident TOK_SUBKEY '(' ')' { TRACK_BOUNDS ( $$, $1, $4 ); } ; mva_aggr: diff --git a/src/sphinxql_debug.cpp b/src/sphinxql_debug.cpp index c7c2dfb2b0..d1dc5e0ad0 100644 --- a/src/sphinxql_debug.cpp +++ b/src/sphinxql_debug.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxql_debug.h b/src/sphinxql_debug.h index ee7f7825bd..bef9d8956a 100644 --- a/src/sphinxql_debug.h +++ b/src/sphinxql_debug.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxql_extra.cpp b/src/sphinxql_extra.cpp index 031c38256f..bfd5665894 100644 --- a/src/sphinxql_extra.cpp +++ b/src/sphinxql_extra.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxql_extra.h b/src/sphinxql_extra.h index 185769ba55..08576c16ee 100644 --- a/src/sphinxql_extra.h +++ b/src/sphinxql_extra.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxql_second.cpp b/src/sphinxql_second.cpp index 6f7d7dc09e..46286676d0 100644 --- a/src/sphinxql_second.cpp +++ b/src/sphinxql_second.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxql_second.h b/src/sphinxql_second.h index a2861605a9..4640265195 100644 --- a/src/sphinxql_second.h +++ b/src/sphinxql_second.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxquery.cpp b/src/sphinxquery.cpp index 50338f9085..b09bbb980f 100644 --- a/src/sphinxquery.cpp +++ b/src/sphinxquery.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxquery.h b/src/sphinxquery.h index b17c503392..f540452a33 100644 --- a/src/sphinxquery.h +++ b/src/sphinxquery.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxrt.cpp b/src/sphinxrt.cpp index d0fffa4a9b..a36348fbfe 100644 --- a/src/sphinxrt.cpp +++ b/src/sphinxrt.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved @@ -3590,13 +3590,17 @@ bool RtIndex_c::WriteAttributes ( SaveDiskDataContext_t & tCtx, CSphString & sEr for ( const auto & i : tCtx.m_tRamSegments ) tCtx.m_iTotalDocuments += i->m_tAliveRows.load ( std::memory_order_relaxed ); + CSphVector> dAllAttrsForKNN; CSphVector dAttrsForKNN; std::unique_ptr pKNNBuilder; if ( m_tSchema.HasKNNAttrs() ) { - pKNNBuilder = BuildCreateKNN ( m_tSchema, tCtx.m_iTotalDocuments, dAttrsForKNN, sError ); + pKNNBuilder = BuildCreateKNN ( m_tSchema, tCtx.m_iTotalDocuments, dAllAttrsForKNN, sError ); if ( !pKNNBuilder ) return false; + + for ( const auto & i : dAllAttrsForKNN ) + dAttrsForKNN.Add ( i.first ); } CSphFixedVector dRawLookup ( tCtx.m_iTotalDocuments ); diff --git a/src/sphinxrt.h b/src/sphinxrt.h index f6d019109d..beee911459 100644 --- a/src/sphinxrt.h +++ b/src/sphinxrt.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxsearch.cpp b/src/sphinxsearch.cpp index d360289632..c9fece0cc0 100644 --- a/src/sphinxsearch.cpp +++ b/src/sphinxsearch.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxsearch.h b/src/sphinxsearch.h index 46dbeb92c2..53888c71cf 100644 --- a/src/sphinxsearch.h +++ b/src/sphinxsearch.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxsort.cpp b/src/sphinxsort.cpp index fa9ba7dacc..08e3e21ff3 100644 --- a/src/sphinxsort.cpp +++ b/src/sphinxsort.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxsort.h b/src/sphinxsort.h index 106b18ab03..926e10f809 100644 --- a/src/sphinxsort.h +++ b/src/sphinxsort.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxstd.h b/src/sphinxstd.h index fe0938e2ac..933bb04abf 100644 --- a/src/sphinxstd.h +++ b/src/sphinxstd.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxstem.h b/src/sphinxstem.h index 995d8ebf5e..c9c22c5477 100644 --- a/src/sphinxstem.h +++ b/src/sphinxstem.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxudf.c b/src/sphinxudf.c index bac2d5da06..60b1faa659 100644 --- a/src/sphinxudf.c +++ b/src/sphinxudf.c @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2011-2016, Andrew Aksyonoff // Copyright (c) 2011-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxudf.h b/src/sphinxudf.h index d344813a4f..b96ac3bdec 100644 --- a/src/sphinxudf.h +++ b/src/sphinxudf.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2011-2016, Andrew Aksyonoff // Copyright (c) 2011-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxutils.cpp b/src/sphinxutils.cpp index a641a8259e..d00b2fafb7 100644 --- a/src/sphinxutils.cpp +++ b/src/sphinxutils.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxutils.h b/src/sphinxutils.h index 2bd6f41f64..0824f13e25 100644 --- a/src/sphinxutils.h +++ b/src/sphinxutils.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/sphinxversion.cpp b/src/sphinxversion.cpp index 20c1e5fb2a..852317a63d 100644 --- a/src/sphinxversion.cpp +++ b/src/sphinxversion.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2019-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2019-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify @@ -30,7 +30,7 @@ #define PRODUCT_NAME "Manticore " PRODUCT_VERSION #define PRODUCT_BANNER_TEXT "\nCopyright (c) 2001-2016, Andrew Aksyonoff\n" \ "Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)\n" \ - "Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com)\n\n" + "Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com)\n\n" #define PRODUCT_BANNER PRODUCT_NAME PRODUCT_BANNER_TEXT diff --git a/src/stackmock.cpp b/src/stackmock.cpp index 77cdc1a79e..21c84fb998 100644 --- a/src/stackmock.cpp +++ b/src/stackmock.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/stackmock.h b/src/stackmock.h index f7b44b7940..7880047713 100644 --- a/src/stackmock.h +++ b/src/stackmock.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/accessor.h b/src/std/accessor.h index 46ba3eccd8..2193ee7a40 100644 --- a/src/std/accessor.h +++ b/src/std/accessor.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/accessor_impl.h b/src/std/accessor_impl.h index 66fd7108ec..7363423ee3 100644 --- a/src/std/accessor_impl.h +++ b/src/std/accessor_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/at_scope_exit.h b/src/std/at_scope_exit.h index 51c74a7815..531c78877c 100644 --- a/src/std/at_scope_exit.h +++ b/src/std/at_scope_exit.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/attrstub.h b/src/std/attrstub.h index 2a3a3442cd..743a055f68 100644 --- a/src/std/attrstub.h +++ b/src/std/attrstub.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/autoevent.cpp b/src/std/autoevent.cpp index 51f55d2310..e819b1cf22 100644 --- a/src/std/autoevent.cpp +++ b/src/std/autoevent.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/autoevent.h b/src/std/autoevent.h index da891f43c1..ba42fe51cd 100644 --- a/src/std/autoevent.h +++ b/src/std/autoevent.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/base64.cpp b/src/std/base64.cpp index da4e4e26a0..57ae6c3e9f 100644 --- a/src/std/base64.cpp +++ b/src/std/base64.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2024-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/std/base64.h b/src/std/base64.h index e5db73ed7d..41c8fbc898 100644 --- a/src/std/base64.h +++ b/src/std/base64.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2024-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/std/binarysearch.h b/src/std/binarysearch.h index 8148f88b07..5df36e5b09 100644 --- a/src/std/binarysearch.h +++ b/src/std/binarysearch.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/binarysearch_impl.h b/src/std/binarysearch_impl.h index 34417efa95..9f377de4bd 100644 --- a/src/std/binarysearch_impl.h +++ b/src/std/binarysearch_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/bitcount.h b/src/std/bitcount.h index 8b114db56f..3b375e9a04 100644 --- a/src/std/bitcount.h +++ b/src/std/bitcount.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/bitcount_impl.h b/src/std/bitcount_impl.h index 59e49b4540..4f2373eb62 100644 --- a/src/std/bitcount_impl.h +++ b/src/std/bitcount_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/bitvec.h b/src/std/bitvec.h index 08ce855bcf..6c1c9a478f 100644 --- a/src/std/bitvec.h +++ b/src/std/bitvec.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/bitvec_impl.h b/src/std/bitvec_impl.h index 1868e134ba..a13599c474 100644 --- a/src/std/bitvec_impl.h +++ b/src/std/bitvec_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/blobs.h b/src/std/blobs.h index 8bf0044fb2..31a770d533 100644 --- a/src/std/blobs.h +++ b/src/std/blobs.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/blobs_impl.h b/src/std/blobs_impl.h index 76d04d4863..d901d0f2f0 100644 --- a/src/std/blobs_impl.h +++ b/src/std/blobs_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/buffer.h b/src/std/buffer.h index 7c2bfd9255..9b3b93c966 100644 --- a/src/std/buffer.h +++ b/src/std/buffer.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/buffer_impl.h b/src/std/buffer_impl.h index 1ae2f1cb9f..ad482ac14c 100644 --- a/src/std/buffer_impl.h +++ b/src/std/buffer_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/checks.cpp b/src/std/checks.cpp index f7144b6ab6..3d7dd7149b 100644 --- a/src/std/checks.cpp +++ b/src/std/checks.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/checks.h b/src/std/checks.h index 6df906d1e2..3f57bc5682 100644 --- a/src/std/checks.h +++ b/src/std/checks.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/circular_buffer.h b/src/std/circular_buffer.h index 3d060b73f7..4d171ed739 100644 --- a/src/std/circular_buffer.h +++ b/src/std/circular_buffer.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/circular_buffer_impl.h b/src/std/circular_buffer_impl.h index 75cdec61b5..e5ef53c4d2 100644 --- a/src/std/circular_buffer_impl.h +++ b/src/std/circular_buffer_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/comma.h b/src/std/comma.h index d67bf04d30..127da6b084 100644 --- a/src/std/comma.h +++ b/src/std/comma.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/comma_impl.h b/src/std/comma_impl.h index 9f0ba5b74e..d25b0bc41e 100644 --- a/src/std/comma_impl.h +++ b/src/std/comma_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/comp.h b/src/std/comp.h index 989673fed8..1f3b373e40 100644 --- a/src/std/comp.h +++ b/src/std/comp.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/comp_impl.h b/src/std/comp_impl.h index 33ec99f3e7..c2b2b599ee 100644 --- a/src/std/comp_impl.h +++ b/src/std/comp_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/crc32.cpp b/src/std/crc32.cpp index eca30fc87d..eaa32d387f 100644 --- a/src/std/crc32.cpp +++ b/src/std/crc32.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/crc32.h b/src/std/crc32.h index 7cf47bfd23..f1a66dc168 100644 --- a/src/std/crc32.h +++ b/src/std/crc32.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/crc32_impl.h b/src/std/crc32_impl.h index bb5cf98102..c85e19e9f9 100644 --- a/src/std/crc32_impl.h +++ b/src/std/crc32_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/datamove.h b/src/std/datamove.h index 9598fcf95d..f65a5f7a67 100644 --- a/src/std/datamove.h +++ b/src/std/datamove.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/datamove_impl.h b/src/std/datamove_impl.h index 918b7b86fa..e4bfe7b4bd 100644 --- a/src/std/datamove_impl.h +++ b/src/std/datamove_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/deleter.h b/src/std/deleter.h index ff12c80501..b065afd0fd 100644 --- a/src/std/deleter.h +++ b/src/std/deleter.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/deleter_impl.h b/src/std/deleter_impl.h index 7025a34368..79a7c22ced 100644 --- a/src/std/deleter_impl.h +++ b/src/std/deleter_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/env.cpp b/src/std/env.cpp index bab0008b6c..9013faf050 100644 --- a/src/std/env.cpp +++ b/src/std/env.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/env.h b/src/std/env.h index 28324024dd..a57d2a54a7 100644 --- a/src/std/env.h +++ b/src/std/env.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/escaped_builder.h b/src/std/escaped_builder.h index 69eb899f86..e08808737c 100644 --- a/src/std/escaped_builder.h +++ b/src/std/escaped_builder.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/escaped_builder_impl.h b/src/std/escaped_builder_impl.h index 1a9031de10..81339afd84 100644 --- a/src/std/escaped_builder_impl.h +++ b/src/std/escaped_builder_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/fastlog.cpp b/src/std/fastlog.cpp index 1b450377d3..a19c6a6eb1 100644 --- a/src/std/fastlog.cpp +++ b/src/std/fastlog.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/fastlog.h b/src/std/fastlog.h index 5d3bf0a7db..1c036fa441 100644 --- a/src/std/fastlog.h +++ b/src/std/fastlog.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/fastlog_impl.h b/src/std/fastlog_impl.h index f97ba2316f..126db292b3 100644 --- a/src/std/fastlog_impl.h +++ b/src/std/fastlog_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/fatal.cpp b/src/std/fatal.cpp index 0338323201..45ef99dbf9 100644 --- a/src/std/fatal.cpp +++ b/src/std/fatal.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/fatal.h b/src/std/fatal.h index 5798f91984..7d4eecd496 100644 --- a/src/std/fatal.h +++ b/src/std/fatal.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/fixedvector.h b/src/std/fixedvector.h index caf23ad144..079ce3bc33 100644 --- a/src/std/fixedvector.h +++ b/src/std/fixedvector.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/fixedvector_impl.h b/src/std/fixedvector_impl.h index 068baa5a6d..b331234828 100644 --- a/src/std/fixedvector_impl.h +++ b/src/std/fixedvector_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/fnv64.cpp b/src/std/fnv64.cpp index 2e73b72c9a..be3360f9ee 100644 --- a/src/std/fnv64.cpp +++ b/src/std/fnv64.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/fnv64.h b/src/std/fnv64.h index 48ea7af792..d4fbf139a8 100644 --- a/src/std/fnv64.h +++ b/src/std/fnv64.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/format.h b/src/std/format.h index 900cfcd95f..4fa6b92f97 100644 --- a/src/std/format.h +++ b/src/std/format.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/generics.h b/src/std/generics.h index 26fe2d09b8..67d2bb244f 100644 --- a/src/std/generics.h +++ b/src/std/generics.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/hash.h b/src/std/hash.h index 553299bf24..5b46cb6dfa 100644 --- a/src/std/hash.h +++ b/src/std/hash.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2024-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/std/helpers.h b/src/std/helpers.h index 380beb2566..c93775808b 100644 --- a/src/std/helpers.h +++ b/src/std/helpers.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/helpers_impl.h b/src/std/helpers_impl.h index 5f11fafb87..4c053ed03b 100644 --- a/src/std/helpers_impl.h +++ b/src/std/helpers_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/ints.h b/src/std/ints.h index f95c6779e5..263b5bd545 100644 --- a/src/std/ints.h +++ b/src/std/ints.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/iterations.h b/src/std/iterations.h index 0d81ad52d9..4b409b7168 100644 --- a/src/std/iterations.h +++ b/src/std/iterations.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/iterations_impl.h b/src/std/iterations_impl.h index 02b8b4e58e..2417221f47 100644 --- a/src/std/iterations_impl.h +++ b/src/std/iterations_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/largebuffer.h b/src/std/largebuffer.h index f996231a71..e3cc645746 100644 --- a/src/std/largebuffer.h +++ b/src/std/largebuffer.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/largebuffer_impl.h b/src/std/largebuffer_impl.h index 8a1eb34715..055d66c95a 100644 --- a/src/std/largebuffer_impl.h +++ b/src/std/largebuffer_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/log2.h b/src/std/log2.h index 28070746ec..c7d6e4fa62 100644 --- a/src/std/log2.h +++ b/src/std/log2.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/log2_impl.h b/src/std/log2_impl.h index 87d13b5990..8488771a6c 100644 --- a/src/std/log2_impl.h +++ b/src/std/log2_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/lrucache.h b/src/std/lrucache.h index bde0457765..c2b29e7237 100644 --- a/src/std/lrucache.h +++ b/src/std/lrucache.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/lrucache_impl.h b/src/std/lrucache_impl.h index 662b67fc4f..9825e9525e 100644 --- a/src/std/lrucache_impl.h +++ b/src/std/lrucache_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/mem.cpp b/src/std/mem.cpp index 8923da8cc4..bfe499681e 100644 --- a/src/std/mem.cpp +++ b/src/std/mem.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/mem.h b/src/std/mem.h index 8bc3d837cd..f39819824e 100644 --- a/src/std/mem.h +++ b/src/std/mem.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/mm.cpp b/src/std/mm.cpp index 0da06ac744..9734cf4305 100644 --- a/src/std/mm.cpp +++ b/src/std/mm.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/mm.h b/src/std/mm.h index 8488eb9bfb..bc71c4a5bd 100644 --- a/src/std/mm.h +++ b/src/std/mm.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/mutex.cpp b/src/std/mutex.cpp index 37ae8c62a9..1f3944efa1 100644 --- a/src/std/mutex.cpp +++ b/src/std/mutex.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/mutex.h b/src/std/mutex.h index 0978e828db..4bc10a3072 100644 --- a/src/std/mutex.h +++ b/src/std/mutex.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/num_conv.h b/src/std/num_conv.h index 059b57cda1..4a4a2858ff 100644 --- a/src/std/num_conv.h +++ b/src/std/num_conv.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2022-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2022-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/num_conv_impl.h b/src/std/num_conv_impl.h index 88c3a8da66..7f64a28bb9 100644 --- a/src/std/num_conv_impl.h +++ b/src/std/num_conv_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2022-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2022-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/openhash.h b/src/std/openhash.h index 7ea5ac1093..a473d7a9a9 100644 --- a/src/std/openhash.h +++ b/src/std/openhash.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/openhash_impl.h b/src/std/openhash_impl.h index 3dd3b15766..80da2c4b05 100644 --- a/src/std/openhash_impl.h +++ b/src/std/openhash_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/orderedhash.h b/src/std/orderedhash.h index 87e296beb6..cfe623028c 100644 --- a/src/std/orderedhash.h +++ b/src/std/orderedhash.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/orderedhash_impl.h b/src/std/orderedhash_impl.h index f581795266..24c2ff4480 100644 --- a/src/std/orderedhash_impl.h +++ b/src/std/orderedhash_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/queue.h b/src/std/queue.h index a15b69ae96..4a465135ad 100644 --- a/src/std/queue.h +++ b/src/std/queue.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/queue_impl.h b/src/std/queue_impl.h index 38c125e91f..292224a730 100644 --- a/src/std/queue_impl.h +++ b/src/std/queue_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/rand.cpp b/src/std/rand.cpp index 8c5096a49c..55ae564f79 100644 --- a/src/std/rand.cpp +++ b/src/std/rand.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/rand.h b/src/std/rand.h index 06c82e71b2..7969696d7f 100644 --- a/src/std/rand.h +++ b/src/std/rand.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/refcounted_mt.h b/src/std/refcounted_mt.h index 545c737c49..40f2cc087f 100644 --- a/src/std/refcounted_mt.h +++ b/src/std/refcounted_mt.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/refcounted_mt_impl.h b/src/std/refcounted_mt_impl.h index 779e38bb30..74ca73e609 100644 --- a/src/std/refcounted_mt_impl.h +++ b/src/std/refcounted_mt_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/refptr.h b/src/std/refptr.h index 35ba1f9b7f..1ca1b0e9ce 100644 --- a/src/std/refptr.h +++ b/src/std/refptr.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/relimit.h b/src/std/relimit.h index 6102b9932a..c708da3b45 100644 --- a/src/std/relimit.h +++ b/src/std/relimit.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/relimit_impl.h b/src/std/relimit_impl.h index bde457bb4c..eeb38d0fa5 100644 --- a/src/std/relimit_impl.h +++ b/src/std/relimit_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/rwlock.cpp b/src/std/rwlock.cpp index cbdca5c7ba..65521b4d91 100644 --- a/src/std/rwlock.cpp +++ b/src/std/rwlock.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/rwlock.h b/src/std/rwlock.h index 4beb349cdc..6035927444 100644 --- a/src/std/rwlock.h +++ b/src/std/rwlock.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/rwlock_impl.h b/src/std/rwlock_impl.h index 17e94a0d4b..f9e395a37a 100644 --- a/src/std/rwlock_impl.h +++ b/src/std/rwlock_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/scoped_comma.h b/src/std/scoped_comma.h index e0edf3275c..4245902aab 100644 --- a/src/std/scoped_comma.h +++ b/src/std/scoped_comma.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/scoped_comma_impl.h b/src/std/scoped_comma_impl.h index 2f78553f4f..161642fc52 100644 --- a/src/std/scoped_comma_impl.h +++ b/src/std/scoped_comma_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/scopedlock.h b/src/std/scopedlock.h index d21dcd9f97..34898b22c8 100644 --- a/src/std/scopedlock.h +++ b/src/std/scopedlock.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/scopedlock_impl.h b/src/std/scopedlock_impl.h index 27604e1db7..5cef20a446 100644 --- a/src/std/scopedlock_impl.h +++ b/src/std/scopedlock_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/sharedptr.h b/src/std/sharedptr.h index e253e9935f..66f8240074 100644 --- a/src/std/sharedptr.h +++ b/src/std/sharedptr.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/sharedptr_impl.h b/src/std/sharedptr_impl.h index 44f8ed58ed..67c6c21bb1 100644 --- a/src/std/sharedptr_impl.h +++ b/src/std/sharedptr_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/smalloc.cpp b/src/std/smalloc.cpp index 6a5c9b068b..e4bb82bc52 100644 --- a/src/std/smalloc.cpp +++ b/src/std/smalloc.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/smalloc.h b/src/std/smalloc.h index 34387cdb98..427fa1336f 100644 --- a/src/std/smalloc.h +++ b/src/std/smalloc.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/smalloc_impl.h b/src/std/smalloc_impl.h index 2288cb156b..9ceb6ba016 100644 --- a/src/std/smalloc_impl.h +++ b/src/std/smalloc_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/sort.h b/src/std/sort.h index a886d6fcb8..9524d5e3c7 100644 --- a/src/std/sort.h +++ b/src/std/sort.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/sort_impl.h b/src/std/sort_impl.h index 2281708945..ee802110fe 100644 --- a/src/std/sort_impl.h +++ b/src/std/sort_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/sphwarn.cpp b/src/std/sphwarn.cpp index 73450c2334..64e8deb1fd 100644 --- a/src/std/sphwarn.cpp +++ b/src/std/sphwarn.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/sphwarn.h b/src/std/sphwarn.h index be786ff977..0f9c80d11d 100644 --- a/src/std/sphwarn.h +++ b/src/std/sphwarn.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/spinlock.h b/src/std/spinlock.h index bdf387633b..13e6d98d8f 100644 --- a/src/std/spinlock.h +++ b/src/std/spinlock.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/storage.h b/src/std/storage.h index 1664a91195..cc399e18fb 100644 --- a/src/std/storage.h +++ b/src/std/storage.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/strerrorm.h b/src/std/strerrorm.h index 37e5319912..e02f0360e1 100644 --- a/src/std/strerrorm.h +++ b/src/std/strerrorm.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/string.cpp b/src/std/string.cpp index 391e7e92a8..3a704f306f 100644 --- a/src/std/string.cpp +++ b/src/std/string.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/string.h b/src/std/string.h index 505264920c..85644f56e5 100644 --- a/src/std/string.h +++ b/src/std/string.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/string_impl.h b/src/std/string_impl.h index 92a74afe40..be1171ba28 100644 --- a/src/std/string_impl.h +++ b/src/std/string_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/stringbuilder.cpp b/src/std/stringbuilder.cpp index e1e4c19887..4e3e9b5c0a 100644 --- a/src/std/stringbuilder.cpp +++ b/src/std/stringbuilder.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/stringbuilder.h b/src/std/stringbuilder.h index ff56b233c4..8a928d4ba7 100644 --- a/src/std/stringbuilder.h +++ b/src/std/stringbuilder.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/stringbuilder_impl.h b/src/std/stringbuilder_impl.h index c6e2ac6d29..6aa90a3b1d 100644 --- a/src/std/stringbuilder_impl.h +++ b/src/std/stringbuilder_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/stringhash.cpp b/src/std/stringhash.cpp index a18b332a11..95ce427314 100644 --- a/src/std/stringhash.cpp +++ b/src/std/stringhash.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/stringhash.h b/src/std/stringhash.h index 9648d76ff1..0a559b6383 100644 --- a/src/std/stringhash.h +++ b/src/std/stringhash.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/sys.cpp b/src/std/sys.cpp index 2aadd4ca6b..f33ea977ed 100644 --- a/src/std/sys.cpp +++ b/src/std/sys.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/sys.h b/src/std/sys.h index 36367c80aa..18500c02db 100644 --- a/src/std/sys.h +++ b/src/std/sys.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/tdigest.cpp b/src/std/tdigest.cpp index 6228bad20b..2c44d40b6a 100644 --- a/src/std/tdigest.cpp +++ b/src/std/tdigest.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/tdigest.h b/src/std/tdigest.h index 111a5e1ca9..812a8aea9f 100644 --- a/src/std/tdigest.h +++ b/src/std/tdigest.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/thread_annotations.h b/src/std/thread_annotations.h index bfe49a4b9b..3232eab3e3 100644 --- a/src/std/thread_annotations.h +++ b/src/std/thread_annotations.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/threadrole.h b/src/std/threadrole.h index 6696038b79..d6e66e4f7e 100644 --- a/src/std/threadrole.h +++ b/src/std/threadrole.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/timers.cpp b/src/std/timers.cpp index a62ad92143..1e7f7512f1 100644 --- a/src/std/timers.cpp +++ b/src/std/timers.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/timers.h b/src/std/timers.h index e9d31deb6e..6db49fdad7 100644 --- a/src/std/timers.h +++ b/src/std/timers.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/type_traits.h b/src/std/type_traits.h index 8211ddf8d4..8e29cab2a1 100644 --- a/src/std/type_traits.h +++ b/src/std/type_traits.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/uniq.h b/src/std/uniq.h index 2658024823..aecc901c68 100644 --- a/src/std/uniq.h +++ b/src/std/uniq.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/uniq_impl.h b/src/std/uniq_impl.h index 9f2bfb7fd5..1e0f2d569d 100644 --- a/src/std/uniq_impl.h +++ b/src/std/uniq_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/unique_lock.h b/src/std/unique_lock.h index 3f5623b62b..c9c68ad1eb 100644 --- a/src/std/unique_lock.h +++ b/src/std/unique_lock.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/variant.h b/src/std/variant.h index 166ade88a8..273f49c806 100644 --- a/src/std/variant.h +++ b/src/std/variant.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/variant_impl.h b/src/std/variant_impl.h index 9a9dcf25c6..d83e85c439 100644 --- a/src/std/variant_impl.h +++ b/src/std/variant_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/vector.h b/src/std/vector.h index d4f0f7be03..c46c46a44d 100644 --- a/src/std/vector.h +++ b/src/std/vector.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/vector_impl.h b/src/std/vector_impl.h index 2ba5e902aa..3c1d409b0a 100644 --- a/src/std/vector_impl.h +++ b/src/std/vector_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/vectraits.h b/src/std/vectraits.h index e5f952ace7..d17079ad4c 100644 --- a/src/std/vectraits.h +++ b/src/std/vectraits.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/vectraits_impl.h b/src/std/vectraits_impl.h index 03807d312e..36d2d86927 100644 --- a/src/std/vectraits_impl.h +++ b/src/std/vectraits_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/widest.h b/src/std/widest.h index 6d39169bba..6bd5e1c939 100644 --- a/src/std/widest.h +++ b/src/std/widest.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/zip.h b/src/std/zip.h index d994ae53e8..a4a20b7bb1 100644 --- a/src/std/zip.h +++ b/src/std/zip.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/std/zip_impl.h b/src/std/zip_impl.h index e4dfee48db..59e3c0ae93 100644 --- a/src/std/zip_impl.h +++ b/src/std/zip_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/stripper/html_stripper.cpp b/src/stripper/html_stripper.cpp index f2f45b470d..8db217e0f8 100644 --- a/src/stripper/html_stripper.cpp +++ b/src/stripper/html_stripper.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/stripper/html_stripper.h b/src/stripper/html_stripper.h index 785dfd5e20..9683c1b410 100644 --- a/src/stripper/html_stripper.h +++ b/src/stripper/html_stripper.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/stripper/html_stripper_tag.h b/src/stripper/html_stripper_tag.h index 0fecfb3d1c..23bef684c7 100644 --- a/src/stripper/html_stripper_tag.h +++ b/src/stripper/html_stripper_tag.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/task_dispatcher.cpp b/src/task_dispatcher.cpp index a65ccdf77d..124afdb7f5 100644 --- a/src/task_dispatcher.cpp +++ b/src/task_dispatcher.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2022-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2022-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/task_dispatcher.h b/src/task_dispatcher.h index dbe4f56226..22ff298439 100644 --- a/src/task_dispatcher.h +++ b/src/task_dispatcher.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2022-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2022-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/task_info.cpp b/src/task_info.cpp index daaebf4ff5..ececb817e3 100644 --- a/src/task_info.cpp +++ b/src/task_info.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/task_info.h b/src/task_info.h index c5a43f67d5..e661591c7e 100644 --- a/src/task_info.h +++ b/src/task_info.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/taskflushattrs.cpp b/src/taskflushattrs.cpp index 52f67374ec..120e1dfe00 100644 --- a/src/taskflushattrs.cpp +++ b/src/taskflushattrs.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/taskflushattrs.h b/src/taskflushattrs.h index b965f2e9f2..7bdfb1e530 100644 --- a/src/taskflushattrs.h +++ b/src/taskflushattrs.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/taskflushbinlog.cpp b/src/taskflushbinlog.cpp index c6554f0d29..e75bd6848e 100644 --- a/src/taskflushbinlog.cpp +++ b/src/taskflushbinlog.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/taskflushbinlog.h b/src/taskflushbinlog.h index fa2baca42c..6e2ac9a772 100644 --- a/src/taskflushbinlog.h +++ b/src/taskflushbinlog.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/taskflushmutable.cpp b/src/taskflushmutable.cpp index a068791d15..62a402db4d 100644 --- a/src/taskflushmutable.cpp +++ b/src/taskflushmutable.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/taskflushmutable.h b/src/taskflushmutable.h index 957245d20a..7f8136e290 100644 --- a/src/taskflushmutable.h +++ b/src/taskflushmutable.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/taskglobalidf.cpp b/src/taskglobalidf.cpp index b35df4e46e..1ae23c7732 100644 --- a/src/taskglobalidf.cpp +++ b/src/taskglobalidf.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/taskglobalidf.h b/src/taskglobalidf.h index 2d8b9d3b35..7f56a1e961 100644 --- a/src/taskglobalidf.h +++ b/src/taskglobalidf.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/taskmalloctrim.cpp b/src/taskmalloctrim.cpp index f41e28e868..1636e8be22 100644 --- a/src/taskmalloctrim.cpp +++ b/src/taskmalloctrim.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/taskmalloctrim.h b/src/taskmalloctrim.h index dbf894523e..5d19d01ac0 100644 --- a/src/taskmalloctrim.h +++ b/src/taskmalloctrim.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/taskping.cpp b/src/taskping.cpp index 7ffdedd0e1..7dc34972eb 100644 --- a/src/taskping.cpp +++ b/src/taskping.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/taskping.h b/src/taskping.h index 1005fa023b..45b405dee9 100644 --- a/src/taskping.h +++ b/src/taskping.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/taskpreread.cpp b/src/taskpreread.cpp index db722fcc52..04cbe50a57 100644 --- a/src/taskpreread.cpp +++ b/src/taskpreread.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/taskpreread.h b/src/taskpreread.h index 924faa6756..73cce07826 100644 --- a/src/taskpreread.h +++ b/src/taskpreread.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tasksavestate.cpp b/src/tasksavestate.cpp index 11e0bde050..a377c44b0f 100644 --- a/src/tasksavestate.cpp +++ b/src/tasksavestate.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tasksavestate.h b/src/tasksavestate.h index 2f96225efd..e8620d0052 100644 --- a/src/tasksavestate.h +++ b/src/tasksavestate.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/testrt.cpp b/src/testrt.cpp index 406c61aad3..04c8649200 100644 --- a/src/testrt.cpp +++ b/src/testrt.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tests.cpp b/src/tests.cpp index 04825d0a4e..b20cbd4fac 100644 --- a/src/tests.cpp +++ b/src/tests.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/threads_detached.cpp b/src/threads_detached.cpp index d01a0e3077..12c81fc707 100644 --- a/src/threads_detached.cpp +++ b/src/threads_detached.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2021-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2021-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/threadutils.cpp b/src/threadutils.cpp index ac45ca774d..50787d6d30 100644 --- a/src/threadutils.cpp +++ b/src/threadutils.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/threadutils.h b/src/threadutils.h index 258957aff7..29d5162c49 100644 --- a/src/threadutils.h +++ b/src/threadutils.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/threadutils_impl.h b/src/threadutils_impl.h index 28a7326c05..c62cad4ec2 100644 --- a/src/threadutils_impl.h +++ b/src/threadutils_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2020-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2020-2025, Manticore Software LTD (https://manticoresearch.com) // All rights reserved // // This program is free software; you can redistribute it and/or modify diff --git a/src/timeout_queue.cpp b/src/timeout_queue.cpp index a376d27106..d01c38f29d 100644 --- a/src/timeout_queue.cpp +++ b/src/timeout_queue.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/timeout_queue.h b/src/timeout_queue.h index 7ae9d6f70c..c337f51c8b 100644 --- a/src/timeout_queue.h +++ b/src/timeout_queue.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tokenizer/charset_definition_parser.cpp b/src/tokenizer/charset_definition_parser.cpp index 38d31a5db3..f1c5fad8bb 100644 --- a/src/tokenizer/charset_definition_parser.cpp +++ b/src/tokenizer/charset_definition_parser.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2008-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2008-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tokenizer/charset_definition_parser.h b/src/tokenizer/charset_definition_parser.h index 09c217bf50..1be10cd11b 100644 --- a/src/tokenizer/charset_definition_parser.h +++ b/src/tokenizer/charset_definition_parser.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2008-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2008-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tokenizer/exceptions_trie.cpp b/src/tokenizer/exceptions_trie.cpp index daaf6b22ff..b4f92c3467 100644 --- a/src/tokenizer/exceptions_trie.cpp +++ b/src/tokenizer/exceptions_trie.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tokenizer/exceptions_trie.h b/src/tokenizer/exceptions_trie.h index 5c56d2fabd..b8839bd8e7 100644 --- a/src/tokenizer/exceptions_trie.h +++ b/src/tokenizer/exceptions_trie.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tokenizer/lowercaser.cpp b/src/tokenizer/lowercaser.cpp index 0285f2e218..d150b789a6 100644 --- a/src/tokenizer/lowercaser.cpp +++ b/src/tokenizer/lowercaser.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tokenizer/lowercaser.h b/src/tokenizer/lowercaser.h index c3dffb32cb..f588f6a707 100644 --- a/src/tokenizer/lowercaser.h +++ b/src/tokenizer/lowercaser.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tokenizer/lowercaser_impl.h b/src/tokenizer/lowercaser_impl.h index 032511c8f6..e0e57c5d64 100644 --- a/src/tokenizer/lowercaser_impl.h +++ b/src/tokenizer/lowercaser_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tokenizer/multiform_container.h b/src/tokenizer/multiform_container.h index f80e188c85..07bb22790a 100644 --- a/src/tokenizer/multiform_container.h +++ b/src/tokenizer/multiform_container.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tokenizer/remap_range.h b/src/tokenizer/remap_range.h index 85181a2d99..a4cd718b57 100644 --- a/src/tokenizer/remap_range.h +++ b/src/tokenizer/remap_range.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tokenizer/tok_internals.h b/src/tokenizer/tok_internals.h index cb0e5a7e87..35418d882c 100644 --- a/src/tokenizer/tok_internals.h +++ b/src/tokenizer/tok_internals.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2024-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tokenizer/token_filter.h b/src/tokenizer/token_filter.h index 249d30e8ed..19e89bbe74 100644 --- a/src/tokenizer/token_filter.h +++ b/src/tokenizer/token_filter.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tokenizer/tokenizer.cpp b/src/tokenizer/tokenizer.cpp index 10063b743a..6c32061664 100644 --- a/src/tokenizer/tokenizer.cpp +++ b/src/tokenizer/tokenizer.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tokenizer/tokenizer.h b/src/tokenizer/tokenizer.h index b4ff2d8c49..18f6bb7147 100644 --- a/src/tokenizer/tokenizer.h +++ b/src/tokenizer/tokenizer.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tokenizer/tokenizer_bigram.cpp b/src/tokenizer/tokenizer_bigram.cpp index b6ff81daa4..02c13722c7 100644 --- a/src/tokenizer/tokenizer_bigram.cpp +++ b/src/tokenizer/tokenizer_bigram.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tokenizer/tokenizer_multiform.cpp b/src/tokenizer/tokenizer_multiform.cpp index 94039eb8bc..37e40006c0 100644 --- a/src/tokenizer/tokenizer_multiform.cpp +++ b/src/tokenizer/tokenizer_multiform.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tokenizer/tokenizer_plugin.cpp b/src/tokenizer/tokenizer_plugin.cpp index 43201c755f..081d43234e 100644 --- a/src/tokenizer/tokenizer_plugin.cpp +++ b/src/tokenizer/tokenizer_plugin.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tokenizer/tokenizer_utf8.cpp b/src/tokenizer/tokenizer_utf8.cpp index 65286fd2ba..bbc5dcfd1a 100644 --- a/src/tokenizer/tokenizer_utf8.cpp +++ b/src/tokenizer/tokenizer_utf8.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tokenizer/tokenizerbase.cpp b/src/tokenizer/tokenizerbase.cpp index edfdba3c3d..563bb17810 100644 --- a/src/tokenizer/tokenizerbase.cpp +++ b/src/tokenizer/tokenizerbase.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tokenizer/tokenizerbase2.cpp b/src/tokenizer/tokenizerbase2.cpp index 53e3970b6e..e2a03280c1 100644 --- a/src/tokenizer/tokenizerbase2.cpp +++ b/src/tokenizer/tokenizerbase2.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tokenizer/tokenizerbase2_impl.h b/src/tokenizer/tokenizerbase2_impl.h index 0aded45dc3..578d52ac43 100644 --- a/src/tokenizer/tokenizerbase2_impl.h +++ b/src/tokenizer/tokenizerbase2_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tokenizer/tokenizerbase_impl.h b/src/tokenizer/tokenizerbase_impl.h index 294485e61d..6a9e968fc2 100644 --- a/src/tokenizer/tokenizerbase_impl.h +++ b/src/tokenizer/tokenizerbase_impl.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tracer.cpp b/src/tracer.cpp index b0addee39e..4ce16f8525 100644 --- a/src/tracer.cpp +++ b/src/tracer.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2022-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2022-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/tracer.h b/src/tracer.h index 5982264793..6210356229 100644 --- a/src/tracer.h +++ b/src/tracer.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2022-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2022-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/src/wordbreaker.cpp b/src/wordbreaker.cpp index 0072da6ccd..c422b790ea 100644 --- a/src/wordbreaker.cpp +++ b/src/wordbreaker.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com) +// Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com) // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved diff --git a/test/clt-tests/base/replication/start-searchd-precach.recb b/test/clt-tests/base/replication/start-searchd-precach.recb index feaf3afe6f..4dd6a23684 100644 --- a/test/clt-tests/base/replication/start-searchd-precach.recb +++ b/test/clt-tests/base/replication/start-searchd-precach.recb @@ -2,18 +2,9 @@ mkdir -p /var/{run,lib,log}/manticore-${INSTANCE} ––– output ––– ––– input ––– -stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach +stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf > /dev/null ––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:%{NUMBER} for mysql -listening on %{IPADDR}:%{NUMBER} for sphinx and http(s) -listening on %{IPADDR}:%{NUMBER} for sphinx and http(s) ––– input ––– -if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi +if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi ––– output ––– -Buddy started! +Accepting connections! diff --git a/test/clt-tests/base/replication/stop-searchd.recb b/test/clt-tests/base/replication/stop-searchd.recb index 223bc501e6..97a48d9fe5 100644 --- a/test/clt-tests/base/replication/stop-searchd.recb +++ b/test/clt-tests/base/replication/stop-searchd.recb @@ -1,9 +1,3 @@ ––– input ––– -stdbuf -oL searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf +stdbuf -oL searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf > /dev/null ––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)... -[#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER} diff --git a/test/clt-tests/base/searchd-with-flexible-ports.conf b/test/clt-tests/base/searchd-with-flexible-ports.conf index 46a2731eb3..5fc6ba5a53 100644 --- a/test/clt-tests/base/searchd-with-flexible-ports.conf +++ b/test/clt-tests/base/searchd-with-flexible-ports.conf @@ -2,7 +2,7 @@ cat << EOF common { plugin_dir = /usr/local/lib/manticore - lemmatizer_base = /usr/share/manticore/morph/ + lemmatizer_base = /usr/share/manticore/ } searchd { listen = 127.0.0.1:${INSTANCE}306:mysql41 @@ -14,7 +14,7 @@ searchd { data_dir = /var/log/manticore-${INSTANCE} query_log_format = sphinxql query_log_commands = 1 - diskchunk_flush_write_timeout = -1 + server_id = ${INSTANCE} } EOF diff --git a/test/clt-tests/base/searchd-without-table-details.recb b/test/clt-tests/base/searchd-without-table-details.recb deleted file mode 100644 index 1fd110d314..0000000000 --- a/test/clt-tests/base/searchd-without-table-details.recb +++ /dev/null @@ -1,13 +0,0 @@ -––– input ––– -rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd | grep -v precach; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi -––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[A-Za-z]{3}\s+[A-Za-z]{3}\s+[0-9]{1,2}\s+[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}\s+[0-9]{4}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on 127.0.0.1:9312 for sphinx and http(s) -listening on 127.0.0.1:9306 for mysql -listening on 127.0.0.1:9308 for sphinx and http(s) -Buddy started! diff --git a/test/clt-tests/base/start-cluster-2-nodes.recb b/test/clt-tests/base/start-cluster-2-nodes.recb new file mode 100644 index 0000000000..6c75efcdd8 --- /dev/null +++ b/test/clt-tests/base/start-cluster-2-nodes.recb @@ -0,0 +1,13 @@ +––– input ––– +export INSTANCE=1 +––– output ––– +––– block: ./replication/start-searchd-precach ––– +––– input ––– +export INSTANCE=2 +––– output ––– +––– block: ./replication/start-searchd-precach ––– +––– input ––– +export CLUSTER_NAME=c +––– output ––– +––– block: ./replication/create-cluster ––– +––– block: ./replication/join-cluster-on-all-nodes ––– diff --git a/test/clt-tests/base/start-searchd-with-buddy.recb b/test/clt-tests/base/start-searchd-with-buddy.recb index fab80547b3..8cd7fe0896 100644 --- a/test/clt-tests/base/start-searchd-with-buddy.recb +++ b/test/clt-tests/base/start-searchd-with-buddy.recb @@ -1,13 +1,4 @@ ––– input ––– -stdbuf -oL searchd; if timeout 10 grep -qm1 'accepting' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Started'; else echo 'Timeout or failed!'; fi +rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd > /dev/null; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi ––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[A-Za-z]{3}\s+[A-Za-z]{3}\s+[0-9]{1,2}\s+[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}\s+[0-9]{4}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) -Started +Buddy started! diff --git a/test/clt-tests/base/start-searchd-with-cpustats.recb b/test/clt-tests/base/start-searchd-with-cpustats.recb index 3d3fae208f..597d7de644 100644 --- a/test/clt-tests/base/start-searchd-with-cpustats.recb +++ b/test/clt-tests/base/start-searchd-with-cpustats.recb @@ -1,12 +1,7 @@ ––– input ––– -stdbuf -oL searchd --cpustats +stdbuf -oL searchd --cpustats > /dev/null ––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) +––– input ––– +if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi +––– output ––– +Accepting connections! diff --git a/test/clt-tests/base/start-searchd.recb b/test/clt-tests/base/start-searchd.recb index ea90dedb64..f5dc789b98 100644 --- a/test/clt-tests/base/start-searchd.recb +++ b/test/clt-tests/base/start-searchd.recb @@ -1,13 +1,7 @@ ––– input ––– -rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi +rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd > /dev/null ––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) -Buddy started! +––– input ––– +if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi +––– output ––– +Accepting connections! diff --git a/test/clt-tests/buddy/test-fuzzy-search.rec b/test/clt-tests/buddy/test-fuzzy-search.rec deleted file mode 100644 index 044ba96a77..0000000000 --- a/test/clt-tests/buddy/test-fuzzy-search.rec +++ /dev/null @@ -1,891 +0,0 @@ -––– block: ../base/start-searchd ––– -––– input ––– -apt-get update -y > /dev/null; echo $? -––– output ––– -0 -––– input ––– -apt-get install jq -y > /dev/null; echo $? -––– output ––– -debconf: delaying package configuration, since apt-utils is not installed -0 -––– input ––– -php -d memory_limit=2G ./test/clt-tests/scripts/load_names_attr.php --batch-size=100000 --concurrency=4 --docs=1000000 --start-id=1 --min-infix-len=2 > /dev/null; echo $? -––– output ––– -0 -––– input ––– -mysql -h0 -P9306 -e "SHOW CREATE TABLE name;" | grep "min_infix_len='2'" | sed "s/.*\(min_infix_len='2'\).*/\1/" -––– output ––– -min_infix_len='2' -––– input ––– -mysql -h0 -P9306 -e "SELECT COUNT(*) FROM name;" -––– output ––– -+----------+ -| count(*) | -+----------+ -| 1000000 | -+----------+ -––– input ––– -mysql -h0 -P9306 -e "OPTIMIZE TABLE name OPTION sync=1;" -––– output ––– -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('RICH') ORDER BY id ASC, username ASC OPTION fuzzy=1;" -––– output ––– -+------+-------------------+------+ -| id | username | s | -+------+-------------------+------+ -| 196 | BRICE MULLIN | a | -| 307 | GRICELDA SKELTON | a | -| 363 | LAURICE SOLIZ | a | -| 478 | ERICH LLAMAS | a | -| 490 | LATRICE MANCILLA | a | -| 608 | MAURICE PRATHER | a | -| 659 | BRICE OLIVARES | a | -| 697 | PATRICE WOOD | a | -| 822 | JUNITA RICHARD | a | -| 835 | AUREA RICO | a | -| 854 | ROXANNE BRICE | a | -| 1122 | RICH MOLL | a | -| 1134 | JOELLA RICHARD | a | -| 1160 | MINDY HEINRICH | a | -| 1224 | YADIRA RICHARDSON | a | -| 1379 | BRICE ALLMAN | a | -| 1574 | RICO VALENZUELA | a | -| 1602 | BEATRICE LOVE | a | -| 1822 | RICHELLE ROE | a | -| 2136 | CHIQUITA RICHTER | a | -+------+-------------------+------+ -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('EBGRNA') ORDER BY id ASC, username ASC OPTION fuzzy=1;" -––– output ––– -+------+----------------------+------+ -| id | username | s | -+------+----------------------+------+ -| 675 | CONCEPTION ABERNATHY | a | -| 964 | BERNARDINA OSHEA | a | -| 1354 | VERNA VITALE | a | -| 1784 | BERNADETTE HALES | a | -| 1839 | BERNARDINA MCMILLAN | a | -| 1864 | ERNA ULLOA | a | -| 1948 | SAMIRA ABERNATHY | a | -| 2238 | JUDI BERNAL | a | -| 2446 | MERNA GAITHER | a | -| 3065 | BERNADINE HIBBARD | a | -| 3195 | BERNADETTE SHELTON | a | -| 3688 | VERNA GASTON | a | -| 3781 | BERNARDINE WILKINS | a | -| 4370 | ERNA VITALE | a | -| 4637 | TARSHA HERNANDEZ | a | -| 4662 | FERNANDO HOUCK | a | -| 5044 | CONSTANCE ABERNATHY | a | -| 5580 | LAVERNA GORMAN | a | -| 5582 | FERNANDE ISRAEL | a | -| 5798 | LAVERNA STORM | a | -+------+----------------------+------+ -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('ANT') ORDER BY id ASC, username ASC OPTION fuzzy=1;" -––– output ––– -+------+-------------------+------+ -| id | username | s | -+------+-------------------+------+ -| 8 | DAMIAN SOMERS | a | -| 16 | TAMI WHELAN | a | -| 19 | DARCY SANDBERG | a | -| 20 | RANEE BROUGHTON | a | -| 21 | STEPHEN ALLMAN | a | -| 30 | AMANDA KEY | a | -| 37 | ELFRIEDA HANKS | a | -| 41 | NANNIE WILLINGHAM | a | -| 42 | YOULANDA TROUT | a | -| 44 | ANTHONY SMOOT | a | -| 47 | FRANCIE BUNDY | a | -| 51 | LATASHA POLAND | a | -| 53 | SHEMEKA DURAND | a | -| 54 | LATANYA ARNDT | a | -| 56 | JANELLE LASTER | a | -| 57 | NANNIE HANNON | a | -| 58 | GRANVILLE VALDEZ | a | -| 59 | DEDE SPANN | a | -| 60 | DANIEL MERRITT | a | -| 63 | SAUL HOWLAND | a | -+------+-------------------+------+ -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('tony') ORDER BY id ASC, username ASC OPTION fuzzy=1;" -––– output ––– -+------+--------------------+------+ -| id | username | s | -+------+--------------------+------+ -| 118 | ANTONIA VANWINKLE | a | -| 220 | ANTONIA MELGAR | a | -| 391 | KARYL TONEY | a | -| 761 | TONYA SHERRILL | a | -| 1527 | LEONE TONEY | a | -| 2132 | TONIA RAPP | a | -| 2195 | TONIE HOANG | a | -| 2333 | LATONIA VILLASENOR | a | -| 2357 | TONIE BARNHILL | a | -| 2430 | TONIA BOSTICK | a | -| 2584 | TONI SPENCE | a | -| 2725 | ANTONIETTA CINTRON | a | -| 2881 | ANTONINA HASKELL | a | -| 3318 | TONY DUPRE | a | -| 3582 | ANTONIETTA BAEZ | a | -| 3858 | TONEY SCHOEN | a | -| 4366 | ROCHEL TONEY | a | -| 4608 | ANTONIA DRISCOLL | a | -| 4657 | TONYA PARRIS | a | -| 4800 | TONY WEISS | a | -+------+--------------------+------+ -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') ORDER BY id DESC, username ASC OPTION fuzzy=1;" -––– output ––– -+--------+-------------------+------+ -| id | username | s | -+--------+-------------------+------+ -| 999973 | KEITH SNOW | a | -| 999855 | DOROTHA WISEMAN | a | -| 999723 | SCOTT OLSON | a | -| 999264 | RUTHANN GREENE | a | -| 999250 | MINH LANDERS | a | -| 999127 | MALENA RUTHERFORD | a | -| 999120 | RUTHANNE CARDOSO | a | -| 998893 | IRWIN SOUTHARD | a | -| 998691 | MITCHELL SEITZ | a | -| 998539 | ELSA SEITZ | a | -| 998526 | SCOTT CARRION | a | -| 997945 | RUTHE SCHENK | a | -| 997815 | MINH GOODWIN | a | -| 997558 | ARTIE SOUTH | a | -| 997189 | BETTY SOUTHERN | a | -| 997187 | SUSAN SCOTT | a | -| 997098 | OTHA FAJARDO | a | -| 997074 | SCOTT FLANDERS | a | -| 996804 | SCOTT ENOS | a | -| 996461 | EDRA HIGGINBOTHAM | a | -+--------+-------------------+------+ -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') ORDER BY id DESC, username ASC OPTION fuzzy=1;" -––– output ––– -+--------+-------------------+------+ -| id | username | s | -+--------+-------------------+------+ -| 999973 | KEITH SNOW | a | -| 999855 | DOROTHA WISEMAN | a | -| 999723 | SCOTT OLSON | a | -| 999264 | RUTHANN GREENE | a | -| 999250 | MINH LANDERS | a | -| 999127 | MALENA RUTHERFORD | a | -| 999120 | RUTHANNE CARDOSO | a | -| 998893 | IRWIN SOUTHARD | a | -| 998691 | MITCHELL SEITZ | a | -| 998539 | ELSA SEITZ | a | -| 998526 | SCOTT CARRION | a | -| 997945 | RUTHE SCHENK | a | -| 997815 | MINH GOODWIN | a | -| 997558 | ARTIE SOUTH | a | -| 997189 | BETTY SOUTHERN | a | -| 997187 | SUSAN SCOTT | a | -| 997098 | OTHA FAJARDO | a | -| 997074 | SCOTT FLANDERS | a | -| 996804 | SCOTT ENOS | a | -| 996461 | EDRA HIGGINBOTHAM | a | -+--------+-------------------+------+ -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMYTH') ORDER BY id DESC, username ASC OPTION fuzzy=1;" -––– output ––– -+--------+-------------------+------+ -| id | username | s | -+--------+-------------------+------+ -| 999973 | KEITH SNOW | a | -| 999964 | CANDACE BOOTH | a | -| 999855 | DOROTHA WISEMAN | a | -| 999723 | SCOTT OLSON | a | -| 999264 | RUTHANN GREENE | a | -| 999197 | HEATH MCNAMARA | a | -| 999127 | MALENA RUTHERFORD | a | -| 999120 | RUTHANNE CARDOSO | a | -| 999013 | HEATHER HAMMOCK | a | -| 998893 | IRWIN SOUTHARD | a | -| 998526 | SCOTT CARRION | a | -| 998000 | EDYTH CARLISLE | a | -| 997945 | RUTHE SCHENK | a | -| 997558 | ARTIE SOUTH | a | -| 997544 | HEATHER CLAUSEN | a | -| 997189 | BETTY SOUTHERN | a | -| 997187 | SUSAN SCOTT | a | -| 997098 | OTHA FAJARDO | a | -| 997074 | SCOTT FLANDERS | a | -| 996804 | SCOTT ENOS | a | -+--------+-------------------+------+ -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') ORDER BY id DESC, username ASC OPTION fuzzy="1";" -––– output ––– -+--------+-------------------+------+ -| id | username | s | -+--------+-------------------+------+ -| 999973 | KEITH SNOW | a | -| 999855 | DOROTHA WISEMAN | a | -| 999723 | SCOTT OLSON | a | -| 999264 | RUTHANN GREENE | a | -| 999250 | MINH LANDERS | a | -| 999127 | MALENA RUTHERFORD | a | -| 999120 | RUTHANNE CARDOSO | a | -| 998893 | IRWIN SOUTHARD | a | -| 998691 | MITCHELL SEITZ | a | -| 998539 | ELSA SEITZ | a | -| 998526 | SCOTT CARRION | a | -| 997945 | RUTHE SCHENK | a | -| 997815 | MINH GOODWIN | a | -| 997558 | ARTIE SOUTH | a | -| 997189 | BETTY SOUTHERN | a | -| 997187 | SUSAN SCOTT | a | -| 997098 | OTHA FAJARDO | a | -| 997074 | SCOTT FLANDERS | a | -| 996804 | SCOTT ENOS | a | -| 996461 | EDRA HIGGINBOTHAM | a | -+--------+-------------------+------+ -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('john') ORDER BY id DESC, username ASC OPTION fuzzy=1;" -––– output ––– -+--------+------------------------+------+ -| id | username | s | -+--------+------------------------+------+ -| 999961 | JONELL ENRIGHT | a | -| 999932 | JONELL NIX | a | -| 999926 | JONAH BURNSIDE | a | -| 999922 | LAVONNA JONAS | a | -| 999860 | JOHNETTA DO | a | -| 999552 | JOHNNY CARNES | a | -| 999548 | JOHNATHAN PEPPER | a | -| 999509 | JOHNATHAN STUBBLEFIELD | a | -| 999171 | JOHNNY ABRAMS | a | -| 999033 | AGNUS STJOHN | a | -| 998835 | SCARLETT JONAS | a | -| 998798 | JOHNATHON READ | a | -| 998467 | JOHNSON JEAN | a | -| 998393 | JOHN BACH | a | -| 998306 | JOHNNY TAFOYA | a | -| 998304 | JONG SAUER | a | -| 998303 | JONATHON DUPRE | a | -| 998278 | JOHNNIE LOR | a | -| 998181 | JONA ELROD | a | -| 998154 | JONG YORK | a | -+--------+------------------------+------+ -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('jane') AND id BETWEEN 10000 AND 20000 ORDER BY username ASC OPTION fuzzy=1;" -––– output ––– -+-------+--------------------+------+ -| id | username | s | -+-------+--------------------+------+ -| 10028 | ANJANETTE PORTILLO | a | -| 10056 | JANETTE LYNCH | a | -| 10629 | LANETTE SWAIN | a | -| 10874 | JANESSA MONTEZ | a | -| 10977 | RUTHANN LANEY | a | -| 11038 | DESIRE LANE | a | -| 11056 | LANELLE WATTS | a | -| 11397 | MELITA LANE | a | -| 11415 | MARYJANE HOLTZ | a | -| 11569 | JANETH SELBY | a | -| 11758 | JANETTE GANTT | a | -| 11834 | JANELLE DRIGGERS | a | -| 12100 | JAE COBLE | a | -| 12171 | JAE MEARS | a | -| 12185 | JANESSA BALTAZAR | a | -| 12237 | JANENE APODACA | a | -| 12490 | LANELLE ARNDT | a | -| 12536 | JANENE WALDRON | a | -| 12540 | ANJANETTE STAGGS | a | -| 12642 | HERSHEL LANEY | a | -+-------+--------------------+------+ -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('EBGRNA') AND id BETWEEN 1000 AND 2000 ORDER BY username ASC OPTION fuzzy=1;" -––– output ––– -+------+---------------------+------+ -| id | username | s | -+------+---------------------+------+ -| 1354 | VERNA VITALE | a | -| 1784 | BERNADETTE HALES | a | -| 1839 | BERNARDINA MCMILLAN | a | -| 1864 | ERNA ULLOA | a | -| 1948 | SAMIRA ABERNATHY | a | -+------+---------------------+------+ -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SARA') ORDER BY id ASC, username ASC OPTION fuzzy=1;" -––– output ––– -+------+------------------+------+ -| id | username | s | -+------+------------------+------+ -| 188 | LARA KIRK | a | -| 207 | CLARA MORRIS | a | -| 351 | KLARA DONALDSON | a | -| 990 | ELAINE SARABIA | a | -| 1409 | LARA FREDERICK | a | -| 1661 | SARA GARNER | a | -| 1831 | SARAI ESPINAL | a | -| 2074 | VALENTIN SARABIA | a | -| 2930 | LARA CINTRON | a | -| 3045 | KLARA ANDRES | a | -| 3373 | KLARA NORTON | a | -| 3741 | CRUZ SARABIA | a | -| 3780 | RUSSEL LARA | a | -| 4700 | HEE SARABIA | a | -| 4933 | KLARA GOODING | a | -| 5830 | SARAI LINDLEY | a | -| 5865 | SARAN KNAPP | a | -| 5918 | SARA WAITE | a | -| 6635 | CLARA BEALE | a | -| 6836 | CLARA BAZAN | a | -+------+------------------+------+ -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS fuzziness);" | tail -n +4 | sort -––– output ––– -+---------+ -| joe | -| john | -| johnie | -| johnson | -| jordan | -| jose | -| joseph | -| joshua | -| joy | -| joyce | -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 'us,ru' AS layouts);" | tail -n +4 | sort -––– output ––– -+---------+ -| joe | -| john | -| johnie | -| johnson | -| jordan | -| jose | -| joseph | -| joshua | -| joy | -| joyce | -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS append);" | tail -n +4 | sort -––– output ––– -+---------+ -| joe | -| john | -| johnie | -| johnson | -| jordan | -| jose | -| joseph | -| joshua | -| joy | -| joyce | -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 0 AS prepend);" | tail -n +4 | sort -––– output ––– -+---------+ -| joe | -| john | -| johnson | -| jonas | -| jordan | -| jose | -| joseph | -| joshua | -| joy | -| joyce | -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS prepend, 1 AS append);" | tail -n +4 | sort -––– output ––– -+---------+ -| joe | -| john | -| johnie | -| johnson | -| jordan | -| jose | -| joseph | -| joshua | -| joy | -| joyce | -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS fuzziness, '' AS layouts, 1 AS append, 1 AS prepend);" | tail -n +4 | sort -––– output ––– -+---------+ -| joe | -| john | -| johnie | -| johnson | -| jordan | -| jose | -| joseph | -| joshua | -| joy | -| joyce | -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 2 AS fuzziness, 'us,ru' AS layouts, 1 AS append, 1 AS prepend, 2 AS expansion_len);" | tail -n +4 | sort -––– output ––– -+-------+ -| joe | -| john | -| jose | -| joy | -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS append);" | tail -n +4 | sort -––– output ––– -+---------+ -| joe | -| john | -| johnie | -| johnson | -| jordan | -| jose | -| joseph | -| joshua | -| joy | -| joyce | -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS prepend);" | tail -n +4 | sort -––– output ––– -+---------+ -| joe | -| john | -| johnie | -| johnson | -| jordan | -| jose | -| joseph | -| joshua | -| joy | -| joyce | -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS append, 1 AS prepend);" | tail -n +4 | sort -––– output ––– -+---------+ -| joe | -| john | -| johnie | -| johnson | -| jordan | -| jose | -| joseph | -| joshua | -| joy | -| joyce | -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 'us' AS layouts);" | tail -n +4 | sort -––– output ––– -+---------+ -| joe | -| john | -| johnie | -| johnson | -| jordan | -| jose | -| joseph | -| joshua | -| joy | -| joyce | -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 'ru' AS layouts);" | tail -n +4 | sort -––– output ––– -+---------+ -| joe | -| john | -| johnie | -| johnson | -| jordan | -| jose | -| joseph | -| joshua | -| joy | -| joyce | -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('al', 'name', 0 AS fuzziness);" | tail -n +4 | sort -––– output ––– -+-----------+ -| albert | -| alexander | -| allen | -| dale | -| dallas | -| donald | -| gale | -| kendall | -| marshall | -| walter | -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('mi', 'name', 0 AS append, 1 AS prepend);" | tail -n +4 | sort -––– output ––– -+---------+ -| ami | -| britni | -| brittni | -| cami | -| choi | -| darci | -| eleni | -| jami | -| jani | -| jeni | -| joi | -| kaci | -| kami | -| kimi | -| laci | -| lani | -| luci | -| mancini | -| marci | -| martini | -| melani | -| muoi | -| nanci | -| neomi | -| noemi | -| nohemi | -| ricci | -| shani | -| staci | -| tammi | -| toi | -| tomi | -| traci | -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('ch', 'name', 1 AS fuzziness, 3 AS expansion_len);" | tail -n +4 | sort -––– output ––– -+-------+ -| chang | -| chi | -| chong | -| chung | -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('зф', 'name', 'us,ru' AS layouts);" | tail -n +4 | sort -––– output ––– -+---------+ -| page | -| paige | -| palma | -| palmer | -| paris | -| parker | -| pat | -| patrick | -| paul | -| paz | -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('зф', 'name', 'us' AS layouts);" | tail -n +4 | sort -––– output ––– -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('gr', 'name', 1 AS fuzziness, 'ru' AS layouts, 1 AS append, 1 AS prepend);" | tail -n +4 | sort -––– output ––– -+------------+ -| grace | -| gracia | -| grady | -| graham | -| grant | -| gregg | -| gregory | -| griffin | -| grover | -| montenegro | -––– input ––– -mysql -h0 -P9306 -e "drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'something'), (2, 'some thing'); select * from t where match('somethin') option fuzzy=0;" -––– output ––– -––– input ––– -mysql -h0 -P9306 -e "select * from t where match('somethin') option fuzzy=0;" -––– output ––– -––– input ––– -mysql -P9306 -h0 -e "drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'something'), (2, 'some thing'); call autocomplete('some', 't');" -––– output ––– -+-----------+ -| query | -+-----------+ -| some | -| something | -+-----------+ -––– input ––– -mysql -P9306 -h0 -e "drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'something'), (2, 'some thing'); call autocomplete('some', 't');" -––– output ––– -+-----------+ -| query | -+-----------+ -| some | -| something | -+-----------+ -––– input ––– -mysql -h0 -P9306 -e "drop table if exists t; create table t(a int);" -––– output ––– -––– input ––– -mysql -h0 -P9306 -e "select * from t option fuzzy=1;" -––– output ––– -ERROR 1064 (42000) at line 1: The 'fuzzy' option requires a full-text query -––– input ––– -mysql -h0 -P9306 -e "drop table if exists comment_28798446; create table comment_28798446(id int, content text) min_infix_len='3';" -––– output ––– -––– input ––– -mysql -h0 -P9306 -e "insert into comment_28798446 values (1, 'business Manticore interaction'), (2, 'buisness Manticore interation'), (3, 'other text content');" -––– output ––– -––– input ––– -mysql -h0 -P9306 -e "SELECT id FROM comment_28798446 WHERE MATCH('buisness Manticore interation') OPTION fuzzy = 1, layouts = '';" -––– output ––– -+------+ -| id | -+------+ -| 1 | -| 2 | -+------+ -––– input ––– -mysql -h0 -P9306 -e "SELECT id FROM comment_28798446 WHERE MATCH('business Manticore interaction') OPTION fuzzy = 1, layouts = '';" -––– output ––– -+------+ -| id | -+------+ -| 1 | -| 2 | -+------+ -––– input ––– -mysql -h0 -P9306 -e "SELECT id FROM comment_28798446 WHERE MATCH('Manticore') OPTION fuzzy = 1, layouts = '';" -––– output ––– -+------+ -| id | -+------+ -| 1 | -| 2 | -+------+ -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('bus', 'comment_28798446', 'ru,us,ua' AS layouts);" -––– output ––– -+----------+ -| query | -+----------+ -| business | -+----------+ -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('bus', 'comment_28798446', '' AS layouts);" -––– output ––– -+----------+ -| query | -+----------+ -| business | -+----------+ -––– input ––– -mysql -h0 -P9306 -e "DROP TABLE IF EXISTS t; DEBUG SLEEP 2; CREATE TABLE t(f TEXT) min_infix_len='2';" -––– output ––– -+---------+--------+ -| command | result | -+---------+--------+ -| sleep | #!/[0-9]{1}.[0-9]{3}/!# | -+---------+--------+ -––– input ––– -mysql -h0 -P9306 -e "INSERT INTO t VALUES (1, 'abcdef'), (2, 'abcd efgh');" -––– output ––– -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('abcdef'); SHOW META;" -––– output ––– -+------+--------+ -| id | f | -+------+--------+ -| 1 | abcdef | -+------+--------+ -+----------------+--------+ -| Variable_name | Value | -+----------------+--------+ -| total | 1 | -| total_found | 1 | -| total_relation | eq | -| time | #!/[0-9]{1}.[0-9]{3}/!# | -| keyword[0] | abcdef | -| docs[0] | 1 | -| hits[0] | 1 | -+----------------+--------+ -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('abcef') OPTION fuzzy=1; SHOW META;" -––– output ––– -+------+-----------+ -| id | f | -+------+-----------+ -| 1 | abcdef | -| 2 | abcd efgh | -+------+-----------+ -+----------------+-------+ -| Variable_name | Value | -+----------------+-------+ -| total | 2 | -| total_found | 2 | -| total_relation | eq | -| time | #!/[0-9]{1}.[0-9]{3}/!# | -+----------------+-------+ -––– input ––– -grep -A3 "SELECT \* FROM t WHERE MATCH('abcdef')" /var/log/manticore/query.log -––– output ––– -/* #!/[A-Za-z]{3}\s+[A-Za-z]{3}\s+[0-9]{1,2}\s+[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}\s+[0-9]{4}/!# conn %{NUMBER} (127.0.0.1:%{NUMBER}) real #!/[0-9]{1}.[0-9]{3}/!# wall #!/[0-9]{1}.[0-9]{3}/!# found 1 */ SELECT * FROM t WHERE MATCH('abcdef'); -/* #!/[A-Za-z]{3}\s+[A-Za-z]{3}\s+[0-9]{1,2}\s+[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}\s+[0-9]{4}/!# conn %{NUMBER} (127.0.0.1:%{NUMBER}) real #!/[0-9]{1}.[0-9]{3}/!# wall #!/[0-9]{1}.[0-9]{3}/!# found 2 */ SELECT * FROM t WHERE MATCH('abcef') OPTION fuzzy=1; -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('nonexistent'); SHOW META;" -––– output ––– -+----------------+-------------+ -| Variable_name | Value | -+----------------+-------------+ -| total | 0 | -| total_found | 0 | -| total_relation | eq | -| time | #!/[0-9]{1}.[0-9]{3}/!# | -| keyword[0] | nonexistent | -| docs[0] | 0 | -| hits[0] | 0 | -+----------------+-------------+ -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('abcdef') OPTION fuzzy=1;" -––– output ––– -+------+-----------+ -| id | f | -+------+-----------+ -| 1 | abcdef | -| 2 | abcd efgh | -+------+-----------+ -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('\$#@\!') OPTION fuzzy=1;" -––– output ––– -––– input ––– -mysql -h0 -P9306 -e "DROP TABLE IF EXISTS idx1; CREATE TABLE idx1(value TEXT) min_infix_len='2';" -––– output ––– -––– input ––– -mysql -h0 -P9306 -e "INSERT INTO idx1(value) VALUES ('340');" -––– output ––– -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('34', 'idx1');" -––– output ––– -+-------+ -| query | -+-------+ -| 340 | -+-------+ -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('3', 'idx1');" -––– output ––– -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('34', 'idx1', 1 AS fuzziness);" -––– output ––– -+-------+ -| query | -+-------+ -| 340 | -+-------+ -––– input ––– -echo -e "searchd {\nlisten = 9306:mysql\nlisten = 9312\nlisten = 9308:http\nlog = /tmp/searchd.log\nquery_log = /tmp/query.log\npid_file = /tmp/searchd.pid\n}\n\nsource src_idx {\ntype = tsvpipe\ntsvpipe_command = cat /tmp/data.tsv\ntsvpipe_field_string = f\ntsvpipe_attr_bigint = id\n}\n\nindex idx_plain {\ntype = plain\nsource = src_idx\npath = /tmp/idx_plain\nmin_infix_len = 2\n}" > /tmp/manticore_idx.conf -––– output ––– -––– input ––– -echo -e "1\tabcdef\n2\tabcd efgh\n3\trandom text" > /tmp/data.tsv -––– output ––– -––– input ––– -mkdir -p /tmp/idx_plain && chmod 777 /tmp/idx_plain -––– output ––– -––– input ––– -indexer --all --config /tmp/manticore_idx.conf > /dev/null 2>&1 -––– output ––– -––– input ––– -rm -f /tmp/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd -c /tmp/manticore_idx.conf; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi -––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/tmp/manticore_idx.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on all interfaces for mysql, port=9306 -listening on all interfaces for sphinx and http(s), port=9312 -listening on all interfaces for sphinx and http(s), port=9308 -precaching table 'idx_plain' -precached 1 tables in #!/[0-9]{1,2}.[0-9]+/!# sec -Buddy started! -––– input ––– -mysql -h0 -P9306 -e "SHOW TABLES;" -––– output ––– -+-----------+-------+ -| Table | Type | -+-----------+-------+ -| idx_plain | local | -+-----------+-------+ -––– input ––– -mysql -h0 -P9306 -e "SHOW TABLE idx_plain SETTINGS;" -––– output ––– -+---------------+-------------------+ -| Variable_name | Value | -+---------------+-------------------+ -| settings | min_infix_len = 2 | -+---------------+-------------------+ -––– input ––– -mysql -h0 -P9306 -e "show version\G;" -––– output ––– -*************************** 1. row *************************** -Component: Daemon -Version: %{VERSION} -*************************** 2. row *************************** -Component: Columnar -Version: columnar %{VERSION} -*************************** 3. row *************************** -Component: Secondary -Version: secondary %{VERSION} -*************************** 4. row *************************** -Component: KNN -Version: knn %{VERSION} -*************************** 5. row *************************** -Component: Buddy -Version: buddy %{VERSION} -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcdef') OPTION fuzzy=1;" -––– output ––– -+------+-----------+ -| id | f | -+------+-----------+ -| 1 | abcdef | -| 2 | abcd efgh | -+------+-----------+ -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcef') OPTION fuzzy=1;" -––– output ––– -+------+-----------+ -| id | f | -+------+-----------+ -| 1 | abcdef | -| 2 | abcd efgh | -+------+-----------+ -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('nonexistent') OPTION fuzzy=1;" -––– output ––– -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('abc', 'idx_plain');" -––– output ––– -+--------+ -| query | -+--------+ -| abcd | -| abcdef | -+--------+ -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('ran', 'idx_plain');" -––– output ––– -+--------+ -| query | -+--------+ -| random | -+--------+ -––– input ––– -mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('zzz', 'idx_plain');" -––– output ––– -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcdef') OPTION fuzzy=0;" -––– output ––– -+------+--------+ -| id | f | -+------+--------+ -| 1 | abcdef | -+------+--------+ -––– input ––– -mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcd efgh') OPTION fuzzy=0;" -––– output ––– -+------+-----------+ -| id | f | -+------+-----------+ -| 2 | abcd efgh | -+------+-----------+ diff --git a/test/clt-tests/buddy/test-inconsistency-in-error-messages.rec b/test/clt-tests/buddy/test-inconsistency-in-error-messages.rec index 77372afc66..a80b5c43c8 100644 --- a/test/clt-tests/buddy/test-inconsistency-in-error-messages.rec +++ b/test/clt-tests/buddy/test-inconsistency-in-error-messages.rec @@ -2,21 +2,16 @@ echo -e 'common {\n\tplugin_dir = /usr/local/lib/manticore\n\tlemmatizer_base = /usr/share/manticore/morph/\n}\n\nsearchd {\n\tlisten = 9306:mysql41\n\tlisten = 9312\n\tlisten = 9308:http\n\tlog = /var/log/manticore/searchd.log\n\tquery_log = /var/log/manticore/query.log\n\tpid_file = /var/log/manticore/searchd.pid\n\tdata_dir = /var/log/manticore\n\tquery_log_format = sphinxql\n\tquery_log_commands = 1\n\tbuddy_path =\n}\n' > manticore.conf ––– output ––– ––– input ––– -stdbuf -oL searchd --config ./manticore.conf +stdbuf -oL searchd --config ./manticore.conf > /dev/null ––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/.clt/manticore.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on all interfaces for mysql, port=9306 -listening on all interfaces for sphinx and http(s), port=9312 -listening on all interfaces for sphinx and http(s), port=9308 +––– input ––– +if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi +––– output ––– +Accepting connections! ––– input ––– mysql -h0 -P9306 -e "drop table if exists a; drop table if exists test; create table a (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');create table test type='distributed' local='a';" ––– output ––– ––– input ––– for i in {1..100}; do response=$(curl -s -X POST http://localhost:9308/insert -d '{"table": "test", "id": 1, "doc": {"model": "iPhone 13 Pro", "storage_capacity": 256, "color": "silver", "release_year": 2021, "price": 1099.99, "discounted_price": 989.99, "sold": 1, "date_added": 1591362342000, "product_codes": [1,2,3], "values": [523456764345678976,98765409877866654098,1109876543450987650987], "additional_info": {"features": ["ProMotion display", "A15 Bionic chip", "Ceramic Shield front cover"]}, "vector": [0.773448,0.312478,0.137971,0.459821]}}'); if [[ "$response" != *'"error":{"type":"action_request_validation_exception","reason":"table '\''test'\'' does not support INSERT","table":"test"},"status":409'* ]]; then echo "Mismatch found at iteration $i: $response"; exit 1; fi; done; echo "All 100 requests returned the same error" ––– output ––– -All 100 requests returned the same error \ No newline at end of file +All 100 requests returned the same error diff --git a/test/clt-tests/buddy/test-inconsistent-comunication-with-buddy.rec b/test/clt-tests/buddy/test-inconsistent-comunication-with-buddy.rec deleted file mode 100644 index 2bb8a05b0d..0000000000 --- a/test/clt-tests/buddy/test-inconsistent-comunication-with-buddy.rec +++ /dev/null @@ -1,274 +0,0 @@ -––– block: ../base/start-searchd ––– -––– input ––– -apt-get install jq -y > /dev/null; echo $? -––– output ––– -debconf: delaying package configuration, since apt-utils is not installed -0 -––– input ––– -curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "query=SHOW TABLES"; echo -––– output ––– -[{ -"columns":[{"Table":{"type":"string"}},{"Type":{"type":"string"}}], -"data":[ -], -"total":%{NUMBER}, -"error":"", -"warning":"" -}] -––– input ––– -curl -s "http://localhost:9308/sql?mode=raw&query=SHOW%20TABLES"; echo -––– output ––– -[{ -"columns":[{"Table":{"type":"string"}},{"Type":{"type":"string"}}], -"data":[ -], -"total":%{NUMBER}, -"error":"", -"warning":"" -}] -––– input ––– -curl -s -X POST "http://localhost:9308/sql?raw_response=true" -d "query=SHOW TABLES"; echo -––– output ––– -[{ -"columns":[{"Table":{"type":"string"}},{"Type":{"type":"string"}}], -"data":[ -], -"total":%{NUMBER}, -"error":"", -"warning":"" -}] -––– input ––– -curl -s "http://localhost:9308/sql?raw_response=true&query=SHOW%20TABLES"; echo -––– output ––– -[{ -"columns":[{"Table":{"type":"string"}},{"Type":{"type":"string"}}], -"data":[ -], -"total":%{NUMBER}, -"error":"", -"warning":"" -}] -––– input ––– -curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "query=SHOW VARIABLES"; echo -––– output ––– -[{ -"columns":[{"Variable_name":{"type":"string"}},{"Value":{"type":"string"}}], -"data":[ -{"Variable_name":"autocommit","Value":"%{NUMBER}"}, -{"Variable_name":"auto_optimize","Value":"%{NUMBER}"}, -{"Variable_name":"optimize_cutoff","Value":"%{NUMBER}"}, -{"Variable_name":"collation_connection","Value":"libc_ci"}, -{"Variable_name":"query_log_format","Value":"sphinxql"}, -{"Variable_name":"session_read_only","Value":"%{NUMBER}"}, -{"Variable_name":"log_level","Value":"info"}, -{"Variable_name":"max_allowed_packet","Value":"134217728"}, -{"Variable_name":"character_set_client","Value":"utf8"}, -{"Variable_name":"character_set_connection","Value":"utf8"}, -{"Variable_name":"grouping_in_utc","Value":"%{NUMBER}"}, -{"Variable_name":"timezone","Value":"/etc/localtime"}, -{"Variable_name":"last_insert_id","Value":""}, -{"Variable_name":"pseudo_sharding","Value":"%{NUMBER}"}, -{"Variable_name":"secondary_indexes","Value":"%{NUMBER}"}, -{"Variable_name":"accurate_aggregation","Value":"%{NUMBER}"}, -{"Variable_name":"distinct_precision_threshold","Value":"3500"}, -{"Variable_name":"threads_ex_effective","Value":""}, -{"Variable_name":"cluster_user","Value":"cluster"}, -{"Variable_name":"thread_stack","Value":"%{NUMBER}"}, -{"Variable_name":"threads_ex","Value":""}, -{"Variable_name":"user","Value":""} -], -"total":%{NUMBER}, -"error":"", -"warning":"" -}] -––– input ––– -curl -s "http://localhost:9308/sql?mode=raw&query=SHOW%20VARIABLES"; echo -––– output ––– -[{ -"columns":[{"Variable_name":{"type":"string"}},{"Value":{"type":"string"}}], -"data":[ -{"Variable_name":"autocommit","Value":"%{NUMBER}"}, -{"Variable_name":"auto_optimize","Value":"%{NUMBER}"}, -{"Variable_name":"optimize_cutoff","Value":"%{NUMBER}"}, -{"Variable_name":"collation_connection","Value":"libc_ci"}, -{"Variable_name":"query_log_format","Value":"sphinxql"}, -{"Variable_name":"session_read_only","Value":"%{NUMBER}"}, -{"Variable_name":"log_level","Value":"info"}, -{"Variable_name":"max_allowed_packet","Value":"134217728"}, -{"Variable_name":"character_set_client","Value":"utf8"}, -{"Variable_name":"character_set_connection","Value":"utf8"}, -{"Variable_name":"grouping_in_utc","Value":"%{NUMBER}"}, -{"Variable_name":"timezone","Value":"/etc/localtime"}, -{"Variable_name":"last_insert_id","Value":""}, -{"Variable_name":"pseudo_sharding","Value":"%{NUMBER}"}, -{"Variable_name":"secondary_indexes","Value":"%{NUMBER}"}, -{"Variable_name":"accurate_aggregation","Value":"%{NUMBER}"}, -{"Variable_name":"distinct_precision_threshold","Value":"3500"}, -{"Variable_name":"threads_ex_effective","Value":""}, -{"Variable_name":"cluster_user","Value":"cluster"}, -{"Variable_name":"thread_stack","Value":"%{NUMBER}"}, -{"Variable_name":"threads_ex","Value":""}, -{"Variable_name":"user","Value":""} -], -"total":%{NUMBER}, -"error":"", -"warning":"" -}] -––– input ––– -curl -s -X POST "http://localhost:9308/sql?raw_response=true" -d "query=SHOW VARIABLES"; echo -––– output ––– -[{ -"columns":[{"Variable_name":{"type":"string"}},{"Value":{"type":"string"}}], -"data":[ -{"Variable_name":"autocommit","Value":"%{NUMBER}"}, -{"Variable_name":"auto_optimize","Value":"%{NUMBER}"}, -{"Variable_name":"optimize_cutoff","Value":"%{NUMBER}"}, -{"Variable_name":"collation_connection","Value":"libc_ci"}, -{"Variable_name":"query_log_format","Value":"sphinxql"}, -{"Variable_name":"session_read_only","Value":"%{NUMBER}"}, -{"Variable_name":"log_level","Value":"info"}, -{"Variable_name":"max_allowed_packet","Value":"134217728"}, -{"Variable_name":"character_set_client","Value":"utf8"}, -{"Variable_name":"character_set_connection","Value":"utf8"}, -{"Variable_name":"grouping_in_utc","Value":"%{NUMBER}"}, -{"Variable_name":"timezone","Value":"/etc/localtime"}, -{"Variable_name":"last_insert_id","Value":""}, -{"Variable_name":"pseudo_sharding","Value":"%{NUMBER}"}, -{"Variable_name":"secondary_indexes","Value":"%{NUMBER}"}, -{"Variable_name":"accurate_aggregation","Value":"%{NUMBER}"}, -{"Variable_name":"distinct_precision_threshold","Value":"3500"}, -{"Variable_name":"threads_ex_effective","Value":""}, -{"Variable_name":"cluster_user","Value":"cluster"}, -{"Variable_name":"thread_stack","Value":"%{NUMBER}"}, -{"Variable_name":"threads_ex","Value":""}, -{"Variable_name":"user","Value":""} -], -"total":%{NUMBER}, -"error":"", -"warning":"" -}] -––– input ––– -curl -s "http://localhost:9308/sql?raw_response=true&query=SHOW%20VARIABLES"; echo -––– output ––– -[{ -"columns":[{"Variable_name":{"type":"string"}},{"Value":{"type":"string"}}], -"data":[ -{"Variable_name":"autocommit","Value":"%{NUMBER}"}, -{"Variable_name":"auto_optimize","Value":"%{NUMBER}"}, -{"Variable_name":"optimize_cutoff","Value":"%{NUMBER}"}, -{"Variable_name":"collation_connection","Value":"libc_ci"}, -{"Variable_name":"query_log_format","Value":"sphinxql"}, -{"Variable_name":"session_read_only","Value":"%{NUMBER}"}, -{"Variable_name":"log_level","Value":"info"}, -{"Variable_name":"max_allowed_packet","Value":"134217728"}, -{"Variable_name":"character_set_client","Value":"utf8"}, -{"Variable_name":"character_set_connection","Value":"utf8"}, -{"Variable_name":"grouping_in_utc","Value":"%{NUMBER}"}, -{"Variable_name":"timezone","Value":"/etc/localtime"}, -{"Variable_name":"last_insert_id","Value":""}, -{"Variable_name":"pseudo_sharding","Value":"%{NUMBER}"}, -{"Variable_name":"secondary_indexes","Value":"%{NUMBER}"}, -{"Variable_name":"accurate_aggregation","Value":"%{NUMBER}"}, -{"Variable_name":"distinct_precision_threshold","Value":"3500"}, -{"Variable_name":"threads_ex_effective","Value":""}, -{"Variable_name":"cluster_user","Value":"cluster"}, -{"Variable_name":"thread_stack","Value":"%{NUMBER}"}, -{"Variable_name":"threads_ex","Value":""}, -{"Variable_name":"user","Value":""} -], -"total":%{NUMBER}, -"error":"", -"warning":"" -}] -––– input ––– -curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "query=SHOW META"; echo -––– output ––– -[{ -"columns":[{"Variable_name":{"type":"string"}},{"Value":{"type":"string"}}], -"data":[ -{"Variable_name":"total","Value":"%{NUMBER}"}, -{"Variable_name":"total_found","Value":"%{NUMBER}"}, -{"Variable_name":"total_relation","Value":"eq"}, -{"Variable_name":"time","Value":"#!/[0-9]{1}.[0-9]{3}/!#"} -], -"total":%{NUMBER}, -"error":"", -"warning":"" -}] -––– input ––– -curl -s "http://localhost:9308/sql?mode=raw&query=SHOW%20META"; echo -––– output ––– -[{ -"columns":[{"Variable_name":{"type":"string"}},{"Value":{"type":"string"}}], -"data":[ -{"Variable_name":"total","Value":"%{NUMBER}"}, -{"Variable_name":"total_found","Value":"%{NUMBER}"}, -{"Variable_name":"total_relation","Value":"eq"}, -{"Variable_name":"time","Value":"#!/[0-9]{1}.[0-9]{3}/!#"} -], -"total":%{NUMBER}, -"error":"", -"warning":"" -}] -––– input ––– -curl -s -X POST "http://localhost:9308/sql?raw_response=true" -d "query=SHOW META"; echo -––– output ––– -[{ -"columns":[{"Variable_name":{"type":"string"}},{"Value":{"type":"string"}}], -"data":[ -{"Variable_name":"total","Value":"%{NUMBER}"}, -{"Variable_name":"total_found","Value":"%{NUMBER}"}, -{"Variable_name":"total_relation","Value":"eq"}, -{"Variable_name":"time","Value":"#!/[0-9]{1}.[0-9]{3}/!#"} -], -"total":%{NUMBER}, -"error":"", -"warning":"" -}] -––– input ––– -curl -s "http://localhost:9308/sql?raw_response=true&query=SHOW%20META"; echo -––– output ––– -[{ -"columns":[{"Variable_name":{"type":"string"}},{"Value":{"type":"string"}}], -"data":[ -{"Variable_name":"total","Value":"%{NUMBER}"}, -{"Variable_name":"total_found","Value":"%{NUMBER}"}, -{"Variable_name":"total_relation","Value":"eq"}, -{"Variable_name":"time","Value":"#!/[0-9]{1}.[0-9]{3}/!#"} -], -"total":%{NUMBER}, -"error":"", -"warning":"" -}] -––– input ––– -curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "query=SHOW QUERIES"; echo -––– output ––– -[{"total":%{NUMBER},"error":"","warning":"","columns":[{"id":{"type":"long long"}},{"query":{"type":"string"}},{"time":{"type":"string"}},{"protocol":{"type":"string"}},{"host":{"type":"string"}}],"data":[{"id":%{NUMBER},"query":"SHOW QUERIES","time":"%{NUMBER}#!/(s|ms|us)/!# ago","protocol":"http","host":"127.0.0.1:%{NUMBER}"},{"id":%{NUMBER},"query":"select","time":"%{NUMBER}#!/(s|ms|us)/!# ago","protocol":"http","host":"127.0.0.1:%{NUMBER}"},{"id":%{NUMBER},"query":"show_settings","time":"%{NUMBER}#!/(s|ms|us)/!#","protocol":"http","host":"127.0.0.1:%{NUMBER}"}]}] -––– input ––– -curl -s "http://localhost:9308/sql?mode=raw&query=SHOW%20QUERIES"; echo -––– output ––– -[{"total":%{NUMBER},"error":"","warning":"","columns":[{"id":{"type":"long long"}},{"query":{"type":"string"}},{"time":{"type":"string"}},{"protocol":{"type":"string"}},{"host":{"type":"string"}}],"data":[{"id":%{NUMBER},"query":"select","time":"%{NUMBER}#!/(s|ms|us)/!# ago","protocol":"http","host":"127.0.0.1:%{NUMBER}"},{"id":%{NUMBER},"query":"SHOW QUERIES","time":"%{NUMBER}#!/(s|ms|us)/!# ago","protocol":"http","host":"127.0.0.1:%{NUMBER}"},{"id":%{NUMBER},"query":"show_settings","time":"%{NUMBER}#!/(s|ms|us)/!#","protocol":"http","host":"127.0.0.1:%{NUMBER}"}]}] -––– input ––– -curl -s -X POST "http://localhost:9308/sql?raw_response=true" -d "query=SHOW QUERIES"; echo -––– output ––– -[{"total":%{NUMBER},"error":"","warning":"","columns":[{"id":{"type":"long long"}},{"query":{"type":"string"}},{"time":{"type":"string"}},{"protocol":{"type":"string"}},{"host":{"type":"string"}}],"data":[{"id":%{NUMBER},"query":"select","time":"%{NUMBER}#!/(s|ms|us)/!# ago","protocol":"http","host":"127.0.0.1:%{NUMBER}"},{"id":%{NUMBER},"query":"SHOW QUERIES","time":"%{NUMBER}#!/(s|ms|us)/!# ago","protocol":"http","host":"127.0.0.1:%{NUMBER}"},{"id":%{NUMBER},"query":"show_settings","time":"%{NUMBER}#!/(s|ms|us)/!#","protocol":"http","host":"127.0.0.1:%{NUMBER}"}]}] -––– input ––– -curl -s "http://localhost:9308/sql?raw_response=true&query=SHOW%20QUERIES"; echo -––– output ––– -[{"total":%{NUMBER},"error":"","warning":"","columns":[{"id":{"type":"long long"}},{"query":{"type":"string"}},{"time":{"type":"string"}},{"protocol":{"type":"string"}},{"host":{"type":"string"}}],"data":[{"id":%{NUMBER},"query":"select","time":"%{NUMBER}#!/(s|ms|us)/!# ago","protocol":"http","host":"127.0.0.1:%{NUMBER}"},{"id":%{NUMBER},"query":"SHOW QUERIES","time":"%{NUMBER}#!/(s|ms|us)/!# ago","protocol":"http","host":"127.0.0.1:%{NUMBER}"},{"id":%{NUMBER},"query":"show_settings","time":"%{NUMBER}#!/(s|ms|us)/!#","protocol":"http","host":"127.0.0.1:%{NUMBER}"}]}] -––– input ––– -curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "query=SHOW VERSION"; echo -––– output ––– -[{"total":%{NUMBER},"error":"","warning":"","columns":[{"Component":{"type":"string"}},{"Version":{"type":"string"}}],"data":[{"Component":"Daemon","Version":"%{VERSION}"},{"Component":"Columnar","Version":"columnar %{VERSION}"},{"Component":"Secondary","Version":"secondary %{VERSION}"},{"Component":"KNN","Version":"knn %{VERSION}"},{"Component":"Buddy","Version":"buddy %{VERSION}"}]}] -––– input ––– -curl -s "http://localhost:9308/sql?mode=raw&query=SHOW%20VERSION"; echo -––– output ––– -[{"total":%{NUMBER},"error":"","warning":"","columns":[{"Component":{"type":"string"}},{"Version":{"type":"string"}}],"data":[{"Component":"Daemon","Version":"%{VERSION}"},{"Component":"Columnar","Version":"columnar %{VERSION}"},{"Component":"Secondary","Version":"secondary %{VERSION}"},{"Component":"KNN","Version":"knn %{VERSION}"},{"Component":"Buddy","Version":"buddy %{VERSION}"}]}] -––– input ––– -curl -s -X POST "http://localhost:9308/sql?raw_response=true" -d "query=SHOW VERSION"; echo -––– output ––– -[{"total":%{NUMBER},"error":"","warning":"","columns":[{"Component":{"type":"string"}},{"Version":{"type":"string"}}],"data":[{"Component":"Daemon","Version":"%{VERSION}"},{"Component":"Columnar","Version":"columnar %{VERSION}"},{"Component":"Secondary","Version":"secondary %{VERSION}"},{"Component":"KNN","Version":"knn %{VERSION}"},{"Component":"Buddy","Version":"buddy %{VERSION}"}]}] -––– input ––– -curl -s "http://localhost:9308/sql?raw_response=true&query=SHOW%20VERSION"; echo -––– output ––– -[{"total":%{NUMBER},"error":"","warning":"","columns":[{"Component":{"type":"string"}},{"Version":{"type":"string"}}],"data":[{"Component":"Daemon","Version":"%{VERSION}"},{"Component":"Columnar","Version":"columnar %{VERSION}"},{"Component":"Secondary","Version":"secondary %{VERSION}"},{"Component":"KNN","Version":"knn %{VERSION}"},{"Component":"Buddy","Version":"buddy %{VERSION}"}]}] diff --git a/test/clt-tests/buddy/test-knn-search-by-doc-id.rec b/test/clt-tests/buddy/test-knn-search-by-doc-id.rec index 45c264b2e1..cea17668ce 100644 --- a/test/clt-tests/buddy/test-knn-search-by-doc-id.rec +++ b/test/clt-tests/buddy/test-knn-search-by-doc-id.rec @@ -1,4 +1,4 @@ -––– block: ../base/start-searchd ––– +––– block: ../base/start-searchd-with-buddy ––– ––– input ––– curl -s localhost:9308/cli -d "create table test ( test_vector float_vector knn_type='hnsw' knn_dims='2' hnsw_similarity='l2' )" > /dev/null 2>&1; echo $? ––– output ––– @@ -10,4 +10,4 @@ curl -s localhost:9308/cli -d 'insert into test values ( 2, (0.2,0.3) ), ( 3, (0 ––– input ––– curl -s localhost:9308/search -d '{"index":"test","knn":{"field":"test_vector","doc_id":3,"k":5}}'; echo $? ––– output ––– -{"took":%{NUMBER},"timed_out":false,"hits":{"total":%{NUMBER},"total_relation":"eq","hits":[{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]{2}/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}},{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]{2}/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}},{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]+/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}},{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]{1}/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}},{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]{2}/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}}]}}0 \ No newline at end of file +{"took":%{NUMBER},"timed_out":false,"hits":{"total":%{NUMBER},"total_relation":"eq","hits":[{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]{2}/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}},{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]{2}/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}},{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]+/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}},{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]{1}/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}},{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]{2}/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}}]}}0 diff --git a/test/clt-tests/core/show-version.rec b/test/clt-tests/buddy/test-show-version.rec similarity index 84% rename from test/clt-tests/core/show-version.rec rename to test/clt-tests/buddy/test-show-version.rec index 99707ffb1a..676c0caa29 100644 --- a/test/clt-tests/core/show-version.rec +++ b/test/clt-tests/buddy/test-show-version.rec @@ -1,10 +1,10 @@ -––– block: ../base/start-searchd ––– +––– block: ../base/start-searchd-with-buddy ––– ––– input ––– mysql -h0 -P9306 -e "show version\G;" ––– output ––– *************************** 1. row *************************** Component: Daemon -Version: %{VERSION} +Version: %{VERSION} *************************** 2. row *************************** Component: Columnar Version: columnar %{VERSION} @@ -16,4 +16,4 @@ Component: KNN Version: knn %{VERSION} *************************** 5. row *************************** Component: Buddy -Version: buddy %{VERSION} \ No newline at end of file +Version: buddy %{VERSION} diff --git a/test/clt-tests/bugs/3048-write-concurrency-in-cluster.rec b/test/clt-tests/bugs/3048-write-concurrency-in-cluster.rec new file mode 100644 index 0000000000..6b6e1d64cc --- /dev/null +++ b/test/clt-tests/bugs/3048-write-concurrency-in-cluster.rec @@ -0,0 +1,18 @@ +Test that covers the following issue: https://github.com/manticoresoftware/manticoresearch/issues/3048 +––– block: ../base/start-cluster-2-nodes ––– +––– input ––– +mysql -h0 -P1306 -e "create table system.test (id bigint, name string, value json)" +––– output ––– +––– input ––– +mysql -h0 -P1306 -e "alter cluster c add system.test" +––– output ––– +––– input ––– +for i in {1..20}; do + mysql -h0 -P1306 -e "update c:system.test set value = '{\"a\":2}' where name = 'node'" & + mysql -h0 -P2306 -e "insert into c:system.test values (0, 'slave', '{\"a\":1}')" & +done +––– output ––– +––– input ––– +timeout 10 sh -c "wait && echo 'All good'" || echo "There is issue with hang up of parallel request in different nodes" +––– output ––– +All good diff --git a/test/clt-tests/bugs/3075-directory-not-empty-with-flush-ramchunk.rec b/test/clt-tests/bugs/3075-directory-not-empty-with-flush-ramchunk.rec new file mode 100644 index 0000000000..282d66fe6b --- /dev/null +++ b/test/clt-tests/bugs/3075-directory-not-empty-with-flush-ramchunk.rec @@ -0,0 +1,39 @@ +Issue when we unable to drop and create new table in some cases +while it produces error that directory is not empty +https://github.com/manticoresoftware/manticoresearch/issues/3075 +––– block: ../base/start-searchd ––– +––– input ––– +LOG_FILE=$(mktemp) +––– output ––– +––– input ––– +while true; do + mysql -h0 -P9306 << EOF + INSERT INTO a (id, value) VALUES (0, 'hello world'); +EOF + sleep 2 +done > /dev/null & +––– output ––– +––– input ––– +while true; do + mysql -h0 -P9306 << EOF + select * from a where match('world'); +EOF + sleep 0.2 +done > /dev/null & +––– output ––– +––– input ––– +while true; do + mysql -h0 -P9306 << EOF + DROP TABLE IF EXISTS b; + CREATE TABLE b (id bigint, value string); +EOF +done > $LOG_FILE & +––– output ––– +––– input ––– +timeout 10 tail -f $LOG_FILE | while read line; do + if echo "$line" | grep -q "directory is not empty"; then + kill $(jobs -p) + break + fi +done +––– output ––– diff --git a/test/clt-tests/core/show-settings.rec b/test/clt-tests/core/show-settings.rec index 99449819b8..2dbc980ef9 100644 --- a/test/clt-tests/core/show-settings.rec +++ b/test/clt-tests/core/show-settings.rec @@ -5,22 +5,22 @@ export INSTANCE=1 ––– input ––– mysql -h0 -P1306 -e "SHOW SETTINGS;" ––– output ––– -+---------------------------------------+------------------------------------------------------------+ -| Setting_name | Value | -+---------------------------------------+------------------------------------------------------------+ -| configuration_file | /.clt/test/clt-tests/base/searchd-with-flexible-ports.conf | -| worker_pid | %{NUMBER} | -| searchd.listen | %{IPADDR}:%{NUMBER}:mysql41 | -| searchd.listen | %{IPADDR}:%{NUMBER} | -| searchd.listen | %{IPADDR}:%{NUMBER}:http | -| searchd.log | /var/log/manticore-1/searchd.log | -| searchd.query_log | /var/log/manticore-1/query.log | -| searchd.pid_file | /var/log/manticore-1/searchd.pid | -| searchd.data_dir | /var/log/manticore-1 | -| searchd.query_log_format | sphinxql | -| searchd.query_log_commands | 1 | -| searchd.diskchunk_flush_write_timeout | -1 | -| searchd.binlog_path | /var/log/manticore-1/binlog | -| common.plugin_dir | /usr/local/lib/manticore | -| common.lemmatizer_base | /usr/share/manticore/morph/ | -+---------------------------------------+------------------------------------------------------------+ ++----------------------------+------------------------------------------------------------+ +| Setting_name | Value | ++----------------------------+------------------------------------------------------------+ +| configuration_file | /.clt/test/clt-tests/base/searchd-with-flexible-ports.conf | +| worker_pid | %{NUMBER} | +| searchd.listen | %{IPADDR}:%{NUMBER}:mysql41 | +| searchd.listen | %{IPADDR}:%{NUMBER} | +| searchd.listen | %{IPADDR}:%{NUMBER}:http | +| searchd.log | /var/log/manticore-1/searchd.log | +| searchd.query_log | /var/log/manticore-1/query.log | +| searchd.pid_file | /var/log/manticore-1/searchd.pid | +| searchd.data_dir | /var/log/manticore-1 | +| searchd.query_log_format | sphinxql | +| searchd.query_log_commands | 1 | +| searchd.server_id | 1 | +| searchd.binlog_path | /var/log/manticore-1/binlog | +| common.plugin_dir | /usr/local/lib/manticore | +| common.lemmatizer_base | /usr/share/manticore/ | ++----------------------------+------------------------------------------------------------+ diff --git a/test/clt-tests/core/show-version-trailing-semicolon.rec b/test/clt-tests/core/show-version-trailing-semicolon.rec index 2f3f656873..e8c6e9c4f2 100644 --- a/test/clt-tests/core/show-version-trailing-semicolon.rec +++ b/test/clt-tests/core/show-version-trailing-semicolon.rec @@ -1,4 +1,4 @@ -––– block: ../base/start-searchd ––– +––– block: ../base/start-searchd-with-buddy ––– ––– input ––– mysql -h0 -P9306 -e "CREATE TABLE t (id INT, value TEXT); INSERT INTO t VALUES (1, 'example'), (2, 'test');" ––– output ––– diff --git a/test/clt-tests/core/test-declaration-of-duplicate-attributes.rec b/test/clt-tests/core/test-declaration-of-duplicate-attributes.rec index a08936441f..df6c9600fd 100644 --- a/test/clt-tests/core/test-declaration-of-duplicate-attributes.rec +++ b/test/clt-tests/core/test-declaration-of-duplicate-attributes.rec @@ -5,17 +5,7 @@ echo ' /tmp/xml_crash.conf ––– output ––– ––– input ––– -indexer -c /tmp/xml_crash.conf --all +indexer -c /tmp/xml_crash.conf --all 2>&1 | grep -i 'idx' ––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -using config file '/tmp/xml_crash.conf'... indexing table 'idx'... -WARNING: duplicate attribute node - using first value ERROR: table 'idx': source 'min': attribute 'a' is added twice (line=1, pos=143, docid=0). -total 0 docs, 0 bytes -total #!/[0-9]+\.[0-9]+/!# sec, 0 bytes/sec, 0.00 docs/sec -total 0 reads, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg -total 0 writes, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg \ No newline at end of file diff --git a/test/clt-tests/core/test-declaration-of-duplicate-fields.rec b/test/clt-tests/core/test-declaration-of-duplicate-fields.rec index 0e244e02ca..6534c54f29 100644 --- a/test/clt-tests/core/test-declaration-of-duplicate-fields.rec +++ b/test/clt-tests/core/test-declaration-of-duplicate-fields.rec @@ -5,16 +5,7 @@ echo ' /tmp/xml_crash.conf ––– output ––– ––– input ––– -indexer -c /tmp/xml_crash.conf --all +indexer -c /tmp/xml_crash.conf --all 2>&1 | grep -i 'idx' ––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -using config file '/tmp/xml_crash.conf'... indexing table 'idx'... ERROR: table 'idx': source 'min': field 'title' is added twice (line=1, pos=136, docid=0). -total 0 docs, 0 bytes -total #!/[0-9]+\.[0-9]+/!# sec, 0 bytes/sec, 0.00 docs/sec -total 0 reads, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg -total 0 writes, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg \ No newline at end of file diff --git a/test/clt-tests/core/test-errors-insert-for-distributed-missing-table.rec b/test/clt-tests/core/test-errors-insert-for-distributed-missing-table.rec index a3c342c390..10dc8cdacb 100644 --- a/test/clt-tests/core/test-errors-insert-for-distributed-missing-table.rec +++ b/test/clt-tests/core/test-errors-insert-for-distributed-missing-table.rec @@ -2,17 +2,8 @@ sed -i '/^searchd/a\ buddy_path =' /etc/manticoresearch/manticore.conf ––– output ––– ––– input ––– -rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd -––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) +rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd > /dev/null +––– output ––– ––– input ––– mysql -h0 -P9306 -e "CREATE TABLE index2006(f text, s string); insert into index2006 values(3,'ghi','string');" ––– output ––– @@ -45,4 +36,4 @@ ERROR 1064 (42000) at line 1: table 'dist_table' does not support INSERT ––– input ––– mysql -h0 -P9306 -e "INSERT INTO missing_table(f, s) VALUES('abc', 'string');" ––– output ––– -ERROR 1064 (42000) at line 1: table 'missing_table' absent \ No newline at end of file +ERROR 1064 (42000) at line 1: table 'missing_table' absent diff --git a/test/clt-tests/core/test-external-files-handling-negative.rec b/test/clt-tests/core/test-external-files-handling-negative.rec index 36999b5a1b..7227053db0 100644 --- a/test/clt-tests/core/test-external-files-handling-negative.rec +++ b/test/clt-tests/core/test-external-files-handling-negative.rec @@ -58,19 +58,12 @@ wordforms = /var/lib/manticore/t_ram/wordforms_chunk0_0.txt /var/lib/manticore/t rt_mem_limit = 268435456 | +---------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ––– input ––– -rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi +rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd 2>&1 | grep -i 't_ram' ––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) precaching table 't_ram' WARNING: table 't_ram': all wordform source tokens are stopwords (wordform='z => w', file='/var/lib/manticore/t_ram/wordforms_chunk0_0.txt'). IGNORED. WARNING: table 't_ram': all wordform source tokens are stopwords (wordform='z => w', file='/var/lib/manticore/t_ram/wordforms_chunk0_1.txt'). IGNORED. -precached 1 tables in #!/[0-9]+\.[0-9]+/!# sec -Buddy started! \ No newline at end of file +––– input ––– +if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi +––– output ––– +Buddy started! diff --git a/test/clt-tests/core/test-external-files-handling-ramchunk.rec b/test/clt-tests/core/test-external-files-handling-ramchunk.rec index 21e830eecc..dd79cf19ca 100644 --- a/test/clt-tests/core/test-external-files-handling-ramchunk.rec +++ b/test/clt-tests/core/test-external-files-handling-ramchunk.rec @@ -58,19 +58,11 @@ wordforms = /var/lib/manticore/t_ram/wordforms_chunk0_0.txt /var/lib/manticore/t rt_mem_limit = 268435456 | +---------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ––– input ––– -rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi -––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) -precaching table 't_ram' -precached 1 tables in #!/[0-9]+\.[0-9]+/!# sec +rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd > /dev/null +––– output ––– +––– input ––– +if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi +––– output ––– Buddy started! ––– input ––– mysql -h0 -P9306 -e "SHOW INDEX t_ram SETTINGS;" @@ -139,19 +131,12 @@ mysql -h0 -P9306 -e "SHOW INDEX t_ram SETTINGS;" | settings | rt_mem_limit = 268435456 | +---------------+--------------------------+ ––– input ––– -rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log; fi -––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) +rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd 2>&1 | grep -i 't_ram' +––– output ––– precaching table 't_ram' -precached 1 tables in #!/[0-9]+\.[0-9]+/!# sec +––– input ––– +if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log; fi +––– output ––– Buddy started! ––– input ––– mysql -h0 -P9306 -e "SHOW INDEX t_ram SETTINGS;" @@ -184,19 +169,12 @@ wordforms = /var/lib/manticore/t_ram/wordforms_chunk2_0.txt /var/lib/manticore/t rt_mem_limit = 268435456 | +---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ––– input ––– -rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log; fi -––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) +rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd 2>&1 | grep -i 't_ram' +––– output ––– precaching table 't_ram' -precached 1 tables in #!/[0-9]+\.[0-9]+/!# sec +––– input ––– +if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log; fi +––– output ––– Buddy started! ––– input ––– mysql -h0 -P9306 -e "SHOW INDEX t_ram SETTINGS;" @@ -207,4 +185,4 @@ mysql -h0 -P9306 -e "SHOW INDEX t_ram SETTINGS;" | settings | stopwords = /var/lib/manticore/t_ram/stopwords_chunk2_0.txt /var/lib/manticore/t_ram/stopwords_chunk2_1.txt /var/lib/manticore/t_ram/stopwords_chunk2_2.txt /var/lib/manticore/t_ram/stopwords_chunk2_3.txt /var/lib/manticore/t_ram/stopwords_chunk2_4.txt wordforms = /var/lib/manticore/t_ram/wordforms_chunk2_0.txt /var/lib/manticore/t_ram/wordforms_chunk2_1.txt /var/lib/manticore/t_ram/wordforms_chunk2_2.txt /var/lib/manticore/t_ram/wordforms_chunk2_3.txt /var/lib/manticore/t_ram/wordforms_chunk2_4.txt rt_mem_limit = 268435456 | -+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ \ No newline at end of file ++---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/test/clt-tests/core/test-external-files-handling.rec b/test/clt-tests/core/test-external-files-handling.rec index a7143e12ca..1259afaa81 100644 --- a/test/clt-tests/core/test-external-files-handling.rec +++ b/test/clt-tests/core/test-external-files-handling.rec @@ -57,19 +57,12 @@ stopwords = /var/lib/manticore/t_disk/stopwords_chunk0_0.txt /var/lib/manticore/ wordforms = /var/lib/manticore/t_disk/wordforms_chunk0_0.txt /var/lib/manticore/t_disk/wordforms_chunk0_1.txt | +---------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ––– input ––– -rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi -––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) +rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd 2>&1 | grep -i 't_disk' +––– output ––– precaching table 't_disk' -precached 1 tables in #!/[0-9]+\.[0-9]+/!# sec +––– input ––– +if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi +––– output ––– Buddy started! ––– input ––– mysql -h0 -P9306 -e "SHOW INDEX t_disk SETTINGS;" @@ -136,19 +129,12 @@ mysql -h0 -P9306 -e "SHOW INDEX t_disk SETTINGS;" | settings | | +---------------+-------+ ––– input ––– -rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log; fi -––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) +rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd 2>&1 | grep -i 't_disk' +––– output ––– precaching table 't_disk' -precached 1 tables in #!/[0-9]+\.[0-9]+/!# sec +––– input ––– +if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi +––– output ––– Buddy started! ––– input ––– mysql -h0 -P9306 -e "SHOW INDEX t_disk SETTINGS;" @@ -180,19 +166,12 @@ mysql -h0 -P9306 -e "SHOW INDEX t_disk SETTINGS;" wordforms = /var/lib/manticore/t_disk/wordforms_chunk4_0.txt /var/lib/manticore/t_disk/wordforms_chunk4_1.txt /var/lib/manticore/t_disk/wordforms_chunk4_2.txt /var/lib/manticore/t_disk/wordforms_chunk4_3.txt /var/lib/manticore/t_disk/wordforms_chunk4_4.txt | +---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ––– input ––– -rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log; fi -––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) +rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd 2>&1 | grep -i 't_disk' +––– output ––– precaching table 't_disk' -precached 1 tables in #!/[0-9]+\.[0-9]+/!# sec +––– input ––– +if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi +––– output ––– Buddy started! ––– input ––– mysql -h0 -P9306 -e "SHOW INDEX t_disk SETTINGS;" @@ -202,4 +181,4 @@ mysql -h0 -P9306 -e "SHOW INDEX t_disk SETTINGS;" +---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | settings | stopwords = /var/lib/manticore/t_disk/stopwords_chunk4_0.txt /var/lib/manticore/t_disk/stopwords_chunk4_1.txt /var/lib/manticore/t_disk/stopwords_chunk4_2.txt /var/lib/manticore/t_disk/stopwords_chunk4_3.txt /var/lib/manticore/t_disk/stopwords_chunk4_4.txt wordforms = /var/lib/manticore/t_disk/wordforms_chunk4_0.txt /var/lib/manticore/t_disk/wordforms_chunk4_1.txt /var/lib/manticore/t_disk/wordforms_chunk4_2.txt /var/lib/manticore/t_disk/wordforms_chunk4_3.txt /var/lib/manticore/t_disk/wordforms_chunk4_4.txt | -+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ \ No newline at end of file ++---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/test/clt-tests/core/test-freeze-unfreeze-update.rec b/test/clt-tests/core/test-freeze-unfreeze-update.rec index 9cb3c4f2c8..254dd6f970 100644 --- a/test/clt-tests/core/test-freeze-unfreeze-update.rec +++ b/test/clt-tests/core/test-freeze-unfreeze-update.rec @@ -1,76 +1,98 @@ +––– block: ../base/start-searchd-with-buddy ––– ––– input ––– -echo -e "searchd {\n listen = 9315:mysql\n listen = 9316\n log = /tmp/searchd.log\n pid_file = /tmp/searchd.pid\n data_dir = /tmp/data\n watchdog = 0\n}" > /tmp/116.conf +manticore-load --quiet --json --init="CREATE TABLE test (id bigint, usertest text stored indexed, category string, age int, salary float, discount float, is_active bool, last_login timestamp, product_codes multi, large_values multi64, additional_info json, location_vector float_vector)" --load="INSERT INTO test (id, usertest, category, age, salary, discount, is_active, last_login, product_codes, large_values, additional_info, location_vector) VALUES (, '', '', , , , , , (), (), '{\"key\":\"value\"}', ())" --batch-size=10000 --threads=4 --total=1000000 ––– output ––– +{ +"threads": %{NUMBER}, +"batch_size": %{NUMBER}, +"time": "%{NUMBER}:%{NUMBER}", +"total_operations": %{NUMBER}, +"operations_per_second": %{NUMBER}, +"qps": { +"avg": %{NUMBER}, +"p99": %{NUMBER}, +"p95": %{NUMBER}, +"p5": %{NUMBER}, +"p1": %{NUMBER} +}, +"latency": { +"avg": %{NUMBER}.%{NUMBER}, +"p50": %{NUMBER}, +"p95": %{NUMBER}, +"p99": %{NUMBER} +} +} ––– input ––– -mkdir -p /tmp/data; rm -f /tmp/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd -c /tmp/116.conf; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /tmp/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /tmp/searchd.log;fi +mysql -h0 -P9306 -e "SELECT * FROM test ORDER BY id ASC LIMIT 100000 OPTION max_matches=100000;" > /tmp/test_data.txt ––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/tmp/116.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on all interfaces for mysql, port=9315 -listening on all interfaces for sphinx and http(s), port=9316 -Buddy started! ––– input ––– -mysql -P9315 -h0 -e "drop table if exists t; create table t(s string); insert into t values(1, 'a'); flush ramchunk t"; echo $? +md5sum /tmp/test_data.txt ––– output ––– -0 +99494585e9f5bad83f5f6ec41a62d292 /tmp/test_data.txt ––– input ––– -mysql -P9315 -h0 -e "select * from t;" +mysql -h0 -P9306 -e "SHOW TABLES" ––– output ––– -+------+------+ -| id | s | -+------+------+ -| 1 | a | -+------+------+ ++-------+------+ +| Table | Type | ++-------+------+ +| test | rt | ++-------+------+ ––– input ––– -rm -f /tmp/update.sql; for n in `seq 1 10000`; do echo "update t set s='b' where id=1;" >> /tmp/update.sql; done; while true; do mysql -P9315 -h0 < /tmp/update.sql | break; done & +mysql -P9306 -h0 -e "SELECT COUNT(*) FROM test;" ––– output ––– ++----------+ +| count(*) | ++----------+ +| 1000000 | ++----------+ ––– input ––– -sleep 30; mysql -P9315 -h0 -e "select * from t;" +mysql -P9306 -h0 -e "DESCRIBE test;" ––– output ––– -+------+------+ -| id | s | -+------+------+ -| 1 | b | -+------+------+ ++-----------------+--------------+----------------+ +| Field | Type | Properties | ++-----------------+--------------+----------------+ +| id | bigint | | +| usertest | text | indexed stored | +| category | string | | +| age | uint | | +| salary | float | | +| discount | float | | +| is_active | bool | | +| last_login | timestamp | | +| product_codes | mva | | +| large_values | mva64 | | +| additional_info | json | | +| location_vector | float_vector | | ++-----------------+--------------+----------------+ ––– input ––– -stdbuf -oL mysql -P9315 -h0 -e "freeze t" +mysql -h0 -P9306 -e "SELECT * FROM test ORDER BY id ASC LIMIT 10;" ––– output ––– -+------------------------+------------------------+ -| file | normalized | -+------------------------+------------------------+ -| /tmp/data/t/t.0.spa | /tmp/data/t/t.0.spa | -| /tmp/data/t/t.0.spb | /tmp/data/t/t.0.spb | -| /tmp/data/t/t.0.spd | /tmp/data/t/t.0.spd | -| /tmp/data/t/t.0.spe | /tmp/data/t/t.0.spe | -| /tmp/data/t/t.0.sph | /tmp/data/t/t.0.sph | -| /tmp/data/t/t.0.sphi | /tmp/data/t/t.0.sphi | -| /tmp/data/t/t.0.spi | /tmp/data/t/t.0.spi | -| /tmp/data/t/t.0.spidx | /tmp/data/t/t.0.spidx | -| /tmp/data/t/t.0.spm | /tmp/data/t/t.0.spm | -| /tmp/data/t/t.0.spp | /tmp/data/t/t.0.spp | -| /tmp/data/t/t.0.spt | /tmp/data/t/t.0.spt | -| /tmp/data/t/t.meta | /tmp/data/t/t.meta | -| /tmp/data/t/t.ram | /tmp/data/t/t.ram | -| /tmp/data/t/t.settings | /tmp/data/t/t.settings | -+------------------------+------------------------+ ++------+-------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+------+-----------+----------+-----------+------------+--------------------------+----------------------------------------------------------------+-----------------+---------------------------------------+ +| id | usertest | category | age | salary | discount | is_active | last_login | product_codes | large_values | additional_info | location_vector | ++------+-------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+------+-----------+----------+-----------+------------+--------------------------+----------------------------------------------------------------+-----------------+---------------------------------------+ +| 1 | Incorrectly heavy soft carefully late sit; put draw afraid; gave hardly. | Been vaguely 1000 this at understood gave always east fake. | 8 | 20.299999 | 1.500000 | 0 | 1676104873 | 10,16,40,71,85,87,100 | -88054,-30114,-15979,5487,72220,72277,91879,93074,97442 | {"key":"value"} | 2.000000,8.000000,10.000000,5.000000 | +| 2 | Called, afraid foolish! happy? busy taken dead shall make seen privately understood short universally. | Was? seen feel economically beautiful legally. | 30 | 86.900002 | 4.900000 | 1 | 1697110603 | 1,40,47,48,52,66,80,93 | -87441,-74083,-38090,-21342,-13596,49456,57513,90976,92580 | {"key":"value"} | 6.000000,10.000000,6.000000,3.000000 | +| 3 | Calm incorrectly modern obviously soft certainly, quietly need tell poor spring evening drove young? lost. | Probably came knew felt has. | 47 | 21.600000 | 6.700000 | 0 | 1678595569 | 3 | 26497,73063,73768,87840 | {"key":"value"} | 10.000000,5.000000,9.000000,10.000000 | +| 4 | Cruel; emotionally beautiful modern the. Thirsty do poor dead; lazy let sick; kept angry politically closed understand. | Regularly became? fell. Brought with stand south. | 3 | 4.200000 | 7.600000 | 0 | 1650601281 | 24,28,62 | -99076 | {"key":"value"} | 4.000000,8.000000,8.000000,3.000000 | +| 5 | Scientifically sad afraid, meet positively! were spent hard. | Get wrote excited deep suddenly foolish they unsuccessfully. | 34 | 4.600000 | 5.700000 | 1 | 1672897587 | 7,9,10,16,29,36,52,82,99 | 23225,29377 | {"key":"value"} | 10.000000,2.000000,7.000000,1.000000 | +| 6 | Happy certainly, carelessly scientifically lie saw grew, hurt hot full monthly cut may calm be sharp. | Cut serious; day! harshly regionally bitter happy quickly stale the. | 65 | 92.599998 | 4.500000 | 0 | 1699959055 | 3,20,74,92 | -58459,-31703,-8868,-8398,1620,24456,76572,79957,86553,95523 | {"key":"value"} | 7.000000,10.000000,8.000000,3.000000 | +| 7 | Easily often set hot new it become. | Be quiet cold nightly poor. | 59 | 19.400000 | 6.000000 | 1 | 1685126023 | 6,11,34,35,47,60,86,98 | -54811,-28523,-16029,-8383,266,6217,31166,67799,99092 | {"key":"value"} | 9.000000,2.000000,5.000000,5.000000 | +| 8 | Politically grew rich loud tried seen. Nowhere am salty dawn quietly? gentle permanently gone? drew kept. | Big specifically weak held she; constantly send down spiritually. | 15 | 34.700001 | 1.000000 | 0 | 1647818588 | 77,86 | -55160,-5014,31069,31847,34334,36035,61084,62322,81203,95016 | {"key":"value"} | 4.000000,7.000000,4.000000,7.000000 | +| 9 | Far, usually light west educationally. Fake wet salty wrong maybe! does went usually? humble send are. | Economically commonly wrote specifically healthy wrong culturally? 4, small rich. | 51 | 4.400000 | 0.500000 | 1 | 1611948425 | 2,5,16,18,35,38,44,79,95 | -77137,-67602,-19932,-10666,3139,22804,45013,65922,71495,87473 | {"key":"value"} | 1.000000,5.000000,4.000000,10.000000 | +| 10 | We nowhere bad hold! happily. | Unusually hold clever that! sometimes illegally real late suddenly. | 6 | 70.699997 | 0.800000 | 0 | 1689780079 | 14,94 | -91152,-66001,-52476,-36462,6015,35599,50917,92421 | {"key":"value"} | 3.000000,6.000000,4.000000,9.000000 | ++------+-------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+------+-----------+----------+-----------+------------+--------------------------+----------------------------------------------------------------+-----------------+---------------------------------------+ ––– input ––– -mysql -P9315 -h0 -e "unfreeze t"; echo $? +mysql -h0 -P9306 -e "flush ramchunk test; freeze test; `for n in \`seq 1 100\`; do echo UPDATE test SET category='updated' WHERE id=$n; done`" & ––– output ––– -0 ––– input ––– -mysql -P9315 -h0 -e "DESCRIBE t" +mysql -h0 -P9306 -e "SELECT * FROM test ORDER BY id ASC LIMIT 5;" ––– output ––– -+-------+--------+------------+ -| Field | Type | Properties | -+-------+--------+------------+ -| id | bigint | | -| s | string | | -+-------+--------+------------+ -––– input ––– -mysql -P9315 -h0 -e "UPDATE t SET s='с' WHERE id=1; FLUSH RAMCHUNK t"; echo $? -––– output ––– -0 ++------+-------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------+------+-----------+----------+-----------+------------+--------------------------+------------------------------------------------------------+-----------------+---------------------------------------+ +| id | usertest | category | age | salary | discount | is_active | last_login | product_codes | large_values | additional_info | location_vector | ++------+-------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------+------+-----------+----------+-----------+------------+--------------------------+------------------------------------------------------------+-----------------+---------------------------------------+ +| 1 | Incorrectly heavy soft carefully late sit; put draw afraid; gave hardly. | Been vaguely 1000 this at understood gave always east fake. | 8 | 20.299999 | 1.500000 | 0 | 1676104873 | 10,16,40,71,85,87,100 | -88054,-30114,-15979,5487,72220,72277,91879,93074,97442 | {"key":"value"} | 2.000000,8.000000,10.000000,5.000000 | +| 2 | Called, afraid foolish! happy? busy taken dead shall make seen privately understood short universally. | Was? seen feel economically beautiful legally. | 30 | 86.900002 | 4.900000 | 1 | 1697110603 | 1,40,47,48,52,66,80,93 | -87441,-74083,-38090,-21342,-13596,49456,57513,90976,92580 | {"key":"value"} | 6.000000,10.000000,6.000000,3.000000 | +| 3 | Calm incorrectly modern obviously soft certainly, quietly need tell poor spring evening drove young? lost. | Probably came knew felt has. | 47 | 21.600000 | 6.700000 | 0 | 1678595569 | 3 | 26497,73063,73768,87840 | {"key":"value"} | 10.000000,5.000000,9.000000,10.000000 | +| 4 | Cruel; emotionally beautiful modern the. Thirsty do poor dead; lazy let sick; kept angry politically closed understand. | Regularly became? fell. Brought with stand south. | 3 | 4.200000 | 7.600000 | 0 | 1650601281 | 24,28,62 | -99076 | {"key":"value"} | 4.000000,8.000000,8.000000,3.000000 | +| 5 | Scientifically sad afraid, meet positively! were spent hard. | Get wrote excited deep suddenly foolish they unsuccessfully. | 34 | 4.600000 | 5.700000 | 1 | 1672897587 | 7,9,10,16,29,36,52,82,99 | 23225,29377 | {"key":"value"} | 10.000000,2.000000,7.000000,1.000000 | ++------+-------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------+------+-----------+----------+-----------+------------+--------------------------+------------------------------------------------------------+-----------------+---------------------------------------+ diff --git a/test/clt-tests/core/test-knn-id.rec b/test/clt-tests/core/test-knn-id.rec index c9f5540e74..8696fb56b6 100644 --- a/test/clt-tests/core/test-knn-id.rec +++ b/test/clt-tests/core/test-knn-id.rec @@ -1,4 +1,4 @@ -––– block: ../base/start-searchd ––– +––– block: ../base/start-searchd-with-buddy ––– ––– input ––– mysql -h0 -P9306 -e "create table test ( title text, image_vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2' );" ––– output ––– diff --git a/test/clt-tests/core/test-skipping-plugin-loading.rec b/test/clt-tests/core/test-skipping-plugin-loading.rec index 1987a4db26..913b245b79 100644 --- a/test/clt-tests/core/test-skipping-plugin-loading.rec +++ b/test/clt-tests/core/test-skipping-plugin-loading.rec @@ -1,4 +1,4 @@ -––– block: ../base/start-searchd ––– +––– block: ../base/start-searchd-with-buddy ––– ––– input ––– mysql -h0 -P9306 -e "SHOW BUDDY PLUGINS\G;" | grep "manticoresoftware/buddy-plugin-replace" ––– output ––– @@ -48,18 +48,13 @@ values: 523456764345678976,9223372036854775807 additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]} vector: 0.773448,0.312478,0.137971,0.459821 ––– input ––– -stdbuf -oL searchd --stopwait +stdbuf -oL searchd --stopwait 2>&1 | grep -i 'SIGTERM' ––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... [#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] stop: successfully sent SIGTERM to pid %{NUMBER} ––– input ––– sed -i '/data_dir = \/var\/lib\/manticore/a\ buddy_path = manticore-executor -n /usr/share/manticore/modules/manticore-buddy/src/main.php --debugv --skip=manticoresoftware/buddy-plugin-replace' /etc/manticoresearch/manticore.conf ––– output ––– -––– block: ../base/searchd-without-table-details ––– +––– block: ../base/start-searchd-with-buddy ––– ––– input ––– mysql -h0 -P9306 -e "REPLACE INTO tbl SET price =15000.99 WHERE id = 117; select * from tbl WHERE id = 117;" ––– output ––– @@ -96,18 +91,13 @@ mysql -h0 -P9306 -e "SHOW TABLES" | tbl | rt | +---------------+------+ ––– input ––– -stdbuf -oL searchd --stopwait +stdbuf -oL searchd --stopwait 2>&1 | grep -i 'SIGTERM' ––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... [#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] stop: successfully sent SIGTERM to pid %{NUMBER} ––– input ––– sed -i '/buddy_path =/c\ buddy_path = manticore-executor -n /usr/share/manticore/modules/manticore-buddy/src/main.php --debugv --skip=manticoresoftware/buddy-plugin-alter-rename-table --skip=manticoresoftware/buddy-plugin-replace' /etc/manticoresearch/manticore.conf ––– output ––– -––– block: ../base/searchd-without-table-details ––– +––– block: ../base/start-searchd-with-buddy ––– ––– input ––– mysql -h0 -P9306 -e "SHOW BUDDY PLUGINS\G;" | grep "manticoresoftware/buddy-plugin-alter-rename-table" ––– output ––– @@ -125,18 +115,13 @@ mysql -h0 -P9306 -e "SHOW TABLES" | tbl | rt | +---------------+------+ ––– input ––– -stdbuf -oL searchd --stopwait +stdbuf -oL searchd --stopwait 2>&1 | grep -i 'SIGTERM' ––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... [#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] stop: successfully sent SIGTERM to pid %{NUMBER} ––– input ––– sed -i '/buddy_path =/c\ buddy_path = manticore-executor -n /usr/share/manticore/modules/manticore-buddy/src/main.php --debugv' /etc/manticoresearch/manticore.conf ––– output ––– -––– block: ../base/searchd-without-table-details ––– +––– block: ../base/start-searchd-with-buddy ––– ––– input ––– mysql -h0 -P9306 -e "SHOW BUDDY PLUGINS\G;" | grep "manticoresoftware/buddy-plugin-alter-rename-table" ––– output ––– diff --git a/test/clt-tests/core/test-update-with-query-log-min-msec.rec b/test/clt-tests/core/test-update-with-query-log-min-msec.rec new file mode 100644 index 0000000000..2d04c6a9d5 --- /dev/null +++ b/test/clt-tests/core/test-update-with-query-log-min-msec.rec @@ -0,0 +1,46 @@ +––– input ––– +mkdir -p /var/{run,lib,log}/manticore; echo -e "common {\n\tplugin_dir = /usr/local/lib/manticore\n\tlemmatizer_base = /usr/share/manticore/morph/\n}\nsearchd {\n\tlisten = 127.0.0.1:9306:mysql41\n\tlisten = 127.0.0.1:9312\n\tlisten = 127.0.0.1:9308:http\n\tlog = /var/log/manticore/searchd.log\n\tquery_log = /var/log/manticore/query.log\n\tpid_file = /var/log/manticore/searchd.pid\n\tdata_dir = /var/log/manticore\n\tquery_log_format = sphinxql\n\tquery_log_min_msec = 500\n}" > /tmp/manticore.conf +––– output ––– +––– input ––– +cat /tmp/manticore.conf +––– output ––– +common { +plugin_dir = /usr/local/lib/manticore +lemmatizer_base = /usr/share/manticore/morph/ +} +searchd { +listen = 127.0.0.1:9306:mysql41 +listen = 127.0.0.1:9312 +listen = 127.0.0.1:9308:http +log = /var/log/manticore/searchd.log +query_log = /var/log/manticore/query.log +pid_file = /var/log/manticore/searchd.pid +data_dir = /var/log/manticore +query_log_format = sphinxql +query_log_min_msec = 500 +} +––– input ––– +stdbuf -oL searchd -c /tmp/manticore.conf > /dev/null +––– output ––– +––– input ––– +if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi +––– output ––– +Accepting connections! +––– input ––– +mysql -h0 -P9306 -e "DROP TABLE IF EXISTS t; CREATE TABLE t(a int); INSERT INTO t VALUES(1, 1); UPDATE t SET a = 2 WHERE id = 1;"; echo $? +––– output ––– +0 +––– input ––– +cat /var/log/manticore/query.log +––– output ––– +––– input ––– +mysql -h0 -P9306 -e "set global query_log_min_msec=0" +––– output ––– +––– input ––– +mysql -h0 -P9306 -e "UPDATE t SET a = 2 WHERE id = 1;"; echo $? +––– output ––– +0 +––– input ––– +cat /var/log/manticore/query.log +––– output ––– +/* #!/[A-Za-z]{3}\s+[A-Za-z]{3}\s+[0-9]{1,2}\s+[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}\s+[0-9]{4}/!# conn %{NUMBER} (127.0.0.1:%{NUMBER}) real #!/[0-9]{1}.[0-9]{3}/!# */ UPDATE t SET a = 2 WHERE id = 1; diff --git a/test/clt-tests/core/test-writing-binlog-during-parallel-queries.rec b/test/clt-tests/core/test-writing-binlog-during-parallel-queries.rec index 2bb261a6d6..1e00fd9f78 100644 --- a/test/clt-tests/core/test-writing-binlog-during-parallel-queries.rec +++ b/test/clt-tests/core/test-writing-binlog-during-parallel-queries.rec @@ -2,18 +2,9 @@ set -b +m; sed -i '/data_dir = \/var\/lib\/manticore/a\ binlog_common = 1\n' /etc/manticoresearch/manticore.conf ––– output ––– ––– input ––– -for i in {1..10}; do rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi; mysql -P9306 -h0 -e "drop table if exists t1"; mysql -P9306 -h0 -e "drop table if exists t2"; for n in 1 2; do mysql -P9306 -h0 -e "create table t${n}"; done; sleep 1; for n in 1 2; do mysql -P9306 -h0 -e "insert into t${n} values(0)" & done; wait 5>/dev/null 2>&1; echo $?; mysql -P9306 -h0 -e "show tables; select * from t1; select * from t2;"; mysql -P9306 -h0 -e "flush logs"; done +for i in {1..10}; do rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd > /dev/null; if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi; mysql -P9306 -h0 -e "drop table if exists t1"; mysql -P9306 -h0 -e "drop table if exists t2"; for n in 1 2; do mysql -P9306 -h0 -e "create table t${n}"; done; sleep 1; for n in 1 2; do mysql -P9306 -h0 -e "insert into t${n} values(0)" &>/dev/null; done; wait 5>/dev/null 2>&1; echo $?; mysql -P9306 -h0 -e "show tables; select * from t1; select * from t2;"; mysql -P9306 -h0 -e "flush logs"; done ––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) -Buddy started! +Accepting connections! 0 +-------+------+ | Table | Type | @@ -31,19 +22,7 @@ Buddy started! +---------------------+ | %{NUMBER} | +---------------------+ -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) -precaching table 't1' -precaching table 't2' -precached 2 tables in #!/[0-9]{1}.[0-9]{3}/!# sec -Buddy started! +Accepting connections! 0 +-------+------+ | Table | Type | @@ -61,19 +40,7 @@ Buddy started! +---------------------+ | %{NUMBER} | +---------------------+ -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) -precaching table 't1' -precaching table 't2' -precached 2 tables in #!/[0-9]{1}.[0-9]{3}/!# sec -Buddy started! +Accepting connections! 0 +-------+------+ | Table | Type | @@ -91,19 +58,7 @@ Buddy started! +---------------------+ | %{NUMBER} | +---------------------+ -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) -precaching table 't1' -precaching table 't2' -precached 2 tables in #!/[0-9]{1}.[0-9]{3}/!# sec -Buddy started! +Accepting connections! 0 +-------+------+ | Table | Type | @@ -121,19 +76,7 @@ Buddy started! +---------------------+ | %{NUMBER} | +---------------------+ -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) -precaching table 't1' -precaching table 't2' -precached 2 tables in #!/[0-9]{1}.[0-9]{3}/!# sec -Buddy started! +Accepting connections! 0 +-------+------+ | Table | Type | @@ -151,19 +94,7 @@ Buddy started! +---------------------+ | %{NUMBER} | +---------------------+ -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) -precaching table 't1' -precaching table 't2' -precached 2 tables in #!/[0-9]{1}.[0-9]{3}/!# sec -Buddy started! +Accepting connections! 0 +-------+------+ | Table | Type | @@ -181,19 +112,7 @@ Buddy started! +---------------------+ | %{NUMBER} | +---------------------+ -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) -precaching table 't1' -precaching table 't2' -precached 2 tables in #!/[0-9]{1}.[0-9]{3}/!# sec -Buddy started! +Accepting connections! 0 +-------+------+ | Table | Type | @@ -211,19 +130,7 @@ Buddy started! +---------------------+ | %{NUMBER} | +---------------------+ -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) -precaching table 't1' -precaching table 't2' -precached 2 tables in #!/[0-9]{1}.[0-9]{3}/!# sec -Buddy started! +Accepting connections! 0 +-------+------+ | Table | Type | @@ -241,19 +148,7 @@ Buddy started! +---------------------+ | %{NUMBER} | +---------------------+ -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) -precaching table 't1' -precaching table 't2' -precached 2 tables in #!/[0-9]{1}.[0-9]{3}/!# sec -Buddy started! +Accepting connections! 0 +-------+------+ | Table | Type | @@ -271,19 +166,7 @@ Buddy started! +---------------------+ | %{NUMBER} | +---------------------+ -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) -precaching table 't1' -precaching table 't2' -precached 2 tables in #!/[0-9]{1}.[0-9]{3}/!# sec -Buddy started! +Accepting connections! 0 +-------+------+ | Table | Type | @@ -300,4 +183,4 @@ Buddy started! | id | +---------------------+ | %{NUMBER} | -+---------------------+ \ No newline at end of file ++---------------------+ diff --git a/test/clt-tests/optimisation-and-update/test-optimisation-and-update.rec b/test/clt-tests/optimisation-and-update/test-optimisation-and-update.rec index 2247306daf..94217c8a1d 100644 --- a/test/clt-tests/optimisation-and-update/test-optimisation-and-update.rec +++ b/test/clt-tests/optimisation-and-update/test-optimisation-and-update.rec @@ -69,17 +69,8 @@ mysql -h0 -P9306 -e "SELECT COUNT(*) FROM name;" | 4000000 | +----------+ ––– input ––– -rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi -––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on %{IPADDR}:9312 for sphinx and http(s) -listening on %{IPADDR}:9306 for mysql -listening on %{IPADDR}:9308 for sphinx and http(s) +rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; (stdbuf -oL searchd 2>&1 | tee /var/log/manticore/searchd.log | grep -i precach & disown); sleep 0.5; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log; fi +––– output ––– precaching table 'name' precached 1 tables in #!/[0-9]{1}.[0-9]{3}/!# sec Buddy started! @@ -104,15 +95,15 @@ mysql -h0 -P9306 -e "show table name status like '%chunk%';" ––– input ––– mysql -h0 -P9306 -e "select * from name ORDER BY id ASC LIMIT 5;" ––– output ––– -+------+----------------+------+ -| id | username | s | -+------+----------------+------+ -| 1 | TARRA NORTH | a | -| 2 | CARSON BALL | a | -| 3 | TALIA TEAGUE | a | -| 4 | ALAYNA KIMBALL | a | -| 5 | ZULMA RINEHART | a | -+------+----------------+------+ ++------+------------------+------+ +| id | username | s | ++------+------------------+------+ +| 1 | CIRA HINOJOSA | a | +| 2 | DENICE HATTON | a | +| 3 | JOAQUIN FOLEY | a | +| 4 | REBEKAH CARLISLE | a | +| 5 | EVE GUAJARDO | a | ++------+------------------+------+ ––– input ––– start_optimize=$(date +%s); time mysql -h0 -P9306 -e "OPTIMIZE TABLE name OPTION sync=1, cutoff=1;" & ––– output ––– @@ -123,11 +114,11 @@ Update completed within acceptable time. ––– input ––– mysql -h0 -P9306 -e "SELECT * FROM name WHERE s='b' ORDER BY id ASC LIMIT 5;" ––– output ––– -+------+-------------+------+ -| id | username | s | -+------+-------------+------+ -| 1 | TARRA NORTH | b | -+------+-------------+------+ ++------+---------------+------+ +| id | username | s | ++------+---------------+------+ +| 1 | CIRA HINOJOSA | b | ++------+---------------+------+ ––– input ––– start_update=$(date +%s); time_taken_update=$( { time mysql -h0 -P9306 -e "UPDATE name SET s=123 WHERE id=1;" > /dev/null 2>&1; } 2>&1 | grep real | awk '{print $2}'); update_duration=$(echo "$time_taken_update" | awk -F'm' '{print ($1 * 60) + $2}'); if (( $(echo "$update_duration > 1" | bc -l) )); then echo "FAIL: Update took longer than 1 second!"; exit 1; else echo "Update completed within acceptable time."; fi ––– output ––– @@ -135,11 +126,11 @@ Update completed within acceptable time. ––– input ––– mysql -h0 -P9306 -e "SELECT * FROM name WHERE s='b' ORDER BY id ASC LIMIT 5;" ––– output ––– -+------+-------------+------+ -| id | username | s | -+------+-------------+------+ -| 1 | TARRA NORTH | b | -+------+-------------+------+ ++------+---------------+------+ +| id | username | s | ++------+---------------+------+ +| 1 | CIRA HINOJOSA | b | ++------+---------------+------+ ––– input ––– start_update=$(date +%s); time_taken_update=$( { time mysql -h0 -P9306 -e "UPDATE name SET s='b' WHERE id > 0;" > /dev/null 2>&1; } 2>&1 | grep real | awk '{print $2}'); update_duration=$(echo "$time_taken_update" | awk -F'm' '{print ($1 * 60) + $2}'); if (( $(echo "$update_duration > 3" | bc -l) )); then echo "FAIL: Update took longer than 3 seconds!"; false; else echo "Update completed within acceptable time."; fi ––– output ––– @@ -147,15 +138,15 @@ Update completed within acceptable time. ––– input ––– mysql -h0 -P9306 -e "SELECT * FROM name WHERE s='b' ORDER BY id ASC LIMIT 5;" ––– output ––– -+------+----------------+------+ -| id | username | s | -+------+----------------+------+ -| 1 | TARRA NORTH | b | -| 2 | CARSON BALL | b | -| 3 | TALIA TEAGUE | b | -| 4 | ALAYNA KIMBALL | b | -| 5 | ZULMA RINEHART | b | -+------+----------------+------+ ++------+------------------+------+ +| id | username | s | ++------+------------------+------+ +| 1 | CIRA HINOJOSA | b | +| 2 | DENICE HATTON | b | +| 3 | JOAQUIN FOLEY | b | +| 4 | REBEKAH CARLISLE | b | +| 5 | EVE GUAJARDO | b | ++------+------------------+------+ ––– input ––– start_update=$(date +%s); time_taken_update=$(mysql -h0 -P9306 -e "UPDATE name SET unknown='b' WHERE id=1;" 2>&1); update_duration=$(( $(date +%s) - start_update )); [[ "$time_taken_update" == *"ERROR"* ]] && echo "$time_taken_update"; if (( update_duration <= 1 )); then echo "The command is completed within a reasonable time frame."; else echo "FAIL: Update took longer than 1 second!"; false; fi ––– output ––– @@ -164,16 +155,16 @@ The command is completed within a reasonable time frame. ––– input ––– mysql -h0 -P9306 -e "SELECT * FROM name WHERE s='b' ORDER BY id ASC LIMIT 5;" ––– output ––– -+------+----------------+------+ -| id | username | s | -+------+----------------+------+ -| 1 | TARRA NORTH | b | -| 2 | CARSON BALL | b | -| 3 | TALIA TEAGUE | b | -| 4 | ALAYNA KIMBALL | b | -| 5 | ZULMA RINEHART | b | -+------+----------------+------+ ++------+------------------+------+ +| id | username | s | ++------+------------------+------+ +| 1 | CIRA HINOJOSA | b | +| 2 | DENICE HATTON | b | +| 3 | JOAQUIN FOLEY | b | +| 4 | REBEKAH CARLISLE | b | +| 5 | EVE GUAJARDO | b | ++------+------------------+------+ ––– input ––– { command time wait > /dev/null 2>&1; } 2>&1 | grep -v "real" | grep -v "user" | grep -v "sys"; end_optimize=$(date +%s); optimize_duration=$((end_optimize - start_optimize)); echo "OPTIMIZE duration: $optimize_duration seconds" ––– output ––– -OPTIMIZE duration: %{NUMBER} seconds \ No newline at end of file +OPTIMIZE duration: %{NUMBER} seconds diff --git a/test/clt-tests/replication/test-cluster-creation-without-replication.rec b/test/clt-tests/replication/test-cluster-creation-without-replication.rec index 4fa5e5d321..87ba84c0b3 100644 --- a/test/clt-tests/replication/test-cluster-creation-without-replication.rec +++ b/test/clt-tests/replication/test-cluster-creation-without-replication.rec @@ -2,15 +2,12 @@ sed -i -e '/listen = 127.0.0.1:9312/d' -e '/listen = 127.0.0.1:9308:http/d' /etc/manticoresearch/manticore.conf ––– output ––– ––– input ––– -stdbuf -oL searchd +stdbuf -oL searchd > /dev/null ––– output ––– -Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) -Copyright (c) 2001-2016, Andrew Aksyonoff -Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) -Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com) -[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)... -starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ... -listening on 127.0.0.1:9306 for mysql +––– input ––– +if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi +––– output ––– +Accepting connections! ––– input ––– mysql -h0 -P9306 -e "create cluster c" ––– output ––– diff --git a/test/clt-tests/replication/test-replication-with-mysqldump.rec b/test/clt-tests/replication/test-replication-with-mysqldump.rec new file mode 100644 index 0000000000..8ee61219fb --- /dev/null +++ b/test/clt-tests/replication/test-replication-with-mysqldump.rec @@ -0,0 +1,526 @@ +––– input ––– +export INSTANCE=1 +––– output ––– +––– block: ../base/replication/start-searchd-precach ––– +––– input ––– +export INSTANCE=2 +––– output ––– +––– block: ../base/replication/start-searchd-precach ––– +––– input ––– +export INSTANCE=3 +––– output ––– +––– block: ../base/replication/start-searchd-precach ––– +––– input ––– +export CLUSTER_NAME=c +––– output ––– +––– block: ../base/replication/create-cluster ––– +––– input ––– +echo 'the, and, of' > /tmp/stopwords.txt +––– output ––– +––– input ––– +echo 'cat => feline' > /tmp/exceptions.txt +––– output ––– +––– input ––– +mysql -h0 -P1306 -e "CREATE TABLE tbl1 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' morphology='stem_en' stopwords='/tmp/stopwords.txt' exceptions='/tmp/exceptions.txt' rt_mem_limit='256M';"; echo $? +––– output ––– +0 +––– input ––– +mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;" +––– output ––– +*************************** 1. row *************************** +Variable_name: settings +Value: engine = columnar +exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_0.txt +morphology = stem_en +stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_0.txt +rt_mem_limit = 268435456 +––– input ––– +mysql -h0 -P1306 -e "INSERT INTO tbl1 VALUES (1, 'The cat runs', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $? +––– output ––– +0 +––– input ––– +mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;" +––– output ––– +––– input ––– +for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done; +––– output ––– +––– input ––– +mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G" +––– output ––– +*************************** 1. row *************************** +Counter: cluster_#!/[a-z]+/!#_status +Value: primary +––– input ––– +echo '=> faster' > /tmp/wordforms.txt +––– output ––– +––– input ––– +mysql -h0 -P2306 -e "CREATE TABLE tbl2 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' morphology='stem_ru' wordforms='/tmp/wordforms.txt' rt_mem_limit='512M';"; echo $? +––– output ––– +0 +––– input ––– +mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;" +––– output ––– +*************************** 1. row *************************** +Variable_name: settings +Value: engine = rowwise +morphology = stem_ru +wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt +rt_mem_limit = 536870912 +––– input ––– +mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (1, 'Текст на русском', 84, 2.71, '{\"ключ\":\"значение\"}', (4,5,6), 'строка', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $? +––– output ––– +0 +––– input ––– +mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (2, 'Прыжок', 19, 1.62, '{\"движение\":\"прыжок\",\"число\":3}', (7,8,9), 'пример', 1, '2024-06-10 15:45:00', (345678901234567890, 567890123456789012), (0.8, 0.7, 0.6, 0.5));"; echo $? +––– output ––– +0 +––– input ––– +mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;" +––– output ––– +––– input ––– +mysql -h0 -P3306 -e "CREATE TABLE tbl3 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' rt_mem_limit='512M';"; echo $? +––– output ––– +0 +––– input ––– +mysql -h0 -P3306 -e "SHOW TABLE tbl3 SETTINGS\G;" +––– output ––– +*************************** 1. row *************************** +Variable_name: settings +Value: engine = rowwise +rt_mem_limit = 536870912 +––– input ––– +mysql -h0 -P3306 -e "INSERT INTO tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (1, 'Plain example', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'plain_string', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $? +––– output ––– +0 +––– input ––– +mysql -h0 -P3306 -e "ALTER CLUSTER c ADD tbl3;"; echo $? +––– output ––– +0 +––– input ––– +mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';" +––– output ––– ++-------------------+----------------+ +| Counter | Value | ++-------------------+----------------+ +| cluster_c_indexes | tbl1,tbl2,tbl3 | ++-------------------+----------------+ +––– input ––– +for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done +––– output ––– +Data from c:tbl1 on port 1306: ++------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| 1 | The cat runs | 42 | 3.140000 | {"key":"value"} | 1,2,3 | test | 1 | 0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 | ++------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +Data from c:tbl1 on port 2306: ++------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| 1 | The cat runs | 42 | 3.140000 | {"key":"value"} | 1,2,3 | test | 1 | 0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 | ++------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +Data from c:tbl1 on port 3306: ++------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| 1 | The cat runs | 42 | 3.140000 | {"key":"value"} | 1,2,3 | test | 1 | 0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 | ++------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +––– input ––– +for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done +––– output ––– +Data from c:tbl2 on port 1306: ++------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Текст на русском | 84 | 2.710000 | {"ключ":"значение"} | 4,5,6 | строка | 0 | 0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 | +| 2 | Прыжок | 19 | 1.620000 | {"движение":"прыжок","число":3} | 7,8,9 | пример | 1 | 0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 | ++------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +Data from c:tbl2 on port 2306: ++------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Текст на русском | 84 | 2.710000 | {"ключ":"значение"} | 4,5,6 | строка | 0 | 0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 | +| 2 | Прыжок | 19 | 1.620000 | {"движение":"прыжок","число":3} | 7,8,9 | пример | 1 | 0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 | ++------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +Data from c:tbl2 on port 3306: ++------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Текст на русском | 84 | 2.710000 | {"ключ":"значение"} | 4,5,6 | строка | 0 | 0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 | +| 2 | Прыжок | 19 | 1.620000 | {"движение":"прыжок","число":3} | 7,8,9 | пример | 1 | 0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 | ++------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +––– input ––– +for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done +––– output ––– +Data from c:tbl3 on port 1306: ++------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Plain example | 42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string | 1 | 0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 | ++------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +Data from c:tbl3 on port 2306: ++------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Plain example | 42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string | 1 | 0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 | ++------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +Data from c:tbl3 on port 3306: ++------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Plain example | 42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string | 1 | 0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 | ++------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +––– input ––– +mysql -h0 -P1306 -e "REPLACE INTO c:tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $? +––– output ––– +0 +––– input ––– +mysqldump -etc --replace -u cluster -h0 -P1306 --skip-comments manticore c:tbl1 | mysql -h0 -P1306; echo $? +––– output ––– +-- Warning: version string returned by server is incorrect. +-- Warning: column statistics not supported by the server. +0 +––– input ––– +for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done +––– output ––– +Data from c:tbl1 on port 1306: ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Updated feline runs | 42 | 3.140000 | {"key":"updated"} | 1,2,3 | test | 1 | 0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +Data from c:tbl1 on port 2306: ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Updated feline runs | 42 | 3.140000 | {"key":"updated"} | 1,2,3 | test | 1 | 0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +Data from c:tbl1 on port 3306: ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Updated feline runs | 42 | 3.140000 | {"key":"updated"} | 1,2,3 | test | 1 | 0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +––– input ––– +for port in 1306 2306 3306; do mysql -h0 -P$port -e "SET GLOBAL cluster_user = 'new_username';"; done +––– output ––– +––– input ––– +for port in 1306 2306 3306; do timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW VARIABLES LIKE 'cluster_user';\" | grep -q '| cluster_user | new_username |'; do sleep 1; done" && echo "Port $port: cluster_user is new_username." || { echo "Port $port: cluster_user is not new_username."; exit 1; }; done +––– output ––– +Port 1306: cluster_user is new_username. +Port 2306: cluster_user is new_username. +Port 3306: cluster_user is new_username. +––– input ––– +mysql -h0 -P2306 -e "DELETE FROM c:tbl2 WHERE id = 2;"; echo $? +––– output ––– +0 +––– input ––– +mysql -h0 -P3306 -e "INSERT INTO c:tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'New plain entry', 50, 5.5, '{\"new\":\"entry\"}', (10,11,12), 'new_string', 0, '2025-03-02 10:00:00', (111222333444555666, 777888999000111222), (0.6, 0.7, 0.8, 0.9));"; echo $? +––– output ––– +0 +––– input ––– +mysqldump -etc --replace --net-buffer-length=16M -u new_username -h0 -P2306 --skip-comments manticore c:tbl1 c:tbl2 c:tbl3 | mysql -h0 -P3306; echo $? +––– output ––– +-- Warning: version string returned by server is incorrect. +-- Warning: column statistics not supported by the server. +0 +––– input ––– +for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done +––– output ––– +Data from c:tbl1 on port 1306: ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Updated feline runs | 42 | 3.140000 | {"key":"updated"} | 1,2,3 | test | 1 | 0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +Data from c:tbl1 on port 2306: ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Updated feline runs | 42 | 3.140000 | {"key":"updated"} | 1,2,3 | test | 1 | 0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +Data from c:tbl1 on port 3306: ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Updated feline runs | 42 | 3.140000 | {"key":"updated"} | 1,2,3 | test | 1 | 0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +––– input ––– +for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done +––– output ––– +Data from c:tbl2 on port 1306: ++------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Текст на русском | 84 | 2.710000 | {"ключ":"значение"} | 4,5,6 | строка | 0 | 0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 | ++------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +Data from c:tbl2 on port 2306: ++------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Текст на русском | 84 | 2.710000 | {"ключ":"значение"} | 4,5,6 | строка | 0 | 0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 | ++------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +Data from c:tbl2 on port 3306: ++------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Текст на русском | 84 | 2.710000 | {"ключ":"значение"} | 4,5,6 | строка | 0 | 0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 | ++------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +––– input ––– +for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done +––– output ––– +Data from c:tbl3 on port 1306: ++------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Plain example | 42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string | 1 | 0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 | +| 2 | New plain entry | 50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string | 0 | 0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 | ++------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+ +Data from c:tbl3 on port 2306: ++------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Plain example | 42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string | 1 | 0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 | +| 2 | New plain entry | 50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string | 0 | 0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 | ++------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+ +Data from c:tbl3 on port 3306: ++------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Plain example | 42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string | 1 | 0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 | +| 2 | New plain entry | 50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string | 0 | 0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 | ++------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+ +––– input ––– +mysql -h0 -P1306 -e "ALTER CLUSTER c DROP tbl1;"; echo $? +––– output ––– +0 +––– input ––– +mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';" +––– output ––– ++-------------------+-----------+ +| Counter | Value | ++-------------------+-----------+ +| cluster_c_indexes | tbl2,tbl3 | ++-------------------+-----------+ +––– input ––– +echo 'new, stop, words' > /tmp/new_stopwords.txt; echo $? +––– output ––– +0 +––– input ––– +echo 'dog => canine' > /tmp/new_exceptions.txt; echo $? +––– output ––– +0 +––– input ––– +mysql -h0 -P1306 -e "ALTER TABLE tbl1 stopwords='/tmp/new_stopwords.txt' exceptions='/tmp/new_exceptions.txt';"; echo $? +––– output ––– +0 +––– input ––– +mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;" +––– output ––– +*************************** 1. row *************************** +Variable_name: settings +Value: engine = columnar +exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_1.txt +morphology = stem_en +stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_1.txt +rt_mem_limit = 268435456 +––– input ––– +mysql -h0 -P1306 -e "REPLACE INTO tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $? +––– output ––– +0 +––– input ––– +mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"; echo $? +––– output ––– +0 +––– input ––– +for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done +––– output ––– +Data from c:tbl1 on port 1306: ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Updated feline runs | 42 | 3.140000 | {"key":"updated"} | 1,2,3 | test | 1 | 0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +Data from c:tbl1 on port 2306: ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Updated feline runs | 42 | 3.140000 | {"key":"updated"} | 1,2,3 | test | 1 | 0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +Data from c:tbl1 on port 3306: ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Updated feline runs | 42 | 3.140000 | {"key":"updated"} | 1,2,3 | test | 1 | 0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +––– input ––– +mysql -h0 -P2306 -e "SHOW TABLE c:tbl1 SETTINGS\G;" +––– output ––– +*************************** 1. row *************************** +Variable_name: settings +Value: engine = columnar +exceptions = /var/log/manticore-2/tbl1/exceptions_chunk0_1.txt +morphology = stem_en +stopwords = /var/log/manticore-2/tbl1/stopwords_chunk0_1.txt +rt_mem_limit = 268435456 +––– input ––– +for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('new runs');"; done +––– output ––– +Data from c:tbl1 on port 1306: ++------+---------------------+----------------------------+ +| id | f | highlight() | ++------+---------------------+----------------------------+ +| 1 | Updated feline runs | Updated feline runs | ++------+---------------------+----------------------------+ +Data from c:tbl1 on port 2306: ++------+---------------------+----------------------------+ +| id | f | highlight() | ++------+---------------------+----------------------------+ +| 1 | Updated feline runs | Updated feline runs | ++------+---------------------+----------------------------+ +Data from c:tbl1 on port 3306: ++------+---------------------+----------------------------+ +| id | f | highlight() | ++------+---------------------+----------------------------+ +| 1 | Updated feline runs | Updated feline runs | ++------+---------------------+----------------------------+ +––– input ––– +mysql -h0 -P1306 -e "INSERT INTO c:tbl1 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'The dog barks', 10, 2.5, '{\"animal\":\"dog\"}', (4,5), 'bark', 1, '2025-01-01 10:00:00', (111222333444555, 666777888999000), (0.5, 0.6, 0.7, 0.8));"; echo $? +––– output ––– +0 +––– input ––– +for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('canine');"; done +––– output ––– +Data from c:tbl1 on port 1306: ++------+---------------+----------------------+ +| id | f | highlight() | ++------+---------------+----------------------+ +| 2 | The dog barks | The dog barks | ++------+---------------+----------------------+ +Data from c:tbl1 on port 2306: ++------+---------------+----------------------+ +| id | f | highlight() | ++------+---------------+----------------------+ +| 2 | The dog barks | The dog barks | ++------+---------------+----------------------+ +Data from c:tbl1 on port 3306: ++------+---------------+----------------------+ +| id | f | highlight() | ++------+---------------+----------------------+ +| 2 | The dog barks | The dog barks | ++------+---------------+----------------------+ +––– input ––– +for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done +––– output ––– +Data from c:tbl1 on port 1306: ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Updated feline runs | 42 | 3.140000 | {"key":"updated"} | 1,2,3 | test | 1 | 0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 | +| 2 | The dog barks | 10 | 2.500000 | {"animal":"dog"} | 4,5 | bark | 1 | 0 | 111222333444555,666777888999000 | 0.500000,0.600000,0.700000,0.800000 | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +Data from c:tbl1 on port 2306: ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Updated feline runs | 42 | 3.140000 | {"key":"updated"} | 1,2,3 | test | 1 | 0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 | +| 2 | The dog barks | 10 | 2.500000 | {"animal":"dog"} | 4,5 | bark | 1 | 0 | 111222333444555,666777888999000 | 0.500000,0.600000,0.700000,0.800000 | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +Data from c:tbl1 on port 3306: ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Updated feline runs | 42 | 3.140000 | {"key":"updated"} | 1,2,3 | test | 1 | 0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 | +| 2 | The dog barks | 10 | 2.500000 | {"animal":"dog"} | 4,5 | bark | 1 | 0 | 111222333444555,666777888999000 | 0.500000,0.600000,0.700000,0.800000 | ++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+ +––– input ––– +mysql -h0 -P2306 -e "ALTER CLUSTER c DROP tbl2;"; echo $? +––– output ––– +0 +––– input ––– +mysql -h0 -P2306 -e "SHOW STATUS LIKE 'cluster_c_indexes';" +––– output ––– ++-------------------+-----------+ +| Counter | Value | ++-------------------+-----------+ +| cluster_c_indexes | tbl3,tbl1 | ++-------------------+-----------+ +––– input ––– +ls /usr/share/manticore/ru.pak +––– output ––– +/usr/share/manticore/ru.pak +––– input ––– +mysql -h0 -P2306 -e "ALTER TABLE tbl2 morphology='lemmatize_ru';"; echo $? +––– output ––– +0 +––– input ––– +mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;" +––– output ––– +*************************** 1. row *************************** +Variable_name: settings +Value: engine = rowwise +morphology = lemmatize_ru +wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt +rt_mem_limit = 536870912 +––– input ––– +mysqldump -etc --replace -u new_username -h0 -P2306 --skip-comments manticore tbl2 | mysql -P2306 -h0; echo $? +––– output ––– +-- Warning: version string returned by server is incorrect. +-- Warning: column statistics not supported by the server. +0 +––– input ––– +mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;"; echo $? +––– output ––– +0 +––– input ––– +mysql -h0 -P2306 -e "INSERT INTO c:tbl2 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Кот прыжки делает', 5, 1.1, '{\"движение\":\"прыжки\"}', (10,11), 'кот', 1, '2025-03-11 12:00:00', (111111111, 222222222), (0.9, 0.8, 0.7, 0.6));"; echo $? +––– output ––– +0 +––– input ––– +for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl2 WHERE MATCH('прыжок');"; done +––– output ––– +Data from c:tbl2 on port 1306: ++------+----------------------------------+-----------------------------------------+ +| id | f | highlight() | ++------+----------------------------------+-----------------------------------------+ +| 2 | Кот прыжки делает | Кот прыжки делает | ++------+----------------------------------+-----------------------------------------+ +Data from c:tbl2 on port 2306: ++------+----------------------------------+-----------------------------------------+ +| id | f | highlight() | ++------+----------------------------------+-----------------------------------------+ +| 2 | Кот прыжки делает | Кот прыжки делает | ++------+----------------------------------+-----------------------------------------+ +Data from c:tbl2 on port 3306: ++------+----------------------------------+-----------------------------------------+ +| id | f | highlight() | ++------+----------------------------------+-----------------------------------------+ +| 2 | Кот прыжки делает | Кот прыжки делает | ++------+----------------------------------+-----------------------------------------+ +––– input ––– +for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done +––– output ––– +Data from c:tbl2 on port 1306: ++------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Текст на русском | 84 | 2.710000 | {"ключ":"значение"} | 4,5,6 | строка | 0 | 0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 | +| 2 | Кот прыжки делает | 5 | 1.100000 | {"движение":"прыжки"} | 10,11 | кот | 1 | 0 | 111111111,222222222 | 0.900000,0.800000,0.700000,0.600000 | ++------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +Data from c:tbl2 on port 2306: ++------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Текст на русском | 84 | 2.710000 | {"ключ":"значение"} | 4,5,6 | строка | 0 | 0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 | +| 2 | Кот прыжки делает | 5 | 1.100000 | {"движение":"прыжки"} | 10,11 | кот | 1 | 0 | 111111111,222222222 | 0.900000,0.800000,0.700000,0.600000 | ++------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +Data from c:tbl2 on port 3306: ++------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| id | f | a | b | j | m | s | e | d | v | fv | ++------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +| 1 | Текст на русском | 84 | 2.710000 | {"ключ":"значение"} | 4,5,6 | строка | 0 | 0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 | +| 2 | Кот прыжки делает | 5 | 1.100000 | {"движение":"прыжки"} | 10,11 | кот | 1 | 0 | 111111111,222222222 | 0.900000,0.800000,0.700000,0.600000 | ++------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+ +––– input ––– +rm -f /tmp/stopwords.txt /tmp/exceptions.txt /tmp/wordforms.txt /var/lib/manticore/tbl3.conf dump.sql +––– output ––– diff --git a/test/clt-tests/replication/replication-test.rec b/test/clt-tests/replication/test-replication.rec similarity index 100% rename from test/clt-tests/replication/replication-test.rec rename to test/clt-tests/replication/test-replication.rec diff --git a/test/clt-tests/scripts/load_names_attr.php b/test/clt-tests/scripts/load_names_attr.php index 936f81f45f..f258ea5e8a 100755 --- a/test/clt-tests/scripts/load_names_attr.php +++ b/test/clt-tests/scripts/load_names_attr.php @@ -111,8 +111,11 @@ function process($link, $query) { $surnames = file('./test/clt-tests/scripts/surnames.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); $surnamesCount = count($surnames); +// Ensure repeatable random data +srand(42); +mt_srand(42); + echo "preparing...\n"; -srand(1); // Ensure repeatable random data $c = $startId; // Start at the specified start ID $batches = []; diff --git a/test/test_256/model.bin b/test/test_256/model.bin index d9d0227cb9..ee6c670ce6 100644 --- a/test/test_256/model.bin +++ b/test/test_256/model.bin @@ -1 +1 @@ -a:1:{i:0;a:41:{i:0;a:2:{s:8:"sphinxql";s:116:"INSERT INTO rt1 (id, idd, body) VALUES ( 1, 11, 'The role of a software tester in an Agile environment goes beyond')";s:14:"total_affected";i:1;}i:1;a:2:{s:8:"sphinxql";s:106:"INSERT INTO rt1 (id, idd, body) VALUES ( 2, 11, 'paint coating is to be tested with a wet sponge tester' )";s:14:"total_affected";i:1;}i:2;a:2:{s:8:"sphinxql";s:81:"INSERT INTO rt1 (id, idd, body) VALUES ( 3, 11, 'technical tester builds tools' )";s:14:"total_affected";i:1;}i:3;a:2:{s:8:"sphinxql";s:70:"INSERT INTO rt1 (id, idd, body) VALUES ( 4, 11, 'aquia magic rester' )";s:14:"total_affected";i:1;}i:4;a:2:{s:8:"sphinxql";s:93:"INSERT INTO rt1 (id, idd, body) VALUES ( 5, 11, 'pharma exec arrested for securities fraud' )";s:14:"total_affected";i:1;}i:5;a:2:{s:8:"sphinxql";s:93:"INSERT INTO rt1 (id, idd, body) VALUES ( 6, 11, 'was arrested for stealing a tester bottle' )";s:14:"total_affected";i:1;}i:6;a:2:{s:8:"sphinxql";s:84:"INSERT INTO rt1 (id, idd, body) VALUES ( 7, 11, 'star allegedly tells drug tester' )";s:14:"total_affected";i:1;}i:7;a:2:{s:8:"sphinxql";s:98:"INSERT INTO rt1 (id, idd, body) VALUES ( 10, 22, 'С благодарностью к своим' )";s:14:"total_affected";i:1;}i:8;a:2:{s:8:"sphinxql";s:96:"INSERT INTO rt1 (id, idd, body) VALUES ( 11, 22, 'с благодарностью за все' )";s:14:"total_affected";i:1;}i:9;a:2:{s:8:"sphinxql";s:119:"INSERT INTO rt1 (id, idd, body) VALUES ( 12, 22, 'его к поощрению благодарностью всех' )";s:14:"total_affected";i:1;}i:10;a:2:{s:8:"sphinxql";s:122:"INSERT INTO rt1 (id, idd, body) VALUES ( 13, 22, 'письма благодарности героям прошлого' )";s:14:"total_affected";i:1;}i:11;a:2:{s:8:"sphinxql";s:107:"INSERT INTO rt1 (id, idd, body) VALUES ( 14, 22, 'его благодарность неизвестна' )";s:14:"total_affected";i:1;}i:12;a:2:{s:8:"sphinxql";s:108:"INSERT INTO rt1 (id, idd, body) VALUES ( 15, 22, 'написать e-mail с благодарностью' )";s:14:"total_affected";i:1;}i:13;a:3:{s:8:"sphinxql";s:34:"CALL SUGGEST ( 'taster', 'plain1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:6:"tester";s:8:"distance";s:1:"1";s:4:"docs";s:1:"5";}i:1;a:3:{s:7:"suggest";s:6:"tested";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:2;a:3:{s:7:"suggest";s:6:"rester";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}}}i:14;a:3:{s:8:"sphinxql";s:31:"CALL SUGGEST ( 'taster', 'rt1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:6:"tester";s:8:"distance";s:1:"1";s:4:"docs";s:1:"5";}i:1;a:3:{s:7:"suggest";s:6:"rester";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:2;a:3:{s:7:"suggest";s:6:"tested";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}}}i:15;a:3:{s:8:"sphinxql";s:54:"CALL SUGGEST ( 'благодраность', 'plain1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:26:"благодарность";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:1;a:3:{s:7:"suggest";s:28:"благодарностью";s:8:"distance";s:1:"3";s:4:"docs";s:1:"4";}i:2;a:3:{s:7:"suggest";s:26:"благодарности";s:8:"distance";s:1:"3";s:4:"docs";s:1:"1";}}}i:16;a:3:{s:8:"sphinxql";s:51:"CALL SUGGEST ( 'благодраность', 'rt1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:26:"благодарность";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:1;a:3:{s:7:"suggest";s:28:"благодарностью";s:8:"distance";s:1:"3";s:4:"docs";s:1:"4";}i:2;a:3:{s:7:"suggest";s:26:"благодарности";s:8:"distance";s:1:"3";s:4:"docs";s:1:"1";}}}i:17;a:3:{s:8:"sphinxql";s:64:"CALL QSUGGEST ( 'tests passed well because of taster', 'plain1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:6:"tester";s:8:"distance";s:1:"1";s:4:"docs";s:1:"5";}i:1;a:3:{s:7:"suggest";s:6:"tested";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:2;a:3:{s:7:"suggest";s:6:"rester";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}}}i:18;a:3:{s:8:"sphinxql";s:61:"CALL QSUGGEST ( 'tests passed well because of taster', 'rt1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:6:"tester";s:8:"distance";s:1:"1";s:4:"docs";s:1:"5";}i:1;a:3:{s:7:"suggest";s:6:"rester";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:2;a:3:{s:7:"suggest";s:6:"tested";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}}}i:19;a:3:{s:8:"sphinxql";s:81:"CALL QSUGGEST ( 'с превеликой благодраностью', 'plain1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:28:"благодарностью";s:8:"distance";s:1:"2";s:4:"docs";s:1:"4";}i:1;a:3:{s:7:"suggest";s:26:"благодарность";s:8:"distance";s:1:"3";s:4:"docs";s:1:"1";}i:2;a:3:{s:7:"suggest";s:26:"благодарности";s:8:"distance";s:1:"4";s:4:"docs";s:1:"1";}}}i:20;a:3:{s:8:"sphinxql";s:78:"CALL QSUGGEST ( 'с превеликой благодраностью', 'rt1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:28:"благодарностью";s:8:"distance";s:1:"2";s:4:"docs";s:1:"4";}i:1;a:3:{s:7:"suggest";s:26:"благодарность";s:8:"distance";s:1:"3";s:4:"docs";s:1:"1";}i:2;a:3:{s:7:"suggest";s:26:"благодарности";s:8:"distance";s:1:"4";s:4:"docs";s:1:"1";}}}i:21;a:2:{s:8:"sphinxql";s:116:"INSERT INTO rt2 (id, idd, body) VALUES ( 1, 11, 'The role of a software tester in an Agile environment goes beyond')";s:14:"total_affected";i:1;}i:22;a:2:{s:8:"sphinxql";s:70:"INSERT INTO rt2 (id, idd, body) VALUES ( 4, 11, 'aquia magic rester' )";s:14:"total_affected";i:1;}i:23;a:2:{s:8:"sphinxql";s:93:"INSERT INTO rt2 (id, idd, body) VALUES ( 6, 11, 'was arrested for stealing a tester bottle' )";s:14:"total_affected";i:1;}i:24;a:3:{s:8:"sphinxql";s:34:"CALL SUGGEST ( 'taster', 'plain2')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:7:"suggest";s:6:"tester";s:8:"distance";s:1:"1";s:4:"docs";s:1:"2";}i:1;a:3:{s:7:"suggest";s:6:"rester";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}}}i:25;a:3:{s:8:"sphinxql";s:31:"CALL SUGGEST ( 'taster', 'rt2')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:7:"suggest";s:6:"tester";s:8:"distance";s:1:"1";s:4:"docs";s:1:"2";}i:1;a:3:{s:7:"suggest";s:6:"rester";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}}}i:26;a:2:{s:8:"sphinxql";s:79:"INSERT INTO rt1 (id, idd, body) VALUES ( 21, 11, '#test from bunch of tester' )";s:14:"total_affected";i:1;}i:27;a:2:{s:8:"sphinxql";s:77:"INSERT INTO rt1 (id, idd, body) VALUES ( 22, 11, '#test passed for #taster' )";s:14:"total_affected";i:1;}i:28;a:2:{s:8:"sphinxql";s:77:"INSERT INTO rt1 (id, idd, body) VALUES ( 23, 11, '#test #tests passes well' )";s:14:"total_affected";i:1;}i:29;a:3:{s:8:"sphinxql";s:31:"CALL SUGGEST ( '#trest', 'rt1')";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:3:{s:7:"suggest";s:4:"test";s:8:"distance";s:1:"2";s:4:"docs";s:1:"3";}i:1;a:3:{s:7:"suggest";s:5:"tests";s:8:"distance";s:1:"3";s:4:"docs";s:1:"1";}i:2;a:3:{s:7:"suggest";s:6:"tester";s:8:"distance";s:1:"4";s:4:"docs";s:1:"6";}i:3;a:3:{s:7:"suggest";s:8:"arrested";s:8:"distance";s:1:"4";s:4:"docs";s:1:"2";}i:4;a:3:{s:7:"suggest";s:6:"rester";s:8:"distance";s:1:"4";s:4:"docs";s:1:"1";}}}i:30;a:3:{s:8:"sphinxql";s:47:"CALL SUGGEST ( '#trest', 'rt1', 1 as non_char )";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:3:{s:7:"suggest";s:5:"#test";s:8:"distance";s:1:"1";s:4:"docs";s:1:"3";}i:1;a:3:{s:7:"suggest";s:4:"test";s:8:"distance";s:1:"2";s:4:"docs";s:1:"3";}i:2;a:3:{s:7:"suggest";s:6:"#tests";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:3;a:3:{s:7:"suggest";s:5:"tests";s:8:"distance";s:1:"3";s:4:"docs";s:1:"1";}i:4;a:3:{s:7:"suggest";s:6:"tester";s:8:"distance";s:1:"4";s:4:"docs";s:1:"6";}}}i:31;a:2:{s:8:"sphinxql";s:186:"insert into rt3 (body) VALUES ('range'), ('range'), ('revenge'), ('ranger'), ('orange'), ('binge'), ('rave'), ('grave'), ('raven'), ('brave'), ('raver'), ('france'), ('randy'), ('ranch')";s:14:"total_affected";i:14;}i:32;a:3:{s:8:"sphinxql";s:27:"CALL SUGGEST('ravge','rt3')";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:3:{s:7:"suggest";s:5:"range";s:8:"distance";s:1:"1";s:4:"docs";s:1:"2";}i:1;a:3:{s:7:"suggest";s:4:"rave";s:8:"distance";s:1:"1";s:4:"docs";s:1:"1";}i:2;a:3:{s:7:"suggest";s:5:"brave";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:3;a:3:{s:7:"suggest";s:6:"ranger";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:4;a:3:{s:7:"suggest";s:5:"raver";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}}}i:33;a:3:{s:8:"sphinxql";s:79:"CALL QSUGGEST ( 'tests passed well in funce', 'rt3', 1 as sentence, 1 as limit)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:7:"suggest";s:27:"tests passed well in france";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}}}i:34;a:2:{s:8:"sphinxql";s:38:"DELETE FROM rt1 WHERE id IN (21,22,23)";s:14:"total_affected";i:3;}i:35;a:3:{s:8:"sphinxql";s:33:"CALL SUGGEST ( 'taster', 'dist1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:6:"tester";s:8:"distance";s:1:"1";s:4:"docs";s:2:"10";}i:1;a:3:{s:7:"suggest";s:6:"rester";s:8:"distance";s:1:"2";s:4:"docs";s:1:"2";}i:2;a:3:{s:7:"suggest";s:6:"tested";s:8:"distance";s:1:"2";s:4:"docs";s:1:"2";}}}i:36;a:3:{s:8:"sphinxql";s:53:"CALL SUGGEST ( 'благодраность', 'dist1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:26:"благодарность";s:8:"distance";s:1:"2";s:4:"docs";s:1:"2";}i:1;a:3:{s:7:"suggest";s:28:"благодарностью";s:8:"distance";s:1:"3";s:4:"docs";s:1:"8";}i:2;a:3:{s:7:"suggest";s:26:"благодарности";s:8:"distance";s:1:"3";s:4:"docs";s:1:"2";}}}i:37;a:3:{s:8:"sphinxql";s:63:"CALL QSUGGEST ( 'tests passed well because of taster', 'dist1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:6:"tester";s:8:"distance";s:1:"1";s:4:"docs";s:2:"10";}i:1;a:3:{s:7:"suggest";s:6:"rester";s:8:"distance";s:1:"2";s:4:"docs";s:1:"2";}i:2;a:3:{s:7:"suggest";s:6:"tested";s:8:"distance";s:1:"2";s:4:"docs";s:1:"2";}}}i:38;a:3:{s:8:"sphinxql";s:82:"CALL QSUGGEST ( 'tests passed well in funce', 'dist31', 1 as sentence, 3 as limit)";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:7:"suggest";s:27:"tests passed well in france";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:1;a:3:{s:7:"suggest";s:26:"tests passed well in ranch";s:8:"distance";s:1:"3";s:4:"docs";s:1:"1";}}}i:39;a:3:{s:8:"sphinxql";s:82:"CALL QSUGGEST ( 'tests passed well in funce', 'dist32', 1 as sentence, 3 as limit)";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:7:"suggest";s:27:"tests passed well in france";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:1;a:3:{s:7:"suggest";s:26:"tests passed well in ranch";s:8:"distance";s:1:"3";s:4:"docs";s:1:"1";}}}i:40;a:3:{s:8:"sphinxql";s:82:"CALL QSUGGEST ( 'tests passed well in funce', 'dist33', 1 as sentence, 3 as limit)";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:7:"suggest";s:27:"tests passed well in france";s:8:"distance";s:1:"2";s:4:"docs";s:1:"2";}i:1;a:3:{s:7:"suggest";s:26:"tests passed well in ranch";s:8:"distance";s:1:"3";s:4:"docs";s:1:"2";}}}}} \ No newline at end of file +a:1:{i:0;a:42:{i:0;a:2:{s:8:"sphinxql";s:116:"INSERT INTO rt1 (id, idd, body) VALUES ( 1, 11, 'The role of a software tester in an Agile environment goes beyond')";s:14:"total_affected";i:1;}i:1;a:2:{s:8:"sphinxql";s:106:"INSERT INTO rt1 (id, idd, body) VALUES ( 2, 11, 'paint coating is to be tested with a wet sponge tester' )";s:14:"total_affected";i:1;}i:2;a:2:{s:8:"sphinxql";s:81:"INSERT INTO rt1 (id, idd, body) VALUES ( 3, 11, 'technical tester builds tools' )";s:14:"total_affected";i:1;}i:3;a:2:{s:8:"sphinxql";s:70:"INSERT INTO rt1 (id, idd, body) VALUES ( 4, 11, 'aquia magic rester' )";s:14:"total_affected";i:1;}i:4;a:2:{s:8:"sphinxql";s:93:"INSERT INTO rt1 (id, idd, body) VALUES ( 5, 11, 'pharma exec arrested for securities fraud' )";s:14:"total_affected";i:1;}i:5;a:2:{s:8:"sphinxql";s:93:"INSERT INTO rt1 (id, idd, body) VALUES ( 6, 11, 'was arrested for stealing a tester bottle' )";s:14:"total_affected";i:1;}i:6;a:2:{s:8:"sphinxql";s:84:"INSERT INTO rt1 (id, idd, body) VALUES ( 7, 11, 'star allegedly tells drug tester' )";s:14:"total_affected";i:1;}i:7;a:2:{s:8:"sphinxql";s:98:"INSERT INTO rt1 (id, idd, body) VALUES ( 10, 22, 'С благодарностью к своим' )";s:14:"total_affected";i:1;}i:8;a:2:{s:8:"sphinxql";s:96:"INSERT INTO rt1 (id, idd, body) VALUES ( 11, 22, 'с благодарностью за все' )";s:14:"total_affected";i:1;}i:9;a:2:{s:8:"sphinxql";s:119:"INSERT INTO rt1 (id, idd, body) VALUES ( 12, 22, 'его к поощрению благодарностью всех' )";s:14:"total_affected";i:1;}i:10;a:2:{s:8:"sphinxql";s:122:"INSERT INTO rt1 (id, idd, body) VALUES ( 13, 22, 'письма благодарности героям прошлого' )";s:14:"total_affected";i:1;}i:11;a:2:{s:8:"sphinxql";s:107:"INSERT INTO rt1 (id, idd, body) VALUES ( 14, 22, 'его благодарность неизвестна' )";s:14:"total_affected";i:1;}i:12;a:2:{s:8:"sphinxql";s:108:"INSERT INTO rt1 (id, idd, body) VALUES ( 15, 22, 'написать e-mail с благодарностью' )";s:14:"total_affected";i:1;}i:13;a:3:{s:8:"sphinxql";s:34:"CALL SUGGEST ( 'taster', 'plain1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:6:"tester";s:8:"distance";s:1:"1";s:4:"docs";s:1:"5";}i:1;a:3:{s:7:"suggest";s:6:"tested";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:2;a:3:{s:7:"suggest";s:6:"rester";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}}}i:14;a:3:{s:8:"sphinxql";s:31:"CALL SUGGEST ( 'taster', 'rt1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:6:"tester";s:8:"distance";s:1:"1";s:4:"docs";s:1:"5";}i:1;a:3:{s:7:"suggest";s:6:"rester";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:2;a:3:{s:7:"suggest";s:6:"tested";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}}}i:15;a:3:{s:8:"sphinxql";s:54:"CALL SUGGEST ( 'благодраность', 'plain1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:26:"благодарность";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:1;a:3:{s:7:"suggest";s:28:"благодарностью";s:8:"distance";s:1:"3";s:4:"docs";s:1:"4";}i:2;a:3:{s:7:"suggest";s:26:"благодарности";s:8:"distance";s:1:"3";s:4:"docs";s:1:"1";}}}i:16;a:3:{s:8:"sphinxql";s:51:"CALL SUGGEST ( 'благодраность', 'rt1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:26:"благодарность";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:1;a:3:{s:7:"suggest";s:28:"благодарностью";s:8:"distance";s:1:"3";s:4:"docs";s:1:"4";}i:2;a:3:{s:7:"suggest";s:26:"благодарности";s:8:"distance";s:1:"3";s:4:"docs";s:1:"1";}}}i:17;a:3:{s:8:"sphinxql";s:64:"CALL QSUGGEST ( 'tests passed well because of taster', 'plain1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:6:"tester";s:8:"distance";s:1:"1";s:4:"docs";s:1:"5";}i:1;a:3:{s:7:"suggest";s:6:"tested";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:2;a:3:{s:7:"suggest";s:6:"rester";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}}}i:18;a:3:{s:8:"sphinxql";s:61:"CALL QSUGGEST ( 'tests passed well because of taster', 'rt1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:6:"tester";s:8:"distance";s:1:"1";s:4:"docs";s:1:"5";}i:1;a:3:{s:7:"suggest";s:6:"rester";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:2;a:3:{s:7:"suggest";s:6:"tested";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}}}i:19;a:3:{s:8:"sphinxql";s:81:"CALL QSUGGEST ( 'с превеликой благодраностью', 'plain1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:28:"благодарностью";s:8:"distance";s:1:"2";s:4:"docs";s:1:"4";}i:1;a:3:{s:7:"suggest";s:26:"благодарность";s:8:"distance";s:1:"3";s:4:"docs";s:1:"1";}i:2;a:3:{s:7:"suggest";s:26:"благодарности";s:8:"distance";s:1:"4";s:4:"docs";s:1:"1";}}}i:20;a:3:{s:8:"sphinxql";s:78:"CALL QSUGGEST ( 'с превеликой благодраностью', 'rt1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:28:"благодарностью";s:8:"distance";s:1:"2";s:4:"docs";s:1:"4";}i:1;a:3:{s:7:"suggest";s:26:"благодарность";s:8:"distance";s:1:"3";s:4:"docs";s:1:"1";}i:2;a:3:{s:7:"suggest";s:26:"благодарности";s:8:"distance";s:1:"4";s:4:"docs";s:1:"1";}}}i:21;a:2:{s:8:"sphinxql";s:116:"INSERT INTO rt2 (id, idd, body) VALUES ( 1, 11, 'The role of a software tester in an Agile environment goes beyond')";s:14:"total_affected";i:1;}i:22;a:2:{s:8:"sphinxql";s:70:"INSERT INTO rt2 (id, idd, body) VALUES ( 4, 11, 'aquia magic rester' )";s:14:"total_affected";i:1;}i:23;a:2:{s:8:"sphinxql";s:93:"INSERT INTO rt2 (id, idd, body) VALUES ( 6, 11, 'was arrested for stealing a tester bottle' )";s:14:"total_affected";i:1;}i:24;a:3:{s:8:"sphinxql";s:34:"CALL SUGGEST ( 'taster', 'plain2')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:7:"suggest";s:6:"tester";s:8:"distance";s:1:"1";s:4:"docs";s:1:"2";}i:1;a:3:{s:7:"suggest";s:6:"rester";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}}}i:25;a:3:{s:8:"sphinxql";s:31:"CALL SUGGEST ( 'taster', 'rt2')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:7:"suggest";s:6:"tester";s:8:"distance";s:1:"1";s:4:"docs";s:1:"2";}i:1;a:3:{s:7:"suggest";s:6:"rester";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}}}i:26;a:2:{s:8:"sphinxql";s:79:"INSERT INTO rt1 (id, idd, body) VALUES ( 21, 11, '#test from bunch of tester' )";s:14:"total_affected";i:1;}i:27;a:2:{s:8:"sphinxql";s:77:"INSERT INTO rt1 (id, idd, body) VALUES ( 22, 11, '#test passed for #taster' )";s:14:"total_affected";i:1;}i:28;a:2:{s:8:"sphinxql";s:77:"INSERT INTO rt1 (id, idd, body) VALUES ( 23, 11, '#test #tests passes well' )";s:14:"total_affected";i:1;}i:29;a:3:{s:8:"sphinxql";s:31:"CALL SUGGEST ( '#trest', 'rt1')";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:3:{s:7:"suggest";s:4:"test";s:8:"distance";s:1:"2";s:4:"docs";s:1:"3";}i:1;a:3:{s:7:"suggest";s:5:"tests";s:8:"distance";s:1:"3";s:4:"docs";s:1:"1";}i:2;a:3:{s:7:"suggest";s:6:"tester";s:8:"distance";s:1:"4";s:4:"docs";s:1:"6";}i:3;a:3:{s:7:"suggest";s:8:"arrested";s:8:"distance";s:1:"4";s:4:"docs";s:1:"2";}i:4;a:3:{s:7:"suggest";s:6:"rester";s:8:"distance";s:1:"4";s:4:"docs";s:1:"1";}}}i:30;a:3:{s:8:"sphinxql";s:47:"CALL SUGGEST ( '#trest', 'rt1', 1 as non_char )";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:3:{s:7:"suggest";s:5:"#test";s:8:"distance";s:1:"1";s:4:"docs";s:1:"3";}i:1;a:3:{s:7:"suggest";s:4:"test";s:8:"distance";s:1:"2";s:4:"docs";s:1:"3";}i:2;a:3:{s:7:"suggest";s:6:"#tests";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:3;a:3:{s:7:"suggest";s:5:"tests";s:8:"distance";s:1:"3";s:4:"docs";s:1:"1";}i:4;a:3:{s:7:"suggest";s:6:"tester";s:8:"distance";s:1:"4";s:4:"docs";s:1:"6";}}}i:31;a:2:{s:8:"sphinxql";s:186:"insert into rt3 (body) VALUES ('range'), ('range'), ('revenge'), ('ranger'), ('orange'), ('binge'), ('rave'), ('grave'), ('raven'), ('brave'), ('raver'), ('france'), ('randy'), ('ranch')";s:14:"total_affected";i:14;}i:32;a:3:{s:8:"sphinxql";s:27:"CALL SUGGEST('ravge','rt3')";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:3:{s:7:"suggest";s:5:"range";s:8:"distance";s:1:"1";s:4:"docs";s:1:"2";}i:1;a:3:{s:7:"suggest";s:4:"rave";s:8:"distance";s:1:"1";s:4:"docs";s:1:"1";}i:2;a:3:{s:7:"suggest";s:5:"brave";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:3;a:3:{s:7:"suggest";s:6:"ranger";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:4;a:3:{s:7:"suggest";s:5:"raver";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}}}i:33;a:3:{s:8:"sphinxql";s:79:"CALL QSUGGEST ( 'tests passed well in funce', 'rt3', 1 as sentence, 1 as limit)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:7:"suggest";s:27:"tests passed well in france";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}}}i:34;a:2:{s:8:"sphinxql";s:38:"DELETE FROM rt1 WHERE id IN (21,22,23)";s:14:"total_affected";i:3;}i:35;a:3:{s:8:"sphinxql";s:33:"CALL SUGGEST ( 'taster', 'dist1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:6:"tester";s:8:"distance";s:1:"1";s:4:"docs";s:2:"10";}i:1;a:3:{s:7:"suggest";s:6:"rester";s:8:"distance";s:1:"2";s:4:"docs";s:1:"2";}i:2;a:3:{s:7:"suggest";s:6:"tested";s:8:"distance";s:1:"2";s:4:"docs";s:1:"2";}}}i:36;a:3:{s:8:"sphinxql";s:53:"CALL SUGGEST ( 'благодраность', 'dist1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:26:"благодарность";s:8:"distance";s:1:"2";s:4:"docs";s:1:"2";}i:1;a:3:{s:7:"suggest";s:28:"благодарностью";s:8:"distance";s:1:"3";s:4:"docs";s:1:"8";}i:2;a:3:{s:7:"suggest";s:26:"благодарности";s:8:"distance";s:1:"3";s:4:"docs";s:1:"2";}}}i:37;a:3:{s:8:"sphinxql";s:63:"CALL QSUGGEST ( 'tests passed well because of taster', 'dist1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:7:"suggest";s:6:"tester";s:8:"distance";s:1:"1";s:4:"docs";s:2:"10";}i:1;a:3:{s:7:"suggest";s:6:"rester";s:8:"distance";s:1:"2";s:4:"docs";s:1:"2";}i:2;a:3:{s:7:"suggest";s:6:"tested";s:8:"distance";s:1:"2";s:4:"docs";s:1:"2";}}}i:38;a:3:{s:8:"sphinxql";s:82:"CALL QSUGGEST ( 'tests passed well in funce', 'dist31', 1 as sentence, 3 as limit)";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:7:"suggest";s:27:"tests passed well in france";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:1;a:3:{s:7:"suggest";s:26:"tests passed well in ranch";s:8:"distance";s:1:"3";s:4:"docs";s:1:"1";}}}i:39;a:3:{s:8:"sphinxql";s:82:"CALL QSUGGEST ( 'tests passed well in funce', 'dist32', 1 as sentence, 3 as limit)";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:7:"suggest";s:27:"tests passed well in france";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}i:1;a:3:{s:7:"suggest";s:26:"tests passed well in ranch";s:8:"distance";s:1:"3";s:4:"docs";s:1:"1";}}}i:40;a:3:{s:8:"sphinxql";s:82:"CALL QSUGGEST ( 'tests passed well in funce', 'dist33', 1 as sentence, 3 as limit)";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:7:"suggest";s:27:"tests passed well in france";s:8:"distance";s:1:"2";s:4:"docs";s:1:"2";}i:1;a:3:{s:7:"suggest";s:26:"tests passed well in ranch";s:8:"distance";s:1:"3";s:4:"docs";s:1:"2";}}}i:41;a:3:{s:8:"sphinxql";s:27:"CALL SUGGEST ( 'ma', 'rt1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:7:"suggest";s:4:"mail";s:8:"distance";s:1:"2";s:4:"docs";s:1:"1";}}}}} \ No newline at end of file diff --git a/test/test_256/test.xml b/test/test_256/test.xml index d7ccfa849b..2e502d0bdc 100644 --- a/test/test_256/test.xml +++ b/test/test_256/test.xml @@ -208,6 +208,9 @@ CREATE TABLE test_table CALL QSUGGEST ( 'tests passed well in funce', 'dist31', 1 as sentence, 3 as limit); CALL QSUGGEST ( 'tests passed well in funce', 'dist32', 1 as sentence, 3 as limit); CALL QSUGGEST ( 'tests passed well in funce', 'dist33', 1 as sentence, 3 as limit); + + + CALL SUGGEST ( 'ma', 'rt1'); diff --git a/test/test_278/model.bin b/test/test_278/model.bin index 72e09bf146..b78ded848e 100644 Binary files a/test/test_278/model.bin and b/test/test_278/model.bin differ diff --git a/test/test_278/test.xml b/test/test_278/test.xml index 9864cd6fb2..c74d73eea3 100644 --- a/test/test_278/test.xml +++ b/test/test_278/test.xml @@ -607,6 +607,26 @@ select id, int1, int2, int3, int4, int5, int6, int7, int8, int9, int10, int11, i drop table join1; drop table join2; + +create table join1 ( id bigint, title text, string_id integer ); +create table join2 ( id bigint, title text ); + +insert into join1 values (1, 'title1', 1); +insert into join1 values (2, 'title2', 1); +insert into join1 values (3, 'title3', 2); +insert into join1 values (4, 'title4', 2); +insert into join1 values (5, 'title3', 3); +insert into join1 values (6, 'title4', 3); + +insert into join2 values (1, 'name1'); +insert into join2 values (2, 'name2'); +insert into join2 values (3, 'name1 name2'); + +select id,join2.weight() from join1 left join join2 on join1.string_id = join2.id where match('name1 | name2',join2) order by join2.weight() asc, join2.id asc; +select id from join1 left join join2 on join1.string_id = join2.id where match('name1 | name2',join2) order by join2.weight() desc, join2.id asc; + +drop table join1; +drop table join2; diff --git a/test/test_299/model.bin b/test/test_299/model.bin new file mode 100644 index 0000000000..14d140a944 --- /dev/null +++ b/test/test_299/model.bin @@ -0,0 +1 @@ +a:1:{i:0;a:28:{i:0;a:2:{s:8:"sphinxql";s:22:"create table t(f text)";s:14:"total_affected";i:0;}i:1;a:2:{s:8:"sphinxql";s:30:"insert into t values(1, 'abc')";s:14:"total_affected";i:1;}i:2;a:2:{s:8:"sphinxql";s:16:"flush ramchunk t";s:14:"total_affected";i:0;}i:3;a:2:{s:8:"sphinxql";s:89:"alter table t add column v float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2'";s:14:"total_affected";i:0;}i:4;a:3:{s:8:"sphinxql";s:15:"select * from t";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:1:"f";s:3:"abc";s:1:"v";s:35:"0.000000,0.000000,0.000000,0.000000";}}}i:5;a:3:{s:8:"sphinxql";s:15:"select * from t";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:1:"f";s:3:"abc";s:1:"v";s:35:"0.000000,0.000000,0.000000,0.000000";}}}i:6;a:2:{s:8:"sphinxql";s:12:"drop table t";s:14:"total_affected";i:0;}i:7;a:2:{s:8:"sphinxql";s:40:"create table t(f text) engine='columnar'";s:14:"total_affected";i:0;}i:8;a:2:{s:8:"sphinxql";s:30:"insert into t values(1, 'abc')";s:14:"total_affected";i:1;}i:9;a:2:{s:8:"sphinxql";s:16:"flush ramchunk t";s:14:"total_affected";i:0;}i:10;a:2:{s:8:"sphinxql";s:89:"alter table t add column v float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2'";s:14:"total_affected";i:0;}i:11;a:3:{s:8:"sphinxql";s:15:"select * from t";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:1:"f";s:3:"abc";s:1:"v";s:35:"0.000000,0.000000,0.000000,0.000000";}}}i:12;a:3:{s:8:"sphinxql";s:15:"select * from t";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:1:"f";s:3:"abc";s:1:"v";s:35:"0.000000,0.000000,0.000000,0.000000";}}}i:13;a:2:{s:8:"sphinxql";s:12:"drop table t";s:14:"total_affected";i:0;}i:14;a:2:{s:8:"sphinxql";s:22:"create table t(f text)";s:14:"total_affected";i:0;}i:15;a:2:{s:8:"sphinxql";s:30:"insert into t values(1, 'abc')";s:14:"total_affected";i:1;}i:16;a:2:{s:8:"sphinxql";s:89:"alter table t add column v float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2'";s:14:"total_affected";i:0;}i:17;a:2:{s:8:"sphinxql";s:16:"flush ramchunk t";s:14:"total_affected";i:0;}i:18;a:2:{s:8:"sphinxql";s:12:"drop table t";s:14:"total_affected";i:0;}i:19;a:2:{s:8:"sphinxql";s:14:"create table t";s:14:"total_affected";i:0;}i:20;a:2:{s:8:"sphinxql";s:12:"drop table t";s:14:"total_affected";i:0;}i:21;a:2:{s:8:"sphinxql";s:22:"create table t(f text)";s:14:"total_affected";i:0;}i:22;a:2:{s:8:"sphinxql";s:30:"insert into t values(1, 'abc')";s:14:"total_affected";i:1;}i:23;a:2:{s:8:"sphinxql";s:89:"alter table t add column v float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2'";s:14:"total_affected";i:0;}i:24;a:2:{s:8:"sphinxql";s:16:"flush ramchunk t";s:14:"total_affected";i:0;}i:25;a:2:{s:8:"sphinxql";s:12:"drop table t";s:14:"total_affected";i:0;}i:26;a:2:{s:8:"sphinxql";s:14:"create table t";s:14:"total_affected";i:0;}i:27;a:2:{s:8:"sphinxql";s:12:"drop table t";s:14:"total_affected";i:0;}}} \ No newline at end of file diff --git a/test/test_299/test.xml b/test/test_299/test.xml new file mode 100644 index 0000000000..1c515ebc59 --- /dev/null +++ b/test/test_299/test.xml @@ -0,0 +1,70 @@ + + + +knn vs alter + + + + + + + + + + +searchd +{ + + data_dir = +} + + + + + + create table t(f text); + insert into t values(1, 'abc'); + flush ramchunk t; + alter table t add column v float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2'; + select * from t; + + + + + select * from t; + drop table t; + + + create table t(f text) engine='columnar'; + insert into t values(1, 'abc'); + flush ramchunk t; + alter table t add column v float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2'; + select * from t; + + + + + select * from t; + drop table t; + + + create table t(f text); + insert into t values(1, 'abc'); + alter table t add column v float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2'; + flush ramchunk t; + drop table t; + create table t; + drop table t; + + + create table t(f text); + insert into t values(1, 'abc'); + alter table t add column v float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2'; + flush ramchunk t; + drop table t; + create table t; + drop table t; + + + + \ No newline at end of file diff --git a/test/test_468/model.bin b/test/test_468/model.bin index a40cb82b25..e99d73b8cf 100644 --- a/test/test_468/model.bin +++ b/test/test_468/model.bin @@ -1 +1 @@ -a:1:{i:0;a:5:{i:0;a:2:{s:8:"sphinxql";s:38:"set global timezone='Asia/Novosibirsk'";s:14:"total_affected";i:0;}i:1;a:2:{s:8:"sphinxql";s:31:"create table rt1(tid timestamp)";s:14:"total_affected";i:0;}i:2;a:2:{s:8:"sphinxql";s:56:"INSERT into rt1 (id, tid) values (3, '2022-01-01T00:00')";s:14:"total_affected";i:1;}i:3;a:3:{s:8:"sphinxql";s:54:"SELECT id, date_format(tid, '%Y-%m-%dT%H:%M') from rt1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:34:"date_format(tid, '%Y-%m-%dT%H:%M')";s:16:"2022-01-01T00:00";}}}i:4;a:2:{s:8:"sphinxql";s:14:"drop table rt1";s:14:"total_affected";i:0;}}} \ No newline at end of file +a:1:{i:0;a:14:{i:0;a:2:{s:8:"sphinxql";s:38:"set global timezone='Asia/Novosibirsk'";s:14:"total_affected";i:0;}i:1;a:3:{s:8:"sphinxql";s:32:"show variables like '%timezone%'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:13:"Variable_name";s:8:"timezone";s:5:"Value";s:16:"Asia/Novosibirsk";}}}i:2;a:2:{s:8:"sphinxql";s:31:"create table rt1(tid timestamp)";s:14:"total_affected";i:0;}i:3;a:2:{s:8:"sphinxql";s:56:"INSERT into rt1 (id, tid) values (3, '2022-01-01T00:00')";s:14:"total_affected";i:1;}i:4;a:3:{s:8:"sphinxql";s:54:"SELECT id, date_format(tid, '%Y-%m-%dT%H:%M') from rt1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:34:"date_format(tid, '%Y-%m-%dT%H:%M')";s:16:"2022-01-01T00:00";}}}i:5;a:2:{s:8:"sphinxql";s:25:"set global timezone='UTC'";s:14:"total_affected";i:0;}i:6;a:3:{s:8:"sphinxql";s:54:"SELECT id, date_format(tid, '%Y-%m-%dT%H:%M') from rt1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:34:"date_format(tid, '%Y-%m-%dT%H:%M')";s:16:"2021-12-31T17:00";}}}i:7;a:2:{s:8:"sphinxql";s:14:"drop table rt1";s:14:"total_affected";i:0;}i:8;a:2:{s:8:"sphinxql";s:25:"set global timezone='UTC'";s:14:"total_affected";i:0;}i:9;a:3:{s:8:"sphinxql";s:32:"show variables like '%timezone%'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:13:"Variable_name";s:8:"timezone";s:5:"Value";s:3:"UTC";}}}i:10;a:2:{s:8:"sphinxql";s:31:"create table rt1(tid timestamp)";s:14:"total_affected";i:0;}i:11;a:2:{s:8:"sphinxql";s:56:"INSERT into rt1 (id, tid) values (3, '2022-01-01T00:00')";s:14:"total_affected";i:1;}i:12;a:3:{s:8:"sphinxql";s:54:"SELECT id, date_format(tid, '%Y-%m-%dT%H:%M') from rt1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:34:"date_format(tid, '%Y-%m-%dT%H:%M')";s:16:"2022-01-01T00:00";}}}i:13;a:2:{s:8:"sphinxql";s:14:"drop table rt1";s:14:"total_affected";i:0;}}} \ No newline at end of file diff --git a/test/test_468/test.xml b/test/test_468/test.xml index ac0242d4b3..d71c335a70 100644 --- a/test/test_468/test.xml +++ b/test/test_468/test.xml @@ -16,6 +16,16 @@ searchd set global timezone='Asia/Novosibirsk'; +show variables like '%timezone%'; +create table rt1(tid timestamp); +INSERT into rt1 (id, tid) values (3, '2022-01-01T00:00'); +SELECT id, date_format(tid, '%Y-%m-%dT%H:%M') from rt1; +set global timezone='UTC'; +SELECT id, date_format(tid, '%Y-%m-%dT%H:%M') from rt1; +drop table rt1; + +set global timezone='UTC'; +show variables like '%timezone%'; create table rt1(tid timestamp); INSERT into rt1 (id, tid) values (3, '2022-01-01T00:00'); SELECT id, date_format(tid, '%Y-%m-%dT%H:%M') from rt1;