Is it possible to extend Firebird table name length? - firebird

I'm a Firebird newbie here. I'm trying to use Firebird Embedded from an ASP.Net application. Everything connects fine but I'm running into problems with the length of column names. I'm trying to create a table named "Orchard_Framework_DataMigrationRecord." I keep getting an exception which says "Name longer than database column size." After some investigation, I've seen that a number of people have mentioned that Firebird has a column name length limit of 30 characters.
Is that correct and if so is there any way to change it? In my case, I can't change the name of the table; it really has to be that long.

Unfortunately there is no way to change the maximum identifier length, it's an implementation limit. There is a plan to remove this limitation but in current version (2.5) the max identifier length is 31 characters.

This appears to be fixed as of Firebird version 4.0 Alpha 1: Increase maximum length of object names to 63 characters

Related

Getting NULL Value in Stored Procedure TEXT Column

Below Query, I am using to get the SP definition but in TEXT column I am getting as NULL Value in IBM DATA Studio but I am able to CALL the SP.
SELECT PROCNAME, TEXT FROM SYSCAT.PROCEDURES WHERE PROCNAME LIKE '%USP_ABC%'
Please Help
You have confirmed that the syscat.procedures.language is SQL, and that your query-tool is able to display a substr() of the text.
Workaround depends on the length(text) of the row of interest:
SELECT PROCNAME, substr(TEXT,1, 1024) FROM SYSCAT.PROCEDURES WHERE PROCNAME LIKE '%USP_ABC%'
You may need to adjust the length of the substr extract depending on the length of the text and your configuration. For example substr(TEXT, 1, 2048 ) or a higher value for the length as necessary that your query-tool can cope with.
You can find the length of the text column with the LENGTH(TEXT) for the row of interest.
You can also CAST a CLOB to char or varchar to a length that fits within their limits and whatever query tool limitations you have.
Another option is to use a different query tool that can work with CLOB.
Are you using the latest version of Data Studio with the latest fix? It sounds like you might have an invalid UTF-8 character in you SP, or as you are using SUBSTR and SUBSTRING you are breaking a mulit-byte character in two.
You could try setting
-Ddb2.jcc.charsetDecoderEncoder=3
in your eclipse.ini to get Java to use a replacment character rather than replace the invalid string with nul
See this tech note
https://www-01.ibm.com/support/docview.wss?uid=swg21684365
Otherwise, do raise this with IBM Suppport

Long strings are being clipped with (...) in postgres [duplicate]

I've recently installed pgAdmin III 1.18.1 and noticed a strange thing:
Long json query results are shortened to 256 symbols and then ' (...)' is added.
Could someone help me disable this shortening?
Thanks to user Erwin Brandstetter for his answer on Database Administrators.
There is a setting for that in the options: Max characters per column - useful when dealing with big columns. Obviously your setting is 256 characters.
Set it higher or set it to -1 to disable the feature.
in pgadmin (Version 5.4) select
file >> preferences >> Query Tool >> Results grid
and change Resize by data? to false. This will the column be sized to the widest of the datatype or column name.

sqlalchemy.exc.IdentifierError: Identifier 'index name' exceeds maximum length of 63 characters

I am running a migration script from MYSQL database to PostgreSQL. A new relationship has been recently created on MYSQL which breaks the import to PostgreSQL.
Error: sqlalchemy.exc.IdentifierError: Identifier 'index name' exceeds maximum length of 63 characters
Is there a way to truncate the identifier name or alternatively increase the maximum characters limit label length (table name, column name, index) in PostgreSQL to by-pass this limitation?
I found this excerpt from the postgresql documention:
The system uses no more than NAMEDATALEN-1 bytes of an identifier; longer names can be written in commands, but they will be truncated. By default, NAMEDATALEN is 64 so the maximum identifier length is 63 bytes. If this limit is problematic, it can be raised by changing the NAMEDATALEN constant in src/include/pg_config_manual.h.
Has anyone tried it out? Is there a better solution? I'm using sqlalchemy and python, is there a way of truncating the identifier in Sqlaclchemy?

Oracle Identifier Maximum Length

I have a database in MS Sql server.
I want to migrate the same to Oracle also.
But there are few tables and column names that are 30 character long.
Oracle does not accept any identifier which is more than 30 characters long.
Is there any option in Oracle that allows us to increase the length of the identifier?
Thanks
The maximum identifier length is 30 characters.
This is the latest discussion on stack overflow that shows there is no way to increase the identifier length
Change table/column/index names size in oracle 11g or 12c
Also there is a discussion on oracle forum where users have a suggestion to change the length of identifier.
https://community.oracle.com/ideas/3338

Zend_Search_Lucene and range search

I have a bunch of int key fields in my index and trying to do a simple range search like this:
`gender:1 AND height:[120 TO 180]`
This should give me male in the height range 120 to 180. But for some reason i get this exception:
`At least one range query boundary term must be non-empty term`
How would i debug this? Is it just Zend_Search_Lucene being buggy?
This is an open bug in the query parser of the Zend Framework. Created in december 2008 with high priority... and still unsolved.
First, you have to change default Analyzer to TextNum to allow number before finding
ZF2:
\ZendSearch\Lucene\Analysis\Analyzer\Analyzer::setDefault(new \ZendSearch\Lucene\Analysis\Analyzer\Common\TextNum\CaseInsensitive());
Second, your date field MUST be a keyword, not text.