Property List

A property means that the Key-Value pairs exist in the location of the defined file as $MACHBASE_HOME/conf/machbase.conf. The values are set when Machbase starts and affects the operation consistently. For high performance, it is important to understand the concept of the property, and use them with caution.

List of Properties

Property Key Description
CPU_AFFINITY_BEGIN_ID DURATION_GAP
CPU_AFFINITY_COUNT FEEDBACK_APPEND_ERROR
CPU_COUNT GEN_CALLSTACK_FOR_ABORT_ERROR
CPU_PARALLEL GEN_CORE_FILE
DBS_PATH GRANT_REMOTE_ACCESS
DISK_BUFFER_COUNT HASH_BUCKET_SIZE
DEFAULT_LSM_MAX_LEVEL INDEX_BUILD_MAX_ROW_COUNT_PER_THREAD
DISK_COLUMNAR_INDEX_CHECKPOINT_INTERVAL_SEC INDEX_BUILD_THREAD_COUNT
DISK_COLUMNAR_INDEX_FDCACHE_COUNT INDEX_FLUSH_MAX_REQUEST_COUNT_PER_INDEX
DISK_COLUMNAR_INDEX_SHUTDOWN_BUILD_FINISH INDEX_LEVEL_PARTITION_AGER_THREAD_COUNT
DISK_COLUMNAR_PAGE_CACHE_MAX_SIZE INDEX_LEVEL_PARTITION_BUILD_MEMORY_HIGH_LIMIT_PCT
DISK_COLUMNAR_TABLE_CHECKPOINT_INTERVAL_SEC INDEX_LEVEL_PARTITION_BUILD_THREAD_COUNT
DISK_COLUMNAR_TABLE_COLUMN_FDCACHE_COUNT MAX_QPX_MEM
DISK_COLUMNAR_TABLE_COLUMN_MINMAX_CACHE_SIZE MEMORY_ROW_TEMP_TABLE_PAGESIZE
DISK_COLUMNAR_TABLE_COLUMN_PART_FLUSH_MODE PID_PATH
DISK_COLUMNAR_TABLE_COLUMN_PART_IO_INTERVAL_MIN_SEC PORT_NO
DISK_COLUMNAR_TABLE_COLUMN_PARTITION_PRECREATE_COUNT PROCESS_MAX_SIZE
DISK_COLUMNAR_TABLE_COLUMN_PARTITION_PRECREATE_THR_MAX_WAIT_USEC QUERY_PARALLEL_FACTOR
DISK_COLUMNAR_TABLE_COLUMN_PARTITION_PRECREATE_THR_MIN_WAIT_USEC RS_CACHE_APPROXIMATE_RESULT_ENABLE
DISK_COLUMNAR_TABLE_TIME_INVERSION_MOD RS_CACHE_ENABLE
DISK_COLUMNAR_TABLESPACE_DWFILE_EXT_SIZE RS_CACHE_MAX_MEMORY_PER_QUERY
DISK_COLUMNAR_TABLESPACE_DWFILE_INT_SIZE RS_CACHE_MAX_MEMORY_SIZE
DISK_COLUMNAR_TABLESPACE_MEMORY_EXT_SIZE RS_CACHE_MAX_RECORD_PER_QUERY
DISK_COLUMNAR_TABLESPACE_MEMORY_MAX_SIZE RS_CACHE_TIME_BOUND_MSEC
DISK_COLUMNAR_TABLESPACE_MEMORY_MIN_SIZE SHOW_HIDDEN_COLS
DISK_COLUMNAR_TABLESPACE_MEMORY_SLOWDOWN_HIGH_LIMIT_PCT SPIN_COUNT_FOR_SPINLOCK
DISK_COLUMNAR_TABLESPACE_MEMORY_SLOWDOWN_MSEC TIME_INVERT_LIMIT_SEC
DISK_IO_THREAD_COUNT TRACE_LOGFILE_COUNT
DISK_TABLESPACE_DIRECT_IO_FSYNC TRACE_LOGFILE_PATH
DISK_TABLESPACE_DIRECT_IO_READ TRACE_LOGFILE_SIZE
DISK_TABLESPACE_DIRECT_IO_WRITE UNIX_PATH
DUMP_APPEND_ERROR VOLATILE_TABLESPACE_MEMORY_MAX_SIZE
DUMP_TRACE_INFO
DURATION_BEGIN

