(This issue is not related to #1003788: PostgreSQL: PDOException:Invalid text representation when attempting to load an entity with a string or non-scalar ID).
see #7 for more serious cause of this issue.

On enabling the module PDOException: SQLSTATE[22P02] is raising making it not usable with postgresql. (auto entity label tab itself is not available)

Is this module only for mysql?

PDOException: SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for integer: "2.1" LINE 1: ...uto label', 't', '', '', 'a:0:{}', '132', '', '', '2.1', 'si... ^: INSERT INTO menu_router (path, load_functions, to_arg_functions, access_callback, access_arguments, page_callback, page_arguments, delivery_callback, fit, number_parts, context, tab_parent, tab_root, title, title_callback, title_arguments, theme_callback, theme_arguments, type, description, position, weight, include_file) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8, :db_insert_placeholder_9, :db_insert_placeholder_10, :db_insert_placeholder_11, :db_insert_placeholder_12, :db_insert_placeholder_13, :db_insert_placeholder_14, :db_insert_placeholder_15, :db_insert_placeholder_16, :db_insert_placeholder_17, :db_insert_placeholder_18, :db_insert_placeholder_19, :db_insert_placeholder_20, :db_insert_placeholder_21, :db_insert_placeholder_22), (:db_insert_placeholder_23, :db_insert_placeholder_24, :db_insert_placeholder_25, :db_insert_placeholder_26, :db_insert_placeholder_27, :db_insert_placeholder_28, :db_insert_placeholder_29, :db_insert_placeholder_30, :db_insert_placeholder_31, :db_insert_placeholder_32, :db_insert_placeholder_33, :db_insert_placeholder_34, :db_insert_placeholder_35, :db_insert_placeholder_36, :db_insert_placeholder_37, :db_insert_placeholder_38, :db_insert_placeholder_39, :db_insert_placeholder_40, :db_insert_placeholder_41, :db_insert_placeholder_42, :db_insert_placeholder_43, :db_insert_placeholder_44, :db_insert_placeholder_45), (:db_insert_placeholder_46, :db_insert_placeholder_47, :db_insert_placeholder_48, :db_insert_placeholder_49, :db_insert_placeholder_50, :db_insert_placeholder_51, :db_insert_placeholder_52, :db_insert_placeholder_53, :db_insert_placeholder_54, :db_insert_placeholder_55, :db_insert_placeholder_56, :db_insert_placeholder_57, :db_insert_placeholder_58, :db_insert_placeholder_59, :db_insert_placeholder_60, :db_insert_placeholder_61, :db_insert_placeholder_62, :db_insert_placeholder_63, :db_insert_placeholder_64, :db_insert_placeholder_65, :db_insert_placeholder_66, :db_insert_placeholder_67, :db_insert_placeholder_68), (:db_insert_placeholder_69, :db_insert_placeholder_70, :db_insert_placeholder_71, :db_insert_placeholder_72, :db_insert_placeholder_73, :db_insert_placeholder_74, :db_insert_placeholder_75, :db_insert_placeholder_76, :db_insert_placeholder_77, :db_insert_placeholder_78, :db_insert_placeholder_79, :db_insert_placeholder_80, :db_insert_placeholder_81, :db_insert_placeholder_82, :db_insert_placeholder_83, :db_insert_placeholder_84, :db_insert_placeholder_85, :db_insert_placeholder_86, :db_insert_placeholder_87, :db_insert_placeholder_88, :db_insert_placeholder_89, :db_insert_placeholder_90, :db_insert_placeholder_91), (:db_insert_placeholder_92, :db_insert_placeholder_93, :db_insert_placeholder_94, :db_insert_placeholder_95, :db_insert_placeholder_96, :db_insert_placeholder_97, :db_insert_placeholder_98, :db_insert_placeholder_99, :db_insert_placeholder_100, :db_insert_placeholder_101, :db_insert_placeholder_102, :db_insert_placeholder_103, :db_insert_placeholder_104, :db_insert_placeholder_105, :db_insert_placeholder_106, :db_insert_placeholder_107, :db_insert_placeholder_108, :db_insert_placeholder_109, :db_insert_placeholder_110, :db_insert_placeholder_111, :db_insert_placeholder_112, :db_insert_placeholder_113, :db_insert_placeholder_114), (:db_insert_placeholder_115, :db_insert_placeholder_116, :db_insert_placeholder_117, :db_insert_placeholder_118, :db_insert_placeholder_119, :db_insert_placeholder_120, :db_insert_placeholder_121, :db_insert_placeholder_122, :db_insert_placeholder_123, :db_insert_placeholder_124, :db_insert_placeholder_125, :db_insert_placeholder_126, :db_insert_placeholder_127, :db_insert_placeholder_128, :db_insert_placeholder_129, :db_insert_placeholder_130, :db_insert_placeholder_131, :db_insert_placeholder_132, :db_insert_placeholder_133, :db_insert_placeholder_134, :db_insert_placeholder_135, :db_insert_placeholder_136, :db_insert_placeholder_137), (:db_insert_placeholder_138, :db_insert_placeholder_139, :db_insert_placeholder_140, :db_insert_placeholder_141, :db_insert_placeholder_142, :db_insert_placeholder_143, :db_insert_placeholder_144, :db_insert_placeholder_145, :db_insert_placeholder_146, :db_insert_placeholder_147, :db_insert_placeholder_148, :db_insert_placeholder_149, :db_insert_placeholder_150, :db_insert_placeholder_151, :db_insert_placeholder_152, :db_insert_placeholder_153, :db_insert_placeholder_154, :db_insert_placeholder_155, :db_insert_placeholder_156, :db_insert_placeholder_157, :db_insert_placeholder_158, :db_insert_placeholder_159, :db_insert_placeholder_160), (:db_insert_placeholder_161, :db_insert_placeholder_162, :db_insert_placeholder_163, :db_insert_placeholder_164, :db_insert_placeholder_165, :db_insert_placeholder_166, :db_insert_placeholder_167, :db_insert_placeholder_168, :db_insert_placeholder_169, :db_insert_placeholder_170, :db_insert_placeholder_171, :db_insert_placeholder_172, :db_insert_placeholder_173, :db_insert_placeholder_174, :db_insert_placeholder_175, :db_insert_placeholder_176, :db_insert_placeholder_177, :db_insert_placeholder_178, :db_insert_placeholder_179, :db_insert_placeholder_180, :db_insert_placeholder_181, :db_insert_placeholder_182, :db_insert_placeholder_183), (:db_insert_placeholder_184, :db_insert_placeholder_185, :db_insert_placeholder_186, :db_insert_placeholder_187, :db_insert_placeholder_188, :db_insert_placeholder_189, :db_insert_placeholder_190, :db_insert_placeholder_191, :db_insert_placeholder_192, :db_insert_placeholder_193, :db_insert_placeholder_194, :db_insert_placeholder_195, :db_insert_placeholder_196, :db_insert_placeholder_197, :db_insert_placeholder_198, :db_insert_placeholder_199, :db_insert_placeholder_200, :db_insert_placeholder_201, :db_insert_placeholder_202, :db_insert_placeholder_203, :db_insert_placeholder_204, :db_insert_placeholder_205, :db_insert_placeholder_206), (:db_insert_placeholder_207, :db_insert_placeholder_208, :db_insert_placeholder_209, :db_insert_placeholder_210, :db_insert_placeholder_211, :db_insert_placeholder_212, :db_insert_placeholder_213, :db_insert_placeholder_214, :db_insert_placeholder_215, :db_insert_placeholder_216, :db_insert_placeholder_217, :db_insert_placeholder_218, :db_insert_placeholder_219, :db_insert_placeholder_220, :db_insert_placeholder_221, :db_insert_placeholder_222, :db_insert_placeholder_223, :db_insert_placeholder_224, :db_insert_placeholder_225, :db_insert_placeholder_226, :db_insert_placeholder_227, :db_insert_placeholder_228, :db_insert_placeholder_229), (:db_insert_placeholder_230, :db_insert_placeholder_231, :db_insert_placeholder_232, :db_insert_placeholder_233, :db_insert_placeholder_234, :db_insert_placeholder_235, :db_insert_placeholder_236, :db_insert_placeholder_237, :db_insert_placeholder_238, :db_insert_placeholder_239, :db_insert_placeholder_240, :db_insert_placeholder_241, :db_insert_placeholder_242, :db_insert_placeholder_243, :db_insert_placeholder_244, :db_insert_placeholder_245, :db_insert_placeholder_246, :db_insert_placeholder_247, :db_insert_placeholder_248, :db_insert_placeholder_249, :db_insert_placeholder_250, :db_insert_placeholder_251, :db_insert_placeholder_252), (:db_insert_placeholder_253, :db_insert_placeholder_254, :db_insert_placeholder_255, :db_insert_placeholder_256, :db_insert_placeholder_257, :db_insert_placeholder_258, :db_insert_placeholder_259, :db_insert_placeholder_260, :db_insert_placeholder_261, :db_insert_placeholder_262, :db_insert_placeholder_263, :db_insert_placeholder_264, :db_insert_placeholder_265, :db_insert_placeholder_266, :db_insert_placeholder_267, :db_insert_placeholder_268, :db_insert_placeholder_269, :db_insert_placeholder_270, :db_insert_placeholder_271, :db_insert_placeholder_272, :db_insert_placeholder_273, :db_insert_placeholder_274, :db_insert_placeholder_275), (:db_insert_placeholder_276, :db_insert_placeholder_277, :db_insert_placeholder_278, :db_insert_placeholder_279, :db_insert_placeholder_280, :db_insert_placeholder_281, :db_insert_placeholder_282, :db_insert_placeholder_283, :db_insert_placeholder_284, :db_insert_placeholder_285, :db_insert_placeholder_286, :db_insert_placeholder_287, :db_insert_placeholder_288, :db_insert_placeholder_289, :db_insert_placeholder_290, :db_insert_placeholder_291, :db_insert_placeholder_292, :db_insert_placeholder_293, :db_insert_placeholder_294, :db_insert_placeholder_295, :db_insert_placeholder_296, :db_insert_placeholder_297, :db_insert_placeholder_298), (:db_insert_placeholder_299, :db_insert_placeholder_300, :db_insert_placeholder_301, :db_insert_placeholder_302, :db_insert_placeholder_303, :db_insert_placeholder_304, :db_insert_placeholder_305, :db_insert_placeholder_306, :db_insert_placeholder_307, :db_insert_placeholder_308, :db_insert_placeholder_309, :db_insert_placeholder_310, :db_insert_placeholder_311, :db_insert_placeholder_312, :db_insert_placeholder_313, :db_insert_placeholder_314, :db_insert_placeholder_315, :db_insert_placeholder_316, :db_insert_placeholder_317, :db_insert_placeholder_318, :db_insert_placeholder_319, :db_insert_placeholder_320, :db_insert_placeholder_321), (:db_insert_placeholder_322, :db_insert_placeholder_323, :db_insert_placeholder_324, :db_insert_placeholder_325, :db_insert_placeholder_326, :db_insert_placeholder_327, :db_insert_placeholder_328, :db_insert_placeholder_329, :db_insert_placeholder_330, :db_insert_placeholder_331, :db_insert_placeholder_332, :db_insert_placeholder_333, :db_insert_placeholder_334, :db_insert_placeholder_335, :db_insert_placeholder_336, :db_insert_placeholder_337, :db_insert_placeholder_338, :db_insert_placeholder_339, :db_insert_placeholder_340, :db_insert_placeholder_341, :db_insert_placeholder_342, :db_insert_placeholder_343, :db_insert_placeholder_344), (:db_insert_placeholder_345, :db_insert_placeholder_346, :db_insert_placeholder_347, :db_insert_placeholder_348, :db_insert_placeholder_349, :db_insert_placeholder_350, :db_insert_placeholder_351, :db_insert_placeholder_352, :db_insert_placeholder_353, :db_insert_placeholder_354, :db_insert_placeholder_355, :db_insert_placeholder_356, :db_insert_placeholder_357, :db_insert_placeholder_358, :db_insert_placeholder_359, :db_insert_placeholder_360, :db_insert_placeholder_361, :db_insert_placeholder_362, :db_insert_placeholder_363, :db_insert_placeholder_364, :db_insert_placeholder_365, :db_insert_placeholder_366, :db_insert_placeholder_367), (:db_insert_placeholder_368, :db_insert_placeholder_369, :db_insert_placeholder_370, :db_insert_placeholder_371, :db_insert_placeholder_372, :db_insert_placeholder_373, :db_insert_placeholder_374, :db_insert_placeholder_375, :db_insert_placeholder_376, :db_insert_placeholder_377, :db_insert_placeholder_378, :db_insert_placeholder_379, :db_insert_placeholder_380, :db_insert_placeholder_381, :db_insert_placeholder_382, :db_insert_placeholder_383, :db_insert_placeholder_384, :db_insert_placeholder_385, :db_insert_placeholder_386, :db_insert_placeholder_387, :db_insert_placeholder_388, :db_insert_placeholder_389, :db_insert_placeholder_390), (:db_insert_placeholder_391, :db_insert_placeholder_392, :db_insert_placeholder_393, :db_insert_placeholder_394, :db_insert_placeholder_395, :db_insert_placeholder_396, :db_insert_placeholder_397, :db_insert_placeholder_398, :db_insert_placeholder_399, :db_insert_placeholder_400, :db_insert_placeholder_401, :db_insert_placeholder_402, :db_insert_placeholder_403, :db_insert_placeholder_404, :db_insert_placeholder_405, :db_insert_placeholder_406, :db_insert_placeholder_407, :db_insert_placeholder_408, :db_insert_placeholder_409, :db_insert_placeholder_410, :db_insert_placeholder_411, :db_insert_placeholder_412, :db_insert_placeholder_413), (:db_insert_placeholder_414, :db_insert_placeholder_415, :db_insert_placeholder_416, :db_insert_placeholder_417, :db_insert_placeholder_418, :db_insert_placeholder_419, :db_insert_placeholder_420, :db_insert_placeholder_421, :db_insert_placeholder_422, :db_insert_placeholder_423, :db_insert_placeholder_424, :db_insert_placeholder_425, :db_insert_placeholder_426, :db_insert_placeholder_427, :db_insert_placeholder_428, :db_insert_placeholder_429, :db_insert_placeholder_430, :db_insert_placeholder_431, :db_insert_placeholder_432, :db_insert_placeholder_433, :db_insert_placeholder_434, :db_insert_placeholder_435, :db_insert_placeholder_436), (:db_insert_placeholder_437, :db_insert_placeholder_438, :db_insert_placeholder_439, :db_insert_placeholder_440, :db_insert_placeholder_441, :db_insert_placeholder_442, :db_insert_placeholder_443, :db_insert_placeholder_444, :db_insert_placeholder_445, :db_insert_placeholder_446, :db_insert_placeholder_447, :db_insert_placeholder_448, :db_insert_placeholder_449, :db_insert_placeholder_450, :db_insert_placeholder_451, :db_insert_placeholder_452, :db_insert_placeholder_453, :db_insert_placeholder_454, :db_insert_placeholder_455, :db_insert_placeholder_456, :db_insert_placeholder_457, :db_insert_placeholder_458, :db_insert_placeholder_459); Array ( ) in _menu_router_save() (line 3838 of /home/nithu/public_html/ps2html.org/public/includes/menu.inc).

