Express objects - indexed attributes

Permalink 8 6 Browser Info Environment
Hi,
I am digging into Express objects and they look very useful.

Got however few erratic behaviours that need your attention:

1. Attribute indexing update error. To replicate:
- in C5 interface (System&Settings->Express...) create an Attribute for an object, having the "Field available in advanced search" checkbox unchecked.
- later on, edit this attribute and check the above checbox, so that field needs to be indexed for search/filtering.
- try to add or edit an entry filling in this new attribute too. You'll get:

An exception occurred while executing 'UPDATE CarExpressSearchIndexAttributes SET ak_test = ? WHERE exEntryID = ?' with params [null, 7]: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'ak_test' in 'field list'


Reason: CarExpressSearchIndexAttributes table does not get a new column when updating the attribute (as it does when creating it anew).

2. Delete an attribute does not delete its indexing info
Deleting an attribute that has a column in CarExpressSearchIndexAttributes (because it was indexed) does not delete its column in this same table.
Besides the "not clean" aspect of the issue, this means that if one recreates the attribute with the same name but different data type, the indexing info is not updated (because column exists already there => the new one is not created) and the info about column type and defaults will be wrong.


Status: New
theana27 replied on at Permalink Reply
theana27
Deleted attributes stay in database after reindexing.
theana27 replied on at Permalink Reply
theana27
Deleted attributes stay in database after reindexing.

concrete5 Environment Information

# concrete5 Version
Core Version - 8.2.1
Version Installed - 8.2.1
Database Version - 20170802000000

# concrete5 Packages
Breadcrumb Trail Page Links (1.1), Thumb Gallery (1.0.3)

# concrete5 Overrides
blocks/ls_bidding_time/view.php, blocks/ls_bidding_time/db.xml.disabled, blocks/ls_bidding_time/icon.png, blocks/ls_bidding_time/controller.php, blocks/ls_bidding_time

# concrete5 Cache Settings
Block Cache - Off
Overrides Cache - Off
Full Page Caching - Off
Full Page Cache Lifetime - Every 6 hours (default setting).

# Server Software
Apache/2.4.6 (CentOS) PHP/7.1.5

# Server API
apache2handler

# PHP Version
7.1.5

# PHP Extensions
apache2handler, bz2, calendar, Core, ctype, curl, date, dom, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, json, libxml, mbstring, mysqli, mysqlnd, openssl, pcre, PDO, pdo_mysql, pdo_sqlite, Phar, posix, Reflection, session, shmop, SimpleXML, sockets, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xml, xmlreader, xmlwriter, xsl, zip, zlib

# PHP Settings
max_execution_time - 30
log_errors_max_len - 1024
max_file_uploads - 20
max_input_nesting_level - 64
max_input_time - 60
max_input_vars - 1000
memory_limit - 128M
post_max_size - 8M
sql.safe_mode - Off
upload_max_filesize - 2M
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
session.cache_limiter - <i>no value</i>
session.gc_maxlifetime - 7200

Browser User-Agent String

Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0