CPU_AFFINITY_BEGIN_ID

This value defines the first ID of CPU that machbased uses in the system.

Table 1. Range of values

Type Value
Minimum value 0
Maximum value 2 ^ 32 - 1
Default value 0

CPU_AFFINITY_COUNT

This value defines the number of CPUs that machbased uses in the system. If the value is 0, machbased will use all CPUs in the system.

Table 2. Range of values

Type Value
Minimum value 0
Maximum value 2 ^ 32 - 1
Default value 0

CPU_COUNT

This property specifies the number of CPUs. This property controls the thread performance. If the value is 0, the system uses all of the CPUs.

Table 3. Range of values

Type Value
Minimum value 0 (the number of CPUs under the system)
Maximum value Unsigned int MAX (4GB)
Default value 0

CPU_PARALLEL

This property specifies the parallel factor for a CPU. For example, if the number of CPUs is 2 and the value of parallel factor is 2, there are 4 channels for parallel processing on the CPU. However, if the value of factor is too large, memory usage will be increased rapidly.

Table 4. Range of values

Type Value
Minimum value 1
Maximum value Unsigned int MAX (4GB)
Default value 1

DBS_PATH

It specifies the directory to save the data files of Machbase. The default value is ?/dbs. That is, $MACHBASE_HOME/dbs is specified as the directory.

DEFAULT_LSM_MAX_LEVEL

It specifies the default LSM MAX_LEVEL vaule of the BITMAP/KEYWORD index. If you do not specify MAX_LEVEL in the CREATE INDEX statement, this value is set as 2.

Table 5. Range of values

Type Value
Minimum value 0
Maximum value 3
Default value 2

DISK_BUFFER_COUNT

This property specifies the number of buffers to perform disk I/O.

Table 6. Range of values

Type Value
Minimum value 1
Maximum value Unsigned int MAX(4GB)
Default value 16

DISK_COLUMNAR_INDEX_CHECKPOINT_INTERVAL_SEC

This property defines a checkpoint interval of an index. If the interval is too long, it builds an index again after the the last check point after an unexpected shutdown or crash.

Table 7. Range of values

Type Value
Minimum value 1(sec)
Maximum value 2^32 -1 (sec)
Default value 120 (sec)

DISK_COLUMNAR_INDEX_FDCACHE_COUNT

This property specifies the maximum number of file descriptors for a file of a partitioned index.

Table 8. Range of values

Type Value
Minimum value 0
Maximum value 2^32 -1
Default value 0

DISK_COLUMNAR_INDEX_SHUTDOWN_BUILD_FINISH

When machbased shuts down and this value is set to '1', machbased waits for all indexes to be built for all key values in its table. If not, machbased does not wait.

Table 9. Range of values

Type Value
Minimum value 0(False)
Maximum value 1(True)
Default value 0(False)

DISK_COLUMNAR_PAGE_CACHE_MAX_SIZE

This value defines the buffer size for the page cache.

Table 10. Range of values

Type Value
Minimum value 0
Maximum value 2^64 - 1
Default value 2147483648 (2GB)

DISK_COLUMNAR_TABLE_CHECKPOINT_INTERVAL_SEC

This property defines a checkpoint interval of a table. If the interval is too long, recovery time is lengthened after an unexpected shutdown or crash. If it is too short, I/O activities will be frequent.

Table 11. Range of values

Type Value
Minimum value 1 (sec)
Maximum value 2^32 -1 (sec)
Default value 120 (sec)

DISK_COLUMNAR_TABLE_COLUMN_FDCACHE_COUNT

This property specifies the maximum number of file descriptors for a column-partitioned table when they are cached.

Table 12. Range of values

Type Value
Minimum value 0
Maximum value 2^32 - 1
Default value 0

DISK_COLUMNAR_TABLE_COLUMN_MINMAX_CACHE_SIZE

When a table is generated, it sets the default value of MINMAX_CACHE_SIZE for an ARRIVAL_TIME column.

Table 13. Range of values

Type Value
Minimum value 0
Maximum value Unsigned long MAX (2^64 - 1)
Default value 100 1024 1024

DISK_COLUMNAR_TABLE_COLUMN_PART_FLUSH_MODE

This property defines the flusing interval time of column partition in Disk Column.

Table 14. Range of values

Type Value
Minimum value 0(sec)
Maximum value 2^32-1(sec)
Default value 60(sec)

DISK_COLUMNAR_TABLE_COLUMN_PART_IO_INTERVAL_MIN_SEC

This indicates the I/O interval for writing data to the same column partition. If the gap between the last and current-write time is less than the specified value, it doesn't write. But if the partition is full, machbased writes it.

Table 15. Range of values

Type Value
Minimum value 0(sec)
Maximum value 2^32-1(sec)
Default value 3(sec)

DISK_COLUMNAR_TABLE_COLUMN_PARTITION_PRECREATE_COUNT

This property specifies the number of column-partitioned objects in advance for each column of a table.

Table 16. Range of values

Type Value
Minimum value 1
Maximum value Unsigned int MAX (4GB)
Default value 3

DISK_COLUMNAR_TABLE_COLUMN_PARTITION_PRECREATE_THR_MAX_WAIT_USEC

This property specifies the maximum amount of time when a thread has no request to pre-create column partitions.

Table 17. Range of values

Type Value
Minimum value 0
Maximum value 64-bit int MAX (18446744073709551615)
Default value 1000000 usec

DISK_COLUMNAR_TABLE_COLUMN_PARTITION_PRECREATE_THR_MIN_WAIT_USEC

This property specifies the minimum amount of time (usec) when a thread has no request to pre-create column partitions.

Table 18. Range of values

Type Value
Minimum value 0
Maximum value 64-bit int MAX (18446744073709551615)
Default value 1000000 usec

DISK_COLUMNAR_TABLE_TIME_INVERSION_MOD

This value indicates that it is allowed to append a new value whose arrival time is less than the latest value's in a table. If it is set to 0, it is not allowed.

Table 19. Range of values

Type Value
Minimum value 0 (False)
Maximum value 1 (True)
Default value 1 (True)

DISK_COLUMNAR_TABLESPACE_DWFILE_EXT_SIZE

If there is not enough space in a double write file, dwfile (double write file) will be extended by this value.

Table 20. Range of values

Type Value
Minimum value 1048576 (1MB)
Maximum value Unsigned int MAX (2^32 - 1)
Default value 1048576 (1MB)

DISK_COLUMNAR_TABLESPACE_DWFILE_INT_SIZE

The double write file for data consistency and recovery is created with this size when creating a database.

Table 21. Range of values

Type Value
Minimum value 1048576 (1MB)
Maximum value Unsigned int MAX (2^32 - 1)
Default value 2097152 (2MB)

DISK_COLUMNAR_TABLESPACE_MEMORY_EXT_SIZE

This value specifies the block-size of memory allocation for the column partition.

Table 22. Range of values

Type Value
Minimum value 1048576 (1MB)
Maximum value Unsigned long MAX (2^64 - 1)
Default value 2097152 (2MB)

DISK_COLUMNAR_TABLESPACE_MEMORY_MAX_SIZE

It defines the maximum memory size that can be allocated to the log table. If you use a memory larger than this memory size, it will wait until the memory becomes free. It is recommended to set this value as 50%-80% of the physical memory size on your system.

Table 23. Range of values

Type Value
Minimum value 268435456 (256MB)
Maximum value Unsigned long MAX (2^64 - 1)
Default value 8589934592 (8GB)

DISK_COLUMNAR_TABLESPACE_MEMORY_MIN_SIZE

When machbased starts up, it reserves the amount of memory with this size in advance in order to reduce system call of the memory allocation from OS. However, since this memory is always reserved for append of the log table, there is a problem that this memory is not used for other purposes. Therefore, it is commended to set it only when the memory is sufficient.

Table 24. Range of values

Type Value
Minimum value 1048576 (1MB)
Maximum value Unsigned long MAX (2^64 - 1)
Default value 104857600 (100MB)

DISK_COLUMNAR_TABLESPACE_MEMORY_SLOWDOWN_HIGH_LIMIT_PCT

If the current memory consumption of the disk column tablespace exceeds the specified memory limit, which is DISK_COLUMNAR_TABLESPACE_MEMORY_MAX_SIZE * (DISK_COLUMNAR_TABLESPACE_MEMORY_SLOWDOWN_HIGH_LIMIT_PCT / 100), the appending operation will be suspended.

Table 25. Range of values

Type Value
Minimum value 0
Maximum value 100
Default value 80

DISK_COLUMNAR_TABLESPACE_MEMORY_SLOWDOWN_MSEC

If the current memory consumption of the disk column tablespace exceeds a threshold, the appending operation waits for the specified time (in milliseconds).

Table 26. Range of values

Type Value
Minimum value 0
Maximum value Unsigned int MAX (2^32 - 1)
Default value 1

DISK_IO_THREAD_COUNT

The number of disk I/O thread which writes appended data to disks.

Table 27. Range of values

Type Value
Minimum value 1
Maximum value 2^32 -1
Default value 3

DISK_TABLESPACE_DIRECT_IO_FSYNC

If Direct I/O is performed, fsync is not necessary for the file data area. But fsync is an essential for synchronizing file metadata. However, fsync is the major cause of slowing down disk I/O. In the case of using direct I/O, you can improve Disk I/O performance by setting the property to 0 in order not to use fsync when there is no guarantee for data consistency in the event of power failures. However, when the database may be corrupted when power failures occur.

Table 28. Range of values

Type Value
Minimum value 0
Maximum value 1
Default value 0

DISK_TABLESPACE_DIRECT_IO_READ

It sets whether to use direct I/O for reading indexes from the disk or reading contents from a table. If the value is 1, the direct I/O is used to read data and indexes from the disks, otherwise buffered I/O is used.

Table 29. Range of values

Type Value
Minimum value 0 (Disabled direct I/O)
Maximum value 1
Default value 0

DISK_TABLESPACE_DIRECT_IO_WRITE

It sets whether to use direct I/O for indexing or writing contents for a table. If the value is 1, the direct I/O is used to store data and indexes to disks, otherwise buffered I/O is used.

Table 30. Range of values

Type Value
Minimum value 0 (Disabled direct I/O)
Maximum value 1
Default value 1

DUMP_APPEND_ERROR

If this valus was set '1' and the appending program that used SQLAppend API had some errors, it will write error logs in $MACHBASE_HOME/trc/machbase.trc file. Caution: It makes the appending performance slow.
Refer to 'SQLAppendSetErrorCallback' API from CLI chapter.

Table 31. Range of values

Type Value
Minimum value 0
Maximum value 1
Default value 0 (Not recorded)

DUMP_TRACE_INFO

It displays the internal status of the system in machbase.trc file and the value is set in seconds format. The purpose of this property is to record and store the status of the server periodically and use this information for failure and server emergency in the future. If the value is zero, it doesn't display.

Table 32. Range of values

Type Value
Minimum value 0 (sec)
Maximum value Unsigned int MAX (2^32 - 1)
Default value 60 (sec)

DURATION_BEGIN

It sets the start time of default duration (in seconds) of the SELECT statement. The default is 0. If this value is 60, the previous data before 60 seconds is always accessed first.

Table 33. Range of values

Type Value
Minimum value 0
Maximum value Unsigned int MAX (4GB)
Default value 0

DURATION_GAP

If DURATION_GAP is set to 0, it means that you can search all data. If you set a non-zero value as duration, it can search the latest data for the specified duration.

Table 34. Range of values

Type Value
Minimum value 0
Maximum value Non-zero
Default value 0

FEEDBACK_APPEND_ERROR

This property decides whether to send error messages to Machbase client programs when an error occurs for the appended data conducted by the user. The default value is 1. To send error messages to the Machbase client program, set this property to 1. If you don't want to send it, set this property to 0.

Table 35. Range of values

Type Value
Minimum value 0
Maximum value 1
Default value 1

GEN_CALLSTACK_FOR_ABORT_ERROR

It specifies whether to record ca ll stacks after an abnormal server shutdown.

GEN_CORE_FILE

It determines whether to record core files after an abnormal server shutdown.

GRANT_REMOTE_ACCESS

Remote access allow/disallow flag- If it is 0, remote access will not be granted.

Table 36. Range of values

Type Value
Minimum value 0(False)
Maximum value 1(True)
Default value 1(True)

HASH_BUCKET_SIZE

It sets the size of a hash table to use functions such as GROUP BY and DISTINCT. If this value is set too large, more memory is used for each hash operation. If it is set too small, hash conflicts can occur resulting the degradation of performance. The recommended setting for this property is "The value of this property = the number of the total groups * X 1.5 or 3.0".