CommentFileSizeAuthor
#3 auto_entitylabel-weightfix.patch1 KBstefan.r

Comments

stefan.r’s picture

You are trying to assign a weight of 2.1 to a menu_router item. Weight only accepts integers.

nithinkolekar’s picture

I am not setting anything like weight manually, this is only happening with
Postgresql 9.0.1
Fresh install of drupal 7.34.
Entity API 7.x-1.5

Not a big issue as I am testing it in development for simple project and switched to mysql. But curious about how many modules are still affected by #1003788: PostgreSQL: PDOException:Invalid text representation when attempting to load an entity with a string or non-scalar ID or is it just me..

stefan.r’s picture

Status: Active » Needs review
StatusFileSize
new1 KB

No, this is another issue as this is about the weight, not the ID. The attached patch should fix it.

nithinkolekar’s picture

Title: not compatible with postgresql? » Non-interger weight causing SQLSTATE[22P02] Invalid text representation with postgresql but works fine with mysql(not related to #1003788)
Status: Needs review » Active

Sorry, I should have checked the code for this minor issue :( . I thought just because it working fine with mysql , and got error with postgres and ggl landed me to other issue as no one came through this error before.

Anyway tested the patch with postgersql and worked fine. Also changing title for future readers/search bots.

As for issue status I don't know what to set fixed or RTBC.

update: it should be committed, otherwise this module wouldn't work with postgresql

stefan.r’s picture

Status: Active » Needs review

RTBC is fine

jweowu’s picture

Title: Non-interger weight causing SQLSTATE[22P02] Invalid text representation with postgresql but works fine with mysql(not related to #1003788) » Non-integer weight causing SQLSTATE[22P02] "Invalid text representation" with postgresql (works fine with mysql).
Issue summary: View changes
Timusan’s picture

Can confirm the provided patch works.

MySQL does indeed silently accept a float in an integer column. PostgreSQL, on the other hand, luckily complaints about such issues. Good catch and glad there is a clear patch.

This issue does not only mess with this module, but seriously throws of the menu system. Every subsequently installed module will fail to get its path(s) inserted correctly into the database and thus fail to be setup correctly. When you do not use Automatic Entity Label directly (install a few modules afterwards and try to configure them) this can cause very spooky issues with your *whole* install and you do not mentally link them to this module directly.

So, for PostgreSQL users, this is quite a critical issue as this bug sits in a stable (!) release of this module.

Maybe add future tests for PostgreSQL as well?

nithinkolekar’s picture

Issue summary: View changes
stefan.r’s picture

Priority: Normal » Major
Status: Needs review » Reviewed & tested by the community
Timusan’s picture

I did some more tests on several development installs and made heavy use of Automatic Entity Label after applying the patch. I can (again) confirm this solves all the mentioned issues and the module works as designed under PostgreSQL.

Again, thanks for the patch and for bumping up the priority. I know the PostgreSQL community is minor within Drupal, yet attention to both RDBMSs from a module maker's perspective is highly appreciated! And, as you can see, using PostgreSQL does have benefits such as pointing out these issues which otherwise are difficult to surface due to MySQL's non-standard behavior.

nithinkolekar’s picture

@Timusan

Every subsequently installed module will fail to get its path(s) inserted correctly into the database and thus fail to be setup correctly

Shall they have to disable/uninstall those modules and then re-install after applying patch?. This might be helpful for future readers if you share your usage experience.

  • bforchhammer committed d4624c1 on 7.x-1.x authored by stefan.r
    Issue #2411259 by stefan.r, nithinkolekar, Timusan: Non-integer weight...
bforchhammer’s picture

Status: Reviewed & tested by the community » Fixed

Thanks for the patch and testing! I have committed #3 to 7.x-1.x-dev. :)

Timusan’s picture

@nithinkolekar

No, a simple cache clearing was enough to get everything going again.

The pre-patched state of this module's menu hook simply generated invalid SQL which prevented this hook and all subsequent hooks from being inserted. Thus, applying the patch (making for legal SQL) and forcing the revisiting of all the menu hooks in all modules (by flushing caches) should process everything neatly and insert later-added module menu hooks as well.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

rsutaria’s picture

Thank you for this patch. I'm using Durpal with PostGIS and this has been of great help to me too!

badrange’s picture

Just wanted to chime in and say that this fix also helped me in this project where we use a MS SQL server. Thanks!

Before trying out the dev release, I got this error message while enabling the module:

PDOException: SQLSTATE[25000]: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Cannot roll back savepoint_1. No transaction or savepoint of that name was found.: ROLLBACK TO SAVEPOINT savepoint_1; Array ( ) in _menu_router_save() (line 3869 of C:\dev\WWW\code\build-gradle\www\includes\menu.inc).

Maybe a new release would be in order for the small percentage of sites that don't run on MySQL?