Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Following are not working: "More than 30 characters for an output column name are not allowed on Oracle." #1950

Open
oculos opened this issue Nov 21, 2024 · 4 comments
Labels
1. to develop bug Something isn't working

Comments

@oculos
Copy link

oculos commented Nov 21, 2024

Hi,

I just installed the social app, and I'm having two problems:

1 - Webfinger is failing

I am getting this error:

{"reqId":"uffrHTZlF7EMivwzGhJw","level":3,"time":"2024-11-21T14:48:55+00:00","remoteAddr":"10.10.20.30","user":"--","app":"index","method":"GET","url":"/index.php/.well-known/webfinger","message":"parse_str(): Argument #1 ($string) must be of type string, null given in file '/var/www/nextcloud/apps/social/lib/WellKnown/WebfingerHandler.php' line 219","userAgent":"curl/8.7.1","version":"30.0.2.2","exception":{"Exception":"Exception","Message":"parse_str(): Argument #1 ($string) must be of type string, null given in file '/var/www/nextcloud/apps/social/lib/WellKnown/WebfingerHandler.php' line 219","Code":0,"Trace":[{"file":"/var/www/nextcloud/lib/private/AppFramework/App.php","line":161,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/Route/Router.php","line":302,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/var/www/nextcloud/lib/base.php","line":1001,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/var/www/nextcloud/index.php","line":24,"function":"handleRequest","class":"OC","type":"::"}],"File":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","Line":146,"Previous":{"Exception":"TypeError","Message":"parse_str(): Argument #1 ($string) must be of type string, null given","Code":0,"Trace":[{"file":"/var/www/nextcloud/apps/social/lib/WellKnown/WebfingerHandler.php","line":219,"function":"parse_str"},{"file":"/var/www/nextcloud/apps/social/lib/WellKnown/WebfingerHandler.php","line":99,"function":"getSubjectFromRequest","class":"OCA\\Social\\WellKnown\\WebfingerHandler","type":"->"},{"file":"/var/www/nextcloud/apps/social/lib/WellKnown/WebfingerHandler.php","line":71,"function":"handleWebfinger","class":"OCA\\Social\\WellKnown\\WebfingerHandler","type":"->"},{"file":"/var/www/nextcloud/lib/private/Http/WellKnown/RequestManager.php","line":60,"function":"handle","class":"OCA\\Social\\WellKnown\\WebfingerHandler","type":"->"},{"function":"OC\\Http\\WellKnown\\{closure}","class":"OC\\Http\\WellKnown\\RequestManager","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/nextcloud/lib/private/Http/WellKnown/RequestManager.php","line":61,"function":"array_reduce"},{"file":"/var/www/nextcloud/core/Controller/WellKnownController.php","line":40,"function":"process","class":"OC\\Http\\WellKnown\\RequestManager","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":208,"function":"handle","class":"OC\\Core\\Controller\\WellKnownController","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":114,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/App.php","line":161,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/Route/Router.php","line":302,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/var/www/nextcloud/lib/base.php","line":1001,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/var/www/nextcloud/index.php","line":24,"function":"handleRequest","class":"OC","type":"::"}],"File":"/var/www/nextcloud/apps/social/lib/WellKnown/WebfingerHandler.php","Line":219},"message":"parse_str(): Argument #1 ($string) must be of type string, null given in file '/var/www/nextcloud/apps/social/lib/WellKnown/WebfingerHandler.php' line 219","exception":{},"CustomMessage":"parse_str(): Argument #1 ($string) must be of type string, null given in file '/var/www/nextcloud/apps/social/lib/WellKnown/WebfingerHandler.php' line 219"}}

2 - Following someone, like Nextcloud, fails:

{"reqId":"YnWTapG51cYJ4f9g2DGp","level":3,"time":"2024-11-21T14:48:39+00:00","remoteAddr":"1010.30.20","user":"francis","app":"core","method":"GET","url":"/index.php/apps/social/api/v1/timelines/direct?account=francis&min_id=1732200412380175&limit=15","message":"More than 30 characters for an output column name are not allowed on Oracle.","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0.1 Safari/605.1.15","version":"30.0.2.2","exception":{"Exception":"Doctrine\\DBAL\\Query\\QueryException","Message":"More than 30 characters for an output column name are not allowed on Oracle.","Code":0,"Trace":[{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":284,"function":"prepareForExecute","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":266,"function":"executeQuery","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/apps/social/lib/Tools/Db/ExtendedQueryBuilder.php","line":494,"function":"execute","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/apps/social/lib/Db/StreamRequestBuilder.php","line":168,"function":"getRows","class":"OCA\\Social\\Tools\\Db\\ExtendedQueryBuilder","type":"->"},{"file":"/var/www/nextcloud/apps/social/lib/Db/StreamRequest.php","line":475,"function":"getStreamsFromRequest","class":"OCA\\Social\\Db\\StreamRequestBuilder","type":"->"},{"file":"/var/www/nextcloud/apps/social/lib/Db/StreamRequest.php","line":401,"function":"getTimelineDirect","class":"OCA\\Social\\Db\\StreamRequest","type":"->"},{"file":"/var/www/nextcloud/apps/social/lib/Service/StreamService.php","line":417,"function":"getTimeline","class":"OCA\\Social\\Db\\StreamRequest","type":"->"},{"file":"/var/www/nextcloud/apps/social/lib/Controller/ApiController.php","line":431,"function":"getTimeline","class":"OCA\\Social\\Service\\StreamService","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":208,"function":"timelines","class":"OCA\\Social\\Controller\\ApiController","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":114,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/App.php","line":161,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/Route/Router.php","line":302,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/var/www/nextcloud/lib/base.php","line":1001,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/var/www/nextcloud/index.php","line":24,"function":"handleRequest","class":"OC","type":"::"}],"File":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","Line":217,"message":"More than 30 characters for an output column name are not allowed on Oracle.","query":"SELECT DISTINCT `s`.`id`, `s`.`nid`, `s`.`id_prim`, `s`.`visibility`, `s`.`type`, `s`.`subtype`, `s`.`to`, `s`.`to_array`, `s`.`cc`, `s`.`bcc`, `s`.`content`, `s`.`summary`, `s`.`published`, `s`.`published_time`, `s`.`attributed_to`, `s`.`attributed_to_prim`, `s`.`in_reply_to`, `s`.`in_reply_to_prim`, `s`.`activity_id`, `s`.`object_id`, `s`.`object_id_prim`, `s`.`hashtags`, `s`.`details`, `s`.`source`, `s`.`instances`, `s`.`attachments`, `s`.`cache`, `s`.`creation`, `s`.`local`, `s`.`filter_duplicate`, `ca`.`id` AS `cacheactor_id`, `ca`.`nid` AS `cacheactor_nid`, `ca`.`type` AS `cacheactor_type`, `ca`.`icon_id` AS `cacheactor_icon_id`, `ca`.`account` AS `cacheactor_account`, `ca`.`following` AS `cacheactor_following`, `ca`.`followers` AS `cacheactor_followers`, `ca`.`inbox` AS `cacheactor_inbox`, `ca`.`shared_inbox` AS `cacheactor_shared_inbox`, `ca`.`outbox` AS `cacheactor_outbox`, `ca`.`featured` AS `cacheactor_featured`, `ca`.`url` AS `cacheactor_url`, `ca`.`preferred_username` AS `cacheactor_preferred_username`, `ca`.`name` AS `cacheactor_name`, `ca`.`summary` AS `cacheactor_summary`, `ca`.`public_key` AS `cacheactor_public_key`, `ca`.`source` AS `cacheactor_source`, `ca`.`details` AS `cacheactor_details`, `ca`.`creation` AS `cacheactor_creation`, `ca`.`local` AS `cacheactor_local`, `cacd`.`id` AS `cacheactor_cachedocument_id`, `cacd`.`type` AS `cacheactor_cachedocument_type`, `cacd`.`mime_type` AS `cacheactor_cachedocument_mime_type`, `cacd`.`media_type` AS `cacheactor_cachedocument_media_type`, `cacd`.`url` AS `cacheactor_cachedocument_url`, `cacd`.`local_copy` AS `cacheactor_cachedocument_local_copy`, `cacd`.`resized_copy` AS `cacheactor_cachedocument_resized_copy`, `cacd`.`caching` AS `cacheactor_cachedocument_caching`, `cacd`.`public` AS `cacheactor_cachedocument_public`, `cacd`.`error` AS `cacheactor_cachedocument_error`, `cacd`.`creation` AS `cacheactor_cachedocument_creation` FROM `*PREFIX*social_stream` `s` INNER JOIN `*PREFIX*social_cache_actor` `ca` ON `ca`.`id_prim` = `s`.`attributed_to_prim` LEFT JOIN `*PREFIX*social_cache_doc` `cacd` ON `ca`.`icon_id` = `cacd`.`id_prim`, `*PREFIX*social_stream_dest` `sd` WHERE (`s`.`type` <> :dcValue1) AND (`s`.`nid` > :dcValue2) AND ((`sd`.`stream_id` = `s`.`id_prim`) AND (`sd`.`actor_id` = :dcValue3) AND (`sd`.`type` = :dcValue4)) ORDER BY `s`.`nid` asc LIMIT 15","columns":["cacheactor_cachedocument_mime_type","cacheactor_cachedocument_media_type","cacheactor_cachedocument_local_copy","cacheactor_cachedocument_resized_copy","cacheactor_cachedocument_caching","cacheactor_cachedocument_public","cacheactor_cachedocument_creation"],"exception":{},"CustomMessage":"More than 30 characters for an output column name are not allowed on Oracle."}}

I reset the app using occ social:reset, but the problem is still there.

Best,
Francis

@oculos oculos added the bug Something isn't working label Nov 21, 2024
@joshtrichards joshtrichards changed the title Webfinger and following are not working Following are not working: "More than 30 characters for an output column name are not allowed on Oracle." Nov 21, 2024
@joshtrichards
Copy link
Member

First item is a duplicate of #1888

@teledyn
Copy link

teledyn commented Dec 10, 2024

the 30 Char Issue persists in 30.0.2 and using Social 0.8.0

on the other hand, the mariadb documents say:

"Databases, tables, columns, indexes, constraints, stored routines, triggers, events, views, tablespaces, servers and log file groups have a maximum length of 64 characters. "

so what is the reason for this error? I found it in lib/private/DB/QueryBuilder/QueryBuilder.php

                $tooLongOutputColumns = [];
                foreach ($this->getOutputColumns() as $column) {
                        if (strlen($column) > 30) {
                                $tooLongOutputColumns[] = $column;
                        }
                }

                if (!empty($tooLongOutputColumns)) {
                        $exception = new QueryException('More than 30 characters for an output column name are not allowed on Orac
le.');
                        $this->logger->error($exception->getMessage(), [
                                'query' => $this->getSQL(),
                                'columns' => $tooLongOutputColumns,
                                'app' => 'core',
                                'exception' => $exception,
                        ]);
                }

I don't know if this actually prevents anything, it looks like it should be a warning perhaps? Why does it create an Exception object and then just use the same message it provided?

Setting that hard-coded value to 64 is then valid for mysql/mariadb and the 'error' goes away.

@noci2012
Copy link

noci2012 commented Dec 27, 2024

It should only be an error if someone is using oracle as a database...
otherwise there are different limits.

cacheactor_cachedocument_mime_type
cacheactor_cachedocument_media_type
cacheactor_cachedocument_local_copy
cacheactor_cachedocument_resized_copy
cacheactor_cachedocument_caching
cacheactor_cachedocument_public
cacheactor_cachedocument_creation

column names up to 38 characters.... how could this ever pass testing?...

@Casuallynoted
Copy link

Also getting this error and am unable to use Social. Is there a way these queries can be fixed to work in the db?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1. to develop bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants