The "Insert Rows" into a table doesn't do as it states. I want to insert new field names and spaces to group things together. Upon choosing the "Insert Rows" from the drop down menu the green pointing arrow goes to the bottom of the field names list to enter a new field there instead of where I wanted it to be entered.
You have opened a table for editing, right?
With the GUI you could only insert new rows at the end of the table. If you wish to position a new field in this table at another place, you have to do this by the possibilities of the database.
With the internal HSQLDB the following possibility is given:
ALTER TABLE "Tablename" ADD "Fieldname" VARCHAR(25) BEFORE "Existing Fieldname";
Open Tools → SQL and try this possibility.
The GUI could only offer, what the database allows. And there is no possibility in the database to resort existing fields.
What do you mean with "spaces" when creating a table?
I can confirm this, this is a bug.
Steps to reproduce:
1. New table, define 3 fields, stay in table design view;
2. Right-click -> Insert Row between the 1st and 2nd field. (a new field is inserted as expected.)
3. Save the table;
4. Table design view, try to insert a field between the 1st and 2nd field.
Insert a field between two existing fields not possible.
Users can insert new fields or sort existing fields (when the database allows).
As this can be done by sql command, this should also be done in GUI.
This never worked before. So I set the Version to "Inherited From OOo".
It was not implemented into the GUI for changing a table. There are very much SQL-statements, which doesn't work in the GUI, but would work with direct SQL (example: Default values in tabledesign and other default-values in SQL). So this is a ask for an enhancement.
I set this feature request to highest, because this is the main reason which blocks me from using libreoffice base.
To design a table, nobody can make all the fields done during the first time they create a table. They have to move/insert fields later if needed. Currently it's only possible to run SQL commands to re-arrange field order.
Almost all the database management software allows to insert fields between two fields which already exist, except libreoffice base.
Created attachment 102977 [details]
1. Try to insert a new field "CITY" before "NAME", AFTER "ID".
In the GUI, the inserted fields always go to the bottom.
From tools-sql, run:
ALTER TABLE "Table1" ADD "CITY" VARCHAR(25) BEFORE "NAME";
New field is correctly inserted.
(This is an automated message.)
LibreOffice development currently prioritizes bugs with the so called MAB (most annoying bugs) -- as this bug has not run through that process (including writing a short rationale for this bug being a candidate and other who are watching the tracker bug silently approving that rationale etc.) its priority is set to high. Note this is effectively no change in the urgency assigned to this bug, as we are currently not making a difference between high and highest and severity is untouched.
You can find out more about MABs and how the process works by contacting libreoffice qa on irc:
The QA wiki page also gives you hints on how to get in contact with the team (if IRC fails you, your next best choice is the mailing list):
Adding self to CC if not already on
It is not a bug, rather more a feature request, as the feature did not exist already when the LibreOffice project came into being. As Robert has correctly stated in comment 1, new fields are currently always added to the end of the table definition, so the UI does not currently cater for the possibility of adding new fields before/after other fields or changing the order of fields in a database table.
Should such a feature be enabled ? Yes, absolutely, as the UI seems, at least in appearance from the context menu, to allow this. Confirming that this indeed is a feature request. Whether or not this is high on the list of priorities for Base is another matter. The current feature deficit can be resolved by resorting to SQL commands via the Tools > SQL menu entry, so there is a workaround. Consequently, this RFE is probably not going to feature as a high priority, unless someone volunteers to do the coding.
The other alternative would be to remove the "Insert Rows" entry from the context menu, so that users would not be misled, leaving only the current UI direct mouse click addition of adding a new field to the end of the already available fields, however, it would be better to strive for a product that allows such changes as originally intended.
Not all databases support adding new fields at an arbitrary place in the table. For example PostgreSQL does not, it can add only at the end.
Whether embedded HSQLDB (and embedded Firebird) supports it, I'm not sure out of the top of my head. If it does, yes, it would be nice for the GUI to support it.
Removing needsUXEval. Ideally "Insert Row" works as expected (and actually is effective when the new table hasn't been saved), as known from Kexi for instance (formerly part of the Calligra suite). Alternatively a simple renaming to "Add row" is also possible.
*** Bug 105935 has been marked as a duplicate of this bug. ***
HSQLDB supports adding a new field at a position before an old field.
ALTER TABLE "Table" ADD "Name" VARCHAR(25) BEFORE "Existing Fieldname";
Firebird supports this:
ALTER TABLE "Table" ADD "Name" VARCHAR(25);
ALTER TABLE "Table" ALTER "Name" POSITION 2;
With Firebird you have to insert the row first. Then you could change the position of the row afterwords. So it does work also with old and new added fields.
Would be good if GUI supports adding a *new* field at a special position, because both internal databases will support to set a field this way.