Table 37. Range of values

Type Value
Minimum value 997
Maximum value 104857600 (100MB)
Default value 20011

INDEX_BUILD_MAX_ROW_COUNT_PER_THREAD

Each thread of building index appends rows to a table by the unit of this value. After that, it switches to the next index.

Table 38. Range of values

Type Value
Minimum value 1
Maximum value 2 ^ 32 - 1
Default value 100000

INDEX_BUILD_THREAD_COUNT

This value specifies the number of threads that build indexes. If the value is 0, the index building is disabled.

Table 39. Range of values

Type Value
Minimum value 0
Maximum value 2 ^ 32 - 1
Default value 3

INDEX_FLUSH_MAX_REQUEST_COUNT_PER_INDEX

It specifies maximum index partition in the memory for an index.

Table 40. Range of values

Type Value
Minimum value 0
Maximum value 2 ^ 32 - 1
Default value 3

INDEX_LEVEL_PARTITION_AGER_THREAD_COUNT

This value defines the number of threads deleting the partitions in the LSM index.

Table 41. Range of values

Type Value
Minimum value 0
Maximum value 1024
Default value 1

INDEX_LEVEL_PARTITION_BUILD_MEMORY_HIGH_LIMIT_PCT

It set the maximum portion of LSM Index build memory. The portion is expressed as a percentage of the total memory that machbased uses. When it exceeds the limit, LSM partition merge thread will be blocked.

Table 42. Range of values

Type Value
Minimum value 0
Maximum value 100
Default value 70

INDEX_LEVEL_PARTITION_BUILD_THREAD_COUNT

This value defines the number of threads building LSM partitions if the level of LSM index is greater than 0.

Table 43. Range of values

Type Value
Minimum value 1
Maximum value 1024
Default value 3

MAX_QPX_MEM

It sets the maximum size of memory available for allocation of executing a SQL statement, which includes the GROUP BY, DISTINCT, and ORDER BY. If an attempt is made to allocate the larger size of memory than the maximum size, the request of executing SQL statements will be canceled and error will be raised. An error code and error message including the SQL statements are recorded in machbase.trc file.

Table 44. Range of values

Type Value
Minimum value 1048576 (1MB)
Maximum value unsigned long MAX (2^64 - 1)
Default value 524288000 (500MB)

MEMORY_ROW_TEMP_TABLE_PAGESIZE

This property specifies the size of temporary tablespace and volatile pages. Since the row is stored in one page, it must be larger than the maximum row size. Set Page Size=Max Row Size*N if you want N rows to be in the page.

Table 45. Range of values

Type Value
Minimum value 8KB
Maximum value Unsigned int MAX (4GB)
Default value 32KB

PID_PATH

This property specifies the path of a file in which to save the process ID when Machbase processes data. The name of the file is mach.pid. The default value is ?/conf and ? is replaced by $MACHBASE_HOME. If the value of this property is /tmp, the file is saved in /tmp/mach.pid.

Table 46. Example (MACHBASE_HOME=/home/machbase/machbase_home)

Value of PID_PATH Directory Path of File
Not specified (?/conf is set as default value) /home/machbase/machbase_home/conf/mach.pidB
?/test /home/machbase/machbase_home/test/mach.pid
/tmp /tmp/mach.pid

PORT_NO

This property specifies the port number when TCP/IP is used for communicating between a client and a server.

Table 47. Range of values

Type Value
Minimum value 1024
Maximum value 65535
Default value 5656

PROCESS_MAX_SIZE

This property is the maximum size of the memory of machbased. If machbased's memory consumption exceeds this value, machbased tries to minimize memory usage by do the followings.

  • Suspend or abort appending rows to a table.
  • Delay building indexes until there is memory available.

Table 48. Range of values

Type Value
Minimum value 1073741824 (1GB)
Maximum value Unsigned long MAX (2^64 - 1)
Default value 8589934592 (8GB)

QUERY_PARALLEL_FACTOR

This specifies the number of parallel worker threads used for parallel queries.

Table 49. Range of values

Type Value
Minimum value 1
Maximum value 100
Default value 8

RS_CACHE_APPROXIMATE_RESULT_ENABLE

Result cache approximate result mode ON/OFF. When cache is enabled, cached results can be used for getting approximate values. To get the exact values, set it to 0.

Table 50. Range of values

Type Value
Minimum value 0 (False)
Maximum value 1 (True)
Default value 0 (False)

RS_CACHE_ENABLE

Result-Cache mode ON/OFF.

Table 51. Range of values

Type Value
Minimum value 0 (False)
Maximum value 1 (True)
Default value 1 (True)

RS_CACHE_MAX_MEMORY_PER_QUERY

Memory size of a query result that is stored in the cache. It if exceeds the memory size, cache does not save the results.

Table 52. Range of values

Type Value
Minimum value 1024
Maximum value 2^64 - 1
Default value 16777216 (16MB)

RS_CACHE_MAX_MEMORY_SIZE

The maximum size of memory that cache can use.

Table 53. Range of values

Type Value
Minimum value 32768
Maximum value 2^64 - 1
Default value 536870912 (512MB)

RS_CACHE_MAX_RECORD_PER_QUERY

The maximum number of a query result that is stored in the cache.

Table 54. Range of values

Type Value
Minimum value 1
Maximum value 2^64 - 1
Default value 10000

RS_CACHE_TIME_BOUND_MSEC

If the execution time of a query is slower than specified value, the results will be stored in the cache. If set to 0, all query results will be stored.

Table 55. Range of values

Type Value
Minimum value 0
Maximum value 2^64 - 1
Default value 1000(msec)

SHOW_HIDDEN_COLS

_arrival_time is a hidden column and is not displayed when 'select * from table' is executed. However, if you want to output hidden columns by default, set the value of this property to 1.

Table 56. Range of values

Type Value
Minimum value 0
Maximum value 1
Default value 0

SPIN_COUNT_FOR_SPINLOCK

This property specifies the number of the times that busy-waiting is used to check repeatedly to see if a condition is true when a spinlock waits in a loop.

Table 57. Range of values

Type Value
Minimum value 0
Maximum value Unsigned int MAX (4GB)
Default value 1024

TIME_INVERT_LIMIT_SEC

It can specify the maximum value when the system time is required to set backward. If the interval exceeds the maximum value, 60 seconds in this case as the default is set to 60, the system is stopped immediately to prevent problems.

Table 58. Range of values

Type Value
Minimum value 1
Maximum value 2^32-1
Default value 60

TRACE_LOGFILE_COUNT

This property indicates the maximum number of the log files generated in trc directory. After this number of log files have been created, the old log files will be overwritten. If the value is 0, the number of file is infinitely increased.

Table 59. Range of values

Type Value
Minimum value 1
Maximum value Unsigned int MAX (4GB)
Default value 5

TRACE_LOGFILE_PATH

This property specifies the location of the files(machbase.trc, machadmin.trc, machcollector.trc and machsql.trc.) that store information regarding the status, starting, and ending of Machbase server. The default value is ?/trc, and ? is replaced by $MACHBASE_HOME. For example, if you specify this property as /tmp, the files are created under /tmp/.

Table 60. Example(MACHBASE_HOME=/home/machbase/machbase_home)

Value of PID_PATH Directory path of files
Not specified (Default is set to ?/trc) /home/machbase/machbase_home/trc/
?/test /home/machbase/machbase_home/test
/tmp /tmp/

TRACE_LOGFILE_SIZE

This property specifies the maximum size of the log file generated in the trc directory. If the value of this property is 0, the size increases infinitely.

Table 61. Range of values

Type Value
Minimum value 10MB
Maximum value Unsigned int MAX (4GB)
Default value 10MB

UNIX_PATH

This property specifies the path of a UNIX domain socket when TCP/IP is used for communication between a client and server. The default value is mach.unix, and the path of a UNIX domain socket is created in conf directory.

VOLATILE_TABLESPACE_MEMORY_MAX_SIZE

If the memory size consumed by volatile tables exceeds the value of the property, no more insertion to volatile table is allowed.

Table 62. Range of values

Type Value
Minimum value 0
Maximum value 2^64 - 1
Default value 2147483648 (2GB)

DISK_BUFFER_COUNT

This property specifies the number of buffers to perform disk I/O.

Table 63. Range of values

Type Value
Minimum value 1
Maximum value Unsigned int MAX (4GB)
Default value 16

results matching ""

    No results matching ""